ldc2.snap:1.10

Last commit made on 2019-03-31
Get this branch:
git clone -b 1.10 https://git.launchpad.net/ldc2.snap

Branch merges

Branch information

Name:
1.10
Repository:
lp:ldc2.snap

Recent commits

eb83cf0... by Joseph Wakeling

Update license file to match that of LDC 1.10

This adds a missing reference to the `ldc-jit-rt` library.

887b7c0... by Joseph Wakeling

Explicitly manage license file to avoid snapcraft 3 deprecation

Placing `license.txt` in the `snap` folder was always a rather flaky way
to get it in the package, and snapcraft 3 does not like arbitrary files
being placed here. This patch therefore creates a new part which places
the license file in the `$SNAP/doc` directory of the generated package.

490b6ff... by Joseph Wakeling

Add /snap/bin to path in Azure Pipelines build

This is a small tweak that avoids us having to explicitly invoke the
full path to snapcraft, and may help in future if we need or want to
install other snap packages to help the build.

dc32a99... by Joseph Wakeling

Bring LLVM targets up to date with LDC upstream

This patch adds Mips and MSP430 regular LLVM targets together with the
RISCV and WebAssembly experimental targets, matching what is done with
the upstream LDC binary packages.

The targets have also been alphabetized for easy discovery.

13462f5... by Joseph Wakeling

Temporarily switch to using --candidate channel to install snapcraft

This will install snapcraft 3.2, which should solve the repeated build
problems we have been having with this package.

Explanation of the problem here:
https://forum.snapcraft.io/t/psa-classic-confinement-and-core-snapcraft-issue/10149

7f52c51... by Joseph Wakeling

Run apt-get update before attempting to build snap

This was an oversight in the original CI script, and looks like it may
be causing us some issues with packages not being found.

69a93de... by Joseph Wakeling

Add bash autocompletion for ldc2

This patch takes advantage of snapcraft's support for tab completion via
the app `completer:` field. Unfortunately bash-completion settings are
not currently available for the other apps, so cannot be included.

0a175f5... by Joseph Wakeling

Clean up unnecessary packages from ctest-setup

The python components in the setup are only required to run lit-tests.
Since these are currently disabled, we can just remove them for now and
restore them should we ever want to re-enable those test cases.

Technically we could bundle the remaining `build-packages` into the ldc
part, but keeping the ctest-setup part in place draws a nice clean line
between packages required to build LDC itself, and packages only needed
by the tests.

2fcd275... by Joseph Wakeling

Add basic CI support for Azure Pipelines

Since snapd is available in the Azure Ubuntu 16.04 image, we might as
well keep it simple, install snapcraft as a snap package and run it.

This should pretty much match what happens on Launchpad, apart from the
lack of LXD container.

Given the build times experienced in Launchpad, the timeout has been set
to 0, meaning it will always be the maximum allowed by Azure Pipelines
(currently 360 minutes).

cbd1d06... by Joseph Wakeling

Update to LLVM 6

This patch updates the LDC 1.10.0 snap to use the latest version of the
LDC fork of LLVM 6:
https://github.com/ldc-developers/llvm/tree/ldc-v6.0.1-3

This requires a new `-DCOMPILER_RT_INCLUDE_TESTS=OFF` cmake build flag
in order to avoid an unwanted build dependency on clang.

The bootstrap compiler has been updated to v0.17.6 to support this:
https://github.com/ldc-developers/ldc/releases/v0.17.6