diff options
author | pgj <pgj@FreeBSD.org> | 2010-01-04 17:32:22 +0800 |
---|---|---|
committer | pgj <pgj@FreeBSD.org> | 2010-01-04 17:32:22 +0800 |
commit | 660283bc42952eb092b5529c82c535c5ec11db28 (patch) | |
tree | 3e7472aa2332bdb17924bb367a272ba5a83c7944 | |
parent | ed52b17518e19a18b735fc85419190f64e891da6 (diff) | |
download | freebsd-ports-gnome-660283bc42952eb092b5529c82c535c5ec11db28.tar.gz freebsd-ports-gnome-660283bc42952eb092b5529c82c535c5ec11db28.tar.zst freebsd-ports-gnome-660283bc42952eb092b5529c82c535c5ec11db28.zip |
This Haskell package contains code for generating high quality random
numbers that follow either a uniform or normal distribution. The
generated numbers are suitable for use in statistical applications.
The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
multiply-with-carry generator, which has a period of 2^8222 and
fares well in tests of randomness. It is also extremely fast,
between 2 and 3 times faster than the Mersenne Twister.
WWW: http://darcs.serpentine.com/mwc-random
PR: ports/142293
Submitted by: Jacula Modyun <jacula(at)gmail.com>
-rw-r--r-- | math/Makefile | 1 | ||||
-rw-r--r-- | math/hs-mwc-random/Makefile | 83 | ||||
-rw-r--r-- | math/hs-mwc-random/distinfo | 3 | ||||
-rw-r--r-- | math/hs-mwc-random/pkg-descr | 14 | ||||
-rw-r--r-- | math/hs-mwc-random/pkg-plist | 15 |
5 files changed, 116 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile index eee72a56acf5..4c1bf9eaee2d 100644 --- a/math/Makefile +++ b/math/Makefile @@ -116,6 +116,7 @@ SUBDIR += hs-Agda-executable SUBDIR += hs-category-extras SUBDIR += hs-erf + SUBDIR += hs-mwc-random SUBDIR += hs-probability SUBDIR += igraph SUBDIR += isabelle diff --git a/math/hs-mwc-random/Makefile b/math/hs-mwc-random/Makefile new file mode 100644 index 000000000000..ea414a5e9dec --- /dev/null +++ b/math/hs-mwc-random/Makefile @@ -0,0 +1,83 @@ +# New ports collection makefile for: hs-mwc-random +# Date created: January 03 2010 +# Whom: Giuseppe Pilichi aka Jacula Modyun <jacula@gmail.com> +# +# $FreeBSD$ +# + +PORTNAME= mwc-random +PORTVERSION= 0.4.1.1 +CATEGORIES= math haskell +MASTER_SITES= http://hackage.haskell.org/packages/archive/${PORTNAME}/${PORTVERSION}/ +PKGNAMEPREFIX= hs- + +MAINTAINER= jacula@gmail.com +COMMENT= Fast, high quality pseudo random number generation in Haskell + +BUILD_DEPENDS+= ghc:${PORTSDIR}/lang/ghc \ + hs-uvector>=0.1.0.4:${PORTSDIR}/devel/hs-uvector +RUN_DEPENDS+= ghc:${PORTSDIR}/lang/ghc \ + hs-uvector>=0.1.0.4:${PORTSDIR}/devel/hs-uvector + +GHC_VERSION= 6.10.4 +MWCRANDOM_VERSION= ${PORTVERSION} + +GHC_CMD= ${LOCALBASE}/bin/ghc +SETUP_CMD= ./setup + +DATADIR= ${PREFIX}/share/${DISTNAME} +PORTDATA= * + +DOCSDIR= ${PREFIX}/share/doc/${DISTNAME} +MWCRANDOM_LIBDIR_REL= lib/${DISTNAME} + +PLIST_SUB= GHC_VERSION=${GHC_VERSION} \ + MWCRANDOM_VERSION=${MWCRANDOM_VERSION} \ + MWCRANDOM_LIBDIR_REL=${MWCRANDOM_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.lhs -o setup -package Cabal \ + && ${SETUP_CMD} configure --haddock-options=-w --prefix=${PREFIX} + +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}/${MWCRANDOM_LIBDIR_REL}/register.sh +.if !defined(NOPORTDATA) + ${MKDIR} ${DATADIR} && ${INSTALL_DATA} ${WRKSRC}/README ${DATADIR} +.endif + +post-install: + ${RM} -f ${PREFIX}/lib/ghc-${GHC_VERSION}/package.conf.old + +.include <bsd.port.mk> diff --git a/math/hs-mwc-random/distinfo b/math/hs-mwc-random/distinfo new file mode 100644 index 000000000000..64fd0a85259c --- /dev/null +++ b/math/hs-mwc-random/distinfo @@ -0,0 +1,3 @@ +MD5 (mwc-random-0.4.1.1.tar.gz) = 42b26d5edcd06c8c58d825ba16d3d5ac +SHA256 (mwc-random-0.4.1.1.tar.gz) = b11c072adb14a59251e8b26afb4a56cade83df5433797078eda7fd86bc7d3951 +SIZE (mwc-random-0.4.1.1.tar.gz) = 8792 diff --git a/math/hs-mwc-random/pkg-descr b/math/hs-mwc-random/pkg-descr new file mode 100644 index 000000000000..1e0d4f5c6cc8 --- /dev/null +++ b/math/hs-mwc-random/pkg-descr @@ -0,0 +1,14 @@ +This Haskell package contains code for generating high quality random +numbers that follow either a uniform or normal distribution. The +generated numbers are suitable for use in statistical applications. + +The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222) +multiply-with-carry generator, which has a period of 2^8222 and +fares well in tests of randomness. It is also extremely fast, +between 2 and 3 times faster than the Mersenne Twister. + +Compared to the mersenne-random package, this package has a more +convenient API, is faster, and supports more statistical +distributions. + +WWW: http://darcs.serpentine.com/mwc-random diff --git a/math/hs-mwc-random/pkg-plist b/math/hs-mwc-random/pkg-plist new file mode 100644 index 000000000000..7cc8ed45ae35 --- /dev/null +++ b/math/hs-mwc-random/pkg-plist @@ -0,0 +1,15 @@ +@comment $FreeBSD$ +%%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/HSmwc-random-%%MWCRANDOM_VERSION%%.o +%%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/System/Random/MWC.hi +%%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/libHSmwc-random-%%MWCRANDOM_VERSION%%.a +%%MWCRANDOM_LIBDIR_REL%%/register.sh +%%NOPORTDOCS%%%%DOCSDIR%%/LICENSE +%%NOPORTDOCS%%@dirrmtry %%DOCSDIR%% +@dirrm %%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/System/Random +@dirrm %%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/System +@dirrm %%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%% +@dirrm %%MWCRANDOM_LIBDIR_REL%% +@exec /bin/sh %D/%%MWCRANDOM_LIBDIR_REL%%/register.sh +@exec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old +@unexec %D/bin/ghc-pkg unregister mwc-random +@unexec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old |