git.iko.soy/typeable/pandoc
on 1.14.1 help sign in
typeable/pandoc/make_osx_package.sh
68 lines 2.2 kB history raw
1#!/bin/bash -e
3DIST=`pwd`/osx_package
4SANDBOX=`pwd`/.cabal-sandbox
5VERSION=$(grep -e '^Version' pandoc.cabal | awk '{print $2}')
6RESOURCES=$DIST/Resources
7ROOT=$DIST/pandoc
8MANDIR=`pwd`/man
9DEST=$ROOT/usr/local
10OSX=osx
11SCRIPTS=$OSX/osx-resources
12BASE=pandoc-$VERSION
13ME=$(whoami)
14PACKAGEMAKER=/Applications/PackageMaker.app/Contents/MacOS/PackageMaker
15CPPHS=$SANDBOX/bin/cpphs
17# echo Removing old files...
18rm -rf $DIST
19mkdir -p $RESOURCES
21cabal sandbox init
22echo Updating database
23cabal update
25echo Building pandoc...
26cabal clean
27# Use cpphs to avoid problems with clang cpp on ghc 7.8 osx:
28cabal install cpphs hsb2hs
29cabal install --ghc-options="-optl-mmacosx-version-min=10.6" --reinstall --flags="embed_data_files make-pandoc-man-pages" --ghc-options "-pgmP$CPPHS -optP--cpp" . pandoc-citeproc
31make man
32# get pandoc-citeproc man page:
33PANDOC_CITEPROC_PATH=`cabal unpack -d $DIST pandoc-citeproc | awk '{print $3;}'`
34cp $PANDOC_CITEPROC_PATH/man/man1/pandoc-citeproc.1 $MANDIR/man1/
36mkdir -p $DEST/bin
37mkdir -p $DEST/share/man/man1
38mkdir -p $DEST/share/man/man5
39for f in pandoc pandoc-citeproc; do
40 cp $SANDBOX/bin/$f $DEST/bin/;
41done
42cp $MANDIR/man1/pandoc_citeproc.1 $DEST/share/man/man1/
43$SANDBOX/bin/pandoc --man1 > $DEST/share/man/man1/pandoc.1
44$SANDBOX/bin/pandoc --man5 > $DEST/share/man/man5/pandoc_citeproc.5
46chown -R $ME:staff $DIST
48echo Copying license...
49$SANDBOX/bin/pandoc --data data -t html5 -s COPYING -o $RESOURCES/license.html
51echo Signing pandoc executable...
53codesign --force --sign "Developer ID Application: John Macfarlane" $DEST/bin/pandoc
54# make sure it's valid... returns nonzero exit code if it isn't:
55spctl --assess --type execute $DEST/bin/pandoc
57echo Creating OSX package...
58# remove old package first
59rm -rf $BASE.pkg
61pkgbuild --root $DIST/pandoc --identifier net.johnmacfarlane.pandoc --version 1.13 --ownership recommended $DIST/pandoc.pkg
62productbuild --distribution osx/distribution.xml --resources $DIST/Resources --package-path $DIST --version 1.13 --sign "Developer ID Installer: John Macfarlane" $BASE-osx.pkg
64# verify signature
65spctl --assess --type install $BASE-osx.pkg
67# cleanup
68rm -r $DIST