[package-plan] 02/03: Import mueval patches

Joachim Breitner nomeata at moszumanska.debian.org
Sun Jun 12 12:10:34 UTC 2016


This is an automated email from the git hooks/post-receive script.

nomeata pushed a commit to branch master
in repository package-plan.

commit 52fb6a065a3735b75ccaa363c07e32b562cc693b
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Sun Jun 12 13:57:39 2016 +0200

    Import mueval patches
---
 additional-cabals/mueval-0.9.1.1.2.cabal | 51 ++++++++++++++++++++++++
 packages.txt                             |  2 +-
 patches/mueval/0.9.1.1.2/newer-hint      | 68 ++++++++++++++++++++++++++++++++
 patches/mueval/0.9.1.1.2/series          |  1 +
 4 files changed, 121 insertions(+), 1 deletion(-)

diff --git a/additional-cabals/mueval-0.9.1.1.2.cabal b/additional-cabals/mueval-0.9.1.1.2.cabal
new file mode 100644
index 0000000..815ba71
--- /dev/null
+++ b/additional-cabals/mueval-0.9.1.1.2.cabal
@@ -0,0 +1,51 @@
+name:                mueval
+version:             0.9.1.1.2
+
+license:             BSD3
+license-file:        LICENSE
+author:              Gwern
+maintainer:          Gwern <gwern at gwern.net>
+
+category:            Development, Language
+synopsis:            Safely evaluate pure Haskell expressions
+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 and Safe Haskell,
+                     special Show instances for IO, threads, processes, and changes of directory
+                     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.
+homepage:            https://github.com/gwern/mueval
+
+build-type:          Simple
+cabal-version:       >= 1.6
+tested-with:         GHC==6.10.1
+
+data-files:          README.md, HCAR.tex
+extra-source-files:  build.sh, tests.sh
+
+library
+        exposed-modules:     Mueval.Parallel, Mueval.Context, Mueval.Interpreter,
+                             Mueval.ArgsParse, Mueval.Resources
+        build-depends:       base>=4 && < 5, containers, directory, mtl>2, filepath, unix, process,
+                             hint>=0.3.1, show>=0.3, Cabal, extensible-exceptions, simple-reflect,
+                             QuickCheck
+        ghc-options:         -Wall -static
+
+executable mueval-core
+           main-is:       main.hs
+           build-depends: base
+           ghc-options:   -Wall -static -threaded
+
+executable mueval
+           main-is:       watchdog.hs
+           build-depends: base
+           ghc-options:   -Wall -static -threaded
+
+source-repository head
+  type:     git
+  location: git://github.com/gwern/mueval.git
diff --git a/packages.txt b/packages.txt
index ef8d0bf..160637a 100644
--- a/packages.txt
+++ b/packages.txt
@@ -490,7 +490,7 @@ mountpoints 1.0.2
 mtl 2.2.1
 mtl-compat 0.2.1.3 avoid
 mtlparse 0.1.4.0
-mueval 0.9.1.1.2 key obsolete # we should keep this or lambdabot, LTS6TODO
+mueval 0.9.1.1.2 key
 multipart 0.1.2
 MusicBrainz 0.2.4
 mutable-containers 0.3.2.1
diff --git a/patches/mueval/0.9.1.1.2/newer-hint b/patches/mueval/0.9.1.1.2/newer-hint
new file mode 100644
index 0000000..cfad319
--- /dev/null
+++ b/patches/mueval/0.9.1.1.2/newer-hint
@@ -0,0 +1,68 @@
+--- a/Mueval/Interpreter.hs
++++ b/Mueval/Interpreter.hs
+@@ -18,11 +18,12 @@
+ import           Data.List
+ 
+ import           Language.Haskell.Interpreter (eval, set, reset, setImportsQ, loadModules, liftIO,
+-                                     installedModulesInScope, languageExtensions,
+-                                     typeOf, setTopLevelModules, runInterpreter, glasgowExtensions,
++                                     installedModulesInScope, languageExtensions, availableExtensions,
++                                     typeOf, setTopLevelModules, runInterpreter,
+                                      OptionVal(..), Interpreter,
+                                      InterpreterError(..),GhcError(..),
+                                      Extension(UnknownExtension))
++import           Language.Haskell.Interpreter.Extension (asExtension)
+ import           Language.Haskell.Interpreter.Unsafe (unsafeSetGhcOption)
+ 
+ import           Mueval.ArgsParse (Options(..))
+@@ -177,3 +178,39 @@
+                 \(E.SomeException e) -> return . Exception . toStream . show $ e
+     where uncons [] = End
+           uncons (x:xs) = x `seq` Cons x (toStream xs)
++
++glasgowExtensions :: [Extension]
++glasgowExtensions = intersect availableExtensions exts612
++    where exts612 = map asExtension ["PrintExplicitForalls",
++                                     "ForeignFunctionInterface",
++                                     "UnliftedFFITypes",
++                                     "GADTs",
++                                     "ImplicitParams",
++                                     "ScopedTypeVariables",
++                                     "UnboxedTuples",
++                                     "TypeSynonymInstances",
++                                     "StandaloneDeriving",
++                                     "DeriveDataTypeable",
++                                     "FlexibleContexts",
++                                     "FlexibleInstances",
++                                     "ConstrainedClassMethods",
++                                     "MultiParamTypeClasses",
++                                     "FunctionalDependencies",
++                                     "MagicHash",
++                                     "PolymorphicComponents",
++                                     "ExistentialQuantification",
++                                     "UnicodeSyntax",
++                                     "PostfixOperators",
++                                     "PatternGuards",
++                                     "LiberalTypeSynonyms",
++                                     "ExplicitForAll",
++                                     "RankNTypes",
++                                     "ImpredicativeTypes",
++                                     "TypeOperators",
++                                     "RecursiveDo",
++                                     "DoRec",
++                                     "ParallelListComp",
++                                     "EmptyDataDecls",
++                                     "KindSignatures",
++                                     "GeneralizedNewtypeDeriving",
++                                     "TypeFamilies" ]
+--- a/mueval.cabal
++++ b/mueval.cabal
+@@ -32,7 +32,7 @@
+         exposed-modules:     Mueval.Parallel, Mueval.Context, Mueval.Interpreter,
+                              Mueval.ArgsParse, Mueval.Resources
+         build-depends:       base>=4 && < 5, containers, directory, mtl>2, filepath, unix, process,
+-                             hint>=0.3.1, show>=0.3, Cabal, extensible-exceptions, simple-reflect,
++                             hint>=0.5.0, show>=0.3, Cabal, extensible-exceptions, simple-reflect,
+                              QuickCheck
+         ghc-options:         -Wall -static
+ 
diff --git a/patches/mueval/0.9.1.1.2/series b/patches/mueval/0.9.1.1.2/series
new file mode 100644
index 0000000..008f5a8
--- /dev/null
+++ b/patches/mueval/0.9.1.1.2/series
@@ -0,0 +1 @@
+newer-hint

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-haskell/package-plan.git



More information about the Pkg-haskell-commits mailing list