development/haskell-test-framework: Added (Haskell test framework)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Mikko Värri 2011-03-03 10:44:40 -06:00 committed by Robby Workman
parent 5b923a66eb
commit eb5882c876
6 changed files with 158 additions and 0 deletions

View File

@ -0,0 +1,12 @@
Allows tests such as QuickCheck properties and HUnit test cases to
be assembled into test groups, run in parallel (but reported in
deterministic order, to aid diff interpretation) and filtered and
controlled by command line options. All of this comes with colored
test output, progress reporting and test statistics output.
This requires ghc, haskell-ansi-terminal, haskell-hostname,
haskell-transformers, haskell-xml, haskell-ansi-wl-pprint,
haskell-mtl, haskell-regex-base, and haskell-regex-posix.
After uninstalling, run this command to unregister the package from
the ghc package database: ghc-pkg recache

View File

@ -0,0 +1 @@
chroot . /usr/bin/ghc-pkg recache

View File

@ -0,0 +1,94 @@
#!/bin/sh
# Slackware build script for test-framework
# Written by Mikko Värri (vmj@linuxbox.fi)
# Public domain.
PRGNAM=haskell-test-framework
VERSION=${VERSION:-0.3.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
SRCNAM="$( echo $PRGNAM | cut -d- -f2- )"
GHC_VERSION=$(ghc --numeric-version)
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Enable "-dynamic" GHC options for the binary, not for the libs
patch -p0 <$CWD/test-framework_cabal.patch
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
runghc Setup.lhs configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--libsubdir=ghc-${GHC_VERSION}/$SRCNAM-$VERSION \
--enable-shared \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--flags="Dynamic"
runghc Setup.lhs build
runghc Setup.lhs haddock
runghc Setup.lhs copy --destdir=$PKG
runghc Setup.lhs register --gen-pkg-config
PKGCONFD=/usr/lib${LIBDIRSUFFIX}/ghc-${GHC_VERSION}/package.conf.d
PKGID=$( grep -E "^id: " $SRCNAM-$VERSION.conf | cut -d" " -f2 )
mkdir -p $PKG/$PKGCONFD
mv $SRCNAM-$VERSION.conf $PKG/$PKGCONFD/$PKGID.conf
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,10 @@
PRGNAM="haskell-test-framework"
VERSION="0.3.3"
HOMEPAGE="http://hackage.haskell.org/package/test-framework"
DOWNLOAD="http://hackage.haskell.org/packages/archive/test-framework/0.3.3/test-framework-0.3.3.tar.gz"
MD5SUM="b0a2486739bdc90638828faa5c846d32"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Mikko Värri"
EMAIL="vmj@linuxbox.fi"
APPROVED="rworkman"

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
haskell-test-framework: haskell-test-framework (Framework for running and organising tests)
haskell-test-framework:
haskell-test-framework: Allows tests such as QuickCheck properties and HUnit test cases to
haskell-test-framework: be assembled into test groups, run in parallel (but reported in
haskell-test-framework: deterministic order, to aid diff interpretation) and filtered and
haskell-test-framework: controlled by command line options. All of this comes with colored
haskell-test-framework: test output, progress reporting and test statistics output.
haskell-test-framework:
haskell-test-framework:
haskell-test-framework:
haskell-test-framework:

View File

@ -0,0 +1,22 @@
--- test-framework.cabal.orig 2011-02-04 03:59:59.000000000 +0200
+++ test-framework.cabal 2011-02-04 04:01:17.000000000 +0200
@@ -21,6 +21,10 @@
Description: Build the tests
Default: False
+Flag Dynamic
+ Description: Link executable dynamically
+ Default: False
+
Library
Exposed-Modules: Test.Framework
@@ -102,6 +106,8 @@
Cpp-Options: -DTEST
Ghc-Options: -Wall -threaded
+ if flag(Dynamic)
+ Ghc-Options: -dynamic
if impl(ghc)
Cpp-Options: -DCOMPILER_GHC