www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - availability of dmd under linux

reply Florian <Florian_member pathlink.com> writes:
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.
Feb 28 2005
next sibling parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
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
Feb 28 2005
parent reply Florian <Florian_member pathlink.com> writes:
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

b) is redistributable then you should be looking at GDC instead:

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.
Feb 28 2005
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
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
Feb 28 2005
parent reply Florian <Florian_member pathlink.com> writes:
But that is an *old* refusal!

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?
Feb 28 2005
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
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
Feb 28 2005
parent reply Norbert Nemec <Norbert Nemec-online.de> writes:
Anders F Bj=F6rklund schrieb:
 Florian wrote:
=20
 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=20 browsing the forums for something like this.

=20 http://bugs.gentoo.org/show_bug.cgi?id=3D46806 =20 I posted the updated ebuild for DMD 0.114 too =20
 Please feel free to lobby the Gentoo guys to get dmd in ~x86...


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

=20 Nope, I was kinda hoping that you would... :-) =20 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=20 them do exist, but they are much harder to do and less comfortable to=20 use than in gentoo. Don't think such a package would even be worth the=20 effort.
Feb 28 2005
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
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
Feb 28 2005
prev sibling parent reply =?iso-8859-1?q?Knud_S=F8rensen?= <12tkvvb02 sneakemail.com> writes:
Maybe you can use this.

http://sourceforge.net/projects/mpkg/
http://sourceforge.net/projects/jdcvs/
Mar 01 2005
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
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
Mar 01 2005