aboutsummaryrefslogtreecommitdiff
path: root/math/hs-mwc-random/Makefile
diff options
context:
space:
mode:
authorGabor Pali <pgj@FreeBSD.org>2010-01-04 09:32:22 +0000
committerGabor Pali <pgj@FreeBSD.org>2010-01-04 09:32:22 +0000
commitaf23ae58e7be28a56ff953237b102635c12fb92b (patch)
treee01a6834c618b66413e5905de1307e235a743d15 /math/hs-mwc-random/Makefile
parent67b15ca0bfda28f2b85856e6c0ca2c19bff00e2c (diff)
downloadports-af23ae58e7be28a56ff953237b102635c12fb92b.tar.gz
ports-af23ae58e7be28a56ff953237b102635c12fb92b.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>
Notes
Notes: svn path=/head/; revision=247119
Diffstat (limited to 'math/hs-mwc-random/Makefile')
-rw-r--r--math/hs-mwc-random/Makefile83
1 files changed, 83 insertions, 0 deletions
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>