Closed WebDrake closed 4 years ago
@kinke @JohanEngelen I'd be interested in your thoughts/preferences on this. I also need to test out the results across different distros somewhat.
As I've mentioned multiple times, I have personally no use for snap packages, and I've never understood why anyone would prefer such a (Canonical-specific/proprietary?) system over a simple download+extract (or upstream's install.sh or the like if that's 'too much work'). Anyway, simply wrapping the official packages into such a package makes probably much more sense than building a near-identical thing manually from scratch.
Wrt. i686, official Ubuntu support was dropped with 19.10 AFAIK, so I doubt anyone will miss it (and cross-compilation from an x64 host is still possible).
Thanks for the thoughts; I'd forgotten about the 19.10 dropping of i686, so good to have a reminder of why the 32-bit snaps are not needed. My concern was mainly to flag any potential issues that you might anticipate; there are clearly none, so let's push forward with this.
OK, this is looking good across multiple distros. Let's take it in: it's far simpler than all the aternatives.
This is a major (major major MAJOR) change in the package design which carries 3 major benefits:
it GREATLY simplifies the snap package design itself, taking advantage of the existing release packages that are designed for cross-distro, multi-arch support and reducing snap build times from hours to seconds
it allows us to support ARM64 as an install target
it precisely matches functionality between upstream releases and the snap package
There are however also some major costs:
it removes our ability to support i386 install targets, as upstream does not supply i386 builds
it assumes that the upstream build settings will match the needs of the snap package
If this approach is too heavy-handed then it might be possible to make a compromise such as downloading only prebuilt LLVM and still building the actual compiler and tool executables.