summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-06-12 13:47:46 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-06-12 13:47:46 -0700
commit954801a9a8251580ed9e867cae83e5b573784e40 (patch)
tree7b815bd194d369a90c672f5145ad79b54481f3e2 /pkgs/development/haskell-modules
parent85ae0cb070628bcb98e63e6166fd6f52045f385a (diff)
parent5ee75e236c0cf758ed6b1188e10448acfcbc93b4 (diff)
downloadnixlib-954801a9a8251580ed9e867cae83e5b573784e40.tar
nixlib-954801a9a8251580ed9e867cae83e5b573784e40.tar.gz
nixlib-954801a9a8251580ed9e867cae83e5b573784e40.tar.bz2
nixlib-954801a9a8251580ed9e867cae83e5b573784e40.tar.lz
nixlib-954801a9a8251580ed9e867cae83e5b573784e40.tar.xz
nixlib-954801a9a8251580ed9e867cae83e5b573784e40.tar.zst
nixlib-954801a9a8251580ed9e867cae83e5b573784e40.zip
Merge branch 'master.upstream' into staging.upstream
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix27
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix5
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix315
-rw-r--r--pkgs/development/haskell-modules/mueval-fix.patch90
4 files changed, 384 insertions, 53 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 8ee927f6fb88..52a0e29c7d46 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -119,6 +119,22 @@ self: super: {
   # Help libconfig find it's C language counterpart.
   libconfig = (dontCheck super.libconfig).override { config = pkgs.libconfig; };
 
+  hmatrix = overrideCabal super.hmatrix (drv: {
+    configureFlags = (drv.configureFlags or []) ++ [ "-fopenblas" ];
+    extraLibraries = [ pkgs.openblasCompat ];
+    preConfigure = ''
+      sed -i hmatrix.cabal -e 's@/usr/lib/openblas/lib@${pkgs.openblasCompat}/lib@'
+    '';
+  });
+
+  bindings-levmar = overrideCabal super.bindings-levmar (drv: {
+    preConfigure = ''
+      sed -i bindings-levmar.cabal \
+          -e 's,extra-libraries: lapack blas,extra-libraries: openblas,'
+    '';
+    extraLibraries = [ pkgs.openblas ];
+  });
+
   # The Haddock phase fails for one reason or another.
   attoparsec-conduit = dontHaddock super.attoparsec-conduit;
   base-noprelude = dontHaddock super.base-noprelude;
@@ -293,6 +309,7 @@ self: super: {
   amqp-conduit = dontCheck super.amqp-conduit;
   bitcoin-api = dontCheck super.bitcoin-api;
   bitcoin-api-extra = dontCheck super.bitcoin-api-extra;
+  bitx-bitcoin = dontCheck super.bitx-bitcoin;          # http://hydra.cryp.to/build/926187/log/raw
   concurrent-dns-cache = dontCheck super.concurrent-dns-cache;
   dbus = dontCheck super.dbus;                          # http://hydra.cryp.to/build/498404/log/raw
   hadoop-rpc = dontCheck super.hadoop-rpc;              # http://hydra.cryp.to/build/527461/nixlog/2/raw
@@ -305,6 +322,7 @@ self: super: {
   marmalade-upload = dontCheck super.marmalade-upload;  # http://hydra.cryp.to/build/501904/nixlog/1/raw
   network-transport-tcp = dontCheck super.network-transport-tcp;
   network-transport-zeromq = dontCheck super.network-transport-zeromq; # https://github.com/tweag/network-transport-zeromq/issues/30
+  pipes-mongodb = dontCheck super.pipes-mongodb;        # http://hydra.cryp.to/build/926195/log/raw
   raven-haskell = dontCheck super.raven-haskell;        # http://hydra.cryp.to/build/502053/log/raw
   riak = dontCheck super.riak;                          # http://hydra.cryp.to/build/498763/log/raw
   scotty-binding-play = dontCheck super.scotty-binding-play;
@@ -758,7 +776,7 @@ self: super: {
   dyre = appendPatch super.dyre ./dyre-nix.patch;
 
   # https://github.com/gwern/mueval/issues/9
-  mueval = markBrokenVersion "0.9.1.1" super.mueval;
+  mueval = appendPatch (appendPatch super.mueval ./mueval-fix.patch) ./mueval-nix.patch;
 
   # Test suite won't compile against tasty-hunit 0.9.x.
   zlib = dontCheck super.zlib;
@@ -847,4 +865,11 @@ self: super: {
   # Avoid spurious test suite failures.
   fft = dontCheck super.fft;
 
+  # This package can't be built on non-Windows systems.
+  Win32 = overrideCabal super.Win32 (drv: { broken = !pkgs.stdenv.isCygwin; });
+  inline-c-win32 = dontDistribute super.inline-c-win32;
+
+  # Doesn't work with recent versions of mtl.
+  cron-compat = markBroken super.cron-compat;
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
index 335b133f555a..28c74f619255 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
@@ -116,11 +116,6 @@ self: super: {
   # https://github.com/kazu-yamamoto/unix-time/issues/30
   unix-time = dontCheck super.unix-time;
 
-  # Until the changes have been pushed to Hackage
-  mueval = appendPatch super.mueval (pkgs.fetchpatch {
-    url = "https://github.com/gwern/mueval/commit/c41aa40ed63b74c069d1e4e3caa8c8d890cde960.patch";
-    sha256 = "0h1lx4z15imq009k0qmwkn5l3hmigw463ahvwffdnszi2n618kpg";
-  });
   present = appendPatch super.present (pkgs.fetchpatch {
     url = "https://github.com/chrisdone/present/commit/6a61f099bf01e2127d0c68f1abe438cd3eaa15f7.patch";
     sha256 = "1vn3xm38v2f4lzyzkadvq322f3s2yf8c88v56wpdpzfxmvlzaqr8";
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index d29bddf0c398..4794ec73879f 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -10657,9 +10657,9 @@ self: {
      }:
      mkDerivation {
        pname = "Neks";
-       version = "0.3.0.0";
-       sha256 = "1nqww81d9hdm4d2kgv5k4vhp3wavlpa39vym4x7bddcxg1g5drmv";
-       isLibrary = false;
+       version = "0.4.0.0";
+       sha256 = "0xi5d9wvk2xzsn500d61b6mmvwd36fs2n92l5qy4hzhww5lmkrrb";
+       isLibrary = true;
        isExecutable = true;
        buildDepends = [
          base bytestring cereal containers directory hashable messagepack
@@ -14442,6 +14442,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "TestExplode" = callPackage
+    ({ mkDerivation, base, containers, directory, fgl, graphviz
+     , interpolatedstring-perl6, mtl, process, text
+     }:
+     mkDerivation {
+       pname = "TestExplode";
+       version = "0.1.0.0";
+       sha256 = "0r4nwzwdila9p05g5y99rp06dbh1k2yl5jsc6yn6dwvxkvvdjcs1";
+       buildDepends = [
+         base containers directory fgl graphviz interpolatedstring-perl6 mtl
+         process text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/testexplode/testexplode";
+       description = "Generates testcases from program-snippets";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "Theora" = callPackage
     ({ mkDerivation, base, ogg, theora }:
      mkDerivation {
@@ -25018,6 +25036,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bindings-potrace" = callPackage
+    ({ mkDerivation, base, bindings-DSL, potrace }:
+     mkDerivation {
+       pname = "bindings-potrace";
+       version = "0.1";
+       sha256 = "0vb889f49li0lwy3zsji0f1cwzriizh9x6kg3r8676q5j08p7znd";
+       buildDepends = [ base bindings-DSL ];
+       extraLibraries = [ potrace ];
+       homepage = "https://github.com/rwbarton/bindings-potrace";
+       description = "Low-level bindings to the potrace bitmap tracing library";
+       license = stdenv.lib.licenses.gpl2;
+     }) { inherit (pkgs) potrace;};
+
   "bindings-ppdev" = callPackage
     ({ mkDerivation, base, bindings-DSL, ioctl }:
      mkDerivation {
@@ -25797,18 +25828,19 @@ self: {
      }) {};
 
   "bitx-bitcoin" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, Decimal, hspec
-     , http-conduit, network, record, split, text, time
+    ({ mkDerivation, aeson, base, bytestring, hspec, http-conduit
+     , network, record, scientific, split, text, time
      }:
      mkDerivation {
        pname = "bitx-bitcoin";
-       version = "0.1.0.0";
-       sha256 = "05k2cwkd9y327c75fhjqwyxhwrwxhalsx724xa0ng5dw3d30icc2";
+       version = "0.2.0.0";
+       sha256 = "1n0hp16rpddm74q2rfldga7vpvvsqfn099qdp8qd5pqh8swkmwq8";
        buildDepends = [
-         aeson base bytestring Decimal http-conduit network record split
+         aeson base bytestring http-conduit network record scientific split
          text time
        ];
        testDepends = [ aeson base bytestring hspec record time ];
+       homepage = "https://github.com/tebello-thejane/bitx-haskell";
        description = "A Haskell library for working with the BitX bitcoin exchange";
        license = stdenv.lib.licenses.publicDomain;
      }) {};
@@ -30565,31 +30597,29 @@ self: {
 
   "chatter" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, containers
-     , deepseq, directory, filepath, fullstop, ghc-prim, HUnit, mbox
-     , MonadRandom, parsec, QuickCheck, quickcheck-instances
-     , random-shuffle, regex-base, regex-tdfa, regex-tdfa-text, safe
-     , split, test-framework, test-framework-hunit
+     , deepseq, directory, filepath, fullstop, HUnit, mbox, MonadRandom
+     , parsec, QuickCheck, quickcheck-instances, random-shuffle
+     , regex-tdfa, regex-tdfa-text, test-framework, test-framework-hunit
      , test-framework-quickcheck2, test-framework-skip, text, tokenize
      , transformers, zlib
      }:
      mkDerivation {
        pname = "chatter";
-       version = "0.5.0.1";
-       sha256 = "0saavfnxd6l6w3ybvdmi14ia06ssc4lndb0ba8hhyqb3qzz7l7zs";
+       version = "0.5.0.2";
+       sha256 = "1nbdc4np4hmvnsh1rfpldi2j1wm1klmfm9szi2kz9fa8g8n3kxxl";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
          array base bytestring cereal containers deepseq directory filepath
-         fullstop ghc-prim mbox MonadRandom parsec QuickCheck
-         quickcheck-instances random-shuffle regex-base regex-tdfa
-         regex-tdfa-text safe split text tokenize transformers zlib
+         fullstop mbox MonadRandom parsec QuickCheck quickcheck-instances
+         random-shuffle regex-tdfa regex-tdfa-text text tokenize
+         transformers zlib
        ];
        testDepends = [
          base cereal containers filepath HUnit parsec QuickCheck
          quickcheck-instances test-framework test-framework-hunit
          test-framework-quickcheck2 test-framework-skip text tokenize
        ];
-       jailbreak = true;
        homepage = "http://github.com/creswick/chatter";
        description = "A library of simple NLP algorithms";
        license = stdenv.lib.licenses.bsd3;
@@ -32800,8 +32830,8 @@ self: {
      }:
      mkDerivation {
        pname = "coinbase-exchange";
-       version = "0.1.0.0";
-       sha256 = "0l09gjn0lk7v51s1gw52p0m9i8amhci93qpi98p1r1nlxx09xj3v";
+       version = "0.2.0.0";
+       sha256 = "1x9cgdj38z1zhrx464rj3qhh8rxqs98mfpqfsnn5yill037p1ig8";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -32815,7 +32845,6 @@ self: {
          base bytestring http-client-tls http-conduit old-locale tasty
          tasty-hunit tasty-quickcheck tasty-th time transformers uuid
        ];
-       jailbreak = true;
        description = "Connector library for the coinbase exchange";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -43508,8 +43537,8 @@ self: {
      }:
      mkDerivation {
        pname = "dsh-sql";
-       version = "0.2.0.1";
-       sha256 = "0vr9wsad74735py2i2kqwqi4phf49ksw3d4w89jlcgi6xpsc02s1";
+       version = "0.2.0.2";
+       sha256 = "00r1wbgbkpnza1jjd14vqr4hwgfkhnz7yivkx4bla5frfdlv5q58";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -44398,8 +44427,8 @@ self: {
     ({ mkDerivation, base, edenmodules, parallel }:
      mkDerivation {
        pname = "edenskel";
-       version = "2.0.0.2";
-       sha256 = "0dkvbdy04w4zbbc3q11hzzg3h5d8azka11yiiz3rvy1nkhp9wv5l";
+       version = "2.1.0.0";
+       sha256 = "1bf5zw1x4f6a801ig2b8b84kbnmp0asn804gkm18v9fjcchz3j9q";
        buildDepends = [ base edenmodules parallel ];
        description = "Semi-explicit parallel programming skeleton library";
        license = stdenv.lib.licenses.bsd3;
@@ -47805,6 +47834,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fay-geoposition" = callPackage
+    ({ mkDerivation, fay-base, fay-text }:
+     mkDerivation {
+       pname = "fay-geoposition";
+       version = "0.1.0.1";
+       sha256 = "1qmkwfqgvj6a8fan1l3i18ggpl00vrfd2mhqj13g0gh9yhvgxv1q";
+       buildDepends = [ fay-base fay-text ];
+       homepage = "https://github.com/victoredwardocallaghan/fay-geoposition";
+       description = "W3C compliant implementation of GeoPosition API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fay-hsx" = callPackage
     ({ mkDerivation, fay-base, fay-jquery }:
      mkDerivation {
@@ -52808,6 +52849,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ghc-simple" = callPackage
+    ({ mkDerivation, base, data-default, ghc, ghc-paths }:
+     mkDerivation {
+       pname = "ghc-simple";
+       version = "0.1.0.0";
+       sha256 = "0a8xla80al1glxpf0dsbzdgwbzwxmk9cr6xwfmmz237q7dv4pjhf";
+       buildDepends = [ base data-default ghc ghc-paths ];
+       homepage = "https://github.com/valderman/ghc-simple";
+       description = "Simplified interface to the GHC API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "ghc-srcspan-plugin" = callPackage
     ({ mkDerivation, array, base, containers, ghc, hpc }:
      mkDerivation {
@@ -52996,8 +53049,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcid";
-       version = "0.4";
-       sha256 = "0z54444ygxc3irnqjkd9cdzg2b6df9d87lkkazj1cl2qy1x5kbv0";
+       version = "0.4.2";
+       sha256 = "094ffwwlxg7qgrcgw35rmzincfrwyhxkh6iw9bqdib5l8w9gcr6d";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -74970,6 +75023,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inline-c-win32" = callPackage
+    ({ mkDerivation, base, containers, inline-c, template-haskell
+     , Win32
+     }:
+     mkDerivation {
+       pname = "inline-c-win32";
+       version = "0.1";
+       sha256 = "14255dn7smmm1rpnjifn7gn2amcncnf3j45ah22bblyb4h27iikm";
+       buildDepends = [ base containers inline-c template-haskell Win32 ];
+       homepage = "https://github.com/anton-dessiatov/inline-c-win32";
+       description = "Win32 API Context for the inline-c library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "inquire" = callPackage
     ({ mkDerivation, aether, base, text }:
      mkDerivation {
@@ -75598,6 +75665,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ip-quoter" = callPackage
+    ({ mkDerivation, base, network, split, tasty, tasty-hunit
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "ip-quoter";
+       version = "1.0.0.0";
+       revision = "1";
+       sha256 = "1idi03f6l9nwnsfp2mvkxz4sgwqlpa8ag3h5drb3i4hwgx0mkhfg";
+       editedCabalFile = "5cd6b449c4acd24b27d27a839acdab85f65b5556dd7bc8be115b7e2f6dc5df11";
+       buildDepends = [ base network split template-haskell ];
+       testDepends = [ base network tasty tasty-hunit ];
+       homepage = "https://github.com/shlevy/ip-quoter";
+       description = "Quasiquoter for IP addresses";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "ip6addr" = callPackage
     ({ mkDerivation, base, cmdargs, IPv6Addr, text }:
      mkDerivation {
@@ -81116,14 +81200,14 @@ self: {
 
   "lens-simple" = callPackage
     ({ mkDerivation, base, lens-family, lens-family-core
-     , lens-family-th
+     , lens-family-th, transformers
      }:
      mkDerivation {
        pname = "lens-simple";
-       version = "0.1.0.3";
-       sha256 = "17s7fjggajlamqi2lc2lrhswykbyba6zv5rf0kr24hn3mv8a6yrk";
+       version = "0.1.0.4";
+       sha256 = "0cr1jghg8dnyclih21zlm9190j2dyl6mwc0gw216l5yj67c5aly3";
        buildDepends = [
-         base lens-family lens-family-core lens-family-th
+         base lens-family lens-family-core lens-family-th transformers
        ];
        homepage = "https://github.com/michaelt/lens-simple";
        description = "simplified import of elementary lens-family combinators";
@@ -82370,6 +82454,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "linear-grammar" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck, quickcheck-instances }:
+     mkDerivation {
+       pname = "linear-grammar";
+       version = "0.0.0.5";
+       sha256 = "0cw0w1fz3m2kwnbff543h5as9zvl66y1ry1q3ppvy9lc409570ry";
+       buildDepends = [ base ];
+       testDepends = [ base hspec QuickCheck quickcheck-instances ];
+       description = "A simple grammar for building linear equations and inclusive inequalities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "linear-maps" = callPackage
     ({ mkDerivation, base, containers, HUnit }:
      mkDerivation {
@@ -84756,9 +84852,12 @@ self: {
      mkDerivation {
        pname = "machinecell";
        version = "1.3.1";
+       revision = "1";
        sha256 = "1v4rrjszh6sm2x1nwq33f4xwa41bnls0awhy9qfkap62bpad8fxg";
+       editedCabalFile = "5a7ee43c327694ac753228da8f16d681a60d23b4926132726e2a093ecacb4725";
        buildDepends = [ arrows base free mtl profunctors semigroups ];
        testDepends = [ base hspec mtl profunctors QuickCheck ];
+       jailbreak = true;
        homepage = "http://github.com/as-capabl/machinecell";
        description = "Arrow based stream transducers";
        license = stdenv.lib.licenses.bsd3;
@@ -90266,16 +90365,17 @@ self: {
      }) {};
 
   "multistate" = callPackage
-    ({ mkDerivation, base, mtl, transformers }:
+    ({ mkDerivation, base, hspec, mtl, tagged, transformers }:
      mkDerivation {
        pname = "multistate";
-       version = "0.3.0.0";
-       sha256 = "1sqaxvvs94max8gw1sz3kkgnp8y9zwrjdclnzv1kkkhciix9a1d1";
+       version = "0.6.0.0";
+       sha256 = "17b54qy4dgacj0lwy61nf3hbppd950xk9c1yphjn6i6jcr8z66li";
        isLibrary = true;
        isExecutable = true;
-       buildDepends = [ base mtl transformers ];
+       buildDepends = [ base mtl tagged transformers ];
+       testDepends = [ base hspec transformers ];
        homepage = "https://github.com/lspitzner/multistate";
-       description = "like mtl's ReaderT/WriterT/StateT, but more than one contained value/type";
+       description = "like mtl's ReaderT / WriterT / StateT, but more than one contained value/type";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -95856,8 +95956,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc";
-       version = "0.7.1.1";
-       sha256 = "1n96g7l16cn1qcp9xsbdmp844078lpcjsz3lg1x81drnzax9fpa1";
+       version = "0.7.2";
+       sha256 = "0dpr74alkz9vy5yc09bnqb968hcrqys2xlydjda1g3qsarjg7p9y";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -95870,7 +95970,6 @@ self: {
          aeson base bytestring directory filepath pandoc pandoc-types
          process temporary text yaml
        ];
-       jailbreak = true;
        description = "Supports using pandoc with citeproc";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -95881,8 +95980,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.1.2.0";
-       sha256 = "0q9ia1nzmzv1q8hplrmxszwk49mlp4v8skbfv4ggsl8s0vxc1c6f";
+       version = "0.1.2.1";
+       sha256 = "1hr2jfbzanpqbkvsfcbzvlfsnzba11hdrmvc3j63fwqk931qi2jm";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
@@ -98829,6 +98928,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes-mongodb" = callPackage
+    ({ mkDerivation, base, monad-control, mongoDB, pipes, text }:
+     mkDerivation {
+       pname = "pipes-mongodb";
+       version = "0.1.0.0";
+       sha256 = "0h4334fajrza7r8jrr78nqhs522kxnbzdj0gnbp7ndvzvx5ij888";
+       buildDepends = [ base monad-control mongoDB pipes ];
+       testDepends = [ base monad-control mongoDB pipes text ];
+       homepage = "http://github.com/jb55/pipes-mongodb";
+       description = "Stream results from MongoDB";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "pipes-network" = callPackage
     ({ mkDerivation, base, bytestring, network, network-simple, pipes
      , pipes-safe, transformers
@@ -100642,6 +100754,34 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) { inherit (pkgs) adns;  inherit (pkgs) openssl;};
 
+  "potrace" = callPackage
+    ({ mkDerivation, base, bindings-potrace, bytestring, containers
+     , data-default, JuicyPixels, vector
+     }:
+     mkDerivation {
+       pname = "potrace";
+       version = "0.1.0.0";
+       sha256 = "1frxf3jzjyyp3bfj6b2mi29fxwcml4bya6sn4c5aizg741dhphng";
+       buildDepends = [
+         base bindings-potrace bytestring containers data-default
+         JuicyPixels vector
+       ];
+       description = "Trace bitmap images to paths using potrace";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "potrace-diagrams" = callPackage
+    ({ mkDerivation, base, diagrams-lib, JuicyPixels, potrace }:
+     mkDerivation {
+       pname = "potrace-diagrams";
+       version = "0.1.0.0";
+       sha256 = "0ys70a5k384czz0c6bpyy0cqrk35wa1yg6ph19smhm3ag9d8161v";
+       buildDepends = [ base diagrams-lib JuicyPixels potrace ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "Potrace bindings for the diagrams library";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
   "powermate" = callPackage
     ({ mkDerivation, base, directory, network, unix }:
      mkDerivation {
@@ -108719,6 +108859,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "safe-printf" = callPackage
+    ({ mkDerivation, base, doctest, haskell-src-meta, hspec, QuickCheck
+     , template-haskell, th-lift
+     }:
+     mkDerivation {
+       pname = "safe-printf";
+       version = "0.1.0.0";
+       sha256 = "19nw306q7xlj6s132qxlfskg67x6rx3zhsk2n6lbz2kryr7v99g6";
+       buildDepends = [ base haskell-src-meta template-haskell th-lift ];
+       testDepends = [
+         base doctest haskell-src-meta hspec QuickCheck template-haskell
+         th-lift
+       ];
+       homepage = "https://github.com/konn/safe-printf";
+       description = "Well-typed, flexible and variadic printf for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "safecopy" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, containers, lens
      , lens-action, old-time, quickcheck-instances, tasty
@@ -109533,8 +109691,8 @@ self: {
      }:
      mkDerivation {
        pname = "schedule-planner";
-       version = "1.0.0.1";
-       sha256 = "0p2k67g281f08njhann4yv0vhfbjh4m6rr2x58smxhwqxgpjg399";
+       version = "1.0.1.0";
+       sha256 = "0vlr4wwazpr7xf5pym2f42gwniy017h02wwymn0zn80wypiv6dz1";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
@@ -118894,8 +119052,8 @@ test/package-dump/ghc-7.10.txt";
      }:
      mkDerivation {
        pname = "structural-induction";
-       version = "0.2";
-       sha256 = "1lr91wc1m655pi3ljw3n89svfazrb16785s9mfx361jgn335m8rd";
+       version = "0.2.0.1";
+       sha256 = "0ac5yhx6cbxzcdqy74lp791xwgammsnd8jazx0xy3ngxn4wwf23r";
        buildDepends = [ base containers genifunctors mtl pretty safe ];
        testDepends = [
          base geniplate language-haskell-extract mtl pretty QuickCheck safe
@@ -124568,6 +124726,46 @@ test/package-dump/ghc-7.10.txt";
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tip-haskell-frontend" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , geniplate-mirror, ghc, ghc-paths, mtl, pretty, pretty-show
+     , QuickCheck, split, tip-lib
+     }:
+     mkDerivation {
+       pname = "tip-haskell-frontend";
+       version = "0.1.1";
+       sha256 = "0za8ls980f98qj3k6pgmzaidmnrlk0nzg1r7skif6jmhh1snqc5h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath geniplate-mirror ghc
+         ghc-paths mtl pretty pretty-show QuickCheck split tip-lib
+       ];
+       homepage = "http://tip-org.github.io";
+       description = "Convert from Haskell to Tip";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tip-lib" = callPackage
+    ({ mkDerivation, alex, array, base, containers, geniplate-mirror
+     , happy, mtl, optparse-applicative, pretty, pretty-show, split
+     }:
+     mkDerivation {
+       pname = "tip-lib";
+       version = "0.1.1";
+       sha256 = "0xvsr6hh7r6y82linkpvbby6jkxw744y3mh82kma4cbpwc84gxhi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers geniplate-mirror mtl optparse-applicative
+         pretty pretty-show split
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://tip-org.github.io";
+       description = "tons of inductive problems - support library and tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "titlecase" = callPackage
     ({ mkDerivation, base, blaze-markup, semigroups, tasty, tasty-hunit
      , tasty-quickcheck, text
@@ -125699,6 +125897,28 @@ test/package-dump/ghc-7.10.txt";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "trurl" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, hastache
+     , http-conduit, MissingH, scientific, tar, tasty, tasty-hunit, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "trurl";
+       version = "0.1.0.0";
+       sha256 = "0lq4x3vkif6sldcw07llmhwixgk1x2bfyzi0zq32jardp7ah0rc5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring directory hastache http-conduit MissingH
+         scientific tar text unordered-containers
+       ];
+       testDepends = [ base hastache tasty tasty-hunit ];
+       jailbreak = true;
+       homepage = "http://github.com/dbushenko/trurl";
+       description = "Haskell template code generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "tsession" = callPackage
     ({ mkDerivation, base, containers, mtl, time, transformers }:
      mkDerivation {
@@ -127361,6 +127581,7 @@ test/package-dump/ghc-7.10.txt";
          hashable mtl network old-locale primitive process syb transformers
          uhc-util uulib vector
        ];
+       jailbreak = true;
        homepage = "https://github.com/UU-ComputerScience/uhc";
        description = "Part of UHC packaged as cabal/hackage installable library";
        license = stdenv.lib.licenses.bsd3;
@@ -127373,8 +127594,8 @@ test/package-dump/ghc-7.10.txt";
      }:
      mkDerivation {
        pname = "uhc-util";
-       version = "0.1.5.5";
-       sha256 = "00b1ycdnm0gm01izs96qwsx3c3p1mrcimzamscaimyr1y14jvfc1";
+       version = "0.1.5.6";
+       sha256 = "1axg2apkvg3xk1cq78shbnc68i0h6fqcpjg8z3l4nc49kl5dywwz";
        buildDepends = [
          array base binary bytestring containers directory fclabels fgl
          hashable ListLike mtl process syb time time-compat uulib
diff --git a/pkgs/development/haskell-modules/mueval-fix.patch b/pkgs/development/haskell-modules/mueval-fix.patch
new file mode 100644
index 000000000000..62a8f8f61e24
--- /dev/null
+++ b/pkgs/development/haskell-modules/mueval-fix.patch
@@ -0,0 +1,90 @@
+diff --git a/Mueval/ArgsParse.hs b/Mueval/ArgsParse.hs
+index 05c8fd9..0c32e27 100644
+--- a/Mueval/ArgsParse.hs
++++ b/Mueval/ArgsParse.hs
+@@ -1,10 +1,9 @@
++{-# LANGUAGE CPP #-}
+ module Mueval.ArgsParse (Options(..), interpreterOpts, getOptions) where
+ 
+ import Control.Monad (liftM)
+ import System.Console.GetOpt
+ 
+-import qualified Codec.Binary.UTF8.String as Codec (decodeString)
+-
+ import Mueval.Context (defaultModules, defaultPackages)
+ 
+ -- | See the results of --help for information on what each option means.
+@@ -98,4 +97,11 @@ header = "Usage: mueval [OPTION...] --expression EXPRESSION..."
+ -- | Just give us the end result options; this parsing for
+ --   us. Bonus points for handling UTF.
+ getOptions :: [String] -> Either (Bool, String) Options
+-getOptions = interpreterOpts . map Codec.decodeString
+\ No newline at end of file
++getOptions = interpreterOpts . map decodeString
++
++decodeString :: String -> String
++#if __GLASGOW_HASKELL__ >= 702
++decodeString = id
++#else
++decodeString = Codec.decodeString
++#endif
+diff --git a/Mueval/Context.hs b/Mueval/Context.hs
+index 78925cf..548514c 100644
+--- a/Mueval/Context.hs
++++ b/Mueval/Context.hs
+@@ -1,3 +1,4 @@
++{-# LANGUAGE CPP #-}
+ module Mueval.Context (
+   cleanModules,
+   defaultModules,
+@@ -32,7 +33,9 @@ defaultModules = ["Prelude",
+                   "Control.Monad.Error",
+                   "Control.Monad.Fix",
+                   "Control.Monad.Identity",
++#if !MIN_VERSION_base(4,7,0)
+                   "Control.Monad.Instances",
++#endif
+                   "Control.Monad.RWS",
+                   "Control.Monad.Reader",
+                   "Control.Monad.State",
+diff --git a/Mueval/Interpreter.hs b/Mueval/Interpreter.hs
+index 29b771f..6c39482 100644
+--- a/Mueval/Interpreter.hs
++++ b/Mueval/Interpreter.hs
+@@ -1,4 +1,5 @@
+ {-# LANGUAGE PatternGuards #-}
++{-# LANGUAGE FlexibleContexts #-}
+ -- TODO: suggest the convenience functions be put into Hint proper?
+ module Mueval.Interpreter where
+ 
+@@ -12,8 +13,6 @@ import System.Exit (exitFailure)
+ import System.FilePath.Posix (takeFileName)
+ import qualified Control.Exception.Extensible as E (evaluate,catch,SomeException(..))
+ 
+-import qualified System.IO.UTF8 as UTF (putStrLn)
+-
+ import Language.Haskell.Interpreter (eval, set, reset, setImportsQ, loadModules, liftIO,
+                                      installedModulesInScope, languageExtensions,
+                                      typeOf, setTopLevelModules, runInterpreter, glasgowExtensions,
+@@ -100,7 +99,7 @@ mvload lfl = do canonfile <- makeRelativeToCurrentDirectory lfl
+ -- flooding. Lambdabot has a similar limit.
+ sayIO :: String -> IO ()
+ sayIO str = do (out,b) <- render 1024 str
+-               UTF.putStrLn out
++               putStrLn out
+                when b exitFailure
+ 
+ -- | Oh no, something has gone wrong. If it's a compilation error pretty print
+diff --git a/mueval.cabal b/mueval.cabal
+index 3f9406d..b86d796 100644
+--- a/mueval.cabal
++++ b/mueval.cabal
+@@ -32,7 +32,7 @@ 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, utf8-string, Cabal, extensible-exceptions, simple-reflect
++                             hint>=0.3.1, show>=0.3, Cabal, extensible-exceptions, simple-reflect
+         ghc-options:         -Wall -static
+ 
+ executable mueval-core