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
Description: This is a digitally signed message part