summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/cabal-install/PKGBUILD36
-rw-r--r--testing/dbus-core/PKGBUILD53
-rw-r--r--testing/dbus-core/dbus54
-rw-r--r--testing/dbus-core/dbus.install24
-rw-r--r--testing/dbus/30-dbus8
-rw-r--r--testing/dbus/PKGBUILD42
-rw-r--r--testing/ghc/PKGBUILD120
-rw-r--r--testing/ghc/build.mk175
-rw-r--r--testing/ghc/ghc.install10
-rwxr-xr-xtesting/ghc/print-provides-replaces.sh38
-rw-r--r--testing/ghc/silence-gen_contents_index.diff10
-rw-r--r--testing/haskell-http/PKGBUILD40
-rw-r--r--testing/haskell-http/haskell-http.install18
-rw-r--r--testing/haskell-mtl/PKGBUILD38
-rw-r--r--testing/haskell-mtl/haskell-mtl.install18
-rw-r--r--testing/haskell-network/PKGBUILD40
-rw-r--r--testing/haskell-network/haskell-network.install18
-rw-r--r--testing/haskell-parsec/PKGBUILD39
-rw-r--r--testing/haskell-parsec/haskell-parsec.install18
-rw-r--r--testing/haskell-random/PKGBUILD37
-rw-r--r--testing/haskell-random/haskell-random.install18
-rw-r--r--testing/haskell-text/PKGBUILD38
-rw-r--r--testing/haskell-text/haskell-text.install18
-rw-r--r--testing/haskell-transformers/PKGBUILD39
-rw-r--r--testing/haskell-transformers/haskell-transformers.install18
-rw-r--r--testing/haskell-zlib/PKGBUILD40
-rw-r--r--testing/haskell-zlib/haskell-zlib.install18
27 files changed, 1025 insertions, 0 deletions
diff --git a/testing/cabal-install/PKGBUILD b/testing/cabal-install/PKGBUILD
new file mode 100644
index 000000000..30bffb560
--- /dev/null
+++ b/testing/cabal-install/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+pkgname=cabal-install
+pkgver=0.14.0
+pkgrel=2
+pkgdesc="The command-line interface for Cabal and Hackage."
+url="http://hackage.haskell.org/package/cabal-install"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=('haskell-http=4000.2.3-1' 'haskell-zlib=0.5.3.3-4' 'haskell-mtl=2.1.1-1' 'haskell-network=2.3.0.14-1' 'haskell-random=1.0.1.1-2')
+depends=('ghc' 'gmp' 'zlib')
+source=(http://hackage.haskell.org/packages/archive/cabal-install/$pkgver/cabal-install-$pkgver.tar.gz)
+md5sums=('638514bd1a5792d75866481852148ae5')
+
+build() {
+ cd cabal-install-${pkgver}
+ runhaskell Setup configure --enable-shared --enable-split-objs --enable-executable-stripping --prefix=/usr
+ runhaskell Setup build
+}
+
+package() {
+ cd cabal-install-${pkgver}
+ runhaskell Setup copy --destdir=$pkgdir
+
+ # rm license installed to wrong location
+ rm -rf ${pkgdir}/usr/share/doc
+
+ install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+
+ # add bash completion
+ install -d ${pkgdir}/usr/share/bash-completion/completions
+ install -m644 bash-completion/cabal \
+ ${pkgdir}/usr/share/bash-completion/completions
+}
diff --git a/testing/dbus-core/PKGBUILD b/testing/dbus-core/PKGBUILD
new file mode 100644
index 000000000..4bb1ebcd6
--- /dev/null
+++ b/testing/dbus-core/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 161496 2012-06-12 00:28:40Z dreisner $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Link Dupont <link@subpop.net>
+#
+pkgname=dbus-core
+pkgver=1.6.0
+pkgrel=2
+pkgdesc="Freedesktop.org message bus system"
+url="http://www.freedesktop.org/Software/dbus"
+arch=(i686 x86_64)
+license=('GPL' 'custom')
+depends=('expat>=2.0.1' 'coreutils' 'filesystem' 'libsystemd' 'shadow') # shadow for install scriptlet FS#29341
+makedepends=('libx11')
+conflicts=('dbus<1.2.3-2')
+options=(!libtool)
+install=dbus.install
+source=(http://dbus.freedesktop.org/releases/dbus/dbus-${pkgver}.tar.gz{,.asc}
+ dbus)
+md5sums=('16dcae2dd0c76e398381601ac9acdec4'
+ '0ebde9920bde83fe26ce32351a7d8954'
+ '3675334f5b4442d1c3e9a008f176e85f')
+
+build() {
+ cd "${srcdir}/dbus-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
+ --with-system-pid-file=/run/dbus/pid \
+ --with-system-socket=/run/dbus/system_bus_socket \
+ --enable-inotify --disable-dnotify \
+ --disable-verbose-mode --disable-static \
+ --disable-tests --disable-asserts \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system \
+ --enable-systemd
+ make
+}
+
+package(){
+ cd "${srcdir}/dbus-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ rm -f "${pkgdir}/usr/bin/dbus-launch"
+ rm -f "${pkgdir}/usr/share/man/man1/dbus-launch.1"
+ rm -rf "${pkgdir}/var/run"
+
+ install -m755 -d "${pkgdir}/etc/rc.d"
+ install -m755 "${srcdir}/dbus" "${pkgdir}/etc/rc.d/"
+
+ #Fix configuration file
+ sed -i -e 's|<user>81</user>|<user>dbus</user>|' "${pkgdir}/etc/dbus-1/system.conf"
+
+ install -dm755 "${pkgdir}/usr/share/licenses/dbus-core"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/dbus-core/"
+}
diff --git a/testing/dbus-core/dbus b/testing/dbus-core/dbus
new file mode 100644
index 000000000..2c4ca87ec
--- /dev/null
+++ b/testing/dbus-core/dbus
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case $1 in
+ start)
+ stat_busy "Starting D-BUS system messagebus"
+ if [[ ! -d /run/dbus ]] ; then
+ install -m755 -g 81 -o 81 -d /run/dbus
+ fi
+ if [[ -x /usr/bin/dbus-uuidgen ]] ; then
+ /usr/bin/dbus-uuidgen --ensure
+ fi
+
+ if ! dbus-daemon --system; then
+ stat_fail
+ else
+ add_daemon dbus
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping D-BUS system messagebus"
+ if ! { [[ -f /run/dbus/pid ]] && kill $(</run/dbus/pid); }; then
+ stat_fail
+ else
+ rm -f /run/dbus/pid
+ rm_daemon dbus
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ reload)
+ stat_busy "Reloading D-BUS configuration"
+ if ! { [[ -f /run/dbus/pid ]] && dbus-send \
+ --system --type=method_call \
+ --dest=org.freedesktop.DBus \
+ / org.freedesktop.DBus.ReloadConfig; }; then
+ stat_fail
+ else
+ stat_done
+ fi
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|reload}"
+ ;;
+esac
+exit 0
diff --git a/testing/dbus-core/dbus.install b/testing/dbus-core/dbus.install
new file mode 100644
index 000000000..44f4475ee
--- /dev/null
+++ b/testing/dbus-core/dbus.install
@@ -0,0 +1,24 @@
+post_install() {
+ getent group dbus >/dev/null || usr/sbin/groupadd -g 81 dbus
+ getent passwd dbus >/dev/null || usr/sbin/useradd -c 'System message bus' -u 81 -g dbus -d '/' -s /bin/false dbus
+ usr/bin/passwd -l dbus &>/dev/null
+ dbus-uuidgen --ensure
+}
+
+post_upgrade() {
+ post_install
+
+ #Make sure new rc script can shutdown running dbus
+ if [ -f var/run/dbus/pid ]; then
+ mv var/run/dbus/pid var/run/dbus.pid
+ fi
+}
+
+post_remove() {
+ if getent passwd dbus >/dev/null; then
+ usr/sbin/userdel dbus
+ fi
+ if getent group dbus >/dev/null; then
+ usr/sbin/groupdel dbus
+ fi
+}
diff --git a/testing/dbus/30-dbus b/testing/dbus/30-dbus
new file mode 100644
index 000000000..69d2660da
--- /dev/null
+++ b/testing/dbus/30-dbus
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# launches a session dbus instance
+
+dbuslaunch="`which dbus-launch 2>/dev/null`"
+if [ -n "$dbuslaunch" ] && [ -x "$dbuslaunch" ] && [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
+ eval `$dbuslaunch --sh-syntax --exit-with-session`
+fi
diff --git a/testing/dbus/PKGBUILD b/testing/dbus/PKGBUILD
new file mode 100644
index 000000000..393cfd99c
--- /dev/null
+++ b/testing/dbus/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 161482 2012-06-11 19:40:12Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Link Dupont <link@subpop.net>
+#
+pkgname=dbus
+pkgver=1.6.0
+pkgrel=1
+pkgdesc="Freedesktop.org message bus system"
+url="http://www.freedesktop.org/Software/dbus"
+arch=(i686 x86_64)
+license=('GPL' 'custom')
+depends=("dbus-core>=${pkgver}" 'libx11')
+source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.asc}
+ 30-dbus)
+md5sums=('16dcae2dd0c76e398381601ac9acdec4'
+ '0ebde9920bde83fe26ce32351a7d8954'
+ '9fafe8b28460aeaa6054309ef4c5ed92')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
+ --with-system-pid-file=/var/run/dbus.pid \
+ --disable-verbose-mode --disable-static \
+ --enable-inotify --disable-dnotify \
+ --disable-tests --disable-asserts
+ make -C tools dbus-launch
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -m755 -d "${pkgdir}/usr/bin"
+ install -m755 -d "${pkgdir}/usr/share/man/man1"
+ install -m755 tools/dbus-launch "${pkgdir}/usr/bin/"
+ install -m644 doc/dbus-launch.1 "${pkgdir}/usr/share/man/man1/"
+
+ install -m755 -d "${pkgdir}/etc/X11/xinit/xinitrc.d"
+ install -m755 "${srcdir}/30-dbus" "${pkgdir}/etc/X11/xinit/xinitrc.d/"
+
+ install -d -m755 "${pkgdir}/usr/share/licenses/dbus"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/dbus/"
+}
diff --git a/testing/ghc/PKGBUILD b/testing/ghc/PKGBUILD
new file mode 100644
index 000000000..d433daf32
--- /dev/null
+++ b/testing/ghc/PKGBUILD
@@ -0,0 +1,120 @@
+# $Id: PKGBUILD 161441 2012-06-11 17:22:19Z tdziedzic $
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# 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.
+
+pkgname=ghc
+pkgver=7.4.2
+pkgrel=1
+pkgdesc='The Glasgow Haskell Compiler'
+arch=('i686' 'x86_64')
+url='http://www.haskell.org/ghc/'
+license=('custom')
+# libffi might be needed in the future: http://hackage.haskell.org/trac/ghc/ticket/4496
+depends=('perl' 'gmp>=5.0' 'gcc') # 'libffi')
+makedepends=('ghc' 'perl' 'libxslt' 'docbook-xsl')
+checkdepends=('python2')
+install='ghc.install'
+# keep this otherwise a lot of tests will show as unexpected failures... need to investigate why using -jn for n > 1 does this...
+options=('!makeflags')
+# missing rtl?
+provides=('haskell-array=0.4.0.0'
+ 'haskell-base=4.5.1.0'
+ 'haskell-binary=0.5.1.0'
+ 'haskell-bin-package-db=0.0.0.0'
+ 'haskell-bytestring=0.9.2.1'
+ 'haskell-containers=0.4.2.1'
+ 'haskell-deepseq=1.3.0.0'
+ 'haskell-directory=1.1.0.2'
+ 'haskell-extensible-exceptions=0.1.1.4'
+ 'haskell-filepath=1.3.0.0'
+ 'haskell-ghc-prim=0.2.0.0'
+ 'haskell-haskell2010=1.1.0.1'
+ 'haskell-haskell98=2.0.0.1'
+ 'haskell-hoopl=3.8.7.3'
+ 'haskell-hpc=0.5.1.1'
+ 'haskell-integer-gmp=0.4.0.0'
+ 'haskell-old-locale=1.0.0.4'
+ 'haskell-old-time=1.1.0.0'
+ 'haskell-pretty=1.1.1.0'
+ 'haskell-process=1.1.0.1'
+ 'haskell-template-haskell=2.7.0.0'
+ 'haskell-time=1.4'
+ 'haskell-unix=2.5.1.1'
+ 'haskell-cabal=1.14.0'
+ )
+replaces=('haskell-array<0.4.0.0'
+ 'haskell-base<4.5.1.0'
+ 'haskell-binary<0.5.1.0'
+ 'haskell-bin-package-db<0.0.0.0'
+ 'haskell-bytestring<0.9.2.1'
+ 'haskell-containers<0.4.2.1'
+ 'haskell-deepseq<1.3.0.0'
+ 'haskell-directory<1.1.0.2'
+ 'haskell-extensible-exceptions<0.1.1.4'
+ 'haskell-filepath<1.3.0.0'
+ 'haskell-ghc-prim<0.2.0.0'
+ 'haskell-haskell2010<1.1.0.1'
+ 'haskell-haskell98<2.0.0.1'
+ 'haskell-hoopl<3.8.7.3'
+ 'haskell-hpc<0.5.1.1'
+ 'haskell-integer-gmp<0.4.0.0'
+ 'haskell-old-locale<1.0.0.4'
+ 'haskell-old-time<1.1.0.0'
+ 'haskell-pretty<1.1.1.0'
+ 'haskell-process<1.1.0.1'
+ 'haskell-template-haskell<2.7.0.0'
+ 'haskell-time<1.4'
+ 'haskell-unix<2.5.1.1'
+ 'haskell-cabal<1.14.0'
+ )
+source=("http://www.haskell.org/ghc/dist/${pkgver}/ghc-${pkgver}-src.tar.bz2"
+ "http://www.haskell.org/ghc/dist/${pkgver}/ghc-${pkgver}-testsuite.tar.bz2"
+ 'build.mk'
+ 'silence-gen_contents_index.diff')
+md5sums=('267462db5c5a7c245fb26361b77007c4'
+ '528005749c761fe6c12a0079bd84fb90'
+ '88ad4108c26f56fc38466d82aaf9a295'
+ '2ac480d025b706fc47acc58c54b246bb')
+
+build() {
+ cd ghc-${pkgver}
+
+ # Silence gen_contents_index for the common case.
+ # http://hackage.haskell.org/trac/ghc/ticket/5992
+ patch -Np1 -i ${srcdir}/silence-gen_contents_index.diff
+
+ cp ${srcdir}/build.mk mk/build.mk
+
+ ./configure \
+ --prefix=/usr
+
+ make
+}
+
+check() {
+ cd ghc-${pkgver}
+
+ # python2 rename
+ sed -e 's/PYTHON = python/&2/' -i testsuite/mk/boilerplate.mk
+ sed -e 's_#!/usr/bin/env python_&2_' -i testsuite/timeout/calibrate testsuite/timeout/timeout.py
+
+ # note: there is one test failure on i686 only: http://hackage.haskell.org/trac/ghc/ticket/5856
+ #make THREADS=9 test
+ make test
+ # might be some failures
+ #make fulltest
+}
+
+package() {
+ cd ghc-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ install -d ${pkgdir}/usr/share/licenses/ghc
+ install -m644 LICENSE \
+ ${pkgdir}/usr/share/licenses/ghc
+}
diff --git a/testing/ghc/build.mk b/testing/ghc/build.mk
new file mode 100644
index 000000000..73645a957
--- /dev/null
+++ b/testing/ghc/build.mk
@@ -0,0 +1,175 @@
+# -----------------------------------------------------------------------------
+# A Sample build.mk
+#
+# Uncomment one of the following BuildFlavour settings to get the desired
+# overall build type, and then tweak the options in the relevant section
+# below.
+
+# Uncomment one of these to select a build profile below:
+
+# Full build with max optimisation and everything enabled (very slow build)
+BuildFlavour = perf
+
+# Fast build with optimised libraries, no profiling (RECOMMENDED):
+#BuildFlavour = quick
+
+# Even faster build. NOT RECOMMENDED: the libraries will be
+# completely unoptimised, so any code built with this compiler
+# (including stage2) will run very slowly:
+#BuildFlavour = quickest
+
+# Profile the stage2 compiler:
+#BuildFlavour = prof
+
+# A development build, working on the stage 1 compiler:
+#BuildFlavour = devel1
+
+# A development build, working on the stage 2 compiler:
+#BuildFlavour = devel2
+
+# An unregisterised, optimised build of ghc, for porting:
+#BuildFlavour = unreg
+
+GhcLibWays = v
+
+# -------- 1. A Performance/Distribution build--------------------------------
+
+ifeq "$(BuildFlavour)" "perf"
+
+# perf matches the default settings, repeated here for comparison:
+
+SRC_HC_OPTS = -O -H64m
+GhcStage1HcOpts = -O -fasm
+GhcStage2HcOpts = -O2 -fasm
+GhcHcOpts = -Rghc-timing
+GhcLibHcOpts = -O2
+GhcLibWays += p
+
+ifeq "$(PlatformSupportsSharedLibs)" "YES"
+GhcLibWays += dyn
+endif
+
+endif
+
+# -------- A Fast build ------------------------------------------------------
+
+ifeq "$(BuildFlavour)" "quickest"
+
+SRC_HC_OPTS = -H64m -O0 -fasm
+GhcStage1HcOpts = -O -fasm
+GhcStage2HcOpts = -O0 -fasm
+GhcLibHcOpts = -O0 -fasm
+SplitObjs = NO
+HADDOCK_DOCS = NO
+BUILD_DOCBOOK_HTML = NO
+BUILD_DOCBOOK_PS = NO
+BUILD_DOCBOOK_PDF = NO
+
+endif
+
+# -------- A Fast build with optimised libs ----------------------------------
+
+ifeq "$(BuildFlavour)" "quick"
+
+SRC_HC_OPTS = -H64m -O0 -fasm
+GhcStage1HcOpts = -O -fasm
+GhcStage2HcOpts = -O0 -fasm
+GhcLibHcOpts = -O -fasm
+SplitObjs = NO
+HADDOCK_DOCS = NO
+BUILD_DOCBOOK_HTML = NO
+BUILD_DOCBOOK_PS = NO
+BUILD_DOCBOOK_PDF = NO
+
+endif
+
+# -------- Profile the stage2 compiler ---------------------------------------
+
+ifeq "$(BuildFlavour)" "prof"
+
+SRC_HC_OPTS = -H64m -O0 -fasm
+GhcStage1HcOpts = -O -fasm
+GhcStage2HcOpts = -O -fasm
+GhcLibHcOpts = -O -fasm
+
+GhcLibWays += p
+GhcProfiled = YES
+
+SplitObjs = NO
+HADDOCK_DOCS = NO
+BUILD_DOCBOOK_HTML = NO
+BUILD_DOCBOOK_PS = NO
+BUILD_DOCBOOK_PDF = NO
+
+endif
+
+
+# -------- A Development build (stage 1) -------------------------------------
+
+ifeq "$(BuildFlavour)" "devel1"
+
+SRC_HC_OPTS = -H64m -O -fasm
+GhcLibHcOpts = -O -dcore-lint
+GhcStage1HcOpts = -Rghc-timing -O0 -DDEBUG
+GhcStage2HcOpts = -Rghc-timing -O -fasm
+SplitObjs = NO
+HADDOCK_DOCS = NO
+BUILD_DOCBOOK_HTML = NO
+BUILD_DOCBOOK_PS = NO
+BUILD_DOCBOOK_PDF = NO
+LAX_DEPENDENCIES = YES
+
+endif
+
+# -------- A Development build (stage 2) -------------------------------------
+
+ifeq "$(BuildFlavour)" "devel2"
+
+SRC_HC_OPTS = -H64m -O -fasm
+GhcLibHcOpts = -O -dcore-lint
+GhcStage1HcOpts = -Rghc-timing -O -fasm
+GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG
+SplitObjs = NO
+HADDOCK_DOCS = NO
+BUILD_DOCBOOK_HTML = NO
+BUILD_DOCBOOK_PS = NO
+BUILD_DOCBOOK_PDF = NO
+LAX_DEPENDENCIES = YES
+
+# After stage 1 and the libraries have been built, you can uncomment this line:
+
+# stage=2
+
+# Then stage 1 will not be touched by the build system, until
+# you comment the line again. This is a useful trick for when you're
+# working on stage 2 and want to freeze stage 1 and the libraries for
+# a while.
+
+endif
+
+# -------- A Unregisterised build) -------------------------------------------
+
+ifeq "$(BuildFlavour)" "unreg"
+
+GhcUnregisterised = YES
+GhcWithNativeCodeGen = NO
+
+SRC_HC_OPTS = -O -H64m
+GhcStage1HcOpts = -O
+GhcStage2HcOpts = -O2
+GhcHcOpts = -Rghc-timing
+GhcLibHcOpts = -O2
+SplitObjs = NO
+HADDOCK_DOCS = NO
+BUILD_DOCBOOK_HTML = NO
+BUILD_DOCBOOK_PS = NO
+BUILD_DOCBOOK_PDF = NO
+
+endif
+
+# -----------------------------------------------------------------------------
+# Other settings that might be useful
+
+# NoFib settings
+NoFibWays =
+STRIP_CMD = :
diff --git a/testing/ghc/ghc.install b/testing/ghc/ghc.install
new file mode 100644
index 000000000..c0200e4a6
--- /dev/null
+++ b/testing/ghc/ghc.install
@@ -0,0 +1,10 @@
+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/ and ghc-pkg list --user for a tentative list of affected packages.'
+}
diff --git a/testing/ghc/print-provides-replaces.sh b/testing/ghc/print-provides-replaces.sh
new file mode 100755
index 000000000..33d1da051
--- /dev/null
+++ b/testing/ghc/print-provides-replaces.sh
@@ -0,0 +1,38 @@
+#!/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 pkg in $(ls ./*/*.cabal | awk -F '/' '{ print $2 }'); do
+ [[ ${exclude[${pkg}]} ]] && continue
+ version=$(awk 'tolower($0) ~ /^version:/ {print $2 }' $pkg/$pkg.cabal)
+ printf "'haskell-$pkg$2$version'\n "
+ done
+ # also add cabal
+ version=$(awk 'tolower($0) ~ /^version:/ { print $2 }' Cabal/Cabal/Cabal.cabal)
+ printf "'haskell-cabal$2$version'\n "
+ echo -e '\b)'
+}
+
+print_var 'provides' '='
+print_var 'replaces' '<'
diff --git a/testing/ghc/silence-gen_contents_index.diff b/testing/ghc/silence-gen_contents_index.diff
new file mode 100644
index 000000000..6d835f8fb
--- /dev/null
+++ b/testing/ghc/silence-gen_contents_index.diff
@@ -0,0 +1,10 @@
+--- ghc-7.4.2/libraries/gen_contents_index.original 2012-06-10 22:23:28.810059378 +0000
++++ ghc-7.4.2/libraries/gen_contents_index 2012-06-10 22:24:00.289814576 +0000
+@@ -47,7 +47,6 @@
+ esac
+
+ # Now create the combined contents and index pages
+-echo $HADDOCK_ARGS
+ $HADDOCK --gen-index --gen-contents -o . \
+ -t "Haskell Hierarchical Libraries" \
+ -p "prologue.txt" \
diff --git a/testing/haskell-http/PKGBUILD b/testing/haskell-http/PKGBUILD
new file mode 100644
index 000000000..fda58f3c9
--- /dev/null
+++ b/testing/haskell-http/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Package generated by cabal2arch 0.7.6
+
+_hkgname=HTTP
+pkgname=haskell-http
+pkgver=4000.2.3
+pkgrel=1
+pkgdesc="A library for client-side HTTP"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.4.2-1' 'sh' 'haskell-network=2.3.0.14-1' 'haskell-parsec=3.1.2-2' 'haskell-mtl=2.1.1-1')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('872a1e49c3701c61c354f76716d4e3e7')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/testing/haskell-http/haskell-http.install b/testing/haskell-http/haskell-http.install
new file mode 100644
index 000000000..fdebb1cb8
--- /dev/null
+++ b/testing/haskell-http/haskell-http.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-http
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/testing/haskell-mtl/PKGBUILD b/testing/haskell-mtl/PKGBUILD
new file mode 100644
index 000000000..4b2f73533
--- /dev/null
+++ b/testing/haskell-mtl/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+_hkgname=mtl
+pkgname=haskell-mtl
+pkgver=2.1.1
+pkgrel=1
+pkgdesc="Monad transformer library"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.4.2-1' 'sh' 'haskell-transformers=0.3.0.0-1')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/$pkgver/${_hkgname}-$pkgver.tar.gz)
+install=${pkgname}.install
+md5sums=('0654be687f1492a2ff30cf6f3fb7eed0')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared --prefix=/usr \
+ --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/testing/haskell-mtl/haskell-mtl.install b/testing/haskell-mtl/haskell-mtl.install
new file mode 100644
index 000000000..9325811e8
--- /dev/null
+++ b/testing/haskell-mtl/haskell-mtl.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-mtl
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/testing/haskell-network/PKGBUILD b/testing/haskell-network/PKGBUILD
new file mode 100644
index 000000000..f3a3cc022
--- /dev/null
+++ b/testing/haskell-network/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Package generated by cabal2arch 0.7.6
+
+_hkgname=network
+pkgname=haskell-network
+pkgver=2.3.0.14
+pkgrel=1
+pkgdesc="Networking-related facilities"
+url="http://hackage.haskell.org/package/network"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.4.2-1' 'sh' 'haskell-parsec=3.1.2-2')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('1e45cc731647acff8b9c33bda085bf2a')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/testing/haskell-network/haskell-network.install b/testing/haskell-network/haskell-network.install
new file mode 100644
index 000000000..a56c31d0a
--- /dev/null
+++ b/testing/haskell-network/haskell-network.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-network
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/testing/haskell-parsec/PKGBUILD b/testing/haskell-parsec/PKGBUILD
new file mode 100644
index 000000000..2ab24a745
--- /dev/null
+++ b/testing/haskell-parsec/PKGBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# As generated by cabal2arch 0.7.6
+
+_hkgname=parsec
+pkgname=haskell-parsec
+pkgver=3.1.2
+pkgrel=2
+pkgdesc="Monadic parser combinators"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.4.2-1' 'sh' 'haskell-mtl=2.1.1-1' 'haskell-text=0.11.2.1-1')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('c2a75dfd247ae4839e2602b62dc87487')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared --prefix=/usr \
+ --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/testing/haskell-parsec/haskell-parsec.install b/testing/haskell-parsec/haskell-parsec.install
new file mode 100644
index 000000000..dfa0701b9
--- /dev/null
+++ b/testing/haskell-parsec/haskell-parsec.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-parsec
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/testing/haskell-random/PKGBUILD b/testing/haskell-random/PKGBUILD
new file mode 100644
index 000000000..56b110289
--- /dev/null
+++ b/testing/haskell-random/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+
+_hkgname=random
+pkgname=haskell-random
+pkgver=1.0.1.1
+pkgrel=2
+pkgdesc="A basic random number generation library"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.4.2-1' 'sh')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install=${pkgname}.install
+md5sums=('9a249cfa7ff6793cbf2be06e9fcd7538')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared --prefix=/usr \
+ --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
+
diff --git a/testing/haskell-random/haskell-random.install b/testing/haskell-random/haskell-random.install
new file mode 100644
index 000000000..b6d807e1a
--- /dev/null
+++ b/testing/haskell-random/haskell-random.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-random
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/testing/haskell-text/PKGBUILD b/testing/haskell-text/PKGBUILD
new file mode 100644
index 000000000..31811e339
--- /dev/null
+++ b/testing/haskell-text/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+
+_hkgname=text
+pkgname=haskell-text
+pkgver=0.11.2.1
+pkgrel=1
+pkgdesc="An efficient packed Unicode text type."
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.4.2-1' 'sh')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install=${pkgname}.install
+md5sums=('77245df79d10ed5f896a9d3f5b17ee74')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared --prefix=/usr \
+ --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/testing/haskell-text/haskell-text.install b/testing/haskell-text/haskell-text.install
new file mode 100644
index 000000000..620db3921
--- /dev/null
+++ b/testing/haskell-text/haskell-text.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-text
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/testing/haskell-transformers/PKGBUILD b/testing/haskell-transformers/PKGBUILD
new file mode 100644
index 000000000..c398b1590
--- /dev/null
+++ b/testing/haskell-transformers/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 161448 2012-06-11 17:22:54Z tdziedzic $
+
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Contributor: Rémy Oudompheng <remy@archlinux.org>
+
+_hkgname=transformers
+pkgname=haskell-transformers
+pkgver=0.3.0.0
+pkgrel=1
+pkgdesc="Concrete functor and monad transformers"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.4.2-1' 'sh')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/$pkgver/${_hkgname}-$pkgver.tar.gz")
+install=${pkgname}.install
+md5sums=('852dc0b79cc2bcb39136287d3dd385e5')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared --prefix=/usr \
+ --docdir=/usr/share/doc/${pkgname} --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/testing/haskell-transformers/haskell-transformers.install b/testing/haskell-transformers/haskell-transformers.install
new file mode 100644
index 000000000..eec2af6e1
--- /dev/null
+++ b/testing/haskell-transformers/haskell-transformers.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-transformers
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/testing/haskell-zlib/PKGBUILD b/testing/haskell-zlib/PKGBUILD
new file mode 100644
index 000000000..11767ab97
--- /dev/null
+++ b/testing/haskell-zlib/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Package originally generated by cabal2arch 0.7.6
+
+_hkgname=zlib
+pkgname=haskell-zlib
+pkgver=0.5.3.3
+pkgrel=4
+pkgdesc="Compression and decompression in the gzip and zlib formats"
+url="http://hackage.haskell.org/package/zlib"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+depends=('ghc=7.4.2-1' 'zlib' 'sh')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install=${pkgname}.install
+md5sums=('1649e56d13ce2c6a6a9210227401dbbc')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE
+}
diff --git a/testing/haskell-zlib/haskell-zlib.install b/testing/haskell-zlib/haskell-zlib.install
new file mode 100644
index 000000000..d387b7b65
--- /dev/null
+++ b/testing/haskell-zlib/haskell-zlib.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-zlib
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}