Added make_binary_package.sh.

This script creates a generic binary package in a tarball.
Intended mostly for use with linux.
This commit is contained in:
John MacFarlane 2014-12-16 17:58:31 -08:00
parent bbb8bfab29
commit a4193a619a
2 changed files with 51 additions and 12 deletions

View file

@ -6,7 +6,6 @@ endif
setup=dist/setup/setup
MANPAGES=man/man1/pandoc.1 man/man5/pandoc_markdown.5
PREFIX ?= /usr/local
BINDIST ?= pandoc-$(version)-$(shell uname -m)
quick:
cabal configure --enable-tests --disable-optimization
@ -41,17 +40,8 @@ dist: man
cd pandoc-${version}
cabal configure ${CABALARGS} && cabal build && cabal test && cd .. && rm -rf "pandoc-${version}"
bindist: $(MANPAGES)
cabal install --only-dependencies -fembed_data_files
cabal configure --prefix=/usr/local --datadir=share/data --enable-tests -fembed_data_files
cabal build
cabal test
cabal copy --destdir=$(BINDIST)
mkdir -p $(BINDIST)$(PREFIX)/share/man/man1 $(BINDIST)$(PREFIX)/share/man/man5
for x in $(MANPAGES); do cp $$x $(BINDIST)$(PREFIX)/share/$$x; done
mkdir -p $(BINDIST)$(PREFIX)/share/doc/pandoc
cp COPYING $(BINDIST)$(PREFIX)/share/doc/pandoc/
tar cvzf $(BINDIST).tar.gz $(BINDIST)$(PREFIX)/bin $(BINDIST)$(PREFIX)/share
bindist:
./make_binary_package.sh
man: $(MANPAGES)

49
make_binary_package.sh Executable file
View file

@ -0,0 +1,49 @@
#!/bin/bash -e
SANDBOX=`pwd`/.cabal-sandbox
VERSION=$(grep -e '^Version' pandoc.cabal | awk '{print $2}')
BASE=pandoc-$VERSION-$(uname -s)-$(uname -m)
DIST=`pwd`/$BASE
MANDIR=`pwd`/man
DEST=$DIST
ME=$(whoami)
# echo Removing old files...
rm -rf $DIST
cabal sandbox init
echo Updating database
cabal update
echo Building pandoc...
cabal clean
cabal install --reinstall --flags="embed_data_files make-pandoc-man-pages" . pandoc-citeproc
make man
# get pandoc-citeproc man page:
PANDOC_CITEPROC_PATH=`cabal unpack -d make_binary_package.tmp.$$ pandoc-citeproc | awk '{print $3;}'`
strip $SANDBOX/bin/pandoc
strip $SANDBOX/bin/pandoc-citeproc
install -d $DEST/bin
install -d $DEST/share/man/man1
install -d $DEST/share/man/man5
install -d $DEST/share/doc/pandoc
install -d $DEST/share/doc/pandoc-citeproc
install $SANDBOX/bin/pandoc $DEST/bin/
install $SANDBOX/bin/pandoc-citeproc $DEST/bin/
install $MANDIR/man1/pandoc.1 $DEST/share/man/man1/
install $MANDIR/man5/pandoc_markdown.5 $DEST/share/man/man5/
install $PANDOC_CITEPROC_PATH/man/man1/pandoc-citeproc.1 $DEST/share/man/man1/
install COPYING $DEST/share/doc/pandoc/COPYING
install $PANDOC_CITEPROC_PATH/LICENSE $DEST/share/doc/pandoc-citeproc/LICENSE
rm -rf $PANDOC_CITEPROC_PATH
echo Creating tarball...
# remove old package first
rm -rf $BASE.tar.gz
tar cvzf $BASE.tar.gz $BASE
# cleanup
rm -r $DIST
echo "Created $BASE.tar.gz"