[Pkg-d-devel] Attempt to build BioD blocked by undeaD and missing module string (Was: How to build D source)

Andreas Tille andreas at an3as.eu
Sun Feb 26 19:17:50 UTC 2017


Hi,

On Sun, Feb 26, 2017 at 05:10:11PM +0100, Matthias Klumpp wrote:
> >> I just added "dub run" to debian/rules.
> >
> > I think you want "dub build" instead.
> 
> Yes, `dub build` is the right thing to do,

Fine.

> but in general I would
> strongly recommend to not use dub at all for Debian packaging.
> It has a lot of issues which make it a pain to work with in the
> context of Debian packaging, some of the issues are summarized at
> https://gist.github.com/ximion/fe6264481319dd94c8308b1ea4e8207a
> 
> I did packaging with dub once, a d/rules file would look similar to
> this: https://anonscm.debian.org/git/pkg-packagekit/appstream-generator.git/tree/debian/rules?id=60dcc4c6e716f8ddbcf549f40bad0f5b800cb398
> 
> No package in Debian uses dub however, because it creates long-term
> maintenance pain. The much better option is to submit a patch upstream
> to build with either Automake, cmake or Meson. I strongly recommend
> Meson here, because Meson configuration is very easy to write and it's
> D support is already there (while it needs to be added to cmake with a
> lot of macros, and Automake is just annoying to use in general).
> 
> Here is an example for a simple Meson build configuration for a very
> small static D library:
> https://github.com/repeatedly/mustache-d/commit/4e694202b02014871a767782606bacaf1422a3e2

I'd fully trust your insight here but I admit Meson is totally new to me
and crafting a Meson control file for a library without having any idea
about D is a bit over my current status of knowledge.  So I either need
to use what upstream provides or ask here for help.

> > Ah, I was looking at upstream git master which contains this dependency
> > in dub.json:
> > "dependencies": {
> >         "undead": "~>1.0.6"
> > },
> >
> >> bio/bam/bai/indexing.d(38,8): Error: module string is in file 'core/std/c/string.d' which cannot be read
> >>
> >> This seems to be critical.  Do you have any hint?
> >
> > Maybe this PR would help?
> > https://github.com/biod/BioD/pull/23
> 
> Which D compiler do you use for building? LDC or GDC? I would
> recommend LDC here, since it supports the latest D runtime and
> standard library versions, while GDC is lagging behind a lot.
> The ideal solution here would be to port BioD away from using
> deprecated stuff, but I am not sure how feasible this is - would be
> nice to at least ask upstream on whether they accept patches for it.
> Otherwise, undeaD needs to be in Debian first.

I admit I have no idea how to do this.  Its the first time I see D code
at all.  May be it would be even better if the Debian D team could
package BioD which I need for some other package as a pre-dependency.
 
Kind regards

      Andreas. 

-- 
http://fam-tille.de



More information about the Pkg-d-devel mailing list