diff --git a/devel/Makefile b/devel/Makefile index 9d72a1e0b9e5..e4b623a4cf67 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -554,6 +554,7 @@ SUBDIR += hs-pcre-light-ghc SUBDIR += hs-readline SUBDIR += hs-safe + SUBDIR += hs-smallcheck SUBDIR += hs-uniplate SUBDIR += hs-utf8-string-ghc SUBDIR += hs-uuagc diff --git a/devel/hs-smallcheck/Makefile b/devel/hs-smallcheck/Makefile new file mode 100644 index 000000000000..ce61407d3d25 --- /dev/null +++ b/devel/hs-smallcheck/Makefile @@ -0,0 +1,89 @@ +# New ports collection makefile for: hs-smallcheck +# Date created: December 20 2009 +# Whom: Giuseppe Pilichi aka Jacula Modyun <jacula@gmail.com> +# +# $FreeBSD$ +# + +PORTNAME= smallcheck +PORTVERSION= 0.4 +CATEGORIES= devel haskell +MASTER_SITES= http://hackage.haskell.org/packages/archive/${PORTNAME}/${PORTVERSION}/ +PKGNAMEPREFIX= hs- + +MAINTAINER= jacula@gmail.com +COMMENT= Another lightweight testing library in Haskell + +BUILD_DEPENDS+= ghc:${PORTSDIR}/lang/ghc +RUN_DEPENDS+= ghc:${PORTSDIR}/lang/ghc + +GHC_VERSION= 6.10.4 +SMALLCHECK_VERSION= ${PORTVERSION} + +GHC_CMD= ${LOCALBASE}/bin/ghc +SETUP_CMD= ./setup + +EXAMPLESDIR= ${PREFIX}/share/examples/${DISTNAME} +PORTEXAMPLES= * + +DATADIR= ${PREFIX}/share/${DISTNAME} +PORTDATA= * + +DOCSDIR= ${PREFIX}/share/doc/${DISTNAME} +SMALLCHECK_LIBDIR_REL= lib/${DISTNAME} + +PLIST_SUB= GHC_VERSION=${GHC_VERSION} \ + SMALLCHECK_VERSION=${SMALLCHECK_VERSION} \ + SMALLCHECK_LIBDIR_REL=${SMALLCHECK_LIBDIR_REL} + +.if defined(NOPORTDOCS) +PLIST_SUB+= NOPORTDOCS="" +.else +PLIST_SUB+= NOPORTDOCS="@comment " +.endif + +.if !defined(NOPORTDOCS) + +PORT_HADDOCK!= (cd ${.CURDIR}/../../lang/ghc && ${MAKE} -V PORT_HADDOCK) +.if !empty(PORT_HADDOCK:M?0) +BUILD_DEPENDS+= haddock:${PORTSDIR}/devel/hs-haddock +.endif +BUILD_DEPENDS+= HsColour:${PORTSDIR}/print/hs-hscolour + +HSCOLOUR_VERSION= 1.15 +HSCOLOUR_DATADIR= ${PREFIX}/share/hscolour-${HSCOLOUR_VERSION} + +PORTDOCS= * +.endif + +.SILENT: + +do-configure: + cd ${WRKSRC} && ${GHC_CMD} --make Setup.hs -o setup -package Cabal +.if !defined(NOPORTDATA) + cd ${WRKSRC} && ${SETUP_CMD} configure --haddock-options=-w --prefix=${PREFIX} +.else + cd ${WRKSRC} && ${SETUP_CMD} configure --haddock-options=-w --prefix=${PREFIX} \ + --datadir='' --datasubdir='' --docdir='${DOCSDIR}' +.endif + +do-build: + cd ${WRKSRC} && ${SETUP_CMD} build \ + && ${SETUP_CMD} register --gen-script + +.if !defined(NOPORTDOCS) + cd ${WRKSRC} && ${SETUP_CMD} haddock --hyperlink-source \ + --hscolour-css=${HSCOLOUR_DATADIR}/hscolour.css +.endif + +do-install: + cd ${WRKSRC} && ${SETUP_CMD} install \ + && ${INSTALL_SCRIPT} register.sh ${PREFIX}/${SMALLCHECK_LIBDIR_REL}/register.sh +.if !defined(NOPORTEXAMPLES) + ${MKDIR} ${EXAMPLESDIR} && cd ${WRKSRC}/examples && ${COPYTREE_SHARE} \* ${EXAMPLESDIR} +.endif + +post-install: + ${RM} -f ${PREFIX}/lib/ghc-${GHC_VERSION}/package.conf.old + +.include <bsd.port.mk> diff --git a/devel/hs-smallcheck/distinfo b/devel/hs-smallcheck/distinfo new file mode 100644 index 000000000000..195ff6801e80 --- /dev/null +++ b/devel/hs-smallcheck/distinfo @@ -0,0 +1,3 @@ +MD5 (smallcheck-0.4.tar.gz) = dbb3e22742e5ef5f00ec9a5328408936 +SHA256 (smallcheck-0.4.tar.gz) = aa86853b3c480fb3d13115823a7b70126c136ed4913261cd7c354f35aa1c015b +SIZE (smallcheck-0.4.tar.gz) = 21543 diff --git a/devel/hs-smallcheck/files/patch-smallcheck.cabal b/devel/hs-smallcheck/files/patch-smallcheck.cabal new file mode 100644 index 000000000000..ed435b3bde14 --- /dev/null +++ b/devel/hs-smallcheck/files/patch-smallcheck.cabal @@ -0,0 +1,29 @@ +--- smallcheck.cabal.orig 2009-12-25 17:11:58.000000000 +0000 ++++ smallcheck.cabal 2009-12-25 17:17:57.000000000 +0000 +@@ -16,17 +16,19 @@ + Build-Depends: base, haskell98 + Build-Type: Simple + +-Extra-source-files: examples/numeric/NumProps.hs, examples/logical/LogicProps.hs, ++Extra-source-files: examples/numeric/NumProps.hs, examples/numeric/README, ++ examples/logical/LogicProps.hs, examples/logical/README, + examples/imperative/Interpreter.hs, examples/imperative/Syntax.hs, + examples/imperative/Machine.hs, examples/imperative/Behaviour.hs, + examples/imperative/Properties.hs, examples/imperative/Value.hs, + examples/imperative/StackMap.hs, examples/imperative/Compiler.hs, +- examples/listy/ListProps.hs, examples/regular/Regular.hs, +- examples/circuits/BitAdd.hs, examples/circuits/Mux.hs, examples/circuits/Sad.hs, +- examples/binarytries/BinaryTries.hs ++ examples/imperative/README, examples/listy/ListProps.hs, ++ examples/listy/README, examples/regular/Regular.hs, ++ examples/regular/README, examples/circuits/BitAdd.hs, ++ examples/circuits/Mux.hs, examples/circuits/Sad.hs, ++ examples/circuits/README, examples/binarytries/BinaryTries.hs, ++ examples/binarytries/README + +-Data-files: examples/numeric/README, examples/logical/README, examples/imperative/README, +- examples/listy/README, examples/regular/README, examples/circuits/README, +- examples/binarytries/README, README ++Data-files: README + + Exposed-modules: Test.SmallCheck diff --git a/devel/hs-smallcheck/pkg-descr b/devel/hs-smallcheck/pkg-descr new file mode 100644 index 000000000000..e321eb4c0b3a --- /dev/null +++ b/devel/hs-smallcheck/pkg-descr @@ -0,0 +1,6 @@ +SmallCheck is similar to QuickCheck (Claessen and Hughes 2000-) but +instead of testing for a sample of randomly generated values, SmallCheck +tests properties for all the finitely many values up to some depth, +progressively increasing the depth used. + +WWW: http://hackage.haskell.org/package/smallcheck diff --git a/devel/hs-smallcheck/pkg-plist b/devel/hs-smallcheck/pkg-plist new file mode 100644 index 000000000000..5df1123c4525 --- /dev/null +++ b/devel/hs-smallcheck/pkg-plist @@ -0,0 +1,14 @@ +@comment $FreeBSD$ +%%SMALLCHECK_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/HSsmallcheck-%%SMALLCHECK_VERSION%%.o +%%SMALLCHECK_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/Test/SmallCheck.hi +%%SMALLCHECK_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/libHSsmallcheck-%%SMALLCHECK_VERSION%%.a +%%SMALLCHECK_LIBDIR_REL%%/register.sh +%%NOPORTDOCS%%%%DOCSDIR%%/LICENSE +%%NOPORTDOCS%%@dirrmtry %%DOCSDIR%% +@dirrm %%SMALLCHECK_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/Test +@dirrm %%SMALLCHECK_LIBDIR_REL%%/ghc-%%GHC_VERSION%% +@dirrm %%SMALLCHECK_LIBDIR_REL%% +@exec /bin/sh %D/%%SMALLCHECK_LIBDIR_REL%%/register.sh +@exec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old +@unexec %D/bin/ghc-pkg unregister smallcheck +@unexec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old