On 11/04/2017 3:01 PM, Jacob Carlborg wrote:
On 2017-04-11 14:56, Jonathan M Davis via Digitalmars-d wrote:
That's basically what's required with D. It is not ABI compatible across
releases, and while ABI compatibility might be nice, it really isn't
reasonable with D - especially with how attributes work and how template
heavy D code is. If the D compiler gets upgraded, then anything that gets
built needs everything that it depends on to have been built with that
exact
compiler version.
But if we just use dub - which _is_ the official packaging and build
tool -
then we avoid these issues. Ideally, the compiler and dub would be
part of
the distro, but libraries don't need to be. And it sounds like that's
basically how the Go and Rust folks want to function as well. So, it
would
make sense for these languages to simply not have their libraries be
included in distros. The build tools are plenty.
I agree, but I think that they want to avoid having packages that
require dependencies outside of the Debian tree to build. That is, a
user end application written in D, that is built using Dub. To solve
that and still use Dub they would need to package the dependent
libraries as source packages and somehow point Dub to the library in the
Debian tree and not code.dlang.org. I don't see why that wouldn't be
possible and if anything needs to be changed in Dub for that, I think
that's reasonable.
/usr/share/source/D/package-name-version
Add a search path like that to Dub and create source only library
packages and that is pretty much all the distribution we need for
libraries I reckon.
Destroy!