snap: Build both hugo and hugo.extended for 0.43
authorAnthony Fok <foka@debian.org>
Mon, 9 Jul 2018 07:15:21 +0000 (01:15 -0600)
committerAnthony Fok <foka@debian.org>
Mon, 9 Jul 2018 07:15:21 +0000 (01:15 -0600)
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

snapcraft.yaml

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