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