snap: Build both hugo and hugo.extended for 0.43

Due to snap's design, the name "hugo_extended" needs to be created
via an automatic alias request, see
https://forum.snapcraft.io/t/hugo-auto-alias-request-for-hugo-extended-hugo-extended/6297

Also migrate from deprecated "prepare", "build" and "install" keywords
to "override-build".

See #4908
This commit is contained in:
Anthony Fok 2018-07-09 01:15:21 -06:00
parent e1a052ecb8
commit e1027c5846
No known key found for this signature in database
GPG key ID: EA2500B412C59ACF

View file

@ -13,6 +13,10 @@ apps:
command: bin/hugo command: bin/hugo
completer: hugo-completion completer: hugo-completion
plugs: [home, network-bind, removable-media] plugs: [home, network-bind, removable-media]
extended:
command: bin/hugo_extended
completer: hugo-completion
plugs: [home, network-bind, removable-media]
parts: parts:
hugo: hugo:
@ -24,23 +28,38 @@ parts:
stage-packages: stage-packages:
- git - git
- python-pygments - python-pygments
prepare: | override-build: |
echo "\nStarting override-build:"
export GOPATH=$(dirname $SNAPCRAFT_PART_INSTALL)/go export GOPATH=$(dirname $SNAPCRAFT_PART_INSTALL)/go
export PATH=$GOPATH/bin:$PATH export PATH=$GOPATH/bin:$PATH
cd $GOPATH/src/github.com/gohugoio/hugo cd $GOPATH/src/github.com/gohugoio/hugo
go get github.com/magefile/mage echo ' * Running "go get -v github.com/magefile/mage"...'
mage -v vendor test go get -v github.com/magefile/mage
build: | echo ' * Running "mage -v vendor"...'
export GOPATH=$(dirname $SNAPCRAFT_PART_INSTALL)/go mage -v vendor
export PATH=$GOPATH/bin:$PATH echo ' * Running "mage -v test"...'
[ "$SNAPCRAFT_PROJECT_GRADE" = "stable" ] && mage hugoNoGitInfo || mage hugo mage -v test
echo " * Building hugo_extended (with SCSS support)..."
export HUGO_BUILD_TAGS="extended"
[ "$SNAPCRAFT_PROJECT_GRADE" = "stable" ] && mage -v hugoNoGitInfo || mage -v hugo
mv -v hugo hugo_extended
./hugo_extended version
ldd hugo_extended
echo ' * Building hugo (without SCSS support)...'
unset HUGO_BUILD_TAGS
[ "$SNAPCRAFT_PROJECT_GRADE" = "stable" ] && mage -v hugoNoGitInfo || mage -v hugo
./hugo version ./hugo version
ldd hugo
echo " * Building completion..."
./hugo gen autocomplete --completionfile=hugo-completion ./hugo gen autocomplete --completionfile=hugo-completion
install: | echo " * Installing to ${SNAPCRAFT_PART_INSTALL}..."
install -d $SNAPCRAFT_PART_INSTALL/bin install -d $SNAPCRAFT_PART_INSTALL/bin
cp -a hugo $SNAPCRAFT_PART_INSTALL/bin/hugo cp -av hugo hugo_extended $SNAPCRAFT_PART_INSTALL/bin/
strip --remove-section=.comment --remove-section=.note $SNAPCRAFT_PART_INSTALL/bin/hugo mv -v hugo-completion $SNAPCRAFT_PART_INSTALL/hugo-completion
mv hugo-completion $SNAPCRAFT_PART_INSTALL/hugo-completion echo " * Stripping binaries..."
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*
after: [go] after: [go]
go: go:
source-tag: go1.10.3 source-tag: go1.10.3