Improved snap package for LDC
Joseph Rushton Wakeling via digitalmars-d-ldc
digitalmars-d-ldc at puremagic.com
Fri Jan 20 13:51:03 PST 2017
Hello folks,
As you may recall, last year I did some work towards a snap
package for LDC:
https://forum.dlang.org/thread/ffmpwmhjefzzogcljmyf@forum.dlang.org
At the time there were two key points of concern: first, the need
to bundle gcc, libc etc. into the package along with LDC, and
second, the fact that snap confinement prevented LDC from
accessing libraries installed elsewhere on the host system
(meaning it could only compile programs that did not link against
any external libraries).
Recently, however, the snappy developers introduced a new
'classic' confinement option, which is explicitly designed to
allow the packaged program to access resources of the host Linux
system on which it is installed. With this available it has been
possible to rework the LDC snap package to something much
simpler, which AFAICT works just like a 'normal' LDC install
(i.e. it can compile and link anything, and uses the host
system's gcc etc. for linking).
The updated package definition is available here:
https://github.com/WebDrake/ldc2.snap/pull/2
... so I'd like to invite people to give it some level of review
(particularly the license and the package description) and, if
you like, to try out building and installing it.
Building it should be easy for anyone using Ubuntu 16.04 or
later: just check out the `classic-snap` git branch from the
repo, `sudo apt install snapcraft`, and then just type
`snapcraft` at the command prompt. It will check out the LDC
source from github, install necessary build dependencies, and
should deliver a snap package which you can install with the
command:
snap install --classic --dangerous ldc2_1.1.0-beta6_amd64.snap
where --classic is to give permission for classic confinement,
and --dangerous is in order to give permission to install a
self-built package ('dangerous' in the sense that it comes with
no digital signature to verify its origin).
(Note, the package name might be different if you're building on
a 32-bit system. Let me know what happens if you try!)
Assuming nobody finds any showstoppers, I'd like to proceed to
submit this to the official Ubuntu snap store. On this note, I
have a question: would there be any interest in doing this
officially as part of the LDC project? Any initial distribution
would be in the 'edge' or 'devel' distribution channels, which
are designed for early testing.
Anyway, let me know what you think!
Thanks & best wishes,
-- Joe
More information about the digitalmars-d-ldc
mailing list