Snap package for LDC 1.1.0 available to test

Joseph Rushton Wakeling via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Feb 3 14:56:33 PST 2017


As of earlier today, a snap package for LDC 1.1.0 has been 
published in the 'edge' channel of the Ubuntu store.

Snap packages are a new format developed by Ubuntu to facilitate 
upstreams being able to provide the latest versions of their apps 
directly to users.  The format is also designed to provide 
effective confinement for apps, so that they can only access the 
parts of the host system that they need to.  While developed by 
Ubuntu, the format is gaining quite a bit of of cross-distro 
traction: see http://snapcraft.io/ for more information.

On Ubuntu 16.04 or later, or Debian Sid, it should be possible to 
install this package using the following commands:

     sudo apt install snapd   # in order to be able to install 
snap packages at all

     sudo snap install --classic --edge ldc2

The `--classic` flag is needed in order to accept the confinement 
choice of the ldc2 package, while the `--edge` flag is needed to 
search in the similarly-named package channel.  As the name 
suggests this is for 'bleeding edge' packages.

The package includes the ldc2 compiler plus its 'dmd-like' 
version ldmd2, as well as ldc-profdata and ldc-prune-cache.  
You'll find the commands in /snap/bin/ : note that the latter 
three will (for now) be called ldc2.ldmd2, ldc2.ldc-profdata and 
ldc2.ldc-prune-cache (these names will hopefully be simplified in 
a future release).

It should be possible to use ldc2 and ldc2.ldmd2 in the same way 
that you would use their equivalents installed by any other 
package manager.  Please let me know of any issues you encounter 
in trying to use this!

In principle it should also be possible to install this snap on 
other distros that have support for snap packages (e.g. Arch, 
Gentoo, Fedora, OpenSUSE); however, it will require an up-to-date 
version of snapd (2.21 or later) which some distros may not yet 
have made available.  For instructions on how to install snapd on 
other distros, see:
http://snapcraft.io/docs/core/install

For information on 'classic' confinement, see:
https://insights.ubuntu.com/2017/01/09/how-to-snap-introducing-classic-confinement/

Finally, for the snap package definition, see:
https://github.com/ldc-developers/ldc2.snap

I would be happy to explain any aspects of the snap packaging 
process or syntax that anyone is interested in.

Finally, thanks to the LDC developers who eagerly embraced this 
project to create and distribute an LDC snap package, and for all 
the helpful advice and support they have offered throughout the 
process.

Please do let me know what your experience is trying the package!

Thanks & best wishes,

     -- Joe


More information about the Digitalmars-d-announce mailing list