On Monday, 10 April 2017 at 22:26:46 UTC, Joseph Rushton Wakeling wrote:
On Monday, 10 April 2017 at 13:20:00 UTC, Matthias Klumpp wrote:
This has worked nicely for every language. If you don't have templates in your API or don't change the templates between releases, you can survive with one library for a long time.

But the vast majority of D libraries _do_ have templates (starting with Phobos). How should this situation be dealt with?

How does Debian deal with, e.g., fixes to the templated code in Boost, which impact on other packages built using those header-only libraries?

Boost's soversion is changed on every release, and the version is included in it's -dev package as well. That's why we have libboost1.62-dev: https://packages.debian.org/de/sid/libboost1.62-dev (and possibly more). There is also a boost-defaults package setting the current default Boos version for packages to depend on. If a new Boost comes out, it's soversion and -dev package name changes, triggering a package transition and subsequently a full rebuild of all stuff depending on Boost.

Doing something like this with D libraries would obviously be possible as well.

Reply via email to