git.iko.soy/typeable/pandoc
on lowmem help sign in
typeable/pandoc/linux/make_artifacts.sh
72 lines 1.8 kB history raw
1set -e
3MACHINE=$(uname -m)
4case "$MACHINE" in
5 x86_64) ARCHITECTURE=amd64;;
6 i686) ARCHITECTURE=i386;;
7 i386) ARCHITECTURE=i386;;
8esac
10ARTIFACTS="${ARTIFACTS:-/artifacts}"
12# build binaries
14cabal --version
15ghc --version
17cabal v2-update
18cabal v2-clean
19cabal v2-configure --enable-tests -f-export-dynamic -fembed_data_files --enable-executable-static --ghc-options '-split-sections -optc-Os -optl=-pthread' pandoc
20cabal v2-build
21cabal v2-test -j1
22for f in $(find dist-newstyle -name 'pandoc' -type f -perm /400); do cp $f /artifacts/; done
24# make deb
26VERSION=`$ARTIFACTS/pandoc --version | awk '{print $2; exit;}'`
27REVISION=${REVISION:-1}
28DEBVER=$VERSION-$REVISION
29BASE=pandoc-$DEBVER-$ARCHITECTURE
30DIST=`pwd`/$BASE
31DEST=$DIST/usr
32COPYRIGHT=$DEST/share/doc/pandoc/copyright
34mkdir -p $DEST/bin
35mkdir -p $DEST/share/man/man1
36mkdir -p $DEST/share/doc/pandoc
38find $DIST -type d | xargs chmod 755
39cp $ARTIFACTS/pandoc $DEST/bin/
40strip $DEST/bin/pandoc
41cp /mnt/man/pandoc.1 $DEST/share/man/man1/pandoc.1
42gzip -9 $DEST/share/man/man1/pandoc.1
44cp /mnt/COPYRIGHT $COPYRIGHT
45echo "" >> $COPYRIGHT
47INSTALLED_SIZE=$(du -k -s $DEST | awk '{print $1}')
48mkdir $DIST/DEBIAN
49perl -pe "s/VERSION/$DEBVER/" linux/control.in | \
50 perl -pe "s/ARCHITECTURE/$ARCHITECTURE/" | \
51 perl -pe "s/INSTALLED_SIZE/$INSTALLED_SIZE/" \
52 > $DIST/DEBIAN/control
54# we limit compression to avoid OOM error
55fakeroot dpkg-deb -Zgzip -z9 --build $DIST
56rm -rf $DIST
57cp $BASE.deb $ARTIFACTS/
59# Make tarball
61TARGET=pandoc-$VERSION
62cd $ARTIFACTS
63rm -rf $TARGET
64mkdir $TARGET
65mkdir $TARGET/bin $TARGET/share $TARGET/share/man $TARGET/share/man/man1
66cp /mnt/man/pandoc.1 $TARGET/share/man/man1
67mv pandoc $TARGET/bin
68strip $TARGET/bin/pandoc
69gzip -9 $TARGET/share/man/man1/pandoc.1
71tar cvzf $TARGET-linux-amd64.tar.gz $TARGET
72rm -r $TARGET