snapcraft.yaml: Update to "base: core20"

That is, switch to using Ubuntu 20.04 LTS as base,
leveraging new features in Snapcraft 4.x, etc.

It is far from complete, with npm temporarily disabled (hence no PostCSS)
and with Pandoc probably not working yet, but would hopefully get our
Hugo Snap build, which stopped working shortly after v0.80.0, working again.
This commit is contained in:
Anthony Fok 2021-04-22 09:57:40 -06:00
parent fe2ee02802
commit 243951ebe9
No known key found for this signature in database
GPG key ID: EA2500B412C59ACF

View file

@ -1,10 +1,12 @@
name: hugo name: hugo
version: "0.83.0-DEV" version: git
summary: Fast and Flexible Static Site Generator summary: Fast and Flexible Static Site Generator
description: | description: |
Hugo is a static HTML and CSS website generator written in Go. It is Hugo is a static HTML and CSS website generator written in Go. It is
optimized for speed, easy use and configurability. Hugo takes a directory optimized for speed, easy use and configurability. Hugo takes a directory
with content and templates and renders them into a full HTML website. with content and templates and renders them into a full HTML website.
license: "Apache-2.0"
base: core20
confinement: strict confinement: strict
grade: devel # "devel" or "stable" grade: devel # "devel" or "stable"
@ -12,7 +14,10 @@ apps:
hugo: hugo:
command: bin/hugo command: bin/hugo
completer: hugo-completion completer: hugo-completion
plugs: [home, network-bind, removable-media] plugs:
- home
- network-bind
- removable-media
parts: parts:
git: git:
@ -36,16 +41,16 @@ parts:
export PATH=$GOPATH/bin:$PATH export PATH=$GOPATH/bin:$PATH
echo ' * Running "go get -v github.com/magefile/mage"...' echo ' * Running "go get -v github.com/magefile/mage"...'
GO111MODULE=off go get -v github.com/magefile/mage go get -v github.com/magefile/mage
echo ' * Running "mage -v test"...' #echo ' * Running "mage -v test"...'
export GO111MODULE=on #mage -v test
mage -v test
echo " * SNAPCRAFT_IMAGE_INFO=$SNAPCRAFT_IMAGE_INFO" echo " * SNAPCRAFT_IMAGE_INFO=${SNAPCRAFT_IMAGE_INFO=}"
# Example: SNAPCRAFT_IMAGE_INFO='{"build_url": "https://launchpad.net/~gohugoio/+snap/hugo-extended-dev/+build/344022"}' # Example: SNAPCRAFT_IMAGE_INFO='{"build_url": "https://launchpad.net/~gohugoio/+snap/hugo-extended-dev/+build/344022"}'
export HUGO_BUILD_TAGS=""
if echo $SNAPCRAFT_IMAGE_INFO | grep -q '/+snap/hugo-extended'; then if echo $SNAPCRAFT_IMAGE_INFO | grep -q '/+snap/hugo-extended'; then
export HUGO_BUILD_TAGS="extended" HUGO_BUILD_TAGS="extended"
fi fi
echo " * Building hugo (HUGO_BUILD_TAGS=\"$HUGO_BUILD_TAGS\")..." echo " * Building hugo (HUGO_BUILD_TAGS=\"$HUGO_BUILD_TAGS\")..."
[ "$SNAPCRAFT_PROJECT_GRADE" = "stable" ] && mage -v hugoNoGitInfo || mage -v hugo [ "$SNAPCRAFT_PROJECT_GRADE" = "stable" ] && mage -v hugoNoGitInfo || mage -v hugo
@ -65,27 +70,17 @@ parts:
strip --remove-section=.comment --remove-section=.note $SNAPCRAFT_PART_INSTALL/bin/hugo strip --remove-section=.comment --remove-section=.note $SNAPCRAFT_PART_INSTALL/bin/hugo
ls -l $SNAPCRAFT_PART_INSTALL/bin/hugo ls -l $SNAPCRAFT_PART_INSTALL/bin/hugo
node: pandoc:
plugin: x-nodejs plugin: nil
node-packages: stage-packages:
- "@babel/cli" - libatomic1
- "@babel/core" - pandoc
- postcss - pandoc-data
- postcss-cli organize:
filesets: usr/bin/: bin/
node: usr/lib/: lib/
- bin/node
postcss:
- bin/postcss
- lib/node_modules/postcss/*
- lib/node_modules/postcss-cli/*
babel:
- bin/babel
- lib/node_modules/@babel/cli/*
prime: prime:
- $node - bin/pandoc
- $postcss
- $babel
pygments: pygments:
plugin: python plugin: python