Thread overview
availability of dmd under linux
Feb 28, 2005
Florian
Feb 28, 2005
Florian
Feb 28, 2005
Florian
Feb 28, 2005
Norbert Nemec
Mar 01, 2005
Knud Sørensen
February 28, 2005
I quite like the D language, and I would realy like it to be more widely used. I guess almost every one here agrees on that.

But there seem to be an issue limitting its availability under linux. Many modern linux (gentoo, debian, ubuntu, archlinux, ...) have an integrated software installation and update system. On those system, people usualy don't directly download an install software. they use the embded tools for that. Those are much more convinient.

For example on my gentoo box, if dmd was included in the supported software, i would type: "emerge dmd" and it would automaticaly download it (both the original web site or gentoo repositories are options), compile anything that need so, configure my path and so on. then i can go for "emerge -u dmd" to update it in an equaly automatical fassion. and whenever i run a whole system update, dmd would be updated if any new version is available.

Moreover, people (including me) are reluctant to install software that is no managed by this system for several reasons, including the risk of conflict.

Which brings me to : dmd is not available under gentoo's emerge, debian's (and it numerous derivates) apt-get, or archlinux's pacman. Why? I found this answer on gentoo's forum:

"It won't be put in portage as long as upstream doesn't provide versioned
tarballs and forbids redistribution.
[...]
I mean as long as both problems exist it's impossible for us to put it in
portage, if one is solved we can do it. [...] If we can redistribute it it means
we can repackage it so the unversioned tarballs wouldn't be a problem."

Versionned tarbals is needed, or the update system, and the dependecy system can not work porperly.

My first question is: is this non-redistribution issue (still) true? If so, why?

Availability of dmd under these linux systems would be a good thing for every
one, wouldn't it?
Users of these linux could use dmd, which is a blessing.
D language would have a larger user base, which is certainly a good thing. Why
is D made, if not to be used?
D communauty would grow, providing more even more feedback, creating more
projects, ...

Note that the linux system I mentioned count a rather high proportion of programmers.

So can anyone tell give me the reason why D can't be made available under this form? And If it can, tell me too, I'll gladly forward this information to gentoo's package maintainers.


February 28, 2005
Florian wrote:

> I quite like the D language, and I would realy like it to be more widely used.
> I guess almost every one here agrees on that.
> But there seem to be an issue limitting its availability under linux.

First a side note: the DMD compiler is *not* the same as the D language.

If you want a D compiler that a) has full (GPL) source code and
b) is redistributable then you should be looking at GDC instead:
http://home.earthlink.net/~dvdfrdmn/d/

Note that the GDC frontend to D is based on the DMD front-end code.

> My first question is: is this non-redistribution issue (still) true? If so, why?

The license under which DMD is released do not permit redistribution:
"The Software is copyrighted and comes with a single user license,
and may not be redistributed. If you wish to obtain a redistribution
license, please contact Digital Mars."

Since Walter holds the copyright to DMD, he can choose the license...
(including the right to stop distribution, and start charging for it)

> So can anyone tell give me the reason why D can't be made available under this
> form? And If it can, tell me too, I'll gladly forward this information to
> gentoo's package maintainers.

Oh, but it is available for Linux (X86) ! :-)

DMD Source RPM here: www.algonet.se/~afb/d/dmd-0.114-8.nosrc.rpm
Gentoo DMD ebuild here: http://bugs.gentoo.org/show_bug.cgi?id=46806
(for version DMD 0.113, an updated version for DMD 0.114 is upcoming)

Both will refer to the original download from ftp://ftp.digitalmars.com
(because of the above issue with the zip file being non-redistributable)
But they *will* install the software, using the Linux package manager.

--anders
February 28, 2005
Anders,

Thank you for your answer. It explains some things. But you partly missed my point.

>> I quite like the D language, and I would realy like it to be more widely used.
>> I guess almost every one here agrees on that.
>> But there seem to be an issue limitting its availability under linux.
>
>First a side note: the DMD compiler is *not* the same as the D language.
>
>If you want a D compiler that a) has full (GPL) source code and
I don't really care so much for GPL

>b) is redistributable then you should be looking at GDC instead:
I know that, but I prefer to use DMD.

>Oh, but it is available for Linux (X86) ! :-)
>
>DMD Source RPM here: www.algonet.se/~afb/d/dmd-0.114-8.nosrc.rpm Gentoo DMD ebuild here: http://bugs.gentoo.org/show_bug.cgi?id=46806 (for version DMD 0.113, an updated version for DMD 0.114 is upcoming)
>
>Both will refer to the original download from ftp://ftp.digitalmars.com (because of the above issue with the zip file being non-redistributable) But they *will* install the software, using the Linux package manager.

RPM is not _L_inux package manager, but _R_edhat Package Manager. Some distribuitions use it, but not all. In the ten most popular linux distribution (see www.distrowatch.org ), only three use RPM.

For Gentoo (the distrib I use), which is in the first ten, a package (.ebuild) has been writen and proposed. This package also would download the zip file from the original location, so it does not do redistribution. It is only a tool ease install. In the gentoo system, you are not supposed to look up for individual ebuilds from your self they are all put together in a place know to your system, to ease integration. Unfortunately this dmd package has been refused, because the original zip file does not specify its version, so the package can not properly handle updates.

What Gentoo's team is asking for is not necesseraly redistribution. If the 0.114 version of dmd.zip was named dmd-0.114.zip, It would make people happy, beacause dmd-0.113.ebuild would not download it, and vice-versa. If previous versions could be left available for download, even if not linked on the page, it would be better, but that's optional. They are asking either for this, or the right to put it on there own severs, so it can be renamed according to its version. Since redistribution seems not to be an option.

So at the moment, dmd is indeed available for linux, but in a way that rather inconvenient. I chose to install dmd on my gentoo anyway, but it makes me feel unconfortable, since it does not respect the way software is normaly installed on my distribution, and could be a source of conflict during a system upgrade.


February 28, 2005
Florian wrote:

>>If you want a D compiler that a) has full (GPL) source code and
> 
> I don't really care so much for GPL
> 
>>b) is redistributable then you should be looking at GDC instead:
> 
> I know that, but I prefer to use DMD.

Okay, it's pretty small and fast too.
But it does come with DMD license...

> RPM is not _L_inux package manager, but _R_edhat Package Manager. Some
> distribuitions use it, but not all. In the ten most popular linux distribution
> (see www.distrowatch.org ), only three use RPM.

Actually, it's the RPM Package Manager now, but otherwise you're right.

You can still use it as an archive format, though ?

> For Gentoo (the distrib I use), which is in the first ten, a package (.ebuild)
> has been writen and proposed. This package also would download the zip file from
> the original location, so it does not do redistribution. It is only a tool ease
> install. In the gentoo system, you are not supposed to look up for individual
> ebuilds from your self they are all put together in a place know to your system,
> to ease integration. Unfortunately this dmd package has been refused, because
> the original zip file does not specify its version, so the package can not
> properly handle updates.

But that is an *old* refusal! DMD 0.102+ now has versioned zipfiles:
ftp://ftp.digitalmars.com/dmd.114.zip

> What Gentoo's team is asking for is not necesseraly redistribution. If the 0.114
> version of dmd.zip was named dmd-0.114.zip, It would make people happy, beacause
> dmd-0.113.ebuild would not download it, and vice-versa. If previous versions
> could be left available for download, even if not linked on the page, it would
> be better, but that's optional. They are asking either for this, or the right to
> put it on there own severs, so it can be renamed according to its version. Since
> redistribution seems not to be an option.

The new ebuilds (DMD 0.113+) fixes those issues.
I know, it was me that wrote the new ebuild ;-)


Please feel free to lobby the Gentoo guys to get dmd in ~x86...
(since the grunt work is all done, just needs to be checked in)

--anders
February 28, 2005
>But that is an *old* refusal!
I only new this ebuild, and this refusal. But I knew it was a bit outdated,
that's why I my first post I asked if the causes of this refusal (versioning or
distribution) "were (still) true".

>DMD 0.102+ now has versioned zipfiles: ftp://ftp.digitalmars.com/dmd.114.zip

So that's not an issue any more. good.


>The new ebuilds (DMD 0.113+) fixes those issues.
>I know, it was me that wrote the new ebuild ;-)

Great news. where is that ebuild? I did not find in when I was browsing the forums for something like this.

>Please feel free to lobby the Gentoo guys to get dmd in ~x86... (since the grunt work is all done, just needs to be checked in)

Cool. that exactly what I am going to do. My original plan was to:
1) check if the versionning/redistribution issues were still actual.
2) if they were, lobby walter to make versioned zip files
3) check if the old ebuild was usable, and modify it if not (but that would have
required to learn how to make an ebuild)
4) lobby gentoo to accept that ebuild.

It seems I can go directly to step 4. cool.

Any suggestion on where / to whom I should lobby to be efficient?


February 28, 2005
Florian wrote:

>>The new ebuilds (DMD 0.113+) fixes those issues.
>>I know, it was me that wrote the new ebuild ;-)
> 
> Great news. where is that ebuild? I did not find in when I was browsing the
> forums for something like this.

http://bugs.gentoo.org/show_bug.cgi?id=46806

I posted the updated ebuild for DMD 0.114 too

>>Please feel free to lobby the Gentoo guys to get dmd in ~x86...

> Any suggestion on where / to whom I should lobby to be efficient?

Nope, I was kinda hoping that you would... :-)

A Debian package is left (for someone else) to do.

--anders
February 28, 2005
Anders F Björklund schrieb:
> Florian wrote:
> 
>>> The new ebuilds (DMD 0.113+) fixes those issues.
>>> I know, it was me that wrote the new ebuild ;-)
>>
>>
>> Great news. where is that ebuild? I did not find in when I was browsing the
>> forums for something like this.
> 
> 
> http://bugs.gentoo.org/show_bug.cgi?id=46806
> 
> I posted the updated ebuild for DMD 0.114 too
> 
>>> Please feel free to lobby the Gentoo guys to get dmd in ~x86...
> 
> 
>> Any suggestion on where / to whom I should lobby to be efficient?
> 
> 
> Nope, I was kinda hoping that you would... :-)
> 
> A Debian package is left (for someone else) to do.

Would be nice to have that. Anyhow: I don't really know how it should be distributed. Debian packages that download external files to install them do exist, but they are much harder to do and less comfortable to use than in gentoo. Don't think such a package would even be worth the effort.
February 28, 2005
Norbert Nemec wrote:

>> A Debian package is left (for someone else) to do.
> 
> Would be nice to have that. Anyhow: I don't really know how it should be distributed. Debian packages that download external files to install them do exist, but they are much harder to do and less comfortable to use than in gentoo. Don't think such a package would even be worth the effort.

Probably not, it's not *that* hard to install from zip...

And Sun's JDK also has a restricted distribution policy, but
but that didn't stop the Java language from getting popular?

Debian tends to favor Free Software - so GDC should be a more
natural fit there I suppose, since it's under the GPL license?

--anders
March 01, 2005
Maybe you can use this.

http://sourceforge.net/projects/mpkg/ http://sourceforge.net/projects/jdcvs/
March 01, 2005
Knud Sørensen wrote:

> Maybe you can use this.

Thanks, but...

> http://sourceforge.net/projects/mpkg/

The problem is not so much with packaging itself, but:

1) Licensing issues (e.g. DMD being non-distributable)
2) Phobos Makefiles lacking a "make install" target
3) No one single standard location for D import modules

Fortunately manpages have now been added, and the
Phobos licensing issues are being worked on as well.
The install location is just specified with DFLAGS.

So Linux installation/packaging seems to be "good enough" ?
The main thing missing at the moment is documentation...

> http://sourceforge.net/projects/jdcvs/

D does not have a (public?) CVS repository...
That, and a Bugzilla database is sorely missing.

--anders