Date: Thursday, September 21, 2017 @ 17:51:23 Author: felixonmars Revision: 259312
archrelease: copy trunk to community-i686 Added: ghc/repos/community-i686/PKGBUILD (from rev 259311, ghc/trunk/PKGBUILD) ghc/repos/community-i686/ghc-rebuild-doc-index.hook (from rev 259311, ghc/trunk/ghc-rebuild-doc-index.hook) ghc/repos/community-i686/ghc-register.hook (from rev 259311, ghc/trunk/ghc-register.hook) ghc/repos/community-i686/ghc-unregister.hook (from rev 259311, ghc/trunk/ghc-unregister.hook) ghc/repos/community-i686/ghc.install (from rev 259311, ghc/trunk/ghc.install) ghc/repos/community-i686/print-provides-replaces.sh (from rev 259311, ghc/trunk/print-provides-replaces.sh) Deleted: ghc/repos/community-i686/PKGBUILD ghc/repos/community-i686/ghc-rebuild-doc-index.hook ghc/repos/community-i686/ghc-register.hook ghc/repos/community-i686/ghc-unregister.hook ghc/repos/community-i686/ghc.install ghc/repos/community-i686/print-provides-replaces.sh ----------------------------+ PKGBUILD | 346 +++++++++++++++++++++---------------------- ghc-rebuild-doc-index.hook | 28 +-- ghc-register.hook | 24 +- ghc-unregister.hook | 24 +- ghc.install | 22 +- print-provides-replaces.sh | 90 +++++------ 6 files changed, 268 insertions(+), 266 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2017-09-21 17:20:19 UTC (rev 259311) +++ PKGBUILD 2017-09-21 17:51:23 UTC (rev 259312) @@ -1,173 +0,0 @@ -# $Id$ -# Maintainer: Felix Yan <felixonm...@archlinux.org> -# Contributor: Vesa Kaihlavirta <v...@archlinux.org> -# Contributor: Thomas Dziedzic <gos...@gmail.com> - -# Special note for devs looking to upgrade this package: -# ghc places a unique hash for each library when it is built. -# Libraries depend on versions specified by those hashes. -# This implies that all libraries need to be rebuilt when ghc is rebuilt. - -shopt -s extglob - -pkgbase=ghc -pkgname=(ghc-libs ghc ghc-static) -pkgver=8.2.1 -pkgrel=1 -pkgdesc='The Glasgow Haskell Compiler' -arch=('i686' 'x86_64') -url='http://www.haskell.org/ghc/' -license=('custom') -makedepends=('ghc-static' 'perl' 'libxslt' 'docbook-xsl' 'python-sphinx' 'haskell-hscolour' - 'texlive-bin' 'texlive-latexextra' 'ttf-dejavu') -source=("https://downloads.haskell.org/~ghc/$pkgver/$pkgbase-${pkgver}-src.tar.xz" - ghc-rebuild-doc-index.hook ghc-register.hook ghc-unregister.hook) -noextract=("$pkgbase-${pkgver}-src.tar.xz") -md5sums=('8942b6fb393984aeb8304d09bc326851' - '4966d798a2868b289022aea8b655bf17' - '700bcd96afd059d668e50b51c19650d5' - '2355771881c91cb46e6249a81352aea2') - -prepare() { - # Need to extract this tarball with a UTF-8 locale instead of a chroot's "C" - # locale; otherwise we get: - # bsdtar: Pathname can't be converted from UTF-8 to current locale. - LANG=en_US.UTF-8 bsdtar xf $pkgbase-${pkgver}-src.tar.xz - - cd ghc-$pkgver - - cp mk/build.mk{.sample,} - sed -i '1iBuildFlavour = perf' mk/build.mk -} - -build() { - cd ghc-$pkgver - - ./configure \ - --prefix=/usr \ - --docdir=/usr/share/doc/ghc \ - --with-system-libffi \ - --with-ffi-includes=$(pkg-config --variable=includedir libffi) - make -} - -package_ghc-static() { - pkgdesc='The Glasgow Haskell Compiler - Static Libraries and Documentation' - depends=('ghc') - - cd ghc-$pkgver - - make DESTDIR="$pkgdir" install - - mv "$pkgdir"/usr/lib/ghc-$pkgver/package.conf.d "$srcdir"/static-package.conf.d - find "$pkgdir"/usr/lib ! \( -name "*.a" -o -name "*.p_hi" \) -type f -delete - find "$pkgdir"/usr/lib -type d -empty -delete - mv "$srcdir"/static-package.conf.d "$pkgdir"/usr/lib/ghc-$pkgver/ - rm -r "$pkgdir"/usr/bin "$pkgdir"/usr/share/man - - install -Dm644 "$srcdir"/ghc-rebuild-doc-index.hook "$pkgdir"/usr/share/libalpm/hooks/ghc-rebuild-doc-index.hook -} - -package_ghc() { - pkgdesc='The Glasgow Haskell Compiler' - provides=("haskell-ghc=$pkgver") - replaces=("haskell-ghc") - depends=('ghc-libs') - - cd ghc-$pkgver - make DESTDIR="$pkgdir" install - - # Remove static libs - find "$pkgdir"/usr/lib \( -name "*.a" -o -name "*.p_hi" \) -delete - - # ghc-pkg is in ghc-libs - rm "$pkgdir"/usr/lib/ghc-$pkgver/bin/ghc-pkg* - rm "$pkgdir"/usr/bin/ghc-pkg* - (cd "$pkgdir"/usr/lib/ghc-$pkgver; rm -r !(bin|ghc-$pkgver)) - - # docs moved to ghc-static - rm -r "$pkgdir"/usr/share/doc - - install -Dm644 utils/completion/ghc.bash \ - "$pkgdir/usr/share/bash-completion/completions/ghc" -} - -package_ghc-libs() { - pkgdesc='The Glasgow Haskell Compiler - Dynamic Libraries' - install='ghc.install' - depends=('gcc' 'gmp' 'libffi' 'perl') - provides=('haskell-array=0.5.2.0' - 'haskell-base=4.10.0.0' - 'haskell-binary=0.8.5.1' - 'haskell-bytestring=0.10.8.2' - 'haskell-containers=0.5.10.2' - 'haskell-deepseq=1.4.3.0' - 'haskell-directory=1.3.0.2' - 'haskell-filepath=1.4.1.2' - 'haskell-ghc-boot=8.2.1' - 'haskell-ghc-boot-th=8.2.1' - 'haskell-ghc-compact=0.1.0.0' - 'haskell-ghci=8.2.1' - 'haskell-ghc-prim=0.5.1.0' - 'haskell-haskeline=0.7.4.0' - 'haskell-hoopl=3.10.2.2' - 'haskell-hpc=0.6.0.3' - 'haskell-integer-gmp=1.0.1.0' - 'haskell-pretty=1.1.3.3' - 'haskell-process=1.6.1.0' - 'haskell-template-haskell=2.12.0.0' - 'haskell-terminfo=0.4.1.0' - 'haskell-time=1.8.0.2' - 'haskell-transformers=0.5.2.0' - 'haskell-unix=2.7.2.2' - 'haskell-xhtml=3000.2.2' - 'haskell-cabal=2.0.0.2') - replaces=('haskell-array' - 'haskell-base' - 'haskell-binary' - 'haskell-bytestring' - 'haskell-containers' - 'haskell-deepseq' - 'haskell-directory' - 'haskell-filepath' - 'haskell-ghc-boot' - 'haskell-ghc-boot-th' - 'haskell-ghc-compact' - 'haskell-ghci' - 'haskell-ghc-prim' - 'haskell-haskeline' - 'haskell-hoopl' - 'haskell-hpc' - 'haskell-integer-gmp' - 'haskell-pretty' - 'haskell-process' - 'haskell-template-haskell' - 'haskell-terminfo' - 'haskell-time' - 'haskell-transformers' - 'haskell-unix' - 'haskell-xhtml' - 'haskell-cabal') - - cd ghc-$pkgver - - make DESTDIR="$pkgdir" install - - # Remove static libs - find "$pkgdir"/usr/lib \( -name "*.a" -o -name "*.p_hi" \) -delete - - # ghc library and other exes are in the ghc package - rm -r "$pkgdir"/usr/lib/ghc-$pkgver/ghc-$pkgver - (cd "$pkgdir"/usr/lib/ghc-$pkgver/bin; rm !(ghc-pkg*)) - (cd "$pkgdir"/usr/bin; rm !(ghc-pkg*)) - - # docs moved to ghc-static - rm -r "$pkgdir"/usr/share/{man,doc} - - install -Dm644 "$srcdir"/ghc-register.hook "$pkgdir"/usr/share/libalpm/hooks/ghc-register.hook - install -Dm644 "$srcdir"/ghc-unregister.hook "$pkgdir"/usr/share/libalpm/hooks/ghc-unregister.hook - - install -dm755 "$pkgdir"/usr/share/haskell/{register,unregister} - - install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE -} Copied: ghc/repos/community-i686/PKGBUILD (from rev 259311, ghc/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2017-09-21 17:51:23 UTC (rev 259312) @@ -0,0 +1,173 @@ +# $Id$ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Vesa Kaihlavirta <v...@archlinux.org> +# Contributor: Thomas Dziedzic <gos...@gmail.com> + +# Special note for devs looking to upgrade this package: +# ghc places a unique hash for each library when it is built. +# Libraries depend on versions specified by those hashes. +# This implies that all libraries need to be rebuilt when ghc is rebuilt. + +shopt -s extglob + +pkgbase=ghc +pkgname=(ghc-libs ghc ghc-static) +pkgver=8.2.1 +pkgrel=2 +pkgdesc='The Glasgow Haskell Compiler' +arch=('i686' 'x86_64') +url='http://www.haskell.org/ghc/' +license=('custom') +makedepends=('ghc-static' 'perl' 'libxslt' 'docbook-xsl' 'python-sphinx' 'haskell-hscolour' + 'texlive-bin' 'texlive-latexextra' 'ttf-dejavu') +source=("https://downloads.haskell.org/~ghc/$pkgver/$pkgbase-${pkgver}-src.tar.xz" + ghc-rebuild-doc-index.hook ghc-register.hook ghc-unregister.hook) +noextract=("$pkgbase-${pkgver}-src.tar.xz") +md5sums=('8942b6fb393984aeb8304d09bc326851' + '4966d798a2868b289022aea8b655bf17' + '700bcd96afd059d668e50b51c19650d5' + '2355771881c91cb46e6249a81352aea2') + +prepare() { + # Need to extract this tarball with a UTF-8 locale instead of a chroot's "C" + # locale; otherwise we get: + # bsdtar: Pathname can't be converted from UTF-8 to current locale. + LANG=en_US.UTF-8 bsdtar xf $pkgbase-${pkgver}-src.tar.xz + + cd ghc-$pkgver + + cp mk/build.mk{.sample,} + sed -i '1iBuildFlavour = perf' mk/build.mk +} + +build() { + cd ghc-$pkgver + + ./configure \ + --prefix=/usr \ + --docdir=/usr/share/doc/ghc \ + --with-system-libffi \ + --with-ffi-includes=$(pkg-config --variable=includedir libffi) + make +} + +package_ghc-static() { + pkgdesc='The Glasgow Haskell Compiler - Static Libraries and Documentation' + depends=('ghc') + + cd ghc-$pkgver + + make DESTDIR="$pkgdir" install + + mv "$pkgdir"/usr/lib/ghc-$pkgver/package.conf.d "$srcdir"/static-package.conf.d + find "$pkgdir"/usr/lib ! \( -name "*.a" -o -name "*.p_hi" -o -name "*.hi" \) -type f -delete + find "$pkgdir"/usr/lib -type d -empty -delete + mv "$srcdir"/static-package.conf.d "$pkgdir"/usr/lib/ghc-$pkgver/ + rm -r "$pkgdir"/usr/bin "$pkgdir"/usr/share/man + + install -Dm644 "$srcdir"/ghc-rebuild-doc-index.hook "$pkgdir"/usr/share/libalpm/hooks/ghc-rebuild-doc-index.hook +} + +package_ghc() { + pkgdesc='The Glasgow Haskell Compiler' + provides=("haskell-ghc=$pkgver") + replaces=("haskell-ghc") + depends=('ghc-libs') + + cd ghc-$pkgver + make DESTDIR="$pkgdir" install + + # Remove static libs + find "$pkgdir"/usr/lib \( -name "*.a" -o -name "*.p_hi" -o -name "*.hi" \) -delete + + # ghc-pkg is in ghc-libs + rm "$pkgdir"/usr/lib/ghc-$pkgver/bin/ghc-pkg* + rm "$pkgdir"/usr/bin/ghc-pkg* + (cd "$pkgdir"/usr/lib/ghc-$pkgver; rm -r !(bin|ghc-$pkgver)) + + # docs moved to ghc-static + rm -r "$pkgdir"/usr/share/doc + + install -Dm644 utils/completion/ghc.bash \ + "$pkgdir/usr/share/bash-completion/completions/ghc" +} + +package_ghc-libs() { + pkgdesc='The Glasgow Haskell Compiler - Dynamic Libraries' + install='ghc.install' + depends=('gcc' 'gmp' 'libffi' 'perl') + provides=('haskell-array=0.5.2.0' + 'haskell-base=4.10.0.0' + 'haskell-binary=0.8.5.1' + 'haskell-bytestring=0.10.8.2' + 'haskell-containers=0.5.10.2' + 'haskell-deepseq=1.4.3.0' + 'haskell-directory=1.3.0.2' + 'haskell-filepath=1.4.1.2' + 'haskell-ghc-boot=8.2.1' + 'haskell-ghc-boot-th=8.2.1' + 'haskell-ghc-compact=0.1.0.0' + 'haskell-ghci=8.2.1' + 'haskell-ghc-prim=0.5.1.0' + 'haskell-haskeline=0.7.4.0' + 'haskell-hoopl=3.10.2.2' + 'haskell-hpc=0.6.0.3' + 'haskell-integer-gmp=1.0.1.0' + 'haskell-pretty=1.1.3.3' + 'haskell-process=1.6.1.0' + 'haskell-template-haskell=2.12.0.0' + 'haskell-terminfo=0.4.1.0' + 'haskell-time=1.8.0.2' + 'haskell-transformers=0.5.2.0' + 'haskell-unix=2.7.2.2' + 'haskell-xhtml=3000.2.2' + 'haskell-cabal=2.0.0.2') + replaces=('haskell-array' + 'haskell-base' + 'haskell-binary' + 'haskell-bytestring' + 'haskell-containers' + 'haskell-deepseq' + 'haskell-directory' + 'haskell-filepath' + 'haskell-ghc-boot' + 'haskell-ghc-boot-th' + 'haskell-ghc-compact' + 'haskell-ghci' + 'haskell-ghc-prim' + 'haskell-haskeline' + 'haskell-hoopl' + 'haskell-hpc' + 'haskell-integer-gmp' + 'haskell-pretty' + 'haskell-process' + 'haskell-template-haskell' + 'haskell-terminfo' + 'haskell-time' + 'haskell-transformers' + 'haskell-unix' + 'haskell-xhtml' + 'haskell-cabal') + + cd ghc-$pkgver + + make DESTDIR="$pkgdir" install + + # Remove static libs + find "$pkgdir"/usr/lib \( -name "*.a" -o -name "*.p_hi" -o -name "*.hi" \) -delete + + # ghc library and other exes are in the ghc package + rm -r "$pkgdir"/usr/lib/ghc-$pkgver/ghc-$pkgver + (cd "$pkgdir"/usr/lib/ghc-$pkgver/bin; rm !(ghc-pkg*)) + (cd "$pkgdir"/usr/bin; rm !(ghc-pkg*)) + + # docs moved to ghc-static + rm -r "$pkgdir"/usr/share/{man,doc} + + install -Dm644 "$srcdir"/ghc-register.hook "$pkgdir"/usr/share/libalpm/hooks/ghc-register.hook + install -Dm644 "$srcdir"/ghc-unregister.hook "$pkgdir"/usr/share/libalpm/hooks/ghc-unregister.hook + + install -dm755 "$pkgdir"/usr/share/haskell/{register,unregister} + + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} Deleted: ghc-rebuild-doc-index.hook =================================================================== --- ghc-rebuild-doc-index.hook 2017-09-21 17:20:19 UTC (rev 259311) +++ ghc-rebuild-doc-index.hook 2017-09-21 17:51:23 UTC (rev 259312) @@ -1,14 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Operation = Remove -Target = usr/share/doc/ghc/html/libraries/* -Target = !usr/share/doc/ghc/html/libraries/index.html - -[Action] -Description = Rebuilding Haskell doc index... -When = PostTransaction -Exec = /bin/bash -c "cd /usr/share/doc/ghc/html/libraries && ./gen_contents_index" -Depends = ghc-static -Depends = bash Copied: ghc/repos/community-i686/ghc-rebuild-doc-index.hook (from rev 259311, ghc/trunk/ghc-rebuild-doc-index.hook) =================================================================== --- ghc-rebuild-doc-index.hook (rev 0) +++ ghc-rebuild-doc-index.hook 2017-09-21 17:51:23 UTC (rev 259312) @@ -0,0 +1,14 @@ +[Trigger] +Type = File +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/share/doc/ghc/html/libraries/* +Target = !usr/share/doc/ghc/html/libraries/index.html + +[Action] +Description = Rebuilding Haskell doc index... +When = PostTransaction +Exec = /bin/bash -c "cd /usr/share/doc/ghc/html/libraries && ./gen_contents_index" +Depends = ghc-static +Depends = bash Deleted: ghc-register.hook =================================================================== --- ghc-register.hook 2017-09-21 17:20:19 UTC (rev 259311) +++ ghc-register.hook 2017-09-21 17:51:23 UTC (rev 259312) @@ -1,12 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Target = usr/share/haskell/register/*.sh - -[Action] -Description = Registering Haskell modules... -When = PostTransaction -Exec = /bin/sh -c 'while read -r f; do /bin/sh "/$f" 2>&1 >/dev/null ; done' -Depends = ghc-libs -NeedsTargets Copied: ghc/repos/community-i686/ghc-register.hook (from rev 259311, ghc/trunk/ghc-register.hook) =================================================================== --- ghc-register.hook (rev 0) +++ ghc-register.hook 2017-09-21 17:51:23 UTC (rev 259312) @@ -0,0 +1,12 @@ +[Trigger] +Type = File +Operation = Install +Operation = Upgrade +Target = usr/share/haskell/register/*.sh + +[Action] +Description = Registering Haskell modules... +When = PostTransaction +Exec = /bin/sh -c 'while read -r f; do /bin/sh "/$f" 2>&1 >/dev/null ; done' +Depends = ghc-libs +NeedsTargets Deleted: ghc-unregister.hook =================================================================== --- ghc-unregister.hook 2017-09-21 17:20:19 UTC (rev 259311) +++ ghc-unregister.hook 2017-09-21 17:51:23 UTC (rev 259312) @@ -1,12 +0,0 @@ -[Trigger] -Type = File -Operation = Upgrade -Operation = Remove -Target = usr/share/haskell/unregister/*.sh - -[Action] -Description = Unregistering Haskell modules... -When = PreTransaction -Exec = /bin/sh -c 'while read -r f; do /bin/sh "/$f" 2>&1 >/dev/null ; done' -Depends = ghc-libs -NeedsTargets Copied: ghc/repos/community-i686/ghc-unregister.hook (from rev 259311, ghc/trunk/ghc-unregister.hook) =================================================================== --- ghc-unregister.hook (rev 0) +++ ghc-unregister.hook 2017-09-21 17:51:23 UTC (rev 259312) @@ -0,0 +1,12 @@ +[Trigger] +Type = File +Operation = Upgrade +Operation = Remove +Target = usr/share/haskell/unregister/*.sh + +[Action] +Description = Unregistering Haskell modules... +When = PreTransaction +Exec = /bin/sh -c 'while read -r f; do /bin/sh "/$f" 2>&1 >/dev/null ; done' +Depends = ghc-libs +NeedsTargets Deleted: ghc.install =================================================================== --- ghc.install 2017-09-21 17:20:19 UTC (rev 259311) +++ ghc.install 2017-09-21 17:51:23 UTC (rev 259312) @@ -1,10 +0,0 @@ -pre_upgrade() { - echo '==> Unregistering cabalized packages...' - [[ -d /usr/share/haskell ]] && find /usr/share/haskell -maxdepth 2 -name 'unregister.sh' -exec {} \; - echo '==> Done.' -} - -post_upgrade() { - echo '==> All cabalized packages need to be reinstalled now.' - echo '==> See /usr/share/haskell/ for a tentative list of affected packages.' -} Copied: ghc/repos/community-i686/ghc.install (from rev 259311, ghc/trunk/ghc.install) =================================================================== --- ghc.install (rev 0) +++ ghc.install 2017-09-21 17:51:23 UTC (rev 259312) @@ -0,0 +1,12 @@ +pre_upgrade() { + if [[ ${1%-*} != ${2%-*} ]]; then + [[ -d /usr/share/haskell ]] && find /usr/share/haskell -maxdepth 2 -name 'unregister.sh' -exec {} \; + fi +} + +post_upgrade() { + if [[ ${1%-*} != ${2%-*} ]]; then + echo '==> All cabalized packages need to be reinstalled now.' + echo '==> See /usr/share/haskell/ for a tentative list of affected packages.' + fi +} Deleted: print-provides-replaces.sh =================================================================== --- print-provides-replaces.sh 2017-09-21 17:20:19 UTC (rev 259311) +++ print-provides-replaces.sh 2017-09-21 17:51:23 UTC (rev 259312) @@ -1,45 +0,0 @@ -#!/bin/bash - -. PKGBUILD - -if [[ ! -d src/ghc-${pkgver}/libraries ]]; then - echo "error: no directory src/ghc-${pkgver}/libraries: You must extract the source tarball under src/" - exit 1 -fi - -declare -A exclude -# no Win32 cause we're not building on windows -exclude['Win32']=1 -# no integer-simple because we use integer-gmp -exclude['integer-simple']=1 -# extract excluded libraries from ghc.mk -for exclude_pkg in $(sed 's/PKGS_THAT_ARE_INTREE_ONLY := //p' -n src/ghc-${pkgver}/ghc.mk); do - exclude[${exclude_pkg}]=1 -done - -cd src/ghc-${pkgver}/libraries - -# $1 is the name of the variable -# $2 is the string for the test, either '=' or '<' -print_var() { - printf "$1=(" - for path in $(ls ./*/*.cabal); do - dirname=$(echo $path | awk -F '/' '{ print $2 }') - cabalfile=$(echo $path | awk -F '/' '{ print $3 }') - cabalname=$(basename $cabalfile .cabal) - [[ ${exclude[${dirname}]} ]] && continue - version=$(awk 'tolower($0) ~ /^version:/ {print $2 }' $path) - printf "'haskell-$cabalname" - [[ -n "$2" ]] && printf "$2$version" - printf "'\n " - done - # also add cabal - version=$(awk 'tolower($0) ~ /^version:/ { print $2 }' Cabal/Cabal/Cabal.cabal) - printf "'haskell-cabal" - [[ -n "$2" ]] && printf "$2$version" - printf "'\n " - echo -e '\b)' -} - -print_var 'provides' '=' -print_var 'replaces' Copied: ghc/repos/community-i686/print-provides-replaces.sh (from rev 259311, ghc/trunk/print-provides-replaces.sh) =================================================================== --- print-provides-replaces.sh (rev 0) +++ print-provides-replaces.sh 2017-09-21 17:51:23 UTC (rev 259312) @@ -0,0 +1,45 @@ +#!/bin/bash + +. PKGBUILD + +if [[ ! -d src/ghc-${pkgver}/libraries ]]; then + echo "error: no directory src/ghc-${pkgver}/libraries: You must extract the source tarball under src/" + exit 1 +fi + +declare -A exclude +# no Win32 cause we're not building on windows +exclude['Win32']=1 +# no integer-simple because we use integer-gmp +exclude['integer-simple']=1 +# extract excluded libraries from ghc.mk +for exclude_pkg in $(sed 's/PKGS_THAT_ARE_INTREE_ONLY := //p' -n src/ghc-${pkgver}/ghc.mk); do + exclude[${exclude_pkg}]=1 +done + +cd src/ghc-${pkgver}/libraries + +# $1 is the name of the variable +# $2 is the string for the test, either '=' or '<' +print_var() { + printf "$1=(" + for path in $(ls ./*/*.cabal); do + dirname=$(echo $path | awk -F '/' '{ print $2 }') + cabalfile=$(echo $path | awk -F '/' '{ print $3 }') + cabalname=$(basename $cabalfile .cabal) + [[ ${exclude[${dirname}]} ]] && continue + version=$(awk 'tolower($0) ~ /^version:/ {print $2 }' $path) + printf "'haskell-$cabalname" + [[ -n "$2" ]] && printf "$2$version" + printf "'\n " + done + # also add cabal + version=$(awk 'tolower($0) ~ /^version:/ { print $2 }' Cabal/Cabal/Cabal.cabal) + printf "'haskell-cabal" + [[ -n "$2" ]] && printf "$2$version" + printf "'\n " + echo -e '\b)' +} + +print_var 'provides' '=' +print_var 'replaces'