On 12 August 2013 11:38, Russel Winder <rus...@winder.org.uk> wrote:
> 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
> 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.
You can now get GDC from debian unstable if you want to risk it for a
biscuit. Not recommended for Debian stable, and look up apt-pinning
for Debian testing releases.
*(p < e ? p++ : p) = (c & 0x0f) + '0';