On Monday, 12 August 2013 at 13:06:46 UTC, Mike Parker wrote:
In packaging Derelict for Fedora, he had been relying on a pull request I accepted from him some time ago that added shared library support to the Derelict build script.
Jonathan unfortunately has also opted to build druntime and Phobos as shared libraries in the LDC Fedora package, even if that is known to produce random segfaults due to the interaction with TLS not being properly handled yet (stay tuned for an new release early September including 2.063 and hopefully proper .so support on Linux). This might effectively be worse than having no D compiler package in the official repositories at all, as it is prone to give a false impression regarding the stability of D.
In part, this might have been partly our (or more specifically, my) fault for not clearly labeling the respective experimental CMake option as such and not explicitly pointing out the fact that shared libraries don't work out of the box without special hacks when asked about the possibility. And if I remember correctly, the Fedora packaging guidelines also pretty much prohibit distributing static libraries if it can be avoided at all (D is such a case, though, or has at least been until very recently).
In general, I think this situation highlights how important close collaboration and proper communication between upstream developers and packagers is. Sure, one could argue that the main project developers should also try to handle packaging for the most common target platforms, as it is also essential if the application is supposed to ever gain traction on systems where a package manager is used pervasively. However, in reality, we are all doing this in our spare time, and even if you restrict yourself to, say, Debian, Fedora, MacPorts and Homebrew, this probably means that you have to familiarize yourself with at least 3 systems you don't use on a daily basis before you can even think about creating packages for them.
Maintaining packages for your favorite system is a low-effort/high-impact way to help with D development; I really wish more users would consider lending a hand here.