On Mon, 2013-08-12 at 09:58 +0200, Mike Parker wrote:
[…]
> dub suits this purpose just fine. It's a build tool and a package 
> manager. It can be used just like the various Linux package 
> managers (dub install libname), but but it's even better in that 
> you can skip that step entirely. List your project's dependencies 
> in a package.json, and dub will automatically download and 
> install them. Then they become available for every project you 
> build with dub.
> 
> As a library maintainer, I find this much cleaner than relying on 
> different people to maintain packages for different package 
> managers. dubs configuration integrates with my git repo. The 
> responsibility for registering with the dub registry is on me and 
> I can keep it up to date with a simple config file. Most 
> importantly, it makes it more likely that more users are on the 
> same version and they can easily get the latest bug fixes when I 
> update git without any extra effort on my part. On every platform 
> that dub supports, not just Linuxen. rpms, deb files and whatnot 
> often fall behind in the official package repositories and each 
> one is only available to a certain subset of Linux users. dub is 
> just a better option all around.

Anecdotal experience indicates this musn't be an "or" situation.

From the Go experience, where this is furthest down the line in the
native code arena (as far as I know): for Go having *both* operating
system packaging *and* language specific packaging is the place to be. 

The same goes for Python as well. Having platform packaging, and
individual machine packaging is wonderful.

Platform packaging gives automated update, local packaging give the
ability to get closer to the bleeding edge or stay behind the current
platform packaging.

So I think D (dmd, gdc, ldc) and Phobos (for each of dmd, gdc and ldc),
as well as any other D infrastructure packages  need to be packaged for
Debian (which gives Ubuntu, Mint,…), Fedora (which gives RHEL, CentOS,…
), MacPorts, HomeBrew, <any-others-as-well>, and there needs to be a
(possibly dub-based) way of having a personal local installation of
things.

Currently GDC is in Debian, but I have to get DMD from a private Debian
repository instead of the official one, and I build LDC myself because
the Debian package is too old. This measn having to have three versions
of all the libraries and packages because each compiler requires it's
own. This sort of situation is well supported via platform packaging and
currently seems unsupported completely via D-specific things – but I may
be missing something.

Surely the issue that is arising here is that there isn't much
communication and mutual support from the D community to the platform
packaging ones for the various platforms. (Apart from GDC on Debian,
which seems to be working fine now.)

So shouldn't OPs email be a call to get D and it's packages front and
centre for all package-based platforms *as well as* getting a D-specific
packaging system that knows how to deal with GitHub, BitBucket and
Launchpad (plus others) in place and core to the community. Go's set up
works, where is D's?


-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to