Re: [Pkg-d-devel] Attempt to build BioD blocked by undeaD and missing module string (Was: How to build D source)
2017-02-28 13:17 GMT+01:00 Andreas Tille : > Hi Matthias, > > On Tue, Feb 28, 2017 at 11:16:37AM +0100, Matthias Klumpp wrote: >> > 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. >> >> D is really easy to write if you know a bit of C and maybe Python or Java ^^ >> Writing a Meson build definition is trivial too, I can write on for >> this project if you want and submit it upstream. > > It would be helpful if you could provide a Meson build definition and > I'd happily submit it upstream. I had a coumple of minutes today: https://github.com/biod/BioD/pull/26 >> > 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. >> >> I'd rather not want that to happen - the D team is currently mostly me >> (and Markos), and packaging a library which we don't use is a bad >> idea. I have too many packages already and I fear I will not be able >> to adequately maintain them if I have too many and don't even use >> them. > > That's OK. > >> However, I could help with the packaging. I'll see whether BioD is >> easy to port away from std.streams (doesn't look like it >> unfortunately) and if not I could supply Meson build definitions to >> the projects. > > The libbiod Git repository[1] is writable for every DD - so if you > would like to commit something there that would be really welcome. I am even member of the Debian Med team, I think, so helping out won't be a problem at all ^^ But don't count or rely on me please, I can't really promise anything. >> Is BioD a normal shared library? What are you doing with it? > > My final target (actually also a predependency for another target) > is sambamba[2] which using BioD as a git subrepository to build. That looks like fun, there are quite a couple of submodules... With BioD having a Meson build file now, it also got a pkg-config file, so integrating it with the sambamba Makefiles should be way easier (just calling pkg-config with the right flags while building should do the job). Cheers, Matthias -- I welcome VSRE emails. See http://vsre.info/
Re: [Pkg-d-devel] Attempt to build BioD blocked by undeaD and missing module string (Was: How to build D source)
Hi Matthias, On Tue, Feb 28, 2017 at 11:16:37AM +0100, Matthias Klumpp wrote: > > 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. > > D is really easy to write if you know a bit of C and maybe Python or Java ^^ > Writing a Meson build definition is trivial too, I can write on for > this project if you want and submit it upstream. It would be helpful if you could provide a Meson build definition and I'd happily submit it upstream. > > 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. > > I'd rather not want that to happen - the D team is currently mostly me > (and Markos), and packaging a library which we don't use is a bad > idea. I have too many packages already and I fear I will not be able > to adequately maintain them if I have too many and don't even use > them. That's OK. > However, I could help with the packaging. I'll see whether BioD is > easy to port away from std.streams (doesn't look like it > unfortunately) and if not I could supply Meson build definitions to > the projects. The libbiod Git repository[1] is writable for every DD - so if you would like to commit something there that would be really welcome. > Is BioD a normal shared library? What are you doing with it? My final target (actually also a predependency for another target) is sambamba[2] which using BioD as a git subrepository to build. Kind regards Andreas. [1] https://anonscm.debian.org/git/debian-med/libbiod.git [2] https://github.com/lomereiter/sambamba -- http://fam-tille.de
Re: [Pkg-d-devel] Attempt to build BioD blocked by undeaD and missing module string (Was: How to build D source)
2017-02-26 20:17 GMT+01:00 Andreas Tille : > [...] >> 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. D is really easy to write if you know a bit of C and maybe Python or Java ^^ Writing a Meson build definition is trivial too, I can write on for this project if you want and sibmit it upstream. >> > 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. I'd rather not want that to happen - the D team is currently mostly me (and Markos), and packaging a library which we don't use is a bad idea. I have too many packages already and I fear I will not be able to adequately maintain them if I have too many and don't even use them. However, I could help with the packaging. I'll see whether BioD is easy to port away from std.streams (doesn't look like it unfortunately) and if not I could supply Meson build definitions to the projects. Is BioD a normal shared library? What are you doing with it? Cheers, Matthias -- I welcome VSRE emails. See http://vsre.info/
Re: Attempt to build BioD blocked by undeaD and missing module string (Was: How to build D source)
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
Re: [Pkg-d-devel] Attempt to build BioD blocked by undeaD and missing module string (Was: How to build D source)
Hello! 2017-02-26 15:19 GMT+01:00 James Cowgill : > Hi, > > On 26/02/17 07:03, Andreas Tille wrote: >> On Sat, Feb 25, 2017 at 10:01:17PM +, James Cowgill wrote: >>> On 25/02/17 21:31, Andreas Tille wrote: I intend to package BioD[1] but I have no idea how to build the D code (and run the unit tests). Considering BioD is a library I might need something like a dynamic lib and a development package, but may be this is different for D than in C. >>> >>> It looks like it uses "dub" as it's build system. Dub is packaged but >>> has no users in the archive so you probably want to talk to the D >>> language maintainers about it first to see what the correct way to >>> handle this is. >> >> I just added "dub run" to debian/rules. > > I think you want "dub build" instead. Yes, `dub build` is the right thing to do, 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 At time, D stuff in Debian (with the exception of LDC itself) uses either Meson or Automake. >>> I notice it depends on undead which will need packaging first. >> >> There are two kinds of messages: >> >> bio/bam/bai/indexing.d(33,8): Deprecation: module std.stream is deprecated - >> It will be removed from Phobos in October 2016. If you still need it, go to >> https://github.com/DigitalMars/undeaD >> >> This is what James seems to refer to - I'm not sure whether this is >> critical for the build here. I'd be willing to package undead if needed >> but I'd prefer if some more skilled people would do so. > > 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. Cheers, Matthias -- I welcome VSRE emails. See http://vsre.info/
Re: Attempt to build BioD blocked by undeaD and missing module string (Was: How to build D source)
Hi, On 26/02/17 07:03, Andreas Tille wrote: > On Sat, Feb 25, 2017 at 10:01:17PM +, James Cowgill wrote: >> On 25/02/17 21:31, Andreas Tille wrote: >>> I intend to package BioD[1] but I have no idea how to build the D code >>> (and run the unit tests). Considering BioD is a library I might need >>> something like a dynamic lib and a development package, but may be this >>> is different for D than in C. >> >> It looks like it uses "dub" as it's build system. Dub is packaged but >> has no users in the archive so you probably want to talk to the D >> language maintainers about it first to see what the correct way to >> handle this is. > > I just added "dub run" to debian/rules. I think you want "dub build" instead. >> I notice it depends on undead which will need packaging first. > > There are two kinds of messages: > > bio/bam/bai/indexing.d(33,8): Deprecation: module std.stream is deprecated - > It will be removed from Phobos in October 2016. If you still need it, go to > https://github.com/DigitalMars/undeaD > > This is what James seems to refer to - I'm not sure whether this is > critical for the build here. I'd be willing to package undead if needed > but I'd prefer if some more skilled people would do so. 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 None of these errors or warnings happen for me with the latest upstream git. Thanks, James signature.asc Description: OpenPGP digital signature
Attempt to build BioD blocked by undeaD and missing module string (Was: How to build D source)
Hi, On Sat, Feb 25, 2017 at 10:01:17PM +, James Cowgill wrote: > On 25/02/17 21:31, Andreas Tille wrote: > > I intend to package BioD[1] but I have no idea how to build the D code > > (and run the unit tests). Considering BioD is a library I might need > > something like a dynamic lib and a development package, but may be this > > is different for D than in C. > > It looks like it uses "dub" as it's build system. Dub is packaged but > has no users in the archive so you probably want to talk to the D > language maintainers about it first to see what the correct way to > handle this is. I just added "dub run" to debian/rules. > I notice it depends on undead which will need packaging first. There are two kinds of messages: bio/bam/bai/indexing.d(33,8): Deprecation: module std.stream is deprecated - It will be removed from Phobos in October 2016. If you still need it, go to https://github.com/DigitalMars/undeaD This is what James seems to refer to - I'm not sure whether this is critical for the build here. I'd be willing to package undead if needed but I'd prefer if some more skilled people would do so. 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? Kind regards Andreas. [1] https://anonscm.debian.org/git/debian-med/libbiod.git (my poor attempt to package BioD) -- http://fam-tille.de