Am Do., 28. Nov. 2019 um 16:37 Uhr schrieb Pjotr Prins <pjotr2...@thebird.nl>: > > When 1.18 arrives I think it is a good time to get sambamba and biod > in Debian again.
They always were in Debian, just not in a release because the packages were broken ^^ The LDC transition went really well this time, I don't think it has ever been this smooth! No regressions this time, hurray! I had a bit of time to look into the sambamba/biod packages today, and fixing them was actually really easy. Originally, I wanted to just make use of the upstream-provided Makefiles, but unfortunately it was really annoying to make them produce a proper static and dynamic library, and then I would still have had the problem of installing all pieces to the right locations and to write a pkg-config file. Therefore, the way of least resistance was to just use Meson for building, as that does everything we need in Debian. Both BioD and Sambamba build well with Meson. I applied a few tweaks to the packages, that haven't been there before: BioD is now built as a shared as well as a static library, so applications can choose between the two. That's pretty common in Debian, and as a sideeffect this also guarantees that things are rebuilt properly when a transition happens. The Sambamba package will now prefer statically linking BioD if possible (so BioD is statically linked by default now in Debian). Additionally both packages now apply the optimization flags upstream has set for releases (-O3, no bounds checks, etc.). Combined, these two changes should make the Debian builds comparably fast to the upstream builds, but I haven't tested that yet. There are also two brand new remaining issues: Apparently, for some reason, SONAME isn't set correctly for BioD, producing a Lintian error - not sure what happens there, and which component is to blame for that (Meson or LDC, most likely). Also, Sambamba doesn't *actually* build yet: ``` roup -L=-rpath -L=/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu slicereader.d:71: error: undefined reference to 'cram_to_bam' collect2: error: ld returned 1 exit status ``` The cram_to_bam is private in htslib, so it shouldn't be used by other applications. Not sure whether htslib or Sambamba needs to be changed here, I simply worked around this issue for testing, and when this is resolved, Sambamba builds & works. Unfortunately I briefly forgot that this issue existed, so I already uploaded the new sambamba package with this issue still present (I remembered literally the moment the upload finished), so its builds will fail. This is probably something for Andreas to look into :-) Anyway, I hope this is helpful to you and the resulting binaries are performant :-) Cheers, Matthias -- I welcome VSRE emails. See http://vsre.info/