ldc2.snap:1.9

Last commit made on 2018-06-23
Get this branch:
git clone -b 1.9 https://git.launchpad.net/ldc2.snap

Branch merges

Branch information

Name:
1.9
Repository:
lp:ldc2.snap

Recent commits

709a21d... by Joseph Wakeling

Remove aliases from snap package definition

Aliases in the package definition have been deprecated since snapcraft
v2.35 (released 2017-11-16). See also the deprecation notice published
at https://docs.snapcraft.io/deprecation-notices/dn5.

They have been maintained until now in order to support distros using
older versions of `snapd` that do not support store- or user-defined
aliases, but since all supported distros now seem to be using recent
enough `snapd` releases, we can drop the aliases at last.

c53ad57... by Joseph Wakeling

Replace prepare with override-build in ctest-setup part

The `prepare:` section is deprecated by more recent snapcraft releases
in favour of `override-build`.

d95f2cb... by Joseph Wakeling

Set LIB_SUFFIX according to host bitness

This should ensure that libraries are always placed in either `lib64` or
`lib32`. `ldc2.conf` has been simplified accordingly.

994031d... by Joseph Wakeling

Set LLVM_TARGETS_TO_BUILD to only include supported architectures

This ensures that the LLVM build does not support architectures that are
not supported by LDC itself, and brings the snap package closer in line
with the upstream LDC binary builds. It should also reduce the overall
size of the package.

b54b699... by Joseph Wakeling

Switch to using ninja as the cmake build backend

This should help deal with the LDC 1.9.0 build issues that are seeing
'file truncated' errors crop up (probably because of race conditions
between make targets). Since the snapcraft cmake plugin only supports
the `make` backend, we have to create a manual `override-build` script
to run `cmake`, `ninja` and `ctest`.

d2eb338... by Joseph Wakeling

Update ldc2.conf to provide post-switches and rpath

This brings the packaged ldc2.conf in line with the upstream 1.9 builds.

7377059... by Joseph Wakeling

Only enable multilib for the packaged compiler

There is no need to enable multilib support for the bootstrap compiler.
This corrects an oversight in the previous patch.

4a91cd5... by Joseph Wakeling

Re-enable MULTILIB support for the LDC build

This should ensure that both 32- and 64-bit libraries are available in
the snap package, whatever the target architecture of the build. With
various issues addressed since the last time we tried this, it seems
worth repeating the attempt.

`ldc2.conf` has been updated to handle all possible expected library
paths: `lib` for native, `lib32` for 32-bit libraries in a 64-bit build,
and `lib64` for 64-bit libraries in a 32-bit build.

854d904... by Joseph Wakeling

Ensure druntime and phobos are built with link-time optimization (LTO)

This should bring the snap package closer in line with the packages and
tarballs distributed via GitHub.

3c8ced8... by Joseph Wakeling

Update to LDC 1.9.0 stable release

https://github.com/ldc-developers/ldc/releases/tag/v1.9.0