www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Snap packages for DMD and DUB

reply Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
Hello all,

As announced at DConf 2017, snap packages are now available for 
DMD 2.074.0 and DUB 1.3.0 in the official snap store.  These 
should allow for installation on multiple different Linux distros 
(see below) on i386 and amd64 systems.

Installing them is simple: first follow the `snapd` installation 
instructions here:
https://snapcraft.io/docs/core/install

... and then:

     sudo snap install --classic --channel=edge dmd
     sudo snap install --classic --channel=edge dub

where the `--classic` flag grants permission for the confinement 
options required by the packages.

The `dmd` package also contains `rdmd`, `dustmite` and 
`ddemangle`.  Note that by default the snap package exposes these 
namespaced on the name of the package (i.e. `dmd.rdmd`, etc.).  
To avoid this, use the `snap alias` command:

     sudo snap alias dmd rdmd
     sudo snap alias dmd dustmite
     sudo snap alias dmd ddemangle

... and then it should be possible to use the regular commands.

Currently these packages are only released in the `edge` channel 
(out of `edge`, `beta`, `candidate` and `stable`).  It would be 
good to have as many people (on as many different supported 
distros) try them out in order to get confirmation that they are 
working properly.  Currently they are expected to work on at 
least:

   * Ubuntu 14.04, and 16.04 or later

   * Debian Testing and Unstable

   * OpenSUSE Leap

In principle they ought to work on any system with a recent 
enough `snapd` (2.21 or later), but the above are the ones I have 
tried them on.

On systems with snapd 2.24 (the latest release) it looks like 
there is an issue with rdmd: the sandboxing interferes with rdmd 
writing to the `/tmp` directory.  It's not clear at this point if 
this is an issue with snapd or with rdmd itself, but I'm looking 
into it.

Special thanks to Martin Nowak who took time with me at DConf to 
help in setting up the snap store account for these packages.

Enjoy, and let me know how you all get on with these packages!

For more info on snap packages and how to use (and create) them, 
see:
https://snapcraft.io

Thanks & best wishes,

     -- Joe
May 08
next sibling parent reply bachmeier <no spam.net> writes:
On Monday, 8 May 2017 at 20:05:01 UTC, Joseph Rushton Wakeling 
wrote:
 Hello all,
[...]
 Enjoy, and let me know how you all get on with these packages!

 For more info on snap packages and how to use (and create) 
 them, see:
 https://snapcraft.io

 Thanks & best wishes,

     -- Joe
Thanks for making these available. I needed to install ldc today, so I used the snap package. Installation was trivial (Ubuntu 16.04).
May 08
parent Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On Monday, 8 May 2017 at 20:23:36 UTC, bachmeier wrote:
 Thanks for making these available. I needed to install ldc 
 today, so I used the snap package. Installation was trivial 
 (Ubuntu 16.04).
That's great to hear. Note that it's also trivial to swap between the current stable release and the latest beta, if you want to try things out: sudo snap refresh --channel=1.3/beta [to switch to the 1.3.0-beta1 release] sudo snap refresh --channel=stable [to switch back to the latest stable release]
May 08
prev sibling parent reply Piotr Mitana <a niepodam.pl> writes:
On Monday, 8 May 2017 at 20:05:01 UTC, Joseph Rushton Wakeling 
wrote:
 Hello all,

 As announced at DConf 2017, snap packages are now available for 
 DMD 2.074.0 and DUB 1.3.0 in the official snap store.  These 
 should allow for installation on multiple different Linux 
 distros (see below) on i386 and amd64 systems.
Hello, I have tried those snaps recently on Ubuntu 16.10. There were -fPIC related errors (if you need the output, I can install the snap again and post it tomarrow).
May 11
parent reply Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On Thursday, 11 May 2017 at 11:47:10 UTC, Piotr Mitana wrote:
 Hello, I have tried those snaps recently on Ubuntu 16.10. There 
 were -fPIC related errors (if you need the output, I can 
 install the snap again and post it tomarrow).
Ouch! Thanks for reporting this: it sounds like something similar to what Attila was reporting for his attempts at building on Arch. I'll look into it and see if I can fix packaging side (it's probably possible by tweaking CFLAGS), before submitting fixes upstream if it's something that can reasonably be addressed there.
May 11
parent reply Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On Thursday, 11 May 2017 at 14:46:10 UTC, Joseph Rushton Wakeling 
wrote:
 On Thursday, 11 May 2017 at 11:47:10 UTC, Piotr Mitana wrote:
 Hello, I have tried those snaps recently on Ubuntu 16.10. 
 There were -fPIC related errors (if you need the output, I can 
 install the snap again and post it tomarrow).
OK, looks like `-fPIC` was missing from some of the druntime and phobos build commands. I've pushed a patch to the `dmd` package definition that should fix this. Can I confirm whether you had these problems with `dmd` only or also with the `dub` package?
May 11
parent Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On Thursday, 11 May 2017 at 22:30:52 UTC, Joseph Rushton Wakeling 
wrote:
 OK, looks like `-fPIC` was missing from some of the druntime 
 and phobos build commands.  I've pushed a patch to the `dmd` 
 package definition that should fix this.
Hmm, no dice. I'll look into this further in the next days.
May 11