hugo/snap/snapcraft.yaml
Anthony Fok 243951ebe9
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.
2021-04-22 09:57:40 -06:00

100 lines
2.7 KiB
YAML

name: hugo
version: git
summary: Fast and Flexible Static Site Generator
description: |
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
with content and templates and renders them into a full HTML website.
license: "Apache-2.0"
base: core20
confinement: strict
grade: devel # "devel" or "stable"
apps:
hugo:
command: bin/hugo
completer: hugo-completion
plugs:
- home
- network-bind
- removable-media
parts:
git:
plugin: nil
stage-packages:
- git
organize:
usr/bin/: bin/
prime:
- bin/git
hugo:
plugin: nil
build-snaps: [go/1.16/stable]
source: .
override-build: |
set -ex
echo "\nStarting override-build:"
export GOPATH=$(realpath ../go)
export PATH=$GOPATH/bin:$PATH
echo ' * Running "go get -v github.com/magefile/mage"...'
go get -v github.com/magefile/mage
#echo ' * Running "mage -v test"...'
#mage -v test
echo " * SNAPCRAFT_IMAGE_INFO=${SNAPCRAFT_IMAGE_INFO=}"
# 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
HUGO_BUILD_TAGS="extended"
fi
echo " * Building hugo (HUGO_BUILD_TAGS=\"$HUGO_BUILD_TAGS\")..."
[ "$SNAPCRAFT_PROJECT_GRADE" = "stable" ] && mage -v hugoNoGitInfo || mage -v hugo
./hugo version
ldd hugo || :
echo " * Building shell completion..."
./hugo gen autocomplete --completionfile=hugo-completion
echo " * Installing to ${SNAPCRAFT_PART_INSTALL}..."
install -d $SNAPCRAFT_PART_INSTALL/bin
cp -av hugo $SNAPCRAFT_PART_INSTALL/bin/
mv -v hugo-completion $SNAPCRAFT_PART_INSTALL/
echo " * Stripping binary..."
ls -l $SNAPCRAFT_PART_INSTALL/bin/hugo
strip --remove-section=.comment --remove-section=.note $SNAPCRAFT_PART_INSTALL/bin/hugo
ls -l $SNAPCRAFT_PART_INSTALL/bin/hugo
pandoc:
plugin: nil
stage-packages:
- libatomic1
- pandoc
- pandoc-data
organize:
usr/bin/: bin/
usr/lib/: lib/
prime:
- bin/pandoc
pygments:
plugin: python
python-packages: [Pygments]
prime:
- bin/pygmentize
- lib/python*/site-packages/Pygments-*.dist-info/*
- lib/python*/site-packages/pygments/*
- usr/bin/python*
- -usr/bin/python*m
- usr/lib/python*/*
- -usr/lib/python*/distutils/*
- -usr/lib/python*/email/*
- -usr/lib/python*/lib2to3/*
- -usr/lib/python*/tkinter/*
- -usr/lib/python*/unittest/*