git.iko.soy/typeable/pandoc
on 9d3dc77 help sign in
7 files changed+92−125
since splitsnapshots
unifiedsplit
Makefile+7−1 cabal.project+1−6 linux/Dockerfile−30 linux/Makefile−18 linux/make_artifacts.sh+84 linux/make_deb.sh−51 linux/make_tarball.sh−19
Makefile+7−1
@@ -5,6 +5,7 @@ BRANCH?=master
55RESOLVER?=lts-13
66GHCOPTS=-fdiagnostics-color=always
77WEBSITE=../../web/pandoc.org
8+REVISION?=1
89
910quick:
1011 stack install --ghc-options='$(GHCOPTS)' --install-ghc --flag 'pandoc:embed_data_files' --fast --test --ghc-options='-j +RTS -A64m -RTS' --test-arguments='-j4 --hide-successes $(TESTARGS)'
@@ -70,7 +71,12 @@ checkdocs: README.md
7071 ! grep -n -e "\t" MANUAL.txt changelog
7172
7273debpkg: man/pandoc.1
73− make -C linux && \
74+ docker run -v `pwd`:/mnt \
75+ -v `pwd`/linux/artifacts:/artifacts \
76+ -e REVISION=$(REVISION) \
77+ -w /mnt \
78+ utdemir/ghc-musl:v11-libgmp-ghc8101 bash \
79+ /mnt/linux/make_artifacts.sh
7480 cp linux/artifacts/pandoc-$(version)-*.* .
7581
7682macospkg: man/pandoc.1
cabal.project+1−6
@@ -11,9 +11,4 @@ package pandoc-citeproc
1111source-repository-package
1212 type: git
1313 location: https://github.com/jgm/pandoc-citeproc
14− tag: 0.17.0.1
15−
16− source-repository-package
17− type: git
18− location: https://github.com/jgm/commonmark-hs
19− tag: 8d4442abc443ce0100cc87af797e7df9a72b9b9a
14+ tag: 82833c1d162b19464d9aa2b5d4eb756443d726c9
linux/Dockerfiledeleted−30
@@ -1,30 +0,0 @@
1−# USE ALPINE LINUX
2−FROM alpine:3.11
3−RUN apk --no-cache add \
4− alpine-sdk \
5− bash \
6− ca-certificates \
7− cabal \
8− dpkg \
9− fakeroot \
10− ghc \
11− git \
12− gmp-dev \
13− xz \
14− zlib-dev \
15− zlib-static
16−RUN mkdir -p /usr/src/ && \
17− git clone https://github.com/jgm/pandoc /usr/src/pandoc
18−WORKDIR /usr/src/pandoc
19−CMD cabal --version && \
20− ghc --version && \
21− git pull && \
22− git checkout -b work $TREE && \
23− cabal new-update && \
24− cabal new-clean && \
25− cabal new-configure --enable-tests -f-export-dynamic -fstatic -fembed_data_files -fbibutils --ghc-options '-optc-Os -optl=-pthread -optl=-static -fPIC -split-sections' . pandoc-citeproc && \
26− cabal new-build . pandoc-citeproc && \
27− cabal new-test -j1 . pandoc-citeproc && \
28− for f in $(find dist-newstyle -name 'pandoc*' -type f -perm +400); do cp $f /artifacts/; done && \
29− bash linux/make_deb.sh && \
30− bash linux/make_tarball.sh
linux/Makefiledeleted−18
@@ -1,18 +0,0 @@
1−TREE?=HEAD
2−ARTIFACTS=`pwd`/artifacts
3−REVISION?=1
4−
5−build:
6− mkdir -p $(ARTIFACTS)
7− docker build -t alpine-pandoc .
8− docker run --env TREE=$(TREE) --env REVISION=$(REVISION) \
9− -v $(ARTIFACTS):/artifacts alpine-pandoc
10−
11−interact:
12− docker run --env TREE=$(TREE) --env REVISION=$(REVISION) \
13− -v $(ARTIFACTS):/artifacts -it alpine-pandoc bash
14−
15−setup:
16− docker pull alpine:edge
17−
18−.PHONY: build setup interact
linux/make_artifacts.shnew file+84
@@ -0,0 +1,84 @@
1+set -e
2+
3+MACHINE=$(uname -m)
4+case "$MACHINE" in
5+ x86_64) ARCHITECTURE=amd64;;
6+ i686) ARCHITECTURE=i386;;
7+ i386) ARCHITECTURE=i386;;
8+esac
9+
10+ARTIFACTS="${ARTIFACTS:-/artifacts}"
11+
12+# build binaries
13+
14+cabal --version
15+ghc --version
16+
17+cabal v2-update
18+cabal v2-clean
19+cabal v2-configure --enable-tests -f-export-dynamic -fstatic -fembed_data_files -fbibutils --enable-executable-static --ghc-options '-optc-Os -optl=-pthread -split-sections' . pandoc-citeproc
20+cabal v2-build . pandoc-citeproc
21+cabal v2-test -j1 . pandoc-citeproc
22+for f in $(find dist-newstyle -name 'pandoc*' -type f -perm /400); do cp $f /artifacts/; done
23+
24+# make deb
25+
26+VERSION=`$ARTIFACTS/pandoc --version | awk '{print $2; exit;}'`
27+REVISION=${REVISION:-1}
28+DEBVER=$VERSION-$REVISION
29+BASE=pandoc-$DEBVER-$ARCHITECTURE
30+DIST=$ARTIFACTS/$BASE
31+DEST=$DIST/usr
32+COPYRIGHT=$DEST/share/doc/pandoc/copyright
33+
34+mkdir -p $DEST/bin
35+mkdir -p $DEST/share/man/man1
36+mkdir -p $DEST/share/doc/pandoc
37+
38+mkdir -p $DEST/share/doc/pandoc-citeproc
39+find $DIST -type d | xargs chmod 755
40+cp $ARTIFACTS/pandoc $DEST/bin/
41+cp $ARTIFACTS/pandoc-citeproc $DEST/bin/
42+strip $DEST/bin/pandoc
43+strip $DEST/bin/pandoc-citeproc
44+cp /mnt/man/pandoc.1 $DEST/share/man/man1/pandoc.1
45+$ARTIFACTS/pandoc-citeproc --man > $DEST/share/man/man1/pandoc-citeproc.1
46+gzip -9 $DEST/share/man/man1/pandoc.1
47+gzip -9 $DEST/share/man/man1/pandoc-citeproc.1
48+
49+cp /mnt/COPYRIGHT $COPYRIGHT
50+echo "" >> $COPYRIGHT
51+echo "pandoc-citeproc" >> $COPYRIGHT
52+$ARTIFACTS/pandoc-citeproc --license >> $COPYRIGHT
53+
54+INSTALLED_SIZE=$(du -k -s $DEST | awk '{print $1}')
55+mkdir $DIST/DEBIAN
56+perl -pe "s/VERSION/$DEBVER/" linux/control.in | \
57+ perl -pe "s/ARCHITECTURE/$ARCHITECTURE/" | \
58+ perl -pe "s/INSTALLED_SIZE/$INSTALLED_SIZE/" \
59+ > $DIST/DEBIAN/control
60+
61+echo "$BASE.deb:" > $ARTIFACTS/Makefile
62+echo "\tfakeroot dpkg-deb --build $BASE" >> $ARTIFACTS/Makefile
63+
64+# fakeroot dpkg-deb --build $DIST
65+# rm -rf $DIST
66+# cp $BASE.deb $ARTIFACTS/
67+
68+# Make tarball
69+
70+TARGET=pandoc-$VERSION
71+cd $ARTIFACTS
72+rm -rf $TARGET
73+mkdir $TARGET
74+mkdir $TARGET/bin $TARGET/share $TARGET/share/man $TARGET/share/man/man1
75+./pandoc-citeproc --man > $TARGET/share/man/man1/pandoc-citeproc.1
76+cp /mnt/man/pandoc.1 $TARGET/share/man/man1
77+mv pandoc pandoc-citeproc $TARGET/bin
78+strip $TARGET/bin/pandoc
79+strip $TARGET/bin/pandoc-citeproc
80+gzip -9 $TARGET/share/man/man1/pandoc.1
81+gzip -9 $TARGET/share/man/man1/pandoc-citeproc.1
82+tar cvzf $TARGET-linux-amd64.tar.gz $TARGET
83+rm -r $TARGET
84+
linux/make_deb.shdeleted−51
@@ -1,51 +0,0 @@
1−set -e
2−
3−MACHINE=$(uname -m)
4−case "$MACHINE" in
5− x86_64) ARCHITECTURE=amd64;;
6− i686) ARCHITECTURE=i386;;
7− i386) ARCHITECTURE=i386;;
8−esac
9−
10−ARTIFACTS="${ARTIFACTS:-/artifacts}"
11−
12−VERSION=`$ARTIFACTS/pandoc --version | awk '{print $2; exit;}'`
13−REVISION=${REVISION:-1}
14−DEBVER=$VERSION-$REVISION
15−BASE=pandoc-$DEBVER-$ARCHITECTURE
16−DIST=`pwd`/$BASE
17−DEST=$DIST/usr
18−COPYRIGHT=$DEST/share/doc/pandoc/copyright
19−
20−PANDOC_CITEPROC_VERSION=`$ARTIFACTS/pandoc-citeproc --version | awk '{print $2;}'`
21−
22−mkdir -p $DEST/bin
23−mkdir -p $DEST/share/man/man1
24−mkdir -p $DEST/share/doc/pandoc
25−
26−mkdir -p $DEST/share/doc/pandoc-citeproc
27−find $DIST -type d | xargs chmod 755
28−cp $ARTIFACTS/pandoc $DEST/bin/
29−cp $ARTIFACTS/pandoc-citeproc $DEST/bin/
30−strip $DEST/bin/pandoc
31−strip $DEST/bin/pandoc-citeproc
32−cp man/pandoc.1 $DEST/share/man/man1/pandoc.1
33−$ARTIFACTS/pandoc-citeproc --man > $DEST/share/man/man1/pandoc-citeproc.1
34−gzip -9 $DEST/share/man/man1/pandoc.1
35−gzip -9 $DEST/share/man/man1/pandoc-citeproc.1
36−
37−cp COPYRIGHT $COPYRIGHT
38−echo "" >> $COPYRIGHT
39−echo "pandoc-citeproc" >> $COPYRIGHT
40−$ARTIFACTS/pandoc-citeproc --license >> $COPYRIGHT
41−
42−INSTALLED_SIZE=$(du -k -s $DEST | awk '{print $1}')
43−mkdir $DIST/DEBIAN
44−perl -pe "s/VERSION/$DEBVER/" linux/control.in | \
45− perl -pe "s/ARCHITECTURE/$ARCHITECTURE/" | \
46− perl -pe "s/INSTALLED_SIZE/$INSTALLED_SIZE/" \
47− > $DIST/DEBIAN/control
48−
49−fakeroot dpkg-deb --build $DIST
50−rm -rf $DIST
51−cp $BASE.deb $ARTIFACTS/
linux/make_tarball.shdeleted−19
@@ -1,19 +0,0 @@
1−set -e
2−
3−ARTIFACTS="${ARTIFACTS:-/artifacts}"
4−VERSION=`$ARTIFACTS/pandoc --version | awk '{print $2; exit;}'`
5−TARGET=pandoc-$VERSION
6−
7−cd $ARTIFACTS
8−rm -rf $TARGET
9−mkdir $TARGET
10−mkdir $TARGET/bin $TARGET/share $TARGET/share/man $TARGET/share/man/man1
11−./pandoc-citeproc --man > $TARGET/share/man/man1/pandoc-citeproc.1
12−cp /usr/src/pandoc/man/pandoc.1 $TARGET/share/man/man1
13−mv pandoc pandoc-citeproc $TARGET/bin
14−strip $TARGET/bin/pandoc
15−strip $TARGET/bin/pandoc-citeproc
16−gzip -9 $TARGET/share/man/man1/pandoc.1
17−gzip -9 $TARGET/share/man/man1/pandoc-citeproc.1
18−tar cvzf $TARGET-linux-amd64.tar.gz $TARGET
19−rm -r $TARGET