ldc-developers / ldc2.snap

Snap package definition for LDC, the LLVM-based D compiler
11 stars 4 forks source link

Add a base specifier to snapcraft.yaml #89

Closed WebDrake closed 4 years ago

WebDrake commented 4 years ago

This should open up a number of new features, including the opportunity to specify license details in snap package metadata, and other snapcraft 3 features.

See https://snapcraft.io/docs/base-snaps for details on base snaps. The core base is chosen so as to ensure compatibility with Ubuntu 16.04.

One impact of this is that the snapcraft cleanbuild command cannot be used any more. Instead, builds are performed using multipass. Azure Pipelines config has been updated accordingly.

WebDrake commented 4 years ago

Rebased on latest 1.18 branch, dropping the squash! patch. Let's see if Azure Pipelines likes this now.

WebDrake commented 4 years ago

Looks like Azure Pipelines doesn't like multipass (or at least, needs it to be configured), and doesn't like the --use-lxd option (as it needs LXD to be configured). Since both of these are kind of unnecessary in the CI environment it seems simplest in the end to just use --destructive-mode to reproduce the previous behaviour of just running in the regular CI environment.