Official dub packages for Debian and Ubuntu

Matthias Klumpp via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sat Apr 16 07:20:00 PDT 2016


On Saturday, 16 April 2016 at 09:48:01 UTC, Joseph Rushton 
Wakeling wrote:
> [..]
>> As for further dub stuff, it is important that 
>> https://github.com/D-Programming-Language/dub/issues/811 is 
>> addressed, so we can build software using dub without 
>> downloading stuff from the internet.
>> Btw, since D doesn't know traditional headers like C/C++, how 
>> would I link against a library without having the full 
>> sourcecode present somewhere?
>
> Is there anything wrong -- in principle -- with (for now) 
> treating open-source D libraries much like the various Boost 
> C++ libraries, which AFAICT are almost entirely header-based?

It's a bit ugly, because we are essentially embedding code copies 
into every binary, instead of having a proper shared library 
stuff can link to (and we also need to recompile everything 
again).
Aside from that, there is no real issue - Debian policy allows 
doing that, and in fact, this is the thing I am currently 
attempting to do to work around the ABI issues.

> I ask because so far as I can tell that would work around the 
> immediate problems of compiler incompatibilities, it would not 
> add any extra work compiler-wise that's not already there with 
> dub's current way of doing things, and for template-heavy D 
> code (which is quite a lot of code), it makes no difference, 
> since that would have to be available in .d or .di files anyway.

Jup - what dub would still need to do though is to find the 
globally installed software, so we don't need to patch each 
dub.(json|sdl) file to find the code which was installed via 
distro packages.
At time, I install the D code into `/usr/include/d/<package>`[1] 
where dub could theoretically automatically find it.

[1]: Probably not the best location since this isn't actually a 
header... (alternative could be `/usr/share/dlang/`)


More information about the Digitalmars-d-announce mailing list