diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-01-31 15:05:05 +0100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-01-31 15:06:58 +0100 |
commit | c96b64e91b54481aa870566dbecae69df711223d (patch) | |
tree | 45557c3df8e5f94bc9218f37384db19bf8a88c1f /macos/make_macos_package.sh | |
parent | 99c2a31749bb409e4026907f011bb307b2096e8b (diff) |
Name change OSX -> MacOS.
Add a -MacOS suffix to mac package rather than -OSX.
CHanged local names from osx to macos.
Diffstat (limited to 'macos/make_macos_package.sh')
-rwxr-xr-x | macos/make_macos_package.sh | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/macos/make_macos_package.sh b/macos/make_macos_package.sh new file mode 100755 index 000000000..d2c4d205b --- /dev/null +++ b/macos/make_macos_package.sh @@ -0,0 +1,74 @@ +#!/bin/bash -e + +LOCALBIN=$HOME/.local/bin +DIST=`pwd`/macos_package +MACOS=`pwd`/macos +VERSION=$(grep -e '^Version' pandoc.cabal | awk '{print $2}') +RESOURCES=$DIST/Resources +ROOT=$DIST/pandoc +DEST=$ROOT/usr/local +SCRIPTS=$MACOS/macos-resources +BASE=pandoc-$VERSION +ME=$(whoami) +PACKAGEMAKER=/Applications/PackageMaker.app/Contents/MacOS/PackageMaker +DEVELOPER_ID_APPLICATION=${DEVELOPER_ID_APPLICATION:-Developer ID Application: John Macfarlane} +DEVELOPER_ID_INSTALLER=${DEVELOPER_ID_INSTALLER:-Developer ID Installer: John Macfarlane} + +# We need this for hsb2hs: +PATH=$LOCALBIN:$PATH +export MACMACOS_DEPLOYMENT_TARGET=10.7 + +# echo Removing old files... +rm -rf $DIST +mkdir -p $DIST +mkdir -p $RESOURCES +stack setup +which hsb2hs || stack install hsb2hs + +echo Building pandoc... +stack clean +stack install --stack-yaml=$MACOS/stack.yaml --local-bin-path . pandoc pandoc-citeproc + +echo Getting man pages... +make man/pandoc.1 + +# get pandoc-citeproc man page: +PANDOC_CITEPROC_VERSION=`pandoc-citeproc --version | awk '{print $2;}'` +PANDOC_CITEPROC_TARBALL=https://hackage.haskell.org/package/pandoc-citeproc-${PANDOC_CITEPROC_VERSION}/pandoc-citeproc-${PANDOC_CITEPROC_VERSION}.tar.gz +curl ${PANDOC_CITEPROC_TARBALL} | tar xzC $DIST +PANDOC_CITEPROC_PATH=$DIST/pandoc-citeproc-${PANDOC_CITEPROC_VERSION} + +mkdir -p $DEST/bin +mkdir -p $DEST/share/man/man1 +for f in pandoc pandoc-citeproc; do + cp $MACOS/$f $DEST/bin/; +done +cp $PANDOC_CITEPROC_PATH/man/man1/pandoc-citeproc.1 $DEST/share/man/man1/ +cp man/pandoc.1 $DEST/share/man/man1/ + +chown -R $ME:staff $DIST + +echo Copying license... +$MACOS/pandoc --data data -t html5 -s COPYING.md -o $RESOURCES/license.html + +# Removing executable signing because of a problem that arose in El Capitan +# "source=obsolete resource envelope" + +#echo Signing pandoc executable... + +#codesign --force --sign "${DEVELOPER_ID_APPLICATION}" $DEST/bin/pandoc +# make sure it's valid... returns nonzero exit code if it isn't: +#spctl --assess --type execute $DEST/bin/pandoc + +echo Creating MacOS package... + +sed -e "s/PANDOCVERSION/$VERSION/" $MACOS/distribution.xml.in > $MACOS/distribution.xml + +pkgbuild --root $DIST/pandoc --identifier net.johnmacfarlane.pandoc --version 1.13 --ownership recommended $DIST/pandoc.pkg +productbuild --distribution $MACOS/distribution.xml --resources $DIST/Resources --package-path $DIST --version $VERSION --sign "${DEVELOPER_ID_INSTALLER}" $BASE-MacOS.pkg + +# verify signature +spctl --assess --type install $BASE-MacOS.pkg + +# cleanup +rm -r $DIST $MACOS/pandoc $MACOS/pandoc-citeproc |