blob: 85d2f9e097d00ad05bf62d55c5b59192a85740ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
# Maintainer: Nicolas Reynolds <fauno@kiwwwi.com.ar>
# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
# Based on haskell-pandoc
pkgname=pandoc-static
_pkgname=pandoc
pkgver=1.13.1
pkgrel=2
pkgdesc='Conversion between markup formats (no Haskell libraries)'
url='http://johnmacfarlane.net/pandoc/'
license=('GPL')
replaces=('pandoc')
provides=('pandoc')
arch=('i686' 'x86_64')
depends=('icu>=54' 'icu<55' 'gmp' 'libffi' 'zlib')
makedepends=('ghc' 'sh' 'cabal-install' 'alex' 'happy')
optdepends=('texlive-most: for PDF creation')
options=(strip !makeflags !distcc !emptydirs)
source=(https://repo.parabola.nu/other/${pkgname}/${pkgname}-${pkgver}.tar.xz)
md5sums=('dd2667b233b5f97b2841ae09895c2ac2')
declare -gA _flags
_flags[pandoc]='https make-pandoc-man-pages'
_flags[pandoc_citeproc]='small_base bibutils hexpat unicode_collation'
_packages=(hs-bibutils network hexpat text text-icu hsb2hs
http-client-0.3.8.2
http-client-tls http-types
pandoc-${pkgver} pandoc-citeproc)
mkdepends=('ghc' 'cabal-install')
mksource() (
set -o pipefail
export LANG="en_US.utf8"
export HOME="$srcdir"
mkdir $pkgname-$pkgver
cd $pkgname-$pkgver
cabal update
cabal fetch "${_packages[@]}"
# Get the build order
cabal install --dry-run \
--flags="embed_data_files ${_flags[*]}" \
"${_packages[@]}" > BUILDORDER
# Place all of the downloaded sources in the target directory
for file in ../.cabal/packages/*/*/*/*.tar.?z; do
bsdtar xf "$file"
done
)
prepare() {
# EC is unfree and makes Parabola TeXLive cry
# besides, it's unneeded
find "${srcdir}/${pkgname}-${pkgver}/${_pkgname}-${pkgver}" \
-name default.latex \
-exec sed "/fontenc/d" -i {} \;
}
build() (
cd "${srcdir}/${pkgname}-${pkgver}"
mkdir -p ../build
export LANG="en_US.utf8"
export HOME="${srcdir}"
export PATH="${srcdir}/build/usr/bin:${PATH}"
while read hkpkg; do
if [ -d "$srcdir"/build/usr/share/doc/*/"$hkpkg" ]; then
msg2 'Skipping %s' "$hkpkg"
continue
fi
msg2 'Building %s' "$hkpkg"
pushd "$hkpkg" >/dev/null
case "$hkpkg" in
$_pkgname-$pkgver)
# Don' bother trying to set --libdir= outside of $pkgdir,
# libdir is a relative (to prefix) path, never absolute.
cabal configure -v \
--flags="embed_data_files ${_flags[pandoc]}" \
--prefix=/usr
cabal build
cabal register --inplace
;;
pandoc-citeproc-*)
cabal configure -v \
--flags="embed_data_files ${_flags[pandoc_citeproc]}" \
--prefix=/usr
cabal build
;;
*)
cabal install --prefix="${srcdir}"/build/usr --flags="embed_data_files"
;;
esac
popd >/dev/null
done < <(sed -rn 's/(\S*[0-9]+).*/\1/p' BUILDORDER)
)
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
msg2 "Installing pandoc..."
cd ${_pkgname}-${pkgver}
cabal copy --destdir="${pkgdir}/"
install -Dm644 {,"$pkgdir"/usr/share/}man/man1/pandoc.1
install -Dm644 {,"$pkgdir"/usr/share/}man/man5/pandoc_markdown.5
msg2 "Installing pandoc-citeproc..."
cd ../pandoc-citeproc-*
cabal copy --destdir="${pkgdir}/"
msg2 "Installing extra executables..."
cp -av "${srcdir}"/build/usr/bin/* "${pkgdir}"/usr/bin/
msg2 "Removing library files..."
rm -rfv "$pkgdir"/usr/lib
msg2 "Installing licenses..."
install -d "${pkgdir}"/usr/share/licenses/${pkgname}
cp -rv "${srcdir}"/build/usr/share/doc/*/* "${pkgdir}"/usr/share/licenses/${pkgname}
mv -v "${pkgdir}"/usr/share/doc/*/* "${pkgdir}"/usr/share/licenses/${pkgname}
}
|