On Saturday, 23 July 2016 at 14:24:08 UTC, Matthias Klumpp wrote:
On Saturday, 23 July 2016 at 11:40:20 UTC, qsdjlf wrote:
integration in distribution could be a good signal, what a say, Excellent signal, for the D language. I know that some people here are mostly starving at commercial usage...but for me such tools written in D and available in linux distros via their package manager would be a much more significant sign.

It is also something that brings people to D - a good toolchain and many projects using D and being established in Linux distributions is a *huge* influence.

Unfortunately, D is still a bit painful in Linux distros.
Those issues should be resolved to make integration easier:

1) Stable ABI for the D language which ideally also works across compilers

2) Fixing dub bugs and adding features - at time, dub is pretty unusable for distro packaging, which is why we use Terminix' Automake support.
Specifically, these issues need to be addressed:
- Find & use system dub packages: https://github.com/dlang/dub/issues/838 - Make dub compile by-file and not compile everything with one compiler command (for very large projects this makes parallelization hard and can also bring down less powerful build slaves) - Add "dub install" to install a project: https://github.com/dlang/dub/issues/839 - "dub test" shouldn't override the main binary, otherwise we can't run tests properly in distros at compile-time: https://github.com/dlang/dub/issues/840

3) Making LDC available for more architectures, or making GDC support a higher version of the Phobos standard library and build shared libraries. At time, LDC is the better fit because of shared library support and higher Phobos version. Current D projects are hard to compile with GDC because of the latter reason. More architectures are not per-se essential, but would be awesome to have. This feature request summarizes the status of arch support for D in free compilers: https://github.com/ldc-developers/ldc/issues/1636

4) Resolving weird LDC bugs like this one: https://github.com/ldc-developers/ldc/issues/1618 - might actually be an LLVM issue, but I don't know enough to pin down the issue.

5) Have hardening supported for the D compilers: https://wiki.debian.org/HardeningWalkthrough

6) Ideally have the free D compilers agree on a common set of compiler options, like clang supports gcc compiler flags. That allows distros to apply compiler flags globally, e.g. to enable hardening.

Of these points 1, 2 and 4 are very important, 3 would be really nice to have and 5 and 6 would be going the extra mile to make D awesome in distros and us as distribution vendors really happy.

+1 very good post. Good lightening of the problem.

Reply via email to