From 358ec8b89852743ad2f55c2c94e691a4b73e98ec Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Fri, 21 Nov 2014 12:50:18 -0500 Subject: clean up pcr/pandoc static --- pcr/pandoc-static/PKGBUILD | 123 +++++++++++++++++++++++++++++++++++++++++++++ pcr/pandoc/PKGBUILD | 108 --------------------------------------- pcr/pandoc/SRCBUILD | 54 -------------------- 3 files changed, 123 insertions(+), 162 deletions(-) create mode 100644 pcr/pandoc-static/PKGBUILD delete mode 100644 pcr/pandoc/PKGBUILD delete mode 100644 pcr/pandoc/SRCBUILD diff --git a/pcr/pandoc-static/PKGBUILD b/pcr/pandoc-static/PKGBUILD new file mode 100644 index 000000000..c87c31842 --- /dev/null +++ b/pcr/pandoc-static/PKGBUILD @@ -0,0 +1,123 @@ +# Maintainer: Nicolas Reynolds +# Contributor: Luke Shumaker +# Based on haskell-pandoc + +pkgname=pandoc-static +_pkgname=pandoc +pkgver=1.13.1 +pkgrel=1 +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.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz) +md5sums=('dd2667b233b5f97b2841ae09895c2ac2') + +declare -A 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 ../build + + export LANG="en_US.utf8" + export HOME="${srcdir}" + export PATH="${srcdir}/build/usr/bin:${PATH}" + + while read hkpkg; do + 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} + runghc Setup.hs copy --destdir="${pkgdir}/" + + msg2 "Installing pandoc-citeproc..." + cd ../pandoc-citeproc-* + runghc Setup.hs 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 "Correctiong file permissions in /usr/share/..." + find "${pkgdir}"/usr/share -type f -exec chmod -v 644 -- {} + + find "${pkgdir}"/usr/share -type d -exec chmod -v 755 -- {} + + + 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} +} diff --git a/pcr/pandoc/PKGBUILD b/pcr/pandoc/PKGBUILD deleted file mode 100644 index 4d3483c08..000000000 --- a/pcr/pandoc/PKGBUILD +++ /dev/null @@ -1,108 +0,0 @@ -# Maintainer: Nicolas Reynolds -# Based on haskell-pandoc - -# Run `makepkg -sp SRCBUILD` if you want to update the source tarball - -# hslua fails if LANG is empty or C -test -z "$LANG" && export LANG="en_US.utf8" - -pkgname=pandoc-static -_pkgname=pandoc -pkgver=1.13.1 -pkgrel=1 -_srcrel=1 -pkgdesc='Conversion between markup formats (no Haskell libs)' -url='http://johnmacfarlane.net/pandoc/' -license=('GPL') -arch=('i686' 'x86_64') -# Needed for pandoc-citeproc -depends=('icu<=55') -makedepends=('ghc' 'sh' 'cabal-install' 'alex' 'happy') -options=(strip !makeflags !distcc !emptydirs) -source=(https://repo.parabolagnulinux.org/other/pandoc-static/${_pkgname}-${pkgver}-${_srcrel}-any.src.tar.xz{,.sig} - SRCBUILD) -replaces=('pandoc') -provides=('pandoc') -optdepends=('texlive-most: for pdf creation') -md5sums=('c805827e4369bf5ba6ccff7164f03623' - 'SKIP' - '4c25acc06724a994d2ce52b069aab911') - -# PKGBUILD functions -build() { - mkdir -p ${srcdir}/{build,${_pkgname}-${pkgver}} - cd ${srcdir}/${_pkgname}-${pkgver} - -# pandoc-citeproc needs hsb2hs - export PATH=${srcdir}/build/usr/bin:$PATH - - while read _hkpkg extra; do -# Skip already built - [ -d "${srcdir}/build/usr/lib/i386-linux-ghc-7.8.3/$_hkpkg" ] && continue - - pushd ${srcdir}/${_pkgname}-${pkgver}/${_hkpkg} >/dev/null || continue - - msg2 "Building $_hkpkg" - - case $_hkpkg in - $_pkgname-$pkgver) - HOME=${srcdir}/${_pkgname}-${pkgver} \ - cabal configure --prefix=/usr \ - --flags='embed_data_files https' \ - --libdir=${srcdir}/build/usr/lib/i386-linux-ghc-7.8.3 -v - - HOME=${srcdir}/${_pkgname}-${pkgver} \ - cabal build - - HOME=${srcdir}/${_pkgname}-${pkgver} \ - cabal register --inplace - ;; - - pandoc-citeproc*) - HOME=${srcdir}/${_pkgname}-${pkgver} \ - cabal configure --flags='small_base embed_data_files bibutils hexpat unicode_collation' \ - --libdir=${srcdir}/build/usr/lib/i386-linux-ghc-7.8.3 \ - --prefix=/usr -v - - HOME=${srcdir}/${_pkgname}-${pkgver} \ - cabal build - ;; - - *) - HOME=${srcdir}/${_pkgname}-${pkgver} \ - cabal install --prefix=${srcdir}/build/usr --flags="embed_data_files" - ;; - esac - - popd >/dev/null - done -# Based on haskell-pandoc - -pkgname=pandoc -pkgver=1.13.1 -pkgrel=1 -pkgdesc='Conversion between markup formats (no Haskell libs)' -url='http://johnmacfarlane.net/pandoc/' -license=('GPL') -arch=('any') -makedepends=('ghc' 'sh' 'cabal-install') -source=() -options=(!strip) -_flags=(https embed_data_files bibutils hexpat unicode_collation) -_packages=(hs-bibutils network hexpat text text-icu hsb2hs - http-client-0.3.8.2 - http-client-tls http-types ${pkgname}-${pkgver} - pandoc-citeproc) - -_cabal() { - HOME=${srcdir}/${pkgname}-${pkgver} cabal $@ -} - -# PKGBUILD functions -build() { - mkdir -p ${srcdir}/{build,${pkgname}-${pkgver}} - cd ${srcdir}/${pkgname}-${pkgver} - - _cabal --verbose=3 update - _cabal --verbose=3 fetch ${_packages[@]} - - msg2 "Getting the dependency build order" -# Ignore the cabal messages - _cabal install \ - --flags="${flags[@]}"\ - --dry-run \ - ${_packages[@]} | - grep "\-[0-9]\+" | - cut -d" " -f1 | - tee BUILDORDER -} - -package() { - export PKGEXT=.src.tar.xz - export PKGDEST=${SRCDEST} - - mkdir -p ${pkgdir}/${pkgname}-${pkgver} - cd ${pkgdir}/${pkgname}-${pkgver} - - find ${srcdir}/${pkgname}-${pkgver} -iname '*.tar.?z' -a \! -iname '00-index.tar.gz' -exec \ - bsdtar xvf '{}' \; - - cp ${srcdir}/${pkgname}-${pkgver}/BUILDORDER . -} -- cgit v1.2.3