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 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
|
#!/usr/bin/make -f
export DEB_ENABLE_TESTS = yes
include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/class/hlibrary.mk
pkg = $(DEB_SOURCE_PACKAGE)
ABI = $(shell dpkg-query --showformat='$${source:Version}' --show libghc-pandoc-types-dev)
# helper macros for GHC dependencies, e.g.: foo bar,dev,prof doc,>=,1.2,<<,1.3 baz
expand-or-strip-ghc-dep = $(foreach expandsuffix,$1,\
$(comma) libghc-$3-$(expandsuffix) $(if $4,($4 $5))\
$(if $6,\
$(comma) libghc-$3-$(expandsuffix) ($6 $7)))\
$(foreach stripsuffix,$2,\
$(comma) libghc-$3-$(stripsuffix))
expand-ghc-deps = $(foreach dep,$(sort $3),$(call expand-or-strip-ghc-dep,\
$1,\
$2,$(strip \
$(word 1,$(subst $(comma),$(space),$(dep)))),$(strip \
$(word 2,$(subst $(comma),$(space),$(dep)))),$(strip \
$(word 3,$(subst $(comma),$(space),$(dep)))),$(strip \
$(word 4,$(subst $(comma),$(space),$(dep)))),$(strip \
$(word 5,$(subst $(comma),$(space),$(dep))))))
# Haskell dependencies for any build from pandoc.cabal
ghc-deps += syb,<<,0.8
ghc-deps += unordered-containers,<<,0.3
ghc-deps += exceptions,>=,0.8,<<,0.11
ghc-deps += safe,<<,0.4
ghc-deps += zip-archive,<<,0.5
ghc-deps += http,<<,1:4000.4
ghc-deps += texmath,>=,0.12.0.1,<<,0.13
ghc-deps += xml,<<,1.4
ghc-deps += split,<<,0.3
ghc-deps += random,<<,1.2
ghc-deps += pandoc-types,>=,1.20,<<,1.21
ghc-deps += aeson,<<,1.5
ghc-deps += scientific,<<,0.4
ghc-deps += aeson-pretty,>=,0.8.5,<<,0.9
ghc-deps += tagsoup,>=,0.14.6,<<,0.15
ghc-deps += base64-bytestring,<<,1.1
ghc-deps += zlib,<<,0.7
ghc-deps += skylighting,>=,0.8.3.2,<<,0.9
ghc-deps += skylighting-core,>=,0.8.3.2,<<,0.9
ghc-deps += data-default,<<,0.8
ghc-deps += temporary,<<,1.4
ghc-deps += blaze-html,>=,0.9,<<,0.10
ghc-deps += blaze-markup,>=,0.8,<<,0.9
ghc-deps += vector,<<,0.13
ghc-deps += hslua,>=,1.0.1,<<,1.1
ghc-deps += jira-wiki-markup,>=,1.1,<<,1.2
ghc-deps += hslua-module-text,>=,0.2,<<,0.3
ghc-deps += hslua-module-system,>=,0.2,<<,0.3
ghc-deps += sha,<<,1.7
ghc-deps += haddock-library,>=,1.8,<<,1.9
ghc-deps += juicypixels,<<,3.4
ghc-deps += glob,<<,0.11
ghc-deps += cmark-gfm,>=,0.2,<<,0.3
ghc-deps += doctemplates,>=,0.8,<<,0.9
ghc-deps += network-uri,<<,2.7
ghc-deps += network,>=,2.6
ghc-deps += http-client,>=,0.4.30,,<<,0.7
ghc-deps += http-client-tls,>=,0.2.4,<<,0.4
ghc-deps += http-types,<<,0.13
ghc-deps += case-insensitive,>=,1.2,<<,1.3
ghc-deps += unicode-transforms,<<,0.4
ghc-deps += hsyaml,>=,0.2,<<,0.3
ghc-deps += doclayout,>=,0.3,<<,0.4
ghc-deps += ipynb,<<,0.2
ghc-deps += attoparsec,<<,0.14
ghc-deps += text-conversions,<<,0.4
ghc-deps += emojis,<<,0.2
# Haskell dependencies for testsuite from pandoc.cabal
ghc-deps-test += diff,<<,0.5
ghc-deps-test += tasty,>=,0.11,<<,1.3
ghc-deps-test += tasty-hunit,<<,0.11
ghc-deps-test += tasty-lua,<<,0.3
ghc-deps-test += tasty-quickcheck,<<,0.11
ghc-deps-test += tasty-golden,>=,2.3,<<,2.4
ghc-deps-test += quickcheck2,<<,2.14
ghc-deps-test += executable-path,<<,0.1
# Haskell dependencies (maybe) needed for documentation
# TODO: actually use these (not maintain Build-depends-indep by hand)
ghc-deps-doc += ansi-terminal
ghc-deps-doc += asn1-encoding
ghc-deps-doc += asn1-parse
ghc-deps-doc += asn1-types
ghc-deps-doc += async
ghc-deps-doc += base16-bytestring
ghc-deps-doc += base-compat
ghc-deps-doc += base-compat-batteries
ghc-deps-doc += basement
ghc-deps-doc += base-orphans
ghc-deps-doc += bitarray
ghc-deps-doc += blaze-builder
ghc-deps-doc += cereal
ghc-deps-doc += colour
ghc-deps-doc += connection
ghc-deps-doc += cookie
ghc-deps-doc += cryptonite
ghc-deps-doc += data-default-class
ghc-deps-doc += data-default-instances-containers
ghc-deps-doc += data-default-instances-dlist
ghc-deps-doc += data-default-instances-old-locale
ghc-deps-doc += digest
ghc-deps-doc += dlist
ghc-deps-doc += errors
ghc-deps-doc += hashable
ghc-deps-doc += hourglass
ghc-deps-doc += hs-bibutils
ghc-deps-doc += hsyaml
ghc-deps-doc += hxt
ghc-deps-doc += hxt-charproperties
ghc-deps-doc += hxt-regex-xmlschema
ghc-deps-doc += hxt-unicode
ghc-deps-doc += integer-logarithms
ghc-deps-doc += memory
ghc-deps-doc += mime-types
ghc-deps-doc += old-locale
ghc-deps-doc += pcre-light
ghc-deps-doc += pem
ghc-deps-doc += primitive
ghc-deps-doc += quickcheck2
ghc-deps-doc += regex-base
ghc-deps-doc += regex-pcre
ghc-deps-doc += rts
ghc-deps-doc += socks
ghc-deps-doc += splitmix
ghc-deps-doc += streaming-commons
ghc-deps-doc += tagged
ghc-deps-doc += th-abstraction
ghc-deps-doc += time-compat
ghc-deps-doc += tls
ghc-deps-doc += transformers
ghc-deps-doc += transformers-compat
ghc-deps-doc += unicode-transforms
ghc-deps-doc += utf8-string
ghc-deps-doc += uuid-types
ghc-deps-doc += x509
ghc-deps-doc += x509-store
ghc-deps-doc += x509-system
ghc-deps-doc += x509-validation
# Needed by upstream build process
CDBS_BUILD_DEPENDS +=, ghc, ghc-prof, alex, happy
CDBS_BUILD_DEPENDS += $(call expand-ghc-deps,dev,prof,$(ghc-deps))
CDBS_BUILD_DEPENDS += $(call expand-ghc-deps,dev,,$(ghc-deps-test))
CDBS_BUILD_DEPENDS_INDEP +=, ghc-doc
CDBS_BUILD_DEPENDS_INDEP +=, $(call expand-ghc-deps,,doc,$(ghc-deps) $(ghc-deps-doc))
# Needed for our packaging
# * recent haskell-devscripts needed for version-less datadir
CDBS_BUILD_DEPENDS +=, haskell-devscripts
# Needed (always/often/seldom) at runtime
# texlive-* needed for PDF output
# librsvg2-bin (rsvg-convert) needed for SVG in PDF output
# groff needed for groff man and groff ms output
# TODO: suggest slide show Javascript libraries when in Debian
CDBS_SUGGESTS_$(pkg) = texlive-latex-recommended, texlive-xetex, texlive-luatex
CDBS_SUGGESTS_$(pkg) +=, pandoc-citeproc, texlive-latex-extra, context
CDBS_SUGGESTS_$(pkg) +=, wkhtmltopdf, librsvg2-bin, groff, ghc, nodejs
CDBS_SUGGESTS_$(pkg) +=, php, perl, python, ruby, r-base-core
CDBS_SUGGESTS_$(pkg) +=, libjs-mathjax, node-katex
CDBS_SUGGESTS_$(pkg) +=, citation-style-language-styles
# Fix exception thrown building documentation:
# haddock: internal error: <stdout>: commitBuffer: invalid argument (invalid character)
export LANG=C.UTF-8
# Use threaded RTS only when supported
DEB_SETUP_GHC_CONFIGURE_ARGS += $(if $(wildcard /usr/lib/ghc-$(GHC_VERSION)/libHSrts_thr.a),,--flags=-threaded)
# Disable timer to help build on slow arches like hppa
DEB_SETUP_GHC_CONFIGURE_ARGS += --ghc-options="+RTS -V0 -RTS"
# Reduce compile-time memory utilization on low-memory architectures
ifneq (,$(filter $(DEB_BUILD_ARCH),armel armhf hppa mips mipsel))
DEB_SETUP_GHC_CONFIGURE_ARGS += --ghc-options="-optc--param -optcggc-min-expand=10 -O0"
endif
DEB_SETUP_GHC_CONFIGURE_ARGS += $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,-ftests)
DEB_INSTALL_DOCS_ALL += README.md
DEB_INSTALL_MANPAGES_$(pkg) = man/pandoc.1
CDBS_BUILD_DEPENDS +=, bash-completion
post-install/$(pkg)::
debian/tmp-inst-*/usr/bin/pandoc --bash-completion \
> debian/pandoc.bash-completion
binary-install/$(pkg)::
dh_bash-completion
clean::
rm -f debian/pandoc.bash-completion
DEB_DH_GENCONTROL_ARGS_$(pkg) = -- -V"pandoc:Abi=$(ABI)"
|