[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: libphobos-dev build-dep



On 22-03-14 13:11, Samuel Thibault wrote:
> Hello,
>
> The following packages have been in BD-Uninstallable buildd state for a
> very long time. This is because they build-depend on the libphobos-dev
> virtual package instead of an actual package such as libphobos-4.4-dev
> or libphobos-4.8-dev.

I think a bit of background information is needed here. These packages
are implemented in the D language. They use the GDC compiler and Phobos
is the D standard library. GDC and Phobos are tightly coupled: each
version of the compiler requires a specific version of the library. As
an extra complication, GDC is build on all architectures but Phobos
currently only works on x86. (I believe ARM support is coming soon.)

All these packages have:
    Depends: gdc, libphobos-dev

This works as follows:
- "gdc" is a gcc-defaults meta-package that depends on the current
default GDC compiler.
- The compiler in turn depends on a suitable Phobos implementation, if
one exists.
- The Phobos implementation provides libphobos-dev.
- And this satisfies the original dependency.

If there's no usable Phobos implementation, there will be nothing
providing libphobos-dev and the buildds will not attempt to build the
package. Which is correct, as the packages won't build without Phobos.

I know this scheme is unusual, but I don't see any alternatives. I can't
specify a Phobos version without also specifying a GDC version, and if I
do that I would have to upload new packages with every compiler release.


Reply to: