diff options
author | Gabor Pali <pgj@FreeBSD.org> | 2010-01-04 08:54:14 +0000 |
---|---|---|
committer | Gabor Pali <pgj@FreeBSD.org> | 2010-01-04 08:54:14 +0000 |
commit | 8c6db534155e6f577a6bb9382f8116a8e4c4c922 (patch) | |
tree | 6b9f5d35e3e719501045fbf39acb43af582f7dc1 /devel/hs-mueval | |
parent | 67657f142886a09e3bafd4be383da7c71b1eb30a (diff) | |
download | ports-8c6db534155e6f577a6bb9382f8116a8e4c4c922.tar.gz ports-8c6db534155e6f577a6bb9382f8116a8e4c4c922.zip |
Notes
Diffstat (limited to 'devel/hs-mueval')
-rw-r--r-- | devel/hs-mueval/Makefile | 93 | ||||
-rw-r--r-- | devel/hs-mueval/distinfo | 3 | ||||
-rw-r--r-- | devel/hs-mueval/files/patch-Mueval_Interpreter.hs | 15 | ||||
-rw-r--r-- | devel/hs-mueval/pkg-descr | 15 | ||||
-rw-r--r-- | devel/hs-mueval/pkg-message | 8 | ||||
-rw-r--r-- | devel/hs-mueval/pkg-plist | 20 |
6 files changed, 154 insertions, 0 deletions
diff --git a/devel/hs-mueval/Makefile b/devel/hs-mueval/Makefile new file mode 100644 index 000000000000..52f807368759 --- /dev/null +++ b/devel/hs-mueval/Makefile @@ -0,0 +1,93 @@ +# New ports collection makefile for: hs-mueval +# Date created: December 20 2009 +# Whom: Giuseppe Pilichi aka Jacula Modyun <jacula@gmail.com> +# +# $FreeBSD$ +# + +PORTNAME= mueval +PORTVERSION= 0.7.1 +CATEGORIES= devel haskell +MASTER_SITES= http://hackage.haskell.org/packages/archive/${PORTNAME}/${PORTVERSION}/ +PKGNAMEPREFIX= hs- + +MAINTAINER= jacula@gmail.com +COMMENT= Safely evaluate Haskell expressions + +BUILD_DEPENDS+= ghc:${PORTSDIR}/lang/ghc \ + hs-utf8-string-ghc>=0.3:${PORTSDIR}/devel/hs-utf8-string-ghc \ + hs-show>=0.3:${PORTSDIR}/devel/hs-show \ + hs-hint>=0.3.1:${PORTSDIR}/devel/hs-hint +RUN_DEPENDS+= ghc:${PORTSDIR}/lang/ghc \ + hs-utf8-string-ghc>=0.3:${PORTSDIR}/devel/hs-utf8-string-ghc \ + hs-show>=0.3:${PORTSDIR}/devel/hs-show \ + hs-hint>=0.3.1:${PORTSDIR}/devel/hs-hint +LIB_DEPENDS= gmp.8:${PORTSDIR}/math/libgmp4 + +GHC_VERSION= 6.10.4 +MUEVAL_VERSION= ${PORTVERSION} + +GHC_CMD= ${LOCALBASE}/bin/ghc +SETUP_CMD= ./setup + +DATADIR= ${PREFIX}/share/${DISTNAME} +PORTDATA= * + +DOCSDIR= ${PREFIX}/share/doc/${DISTNAME} +MUEVAL_LIBDIR_REL= lib/${DISTNAME} + +PLIST_SUB= GHC_VERSION=${GHC_VERSION} \ + MUEVAL_VERSION=${MUEVAL_VERSION} \ + MUEVAL_LIBDIR_REL=${MUEVAL_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 --executables --hyperlink-source \ + --hscolour-css=${HSCOLOUR_DATADIR}/hscolour.css +.endif + +do-install: + cd ${WRKSRC} && ${SETUP_CMD} install \ + && ${INSTALL_SCRIPT} register.sh ${PREFIX}/${MUEVAL_LIBDIR_REL}/register.sh + +post-install: + ${RM} -f ${PREFIX}/lib/ghc-${GHC_VERSION}/package.conf.old + ${ECHO_MSG} -e "\a" + ${CAT} "${PKGMESSAGE}" + ${ECHO_MSG} "" + +.include <bsd.port.mk> diff --git a/devel/hs-mueval/distinfo b/devel/hs-mueval/distinfo new file mode 100644 index 000000000000..71d37836f038 --- /dev/null +++ b/devel/hs-mueval/distinfo @@ -0,0 +1,3 @@ +MD5 (mueval-0.7.1.tar.gz) = 3e655a1d63468b961532c164a9b31227 +SHA256 (mueval-0.7.1.tar.gz) = 8e721e207cea5fdf58ac768d03a9a038845ca48a527da0f9538c370c2aac9f25 +SIZE (mueval-0.7.1.tar.gz) = 13597 diff --git a/devel/hs-mueval/files/patch-Mueval_Interpreter.hs b/devel/hs-mueval/files/patch-Mueval_Interpreter.hs new file mode 100644 index 000000000000..8e72073cc670 --- /dev/null +++ b/devel/hs-mueval/files/patch-Mueval_Interpreter.hs @@ -0,0 +1,15 @@ +--- Mueval/Interpreter.hs.orig 2009-12-26 10:51:26.000000000 +0000 ++++ Mueval/Interpreter.hs 2009-12-26 10:52:08.000000000 +0000 +@@ -120,9 +120,9 @@ + + -- | Renders the input String including its exceptions using @exceptionMsg@ + render :: (Control.Monad.Trans.MonadIO m) => +- Int -> -- ^ max number of characters to include +- String -> -- ^ input +- m (String, Bool) -- ^ ( output, @True@ if we found an exception ) ++ Int -- ^ max number of characters to include ++ -> String -- ^ input ++ -> m (String, Bool) -- ^ ( output, @True@ if we found an exception ) + render i xs = + do (out,Any b) <- runWriterT $ render' i (toStream xs) + return (out,b) diff --git a/devel/hs-mueval/pkg-descr b/devel/hs-mueval/pkg-descr new file mode 100644 index 000000000000..0733f6109464 --- /dev/null +++ b/devel/hs-mueval/pkg-descr @@ -0,0 +1,15 @@ +Mueval is a Haskell interpreter. It uses the GHC API to evaluate +arbitrary Haskell expressions. + +Importantly, mueval takes many precautions to defang and avoid +"evil" code. It uses resource limits, whitelisted modules, special +Show instances for IO, threads, processes, changes of directory, and +so on to sandbox the Haskell code. + +It is, in short, intended to be a standalone version of Lambdabot's +famous evaluation functionality. For examples and explanations, please +see the README file. + +Mueval is POSIX-only. + +WWW: http://code.haskell.org/mubot/ diff --git a/devel/hs-mueval/pkg-message b/devel/hs-mueval/pkg-message new file mode 100644 index 000000000000..6fbb11db5505 --- /dev/null +++ b/devel/hs-mueval/pkg-message @@ -0,0 +1,8 @@ +======================================================================= + WARNING: If you installed devel/hs-transformers, then before starting + "mueval" you have to: + + - hide it with the command: 'ghc-pkg hide transformers' + or + - pass to "mueval" the option: '-n transformers'. +======================================================================= diff --git a/devel/hs-mueval/pkg-plist b/devel/hs-mueval/pkg-plist new file mode 100644 index 000000000000..3aaf55a1a25a --- /dev/null +++ b/devel/hs-mueval/pkg-plist @@ -0,0 +1,20 @@ +@comment $FreeBSD$ +bin/mueval +bin/mueval-core +%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/HSmueval-%%MUEVAL_VERSION%%.o +%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval/ArgsParse.hi +%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval/Context.hi +%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval/Interpreter.hi +%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval/Parallel.hi +%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval/Resources.hi +%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/libHSmueval-%%MUEVAL_VERSION%%.a +%%MUEVAL_LIBDIR_REL%%/register.sh +%%NOPORTDOCS%%%%DOCSDIR%%/LICENSE +%%NOPORTDOCS%%@dirrmtry %%DOCSDIR%% +@dirrm %%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval +@dirrm %%MUEVAL_LIBDIR_REL%%/ghc-6.10.4 +@dirrm %%MUEVAL_LIBDIR_REL%% +@exec /bin/sh %D/%%MUEVAL_LIBDIR_REL%%/register.sh +@exec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old +@unexec %D/bin/ghc-pkg unregister mueval +@unexec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old |