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

2017-02-28 Thread Matthias Klumpp
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)

2017-02-28 Thread 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 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-28 Thread Matthias Klumpp
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)

2017-02-26 Thread Andreas Tille
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)

2017-02-26 Thread Matthias Klumpp
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)

2017-02-26 Thread 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.

>> 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)

2017-02-25 Thread Andreas Tille
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