www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Snap package for LDC 1.1.0 available to test

reply Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
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
Feb 03
next sibling parent reply aberba <karabutaworld gmail.com> writes:
On Friday, 3 February 2017 at 22:56:33 UTC, Joseph Rushton 
Wakeling wrote:
 As of earlier today, a snap package for LDC 1.1.0 has been 
 published in the 'edge' channel of the Ubuntu store.

 [...]
There is now support for 14.04 too. Although snaps are marketed by Canonical, I see flatpack to be more technically safe a superior. And that's what most free software devs commit.
Feb 04
parent Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On Saturday, 4 February 2017 at 14:56:21 UTC, aberba wrote:
 There is now support for 14.04 too.
Right now that may not work for people unless they enable the `proposed` repository. There's a bug that currently prevents installation of `snapd` via the stable repos, but a fix for that has been prepared and I would guess it will probably be released next week. I will post here when that's the case.
 Although snaps are marketed by Canonical, I see flatpack to be 
 more technically safe a superior. And that's what most free 
 software devs commit.
My impression is quite the opposite -- that snap packages right now offer more features (security included) and make fewer assumptions about the host system. But, obviously, your call what you wish to work with. However, since the snap package is available now ... if you are able to, could you possibly do me the favour of trying it out and confirming whether or not it works for you? Thanks & best wishes, -- Joe
Feb 04
prev sibling parent reply qznc <qznc web.de> writes:
On Friday, 3 February 2017 at 22:56:33 UTC, Joseph Rushton 
Wakeling wrote:
 Please do let me know what your experience is trying the 
 package!
Worked in my quick try. :) Why does it not show up with `snap find`? Because it is "edge"?
Feb 06
parent Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On Monday, 6 February 2017 at 12:50:15 UTC, qznc wrote:
 Worked in my quick try. :)
Great, thanks for trying it out :-)
 Why does it not show up with `snap find`? Because it is "edge"?
Yes, I think so. Off the top of my head I can't remember what the command is to find snaps in non-stable channels, but `snap find --help` ought to give you the info you need.
Feb 06