Jump to page: 1 24  
Page
Thread overview
Official dub packages for Debian and Ubuntu
Apr 11, 2016
Matthias Klumpp
Apr 11, 2016
Edwin van Leeuwen
Apr 11, 2016
Jordi Sayol
Apr 11, 2016
Matthias Klumpp
Apr 11, 2016
Matthias Klumpp
Apr 11, 2016
Jordi Sayol
Apr 12, 2016
Matthias Klumpp
Apr 12, 2016
Matthias Klumpp
Apr 12, 2016
Russel Winder
Apr 12, 2016
Matthias Klumpp
Apr 12, 2016
Jordi Sayol
Apr 14, 2016
Matthias Klumpp
Apr 14, 2016
Jordi Sayol
Apr 14, 2016
Matthias Klumpp
Apr 15, 2016
Jordi Sayol
Apr 15, 2016
Jordi Sayol
Apr 16, 2016
Russel Winder
Apr 14, 2016
Matthias Klumpp
Apr 14, 2016
Matthias Klumpp
Apr 14, 2016
Johannes Pfau
Apr 14, 2016
Matthias Klumpp
Apr 15, 2016
Johannes Pfau
Apr 16, 2016
Matthias Klumpp
Apr 16, 2016
Matthias Klumpp
Apr 18, 2016
Matthias Klumpp
Apr 18, 2016
Matthias Klumpp
Apr 24, 2016
Matthias Klumpp
Apr 12, 2016
jmh530
Apr 12, 2016
Matthias Klumpp
April 11, 2016
Hello!
I am very new to the D community and just recently finished a project in D, which I want to make available in Debian (reason for choosing D was mostly its speed and similarity to C++ and C, making a very shallow learning curve for someone knowing these languages. And porting Python code to D was incredibly easy. I'll likely blog about my experience with D).

As part of that work, the dub package an build management system is now available in Debian, and I will ensure it works well.
Additionally, it was possible to make dub available late in the Ubuntu 16.04 (Xenial) development cycle, so dub will also be part of the upcoming LTS release of Ubuntu (kudos here go to Matthias Klose for pointing me at the "new" --push-state linker directive to work around dub not linking properly against libcurl when the latter is compiled with --as-needed).

Co-maintainers[1] and feedback from the dub developers is very welcome, and I hope this addition is useful for you.

On the roadmap are adding debhelper sequences to simplify packaging dub-based D code in Debian based distros, auto-test support in Debian's CI, and of course the usual bugfixing.

Cheers,
    Matthias

https://packages.debian.org/stretch/dub
http://packages.ubuntu.com/xenial/dub

[1]: Especially from the d-apt people - helping with official Debian packages is possible even if you're no Debian Developer / Maintainer.
April 11, 2016
On Monday, 11 April 2016 at 14:21:46 UTC, Matthias Klumpp wrote:
> And porting Python code to D was incredibly easy. I'll likely blog about my experience with D).

That would be great. Do you have a link to your blog (and its rss feed)?

> As part of that work, the dub package an build management system is now available in Debian, and I will ensure it works well.

Nice, that will make it a lot easier, for people that are not using D, to install D programs/packages
April 11, 2016
El 11/04/16 a les 16:21, Matthias Klumpp via Digitalmars-d-announce ha escrit:
> As part of that work, the dub package an build management system is now available in Debian, and I will ensure it works well.
> Additionally, it was possible to make dub available late in the Ubuntu 16.04 (Xenial) development cycle, so dub will also be part of the upcoming LTS release of Ubuntu

This is a very good news!

> Co-maintainers[1] and feedback from the dub developers is very welcome, and I hope this addition is useful for you.
[...]
> [1]: Especially from the d-apt people - helping with official Debian packages is possible even if you're no Debian Developer / Maintainer.

I'm the only one d-apt maintainer.

About the d-apt dub deb package, they're built using binaries from <https://code.dlang.org/download> and do not compile anything.

How long will it take from a dub release until dub deb package will be available on the Debian stable repositories? And for Ubuntu?

Regards,
Jordi.
April 11, 2016
On Monday, 11 April 2016 at 14:26:32 UTC, Edwin van Leeuwen wrote:
> On Monday, 11 April 2016 at 14:21:46 UTC, Matthias Klumpp wrote:
>> And porting Python code to D was incredibly easy. I'll likely blog about my experience with D).
>
> That would be great. Do you have a link to your blog (and its rss feed)?

That would be http://blog.tenstral.net/ and http://blog.tenstral.net/feed - no D content there yet though, lots of Freedesktop and distro engineering stuff instead ^^

>> As part of that work, the dub package an build management system is now available in Debian, and I will ensure it works well.
>
> Nice, that will make it a lot easier, for people that are not using D, to install D programs/packages

Jup - the biggest issue is that GDC and LDC are lagging behind the proprietary DMD compiler, especially in terms of supporting a more recent Phobos version. The latter makes many things buildable only with DMD, which won't be found in any mainstream Linux distribution (no free software).

On Monday, 11 April 2016 at 17:18:28 UTC, Jordi Sayol wrote:
> El 11/04/16 a les 16:21, Matthias Klumpp via Digitalmars-d-announce ha escrit:
>> [...]
>> Co-maintainers[1] and feedback from the dub developers is very welcome, and I hope this addition is useful for you.
> [...]
>> [1]: Especially from the d-apt people - helping with official Debian packages is possible even if you're no Debian Developer / Maintainer.
>
> I'm the only one d-apt maintainer.
>
> About the d-apt dub deb package, they're built using binaries from <https://code.dlang.org/download> and do not compile anything.

Eww, that's not something we can do for official packages - it's fine though for 3rd-party stuff :-)

> How long will it take from a dub release until dub deb package will be available on the Debian stable repositories? And for Ubuntu?

Depends on the release cycle of Debian and Ubuntu. Generally, once software is in stable, it will only receive security fixes, and no further upstream versions will be added. That is part of the stability promise we give to users. Every new upstream release might include changes in behavior, breaking things or introducing new bugs.

That being said, new upstream releases can be made available via backports, if there is demand for it (it's relatively easy, if the code compiles with the older GDC release in stable at that time).

The Ubuntu Xenial (16.04) release (due in April) will have dub 0.9.24, and Debian Stretch (9), which will likely be released in spring next year, will have whatever dub version is current then (or if the dub developers prefer a certain version for stable, that version).

Cheers,
  Matthias
April 11, 2016
On Monday, 11 April 2016 at 17:41:44 UTC, Matthias Klumpp wrote:
> [...]
> Eww, that's not something we can do for official packages - it's fine though for 3rd-party stuff :-)

"can not do", obviously... :P

April 11, 2016
El 11/04/16 a les 19:41, Matthias Klumpp via Digitalmars-d-announce ha escrit:
>> About the d-apt dub deb package, they're built using binaries from <https://code.dlang.org/download> and do not compile anything.
> 
> Eww, that's not something we can do for official packages - it's fine though for 3rd-party stuff :-)

I know it. This is the reason of my comment :-)


>> How long will it take from a dub release until dub deb package will be available on the Debian stable repositories? And for Ubuntu?
> 
> Depends on the release cycle of Debian and Ubuntu. Generally, once software is in stable, it will only receive security fixes, and no further upstream versions will be added. That is part of the stability promise we give to users. Every new upstream release might include changes in behavior, breaking things or introducing new bugs.
> 
> That being said, new upstream releases can be made available via backports, if there is demand for it (it's relatively easy, if the code compiles with the older GDC release in stable at that time).
> 
> The Ubuntu Xenial (16.04) release (due in April) will have dub 0.9.24, and Debian Stretch (9), which will likely be released in spring next year, will have whatever dub version is current then (or if the dub developers prefer a certain version for stable, that version).


Well, this makes useful have dub in both repositories, Debian/Ubuntu and d-apt. All Debian/Ubuntu users can always use dub on their system. If the last release is needed for any reason they can add d-apt repository to install it. d-apt takes 1-2 day to update dub deb packages after dub release. The deb package is not a problem because we use the same package name, and the version shouldn't be a problem too, the newer version will be installed regardless its source, isn't it?

$ dpkg --compare-versions "0.9.25-0" gt "0.9.24-1ubuntu1" && echo "greater" || echo "NOT greater"

Regards,
Jordi
April 11, 2016
On Monday, 11 April 2016 at 14:21:46 UTC, Matthias Klumpp wrote:
> As part of that work, the dub package an build management system is now available in Debian, and I will ensure it works well.
> Additionally, it was possible to make dub available late in the Ubuntu 16.04 (Xenial) development cycle, so dub will also be part of the upcoming LTS release of Ubuntu (kudos here go to Matthias Klose for pointing me at the "new" --push-state linker directive to work around dub not linking properly against libcurl when the latter is compiled with --as-needed).

That's great news.  Thank you very much!

Related note: I see the lcd version in xenial is 0.17.0~beta2 -- I don't suppose there's any chance of upgrading that to the stable 0.17.1 release ... ?  (Not asking you to do it personally, just wondering if that's something that could be achieved.)


> On the roadmap are adding debhelper sequences to simplify packaging dub-based D code in Debian based distros, auto-test support in Debian's CI, and of course the usual bugfixing.

That sounds very cool.  I'm very grateful that you are doing this work; it's going to save me my usual from-source install, and looks like it opens the gates for a bunch more D code getting into the Debian + Ubuntu universe.

Curious question: what's the Debian policy these days on what D compiler should be used to build D packages?  And has dub's config been tweaked accordingly in terms of which compiler it prefers to use ... ?

Thanks & best wishes,

    -- Joe
April 12, 2016
On Monday, 11 April 2016 at 18:05:31 UTC, Jordi Sayol wrote:
> [...]
>
> Well, this makes useful have dub in both repositories, Debian/Ubuntu and d-apt. All Debian/Ubuntu users can always use dub on their system. If the last release is needed for any reason they can add d-apt repository to install it. d-apt takes 1-2 day to update dub deb packages after dub release. The deb package is not a problem because we use the same package name, and the version shouldn't be a problem too, the newer version will be installed regardless its source, isn't it?

Yes.

> $ dpkg --compare-versions "0.9.25-0" gt "0.9.24-1ubuntu1" && echo "greater" || echo "NOT greater"

As long as you keep the Debian revision at 0, everything is fine and there should be no conflicts, if the binary package names in Debian and your repo match. Please just don't increase the Debian revision to something bigger than zero, that can result in breakage.
You could use a revision like "-0~1" or "-0.1" when making changes to the package without a new upstream releases.
But that seems to be the case already, so there's no problem here :-)

April 12, 2016
On Monday, 11 April 2016 at 21:58:55 UTC, Joseph Rushton Wakeling wrote:
> On Monday, 11 April 2016 at 14:21:46 UTC, Matthias Klumpp wrote:
>> As part of that work, the dub package an build management system is now available in Debian, and I will ensure it works well.
>> Additionally, it was possible to make dub available late in the Ubuntu 16.04 (Xenial) development cycle, so dub will also be part of the upcoming LTS release of Ubuntu (kudos here go to Matthias Klose for pointing me at the "new" --push-state linker directive to work around dub not linking properly against libcurl when the latter is compiled with --as-needed).
>
> That's great news.  Thank you very much!
>
> Related note: I see the lcd version in xenial is 0.17.0~beta2 -- I don't suppose there's any chance of upgrading that to the stable 0.17.1 release ... ?  (Not asking you to do it personally, just wondering if that's something that could be achieved.)

I can ask, but given that the Xenial final freeze is on 24. April (release on 26.) and changing compiler versions that late in the cycle is potentially dangerous, I guess there is only a slim chance of success... On the pro-side is that having a beta compiler in the LTS release is undesirable, but even then I need to find an Ubuntu developer who does have time to do the sync and get the feature-freeze-exception. LDC FTBFSing on armel in Debian (and not entering testing due to that at time) is also an issue :-/

>> On the roadmap are adding debhelper sequences to simplify packaging dub-based D code in Debian based distros, auto-test support in Debian's CI, and of course the usual bugfixing.
>
> That sounds very cool.  I'm very grateful that you are doing this work; it's going to save me my usual from-source install, and looks like it opens the gates for a bunch more D code getting into the Debian + Ubuntu universe.

Yes, that's the plan - for this to happen, we need some additions to dub though, to search in common global paths for packages. I opened bug https://github.com/D-Programming-Language/dub/issues/811 for that. Until that's fixed, I can't package more D code using dub (and adding debhelper bits also depends on this being resolved).

> Curious question: what's the Debian policy these days on what D compiler should be used to build D packages?

There is no real policy, at least I have found none. But from my tests, ldc simply crashed right away when trying to compile, later it wasn't able to process some code gdc had no problems with (I haven't tried the upcoming release). Since the GNU Compiler Collection is Debian's default compiler, I have set the compiler dependency of dub to gdc | ldc | d-compiler, so gdc is preferred, but replacing it with any other compiler will work too.

> And has dub's config been tweaked accordingly in terms of which compiler it prefers to use ... ?

I didn't touch that, since dub seems to automatically find the right compiler. The preference seems to be dmd >> gdc >> ldc2, which looks sane to me.

It's really bad that GDC isn't part of the official GCC yet, and the standard libraries differ so much between the compilers (mainly due to phobos progressing very quickly).

For Debian Stretch I assume the situation will be much better though :-) (given the state of the LDC and GDC Git repos).
April 12, 2016
On Monday, 11 April 2016 at 14:21:46 UTC, Matthias Klumpp wrote:
>
> On the roadmap are adding debhelper sequences to simplify packaging dub-based D code in Debian based distros, auto-test support in Debian's CI, and of course the usual bugfixing.
>

Is adding to Linux Mint something you would consider as well?
« First   ‹ Prev
1 2 3 4