ports/142291: [new port]: haskell port devel/hs-mueval

Jacula Modyun jacula at gmail.com
Sun Jan 3 23:50:03 UTC 2010


>Number:         142291
>Category:       ports
>Synopsis:       [new port]: haskell port devel/hs-mueval
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 03 23:50:03 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Jacula Modyun
>Release:        FreeBSD 7.1-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD splork.wirewater.yow 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #0: Sat Oct 18 11:22:07 UTC 2008 root at splork.wirewater.yow:/usr/obj/usr/src/sys/JACULA i386


	
>Description:

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.

http://hackage.haskell.org/package/mueval

>How-To-Repeat:
	
>Fix:

	

--- hs-mueval.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	hs-mueval
#	hs-mueval/files
#	hs-mueval/files/patch-Mueval_Interpreter.hs
#	hs-mueval/Makefile
#	hs-mueval/distinfo
#	hs-mueval/pkg-plist
#	hs-mueval/pkg-descr
#	hs-mueval/pkg-message
#
echo c - hs-mueval
mkdir -p hs-mueval > /dev/null 2>&1
echo c - hs-mueval/files
mkdir -p hs-mueval/files > /dev/null 2>&1
echo x - hs-mueval/files/patch-Mueval_Interpreter.hs
sed 's/^X//' >hs-mueval/files/patch-Mueval_Interpreter.hs << '68cebed573c0c7bc9e7a3ea78a7c2545'
X--- Mueval/Interpreter.hs.orig	2009-12-26 10:51:26.000000000 +0000
X+++ Mueval/Interpreter.hs	2009-12-26 10:52:08.000000000 +0000
X@@ -120,9 +120,9 @@
X 
X -- | Renders the input String including its exceptions using @exceptionMsg@
X render :: (Control.Monad.Trans.MonadIO m) =>
X-          Int -> -- ^ max number of characters to include
X-          String -> -- ^ input
X-          m (String, Bool) -- ^ ( output, @True@ if we found an exception )
X+          Int -- ^ max number of characters to include
X+          -> String -- ^ input
X+          -> m (String, Bool) -- ^ ( output, @True@ if we found an exception )
X render i xs =
X     do (out,Any b) <- runWriterT $ render' i (toStream xs)
X        return (out,b)
68cebed573c0c7bc9e7a3ea78a7c2545
echo x - hs-mueval/Makefile
sed 's/^X//' >hs-mueval/Makefile << 'fd92f14cc181726e4357b69bdedca576'
X# New ports collection makefile for: hs-mueval
X# Date created:        December 20 2009
X# Whom:                Giuseppe Pilichi aka Jacula Modyun <jacula at gmail.com>
X#
X
XPORTNAME=	mueval
XPORTVERSION=	0.7.1
XCATEGORIES=	devel haskell
XMASTER_SITES=	http://hackage.haskell.org/packages/archive/${PORTNAME}/${PORTVERSION}/
XPKGNAMEPREFIX=	hs-
X
XMAINTAINER=	jacula at gmail.com
XCOMMENT=	Safely evaluate Haskell expressions
X
XBUILD_DEPENDS+=	ghc:${PORTSDIR}/lang/ghc \
X		hs-utf8-string-ghc>=0.3.6:${PORTSDIR}/devel/hs-utf8-string-ghc \
X		hs-show>=0.3:${PORTSDIR}/devel/hs-show \
X		hs-hint>=0.3.1:${PORTSDIR}/devel/hs-hint
XRUN_DEPENDS+=	ghc:${PORTSDIR}/lang/ghc \
X		hs-utf8-string-ghc>=0.3.6:${PORTSDIR}/devel/hs-utf8-string-ghc \
X		hs-show>=0.3:${PORTSDIR}/devel/hs-show \
X		hs-hint>=0.3.1:${PORTSDIR}/devel/hs-hint
XLIB_DEPENDS=	gmp.8:${PORTSDIR}/math/libgmp4
X
XGHC_VERSION=	6.10.4
XMUEVAL_VERSION=	${PORTVERSION}
X
XGHC_CMD=	${LOCALBASE}/bin/ghc
XSETUP_CMD=	./setup
X
XDATADIR=		${PREFIX}/share/${DISTNAME}
XDOCSDIR=		${PREFIX}/share/doc/${DISTNAME}
XMUEVAL_LIBDIR_REL=	lib/${DISTNAME}
X
XPLIST_SUB=	GHC_VERSION=${GHC_VERSION} \
X		MUEVAL_VERSION=${MUEVAL_VERSION} \
X		MUEVAL_LIBDIR_REL=${MUEVAL_LIBDIR_REL}
X
X.if defined(NOPORTDOCS)
XPLIST_SUB+=	NOPORTDOCS=""
X.else
XPLIST_SUB+=	NOPORTDOCS="@comment "
X.endif
X
X.if !defined(NOPORTDOCS)
X
XPORT_HADDOCK!=	(cd  ${.CURDIR}/../../lang/ghc && ${MAKE} -V PORT_HADDOCK)
X.if !empty(PORT_HADDOCK:M?0)
XBUILD_DEPENDS+=	haddock:${PORTSDIR}/devel/hs-haddock
X.endif
XBUILD_DEPENDS+=	HsColour:${PORTSDIR}/print/hs-hscolour
X
XHSCOLOUR_VERSION=	1.15
XHSCOLOUR_DATADIR=	${PREFIX}/share/hscolour-${HSCOLOUR_VERSION}
X
XPORTDOCS=	*
X.endif
X
X.SILENT:
X
Xdo-configure:
X	cd ${WRKSRC} && ${GHC_CMD} --make Setup.hs -o setup -package Cabal \
X		     && ${SETUP_CMD} configure --haddock-options=-w --prefix=${PREFIX}
X
Xdo-build:
X	cd ${WRKSRC} && ${SETUP_CMD} build \
X		     && ${SETUP_CMD} register --gen-script
X
X.if !defined(NOPORTDOCS)
X	cd ${WRKSRC} && ${SETUP_CMD} haddock --executables --hyperlink-source \
X					     --hscolour-css=${HSCOLOUR_DATADIR}/hscolour.css
X.endif
X
Xdo-install:
X	cd ${WRKSRC} && ${SETUP_CMD} install \
X		     && ${INSTALL_SCRIPT} register.sh ${PREFIX}/${MUEVAL_LIBDIR_REL}/register.sh
X
Xpost-install:
X	${RM} -f ${PREFIX}/lib/ghc-${GHC_VERSION}/package.conf.old
X	${ECHO_MSG} -e "\a"
X	${CAT} "${PKGMESSAGE}"
X	${ECHO_MSG} ""
X
X.include <bsd.port.mk>
fd92f14cc181726e4357b69bdedca576
echo x - hs-mueval/distinfo
sed 's/^X//' >hs-mueval/distinfo << '1d0bf537b04470be2d33f49f38d96707'
XMD5 (mueval-0.7.1.tar.gz) = 3e655a1d63468b961532c164a9b31227
XSHA256 (mueval-0.7.1.tar.gz) = 8e721e207cea5fdf58ac768d03a9a038845ca48a527da0f9538c370c2aac9f25
XSIZE (mueval-0.7.1.tar.gz) = 13597
1d0bf537b04470be2d33f49f38d96707
echo x - hs-mueval/pkg-plist
sed 's/^X//' >hs-mueval/pkg-plist << '0a02e172731ce0649fd747e83f7d2338'
Xbin/mueval
Xbin/mueval-core
X%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/HSmueval-%%MUEVAL_VERSION%%.o
X%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval/ArgsParse.hi
X%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval/Context.hi
X%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval/Interpreter.hi
X%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval/Parallel.hi
X%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval/Resources.hi
X%%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/libHSmueval-%%MUEVAL_VERSION%%.a
X%%MUEVAL_LIBDIR_REL%%/register.sh
X%%NOPORTDOCS%%%%DOCSDIR%%/LICENSE
X%%DATADIR%%/README
X at dirrmtry %%DATADIR%%
X%%NOPORTDOCS%%@dirrmtry %%DOCSDIR%%
X at dirrm %%MUEVAL_LIBDIR_REL%%/ghc-6.10.4/Mueval
X at dirrm %%MUEVAL_LIBDIR_REL%%/ghc-6.10.4
X at dirrm %%MUEVAL_LIBDIR_REL%%
X at exec /bin/sh %D/%%MUEVAL_LIBDIR_REL%%/register.sh
X at exec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old
X at unexec %D/bin/ghc-pkg unregister mueval
X at unexec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old
0a02e172731ce0649fd747e83f7d2338
echo x - hs-mueval/pkg-descr
sed 's/^X//' >hs-mueval/pkg-descr << 'bc0c263be145ecb04e77074c6201e84a'
XMueval is a Haskell interpreter. It uses the GHC API to evaluate
Xarbitrary Haskell expressions.
XImportantly, mueval takes many precautions to defang and avoid
X"evil" code. It uses resource limits, whitelisted modules, special
XShow instances for IO, threads, processes, changes of directory, and
Xso on to sandbox the Haskell code.
X
XIt is, in short, intended to be a standalone version of Lambdabot's
Xfamous evaluation functionality. For examples and explanations, please
Xsee the README file.
X
XMueval is POSIX-only.
X
XWWW: http://code.haskell.org/mubot/
bc0c263be145ecb04e77074c6201e84a
echo x - hs-mueval/pkg-message
sed 's/^X//' >hs-mueval/pkg-message << '2e360943e6c38d89ac16b6f5f1435304'
X=======================================================================
X WARNING: If you installed devel/hs-transformers, then before starting
X          "mueval" you have to:
X
X             - hide it with the command: 'ghc-pkg hide transformers'
X          or
X             - pass to "mueval" the option: '-n transformers'.
X=======================================================================
2e360943e6c38d89ac16b6f5f1435304
exit
--- hs-mueval.shar ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list