Merge 'master' into staging

(relatively simple conflicts)
This commit is contained in:
Vladimír Čunát
2015-04-26 22:52:08 +02:00
508 changed files with 26127 additions and 13733 deletions
@@ -0,0 +1,19 @@
diff -ru3 brainfuck-0.1-old/Language/Brainfuck.hs brainfuck-0.1/Language/Brainfuck.hs
--- brainfuck-0.1-old/Language/Brainfuck.hs 2015-04-17 21:17:34.568721144 +0300
+++ brainfuck-0.1/Language/Brainfuck.hs 2015-04-17 21:19:17.065872395 +0300
@@ -19,6 +19,8 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -}
+{-# LANGUAGE FlexibleContexts #-}
+
module Language.Brainfuck where
import Data.Array.IO
@@ -287,4 +289,4 @@
halt = if debug
then putStrLn "Machine Halted.\n"
- else putStrLn "\n"
\ No newline at end of file
+ else putStrLn "\n"
@@ -7,8 +7,8 @@ self: super: {
# Some packages need a non-core version of Cabal.
Cabal_1_18_1_6 = dontCheck super.Cabal_1_18_1_6;
Cabal_1_20_0_3 = dontCheck super.Cabal_1_20_0_3;
Cabal_1_22_2_0 = dontCheck super.Cabal_1_22_2_0;
cabal-install = dontCheck (super.cabal-install.override { Cabal = self.Cabal_1_22_2_0; });
Cabal_1_22_3_0 = dontCheck super.Cabal_1_22_3_0;
cabal-install = dontCheck (super.cabal-install.override { Cabal = self.Cabal_1_22_3_0; });
# Break infinite recursions.
digest = super.digest.override { inherit (pkgs) zlib; };
@@ -22,6 +22,9 @@ self: super: {
statistics = dontCheck super.statistics;
text = dontCheck super.text;
# https://github.com/bartavelle/hruby/issues/10
hruby = addExtraLibrary super.hruby pkgs.ruby_2_1;
# Doesn't compile with lua 5.2.
hslua = super.hslua.override { lua = pkgs.lua5_1; };
@@ -118,6 +121,7 @@ self: super: {
# The Haddock phase fails for one reason or another.
attoparsec-conduit = dontHaddock super.attoparsec-conduit;
blaze-builder-conduit = dontHaddock super.blaze-builder-conduit;
BNFC-meta = dontHaddock super.BNFC-meta;
bytestring-progress = dontHaddock super.bytestring-progress;
comonads-fd = dontHaddock super.comonads-fd;
comonad-transformers = dontHaddock super.comonad-transformers;
@@ -211,6 +215,15 @@ self: super: {
# https://github.com/liamoc/wizards/issues/5
wizards = doJailbreak super.wizards;
# https://github.com/tibbe/ekg-core/commit/c986d9750d026a0c049cf6e6610d69fc1f23121f, not yet in hackage
ekg-core = doJailbreak super.ekg-core;
# https://github.com/tibbe/ekg/commit/95018646f48f60d9ccf6209cc86747e0f132e737, not yet in hackage
ekg = doJailbreak super.ekg;
# https://github.com/diagrams/diagrams-rasterific/commit/2758e5760c64f8ca2528628bd11de502f354ab15, not yet in hackage
diagrams-rasterific = doJailbreak super.diagrams-rasterific;
# https://github.com/NixOS/cabal2nix/issues/136
glib = addBuildDepends super.glib [pkgs.pkgconfig pkgs.glib];
gtk3 = super.gtk3.override { inherit (pkgs) gtk3; };
@@ -280,7 +293,6 @@ self: super: {
amqp-conduit = dontCheck super.amqp-conduit;
concurrent-dns-cache = dontCheck super.concurrent-dns-cache;
dbus = dontCheck super.dbus; # http://hydra.cryp.to/build/498404/log/raw
directory_1_2_2_0 = dontCheck super.directory_1_2_2_0; # https://github.com/haskell/directory/issues/24
hadoop-rpc = dontCheck super.hadoop-rpc; # http://hydra.cryp.to/build/527461/nixlog/2/raw
hasql = dontCheck super.hasql; # http://hydra.cryp.to/build/502489/nixlog/4/raw
hjsonschema = overrideCabal super.hjsonschema (drv: { testTarget = "local"; });
@@ -298,6 +310,7 @@ self: super: {
stackage = dontCheck super.stackage; # http://hydra.cryp.to/build/501867/nixlog/1/raw
warp = dontCheck super.warp; # http://hydra.cryp.to/build/501073/nixlog/5/raw
wreq = dontCheck super.wreq; # http://hydra.cryp.to/build/501895/nixlog/1/raw
wreq-sb = dontCheck super.wreq-sb; # http://hydra.cryp.to/build/783948/log/raw
# https://github.com/NICTA/digit/issues/3
digit = dontCheck super.digit;
@@ -418,6 +431,7 @@ self: super: {
Rlang-QQ = dontCheck super.Rlang-QQ;
sai-shape-syb = dontCheck super.sai-shape-syb;
scp-streams = dontCheck super.scp-streams;
sdl2-ttf = dontCheck super.sdl2-ttf; # as of version 0.2.1, the test suite requires user intervention
separated = dontCheck super.separated;
shadowsocks = dontCheck super.shadowsocks;
shake-language-c = dontCheck super.shake-language-c;
@@ -532,6 +546,18 @@ self: super: {
# Upstream notified by e-mail.
MonadCompose = markBrokenVersion "0.2.0.0" super.MonadCompose;
# no haddock since this is an umbrella package.
cloud-haskell = dontHaddock super.cloud-haskell;
# Disable tests which couldn't be built.
distributed-process-async = dontCheck super.distributed-process-async;
# Disable tests which couldn't be built.
distributed-process-client-server = dontCheck super.distributed-process-client-server;
# Disable tests which couldn't be built.
distributed-process-extras = dontCheck super.distributed-process-extras;
# Make distributed-process-platform compile until next version
distributed-process-platform = overrideCabal super.distributed-process-platform (drv: {
patchPhase = "mv Setup.hs Setup.lhs";
@@ -539,6 +565,15 @@ self: super: {
doHaddock = false;
});
# Disable tests due to a failure (Sequential Shutdown Ordering test.)
distributed-process-supervisor = dontCheck super.distributed-process-supervisor;
# Disable network test and errorneous haddock.
distributed-process-tests = overrideCabal super.distributed-process-tests (drv: {
doCheck = false;
doHaddock = false;
});
# This packages compiles 4+ hours on a fast machine. That's just unreasonable.
CHXHtml = dontDistribute super.CHXHtml;
@@ -722,36 +757,32 @@ self: super: {
# Tries to run GUI in tests
leksah = dontCheck super.leksah;
} // {
# Patch to consider NIX_GHC just like xmonad does
dyre = appendPatch super.dyre ./dyre-nix.patch;
# Not on Hackage.
cabal2nix = self.mkDerivation {
pname = "cabal2nix";
version = "20150318";
src = pkgs.fetchgit {
url = "http://github.com/NixOS/cabal2nix.git";
rev = "b56cc6de2c4900fb0d1dc3617591a2f536aca60d";
sha256 = "0pza9j3x1mfjqrzcqq6ndg0jiqx85mg0sw8n9fmq18fk5g4hzhis";
deepClone = true;
};
isLibrary = false;
isExecutable = true;
buildDepends = with self; [
aeson base bytestring Cabal containers deepseq-generics directory
filepath hackage-db lens monad-par monad-par-extras mtl pretty
prettyclass process regex-posix SHA split transformers utf8-string cartel
];
testDepends = with self; [
aeson base bytestring Cabal containers deepseq deepseq-generics
directory doctest filepath hackage-db hspec lens monad-par
monad-par-extras mtl pretty prettyclass process QuickCheck
regex-posix SHA split transformers utf8-string
];
buildTools = [ pkgs.gitMinimal ];
preConfigure = "runhaskell $setupCompileFlags generate-cabal-file >cabal2nix.cabal";
homepage = "http://github.com/NixOS/cabal2nix";
description = "Convert Cabal files into Nix build instructions";
license = pkgs.stdenv.lib.licenses.bsd3;
};
# Fix problems with GHC >=7.8 (in compatible way)
mueval = let pkg = appendPatch super.mueval (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/gwern/mueval/pull/4.patch";
sha256 = "1l0jn2lbzbhx9ifbpb5g617qa0fc8fwa6kyr87pjqfxpqminsgp5";
});
# Nix-specific workaround
in appendPatch pkg ./mueval-nix.patch;
# Test suite won't compile against tasty-hunit 0.9.x.
zlib_0_6_1_0 = dontCheck super.zlib_0_6_1_0;
# Jailbreaking breaks the build.
QuickCheck_2_8_1 = dontJailbreak super.QuickCheck_2_8_1;
# Override the obsolete version from Hackage with our more up-to-date copy.
cabal2nix = pkgs.cabal2nix;
# https://github.com/urs-of-the-backwoods/HGamer3D/issues/7
HGamer3D-Bullet-Binding = dontDistribute super.HGamer3D-Bullet-Binding;
HGamer3D-Common = dontDistribute super.HGamer3D-Common;
HGamer3D-Data = markBroken super.HGamer3D-Data;
# https://github.com/ndmitchell/shake/issues/206
shake = overrideCabal super.shake (drv: { doCheck = !pkgs.stdenv.isDarwin; });
}
@@ -49,14 +49,12 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
@@ -81,4 +79,7 @@ self: super: {
stm = addBuildTool super.stm self.Cabal_1_18_1_6;
split = super.split_0_1_4_3;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}
@@ -42,14 +42,12 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
@@ -63,4 +61,7 @@ self: super: {
# Setup: Can't find transitive deps for haddock
doctest = dontHaddock super.doctest;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}
@@ -33,116 +33,9 @@ self: super: {
unix = null;
xhtml = null;
# should be fixed in versions > 0.6
pandoc-citeproc = overrideCabal super.pandoc-citeproc (drv: {
patches = [
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/4e4f9c2.patch";
sha256 = "18b08k56g5q4zz6jxczkrddblyn52vmd0811n1icfdpzqhgykn4p";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/34cc147.patch";
sha256 = "09vrdvg5w14qckn154zlxvk6i2ikmmhpsl9mxycxkql3rl4dqam3";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/8242c70.patch";
sha256 = "1lqpwxzz2www81w4mym75z36bsavqfj67hyvzn20ffvxq42yw7ry";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/e59f88d.patch";
sha256 = "05699hj3qa2vrfdnikj7rzmc2ajrkd7p8yd4cjlhmqq9asq90xzb";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/ae6ca86.patch";
sha256 = "19cag39k5s7iqagpvss9c2ny5g0lwnrawaqcc0labihc1a181k8l";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/f5a9fc7.patch";
sha256 = "08lsinh3mkjpz3cqj5i1vcnzkyl07jp38qcjcwcw7m2b7gsjbpvm";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc-citeproc/commit/780a554.patch";
sha256 = "1kfn0mcp3vp32c9w8gyz0p0jv0xn90as9mxm8a2lmjng52jlzvy4";
})
];
});
# should be fixed in versions > 1.13.2
pandoc = overrideCabal super.pandoc (drv: {
patches = [
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/693f9ab.patch";
sha256 = "1niyrigs47ia1bhk6yrnzf0sq7hz5b7xisc8ph42wkp5sl8x9h1y";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/9c68017.patch";
sha256 = "0zccb6l5vmfyq7p8ii88fgggfhrff32hj43f5pp3w88l479f1qlh";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/dbe1b38.patch";
sha256 = "0d80692liyjx2y56w07k23adjcxb57w6vzcylmc4cfswzy8agrgy";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/5ea3856.patch";
sha256 = "1z15lc0ix9fv278v1xmfw3a6gl85ydahgs8kz61sfvh4jdiacabw";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/c80c9ac.patch";
sha256 = "0fk3j53zx0x88jmh0ism0aghs2w5qf87zcp9cwbfcgg5izh3b344";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/8b9bded.patch";
sha256 = "0f1dh1jmhq55mlv4dawvx3ck330y82qmys06bfkqcpl0jsyd9x1a";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/e4c7894.patch";
sha256 = "1rfdaq6swrl3m9bmbf6yhqq57kv3l3f4927xya3zq29dpvkmmi4z";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/2a6f68f.patch";
sha256 = "0sbh2x9jqvis9ln8r2dr6ihkjdn480mjskm4ny91870vg852228c";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/4e3281c.patch";
sha256 = "0zafhxxijli2mf1h0j7shp7kd7fxqbvlswm1m8ikax3aknvjxymi";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/cd5b1fe.patch";
sha256 = "0nxq7c0gpdiycgdrcj3llbfwxdni6k7hqqniwsbn2ha3h03i8hg1";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/ed7606d.patch";
sha256 = "0gchm46ziyj7vw6ibn3kk49cjzsc78z2lm8k7892g79q2livlc1f";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/b748833.patch";
sha256 = "03gj4qn9c5zyqrxyrw4xh21xlvbx9rbvw6gh8msgf5xk53ibs68b";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/10d5398.patch";
sha256 = "1nhp5b07vywk917bfap6pzahhqnwvvlbbfg5336a2nvb0c8iq6ih";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/f18ceb1.patch";
sha256 = "1vxsy5fn4nscvim9wcx1n78q7yh05x0z8p812csi3v3z79lbabhq";
})
];
# jailbreak-cabal omits part of the file
# https://github.com/peti/jailbreak-cabal/issues/9
postPatch = ''
sed -i '420i\ \ \ \ \ \ \ \ \ \ \ \ buildable: False' pandoc.cabal
'';
});
# see: https://github.com/jaspervdj/hakyll/issues/343
hakyll = overrideCabal super.hakyll (drv: {
buildDepends = drv.buildDepends ++ [ self.time-locale-compat ];
patches = [
(pkgs.fetchpatch {
url = "https://github.com/jaspervdj/hakyll/pull/344.patch";
sha256 = "130c0icw3cj209p219siaq0n8avmm0fpmph0iyjgx67w62sffrli";
})
];
# ekmett/linear#74
linear = overrideCabal super.linear (drv: {
prePatch = "sed -i 's/-Werror//g' linear.cabal";
});
# Cabal_1_22_1_1 requires filepath >=1 && <1.4
@@ -157,18 +50,15 @@ self: super: {
# https://ghc.haskell.org/trac/ghc/ticket/9921
mkDerivation = drv: super.mkDerivation (drv // { doHoogle = false; });
Extra = appendPatch super.Extra (pkgs.fetchpatch {
url = "https://github.com/seereason/sr-extra/commit/29787ad4c20c962924b823d02a7335da98143603.patch";
sha256 = "193i1xmq6z0jalwmq0mhqk1khz6zz0i1hs6lgfd7ybd6qyaqnf5f";
});
# haddock: No input file(s).
nats = dontHaddock super.nats;
bytestring-builder = dontHaddock super.bytestring-builder;
# These used to be core packages in GHC 7.8.x.
old-locale = self.old-locale_1_0_0_7;
old-time = self.old-time_1_1_0_3;
# We have transformers 4.x
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# We have time 1.5
aeson = disableCabalFlag super.aeson "old-locale";
@@ -185,6 +75,13 @@ self: super: {
esqueleto = doJailbreak super.esqueleto;
pointfree = doJailbreak super.pointfree;
# acid-state/safecopy#25 acid-state/safecopy#26
safecopy = dontCheck (super.safecopy);
# test suite broken, some instance is declared twice.
# https://bitbucket.org/FlorianHartwig/attobencode/issue/1
AttoBencode = dontCheck super.AttoBencode;
# bos/attoparsec#92
attoparsec = dontCheck super.attoparsec;
@@ -204,19 +101,9 @@ self: super: {
# Test suite fails in "/tokens_bytestring_unicode.g.bin".
alex = dontCheck super.alex;
# TODO: should eventually update the versions in hackage-packages.nix
haddock-library = overrideCabal super.haddock-library (drv: {
version = "1.2.0";
sha256 = "0kf8qihkxv86phaznb3liq6qhjs53g3iq0zkvz5wkvliqas4ha56";
});
haddock-api = overrideCabal super.haddock-api (drv: {
version = "2.16.0";
sha256 = "0hk42w6fbr6xp8xcpjv00bhi9r75iig5kp34vxbxdd7k5fqxr1hj";
});
haddock = overrideCabal super.haddock (drv: {
version = "2.16.0";
sha256 = "1afb96w1vv3gmvha2f1h3p8zywpdk8dfk6bgnsa307ydzsmsc3qa";
});
# https://github.com/haskell/haddock/issues/378
haddock-library_1_2_0 = dontCheck super.haddock-library_1_2_0;
haddock-library = self.haddock-library_1_2_0;
# Upstream was notified about the over-specified constraint on 'base'
# but refused to do anything about it because he "doesn't want to
@@ -228,31 +115,29 @@ self: super: {
sha256 = "1lwwvxyhxcmppdapbgpfhwi7xc2z78qir03xjrpzab79p2qyq7br";
});
wl-pprint = overrideCabal super.wl-pprint (drv: {
postPatch = "sed -i '113iimport Prelude hiding ((<$>))' Text/PrettyPrint/Leijen.hs";
jailbreak = true;
});
# https://github.com/kazu-yamamoto/unix-time/issues/30
unix-time = dontCheck super.unix-time;
# Until the changes have been pushed to Hackage
mono-traversable = appendPatch super.mono-traversable (pkgs.fetchpatch {
url = "https://github.com/snoyberg/mono-traversable/pull/68.patch";
sha256 = "11hqf6hi3sc34wl0fn4rpigdf7wfklcjv6jwp8c3129yphg8687h";
});
conduit-combinators = appendPatch super.conduit-combinators (pkgs.fetchpatch {
url = "https://github.com/fpco/conduit-combinators/pull/16.patch";
sha256 = "0jpwpi3shdn5rms3lcr4srajbhhfp5dbwy7pl23c9kmlil3d9mk3";
});
annotated-wl-pprint = appendPatch super.annotated-wl-pprint (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/david-christiansen/annotated-wl-pprint/pull/2.patch";
sha256 = "0n0fbq3vd7b9kfmhg089q0dy40vawq4q88il3zc9ybivhi62nwv4";
});
ghc-events = appendPatch super.ghc-events (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/haskell/ghc-events/pull/8.patch";
sha256 = "1k881jrvzfvs761jgfhf5nsbmbc33c9333l4s0f5088p46ff2n1l";
});
dependent-sum-template = appendPatch super.dependent-sum-template (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/mokus0/dependent-sum-template/pull/4.patch";
sha256 = "1yb1ny4ckl4d3sf4xnvpbsa9rw2dficzgipijs5s3729dnsc3rb0";
});
mueval = appendPatch super.mueval (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/gwern/mueval/pull/10.patch";
sha256 = "1gs8p89d1qsrd1qycbhf6kv4qw0sbb8m6dy106dqkmdzcjzcyq74";
});
present = appendPatch super.present (pkgs.fetchpatch {
url = "https://github.com/chrisdone/present/commit/6a61f099bf01e2127d0c68f1abe438cd3eaa15f7.patch";
sha256 = "1vn3xm38v2f4lzyzkadvq322f3s2yf8c88v56wpdpzfxmvlzaqr8";
});
# Already applied in darcs repository.
gnuplot = appendPatch super.gnuplot ./gnuplot-fix-new-time.patch;
ghcjs-prim = self.callPackage ({ mkDerivation, fetchgit, primitive }: mkDerivation {
pname = "ghcjs-prim";
@@ -265,4 +150,183 @@ self: super: {
buildDepends = [ primitive ];
license = pkgs.stdenv.lib.licenses.bsd3;
}) {};
# diagrams/monoid-extras#19
monoid-extras = overrideCabal super.monoid-extras (drv: {
prePatch = "sed -i 's|4\.8|4.9|' monoid-extras.cabal";
});
# diagrams/statestack#5
statestack = overrideCabal super.statestack (drv: {
prePatch = "sed -i 's|4\.8|4.9|' statestack.cabal";
});
# diagrams/diagrams-core#83
diagrams-core = overrideCabal super.diagrams-core (drv: {
prePatch = "sed -i 's|4\.8|4.9|' diagrams-core.cabal";
});
# https://github.com/mokus0/misfortune/pull/1
misfortune = appendPatch super.misfortune (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/mokus0/misfortune/pull/1.patch";
sha256 = "15frwdallm3i6k7mil26bbjd4wl6k9h20ixf3cmyris3q3jhlcfh";
});
timezone-series = doJailbreak super.timezone-series;
timezone-olson = doJailbreak super.timezone-olson;
libmpd = dontCheck super.libmpd;
xmonad-extras = overrideCabal super.xmonad-extras (drv: {
postPatch = ''
sed -i -e "s,<\*,<¤,g" XMonad/Actions/Volume.hs
'';
});
# Workaround for a workaround, see comment for "ghcjs" flag.
jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
self.webkitgtk3-javascriptcore ];
# Fix evaluation in GHC >=7.8: https://github.com/lambdabot/lambdabot/issues/116
lambdabot = appendPatch super.lambdabot ./lambdabot-fix-ghc78.patch;
# https://github.com/haskell-infra/hackage-trustees/issues/24
brainfuck = appendPatch super.brainfuck ./brainfuck-fix-ghc710.patch;
unlambda = appendPatch super.unlambda ./unlambda-fix-ghc710.patch;
# Updated Cabal file from Hackage tightened version bounds for some reason.
edit-distance = let pkg = appendPatch super.edit-distance ./edit-distance-fix-boundaries.patch;
in appendPatch pkg (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/batterseapower/edit-distance/pull/3.patch";
sha256 = "0v47pa5ymh9f23bqpkdv3k7vnb6h3ssccdmjdylhs2ybarqzrcwh";
});
# https://github.com/BNFC/bnfc/issues/137
BNFC = markBrokenVersion "2.7.1" super.BNFC;
cubical = dontDistribute super.cubical;
# contacted maintainer by e-mail
HList = markBrokenVersion "0.3.4.1" super.HList;
AspectAG = dontDistribute super.AspectAG;
Rlang-QQ = dontDistribute super.Rlang-QQ;
SyntaxMacros = dontDistribute super.SyntaxMacros;
expand = dontDistribute super.expand;
functional-arrow = dontDistribute super.functional-arrow;
guess-combinator = dontDistribute super.guess-combinator;
ihaskell-rlangqq = dontDistribute super.ihaskell-rlangqq;
ipopt-hs = dontDistribute super.ipopt-hs;
murder = dontDistribute super.murder;
netcore = dontDistribute super.netcore;
nettle-frp = dontDistribute super.nettle-frp;
nettle-netkit = dontDistribute super.nettle-netkit;
nettle-openflow = dontDistribute super.nettle-openflow;
oberon0 = dontDistribute super.oberon0;
poly-arity = dontDistribute super.poly-arity;
respond = dontDistribute super.respond;
semi-iso = dontDistribute super.semi-iso;
syntax = dontDistribute super.syntax;
syntax-attoparsec = dontDistribute super.syntax-attoparsec;
syntax-example = dontDistribute super.syntax-example;
syntax-example-json = dontDistribute super.syntax-example-json;
syntax-pretty = dontDistribute super.syntax-pretty;
syntax-printer = dontDistribute super.syntax-printer;
tuple-hlist = dontDistribute super.tuple-hlist;
tuple-morph = dontDistribute super.tuple-morph;
# contacted maintainer by e-mail
cmdlib = markBroken super.cmdlib;
darcs-fastconvert = dontDistribute super.darcs-fastconvert;
ivory-backend-c = dontDistribute super.ivory-backend-c;
ivory-bitdata = dontDistribute super.ivory-bitdata;
ivory-examples = dontDistribute super.ivory-examples;
ivory-hw = dontDistribute super.ivory-hw;
laborantin-hs = dontDistribute super.laborantin-hs;
# https://github.com/cartazio/arithmoi/issues/1
arithmoi = markBroken super.arithmoi;
NTRU = dontDistribute super.NTRU;
arith-encode = dontDistribute super.arith-encode;
barchart = dontDistribute super.barchart;
constructible = dontDistribute super.constructible;
cyclotomic = dontDistribute super.cyclotomic;
diagrams = dontDistribute super.diagrams;
diagrams-contrib = dontDistribute super.diagrams-contrib;
enumeration = dontDistribute super.enumeration;
ghci-diagrams = dontDistribute super.ghci-diagrams;
ihaskell-diagrams = dontDistribute super.ihaskell-diagrams;
nimber = dontDistribute super.nimber;
pell = dontDistribute super.pell;
quadratic-irrational = dontDistribute super.quadratic-irrational;
# https://github.com/kazu-yamamoto/ghc-mod/issues/467
ghc-mod = markBroken super.ghc-mod;
HaRe = dontDistribute super.HaRe;
ghc-imported-from = dontDistribute super.ghc-imported-from;
git-vogue = dontDistribute super.git-vogue;
haskell-token-utils = dontDistribute super.haskell-token-utils;
hbb = dontDistribute super.hbb;
hsdev = dontDistribute super.hsdev;
# http://hub.darcs.net/ivanm/graphviz/issue/5
graphviz = markBroken super.graphviz;
Graphalyze = dontDistribute super.Graphalyze;
HLearn-approximation = dontDistribute super.HLearn-approximation;
HLearn-classification = dontDistribute super.HLearn-classification;
HLearn-distributions = dontDistribute super.HLearn-distributions;
SourceGraph = dontDistribute super.SourceGraph;
Zora = dontDistribute super.Zora;
ampersand = dontDistribute super.ampersand;
caffegraph = dontDistribute super.caffegraph;
dot2graphml = dontDistribute super.dot2graphml;
dvda = dontDistribute super.dvda;
erd = dontDistribute super.erd;
filediff = dontDistribute super.filediff;
fsmActions = dontDistribute super.fsmActions;
gbu = dontDistribute super.gbu;
geni-gui = dontDistribute super.geni-gui;
ghc-vis = dontDistribute super.ghc-vis;
grammar-combinators = dontDistribute super.grammar-combinators;
llvm-analysis = dontDistribute super.llvm-analysis;
llvm-base-types = dontDistribute super.llvm-base-types;
llvm-data-interop = dontDistribute super.llvm-data-interop;
llvm-tools = dontDistribute super.llvm-tools;
marxup = dontDistribute super.marxup;
mathgenealogy = dontDistribute super.mathgenealogy;
optimusprime = dontDistribute super.optimusprime;
phybin = dontDistribute super.phybin;
prolog-graph = dontDistribute super.prolog-graph;
prolog-graph-lib = dontDistribute super.prolog-graph-lib;
teams = dontDistribute super.teams;
vacuum-graphviz = dontDistribute super.vacuum-graphviz;
vampire = dontDistribute super.vampire;
visual-graphrewrite = dontDistribute super.visual-graphrewrite;
xdot = dontDistribute super.xdot;
# https://github.com/lymar/hastache/issues/47
hastache = dontCheck super.hastache;
# The compat library is empty in the presence of mtl 2.2.x.
mtl-compat = dontHaddock super.mtl-compat;
# https://github.com/bos/bloomfilter/issues/11
bloomfilter = dontHaddock (appendConfigureFlag super.bloomfilter "--ghc-option=-XFlexibleContexts");
# https://github.com/ocharles/tasty-rerun/issues/5
tasty-rerun = dontHaddock (appendConfigureFlag super.tasty-rerun "--ghc-option=-XFlexibleContexts");
# Broken with GHC 7.10.x.
aeson_0_7_0_6 = markBroken super.aeson_0_7_0_6;
annotated-wl-pprint_0_5_3 = markBroken super.annotated-wl-pprint_0_5_3;
c2hs_0_20_1 = markBroken super.c2hs_0_20_1;
Cabal_1_20_0_3 = markBroken super.Cabal_1_20_0_3;
cabal-install_1_18_0_8 = markBroken super.cabal-install_1_18_0_8;
containers_0_4_2_1 = markBroken super.containers_0_4_2_1;
control-monad-free_0_5_3 = markBroken super.control-monad-free_0_5_3;
equivalence_0_2_5 = markBroken super.equivalence_0_2_5;
haddock-api_2_15_0_2 = markBroken super.haddock-api_2_15_0_2;
lens_4_7_0_1 = markBroken super.lens_4_7_0_1;
optparse-applicative_0_10_0 = markBroken super.optparse-applicative_0_10_0;
QuickCheck_1_2_0_1 = markBroken super.QuickCheck_1_2_0_1;
seqid-streams_0_1_0 = markBroken super.seqid-streams_0_1_0;
vector_0_10_9_3 = markBroken super.vector_0_10_9_3;
}
@@ -39,17 +39,15 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; process = self.process_1_2_3_0; };
Cabal_1_22_3_0 = super.Cabal_1_22_3_0.override { binary = self.binary_0_7_4_0; process = self.process_1_2_3_0; };
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
@@ -63,4 +61,7 @@ self: super: {
# Setup: Can't find transitive deps for haddock
doctest = dontHaddock super.doctest;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}
@@ -36,17 +36,15 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; };
Cabal_1_22_3_0 = super.Cabal_1_22_3_0.override { binary = self.binary_0_7_4_0; };
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
@@ -66,4 +64,10 @@ self: super: {
# Choose appropriate flags for our version of 'bytestring'.
bytestring-builder = disableCabalFlag super.bytestring-builder "bytestring_has_builder";
# Newer versions require a more recent compiler.
control-monad-free = super.control-monad-free_0_5_3;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}
@@ -33,23 +33,20 @@ self: super: {
time = null;
unix = null;
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# haskeline and terminfo are not core libraries for this compiler.
# These packages are core libraries in GHC 7.10.x, but not here.
haskeline = self.haskeline_0_7_2_1;
terminfo = self.terminfo_0_4_0_1;
transformers = self.transformers_0_4_3_0;
xhtml = self.xhtml_3000_2_1;
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; };
Cabal_1_22_3_0 = super.Cabal_1_22_3_0.override { binary = self.binary_0_7_4_0; };
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
@@ -73,4 +70,10 @@ self: super: {
# The compat library is empty in the presence of mtl 2.2.x.
mtl-compat = dontHaddock super.mtl-compat;
# Newer versions require a more recent compiler.
control-monad-free = super.control-monad-free_0_5_3;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}
@@ -38,24 +38,22 @@ self: super: {
xhtml = null;
# mtl 2.2.x needs the latest transformers.
mtl_2_2_1 = super.mtl_2_2_1.override { transformers = self.transformers_0_4_3_0; };
mtl_2_2_1 = super.mtl.override { transformers = self.transformers_0_4_3_0; };
# Configure build for mtl 2.1.x.
# Configure mtl 2.1.x.
mtl = self.mtl_2_1_3_1;
transformers-compat = addBuildDepend (enableCabalFlag super.transformers-compat "three") self.mtl;
mtl-compat = addBuildDepend (enableCabalFlag super.mtl-compat "two-point-one") self.transformers-compat;
# haddock-api 2.16 requires ghc>=7.10
haddock-api = super.haddock-api_2_15_0_2;
# Idris requires mtl 2.2.x.
idris = overrideCabal (super.idris.overrideScope (self: super: {
mkDerivation = drv: super.mkDerivation (drv // { doCheck = false; });
blaze-markup = self.blaze-markup_0_6_2_0;
# Idris needs special version of some libraries
idris = let super1 = super; in overrideCabal (super.idris.overrideScope (self: super: {
annotated-wl-pprint = self.annotated-wl-pprint_0_5_3;
blaze-html = self.blaze-html_0_7_0_3;
haskeline = self.haskeline_0_7_2_1;
blaze-markup = self.blaze-markup_0_6_2_0;
lens = self.lens_4_7_0_1;
mtl = super.mtl_2_2_1;
transformers = super.transformers_0_4_3_0;
transformers-compat = disableCabalFlag super.transformers-compat "three";
})) (drv: {
patchPhase = "find . -name '*.hs' -exec sed -i -s 's|-Werror||' {} +";
}); # warning: "Module Control.Monad.Error is deprecated"
@@ -120,4 +118,18 @@ self: super: {
# Newer versions require base > 4.7
gloss = super.gloss_1_9_2_1;
# Workaround for a workaround, see comment for "ghcjs" flag.
jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
self.webkitgtk3-javascriptcore ];
# Fix evaluation in GHC >=7.8: https://github.com/lambdabot/lambdabot/issues/116
lambdabot = appendPatch super.lambdabot ./lambdabot-fix-ghc78.patch;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
# needs mtl-compat to build with mtl 2.1.x
cgi = addBuildDepend super.cgi self.mtl-compat;
}
@@ -43,14 +43,6 @@ self: super: {
# haddock: No input file(s).
nats = dontHaddock super.nats;
# These used to be core packages in GHC 7.8.x.
old-locale = self.old-locale_1_0_0_7;
old-time = self.old-time_1_1_0_3;
# We have transformers 4.x
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# We have time 1.5
aeson = disableCabalFlag super.aeson "old-locale";
@@ -81,8 +73,12 @@ self: super: {
# Version 1.19.5 fails its test suite.
happy = dontCheck super.happy;
# Test suite hangs silently without consuming any CPU.
# https://github.com/ndmitchell/extra/issues/4
extra = dontCheck super.extra;
# Workaround for a workaround, see comment for "ghcjs" flag.
jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
self.webkitgtk3-javascriptcore ];
# The compat library is empty in the presence of mtl 2.2.x.
mtl-compat = dontHaddock super.mtl-compat;
}
@@ -71,7 +71,7 @@ self: super: {
cat >> src/Reactive/Banana/Switch.hs <<EOF
instance Functor (AnyMoment Identity) where
fmap = liftM
instance Applicative (AnyMoment Identity) where
pure = return
(<*>) = ap
@@ -98,4 +98,5 @@ self: super: {
ghcjs-dom = overrideCabal super.ghcjs-dom (drv: {
buildDepends = [ self.base self.mtl self.text self.ghcjs-base ];
});
}
@@ -0,0 +1,25 @@
--- dyre-0.8.12/Config/Dyre/Compile.hs 2015-04-13 11:00:20.794278350 +0100
+++ dyre-0.8.12-patched/Config/Dyre/Compile.hs 2015-04-13 11:07:26.938893502 +0100
@@ -10,11 +10,13 @@
import System.FilePath ( (</>) )
import System.Directory ( getCurrentDirectory, doesFileExist
, createDirectoryIfMissing )
+import System.Environment ( lookupEnv )
+import Control.Applicative ((<$>))
import Control.Exception ( bracket )
-import GHC.Paths ( ghc )
import Config.Dyre.Paths ( getPaths )
import Config.Dyre.Params ( Params(..) )
+import Data.Maybe ( fromMaybe )
-- | Return the path to the error file.
getErrorPath :: Params cfgType -> IO FilePath
@@ -47,6 +49,7 @@
errFile <- getErrorPath params
result <- bracket (openFile errFile WriteMode) hClose $ \errHandle -> do
ghcOpts <- makeFlags params configFile tempBinary cacheDir libsDir
+ ghc <- fromMaybe "ghc" <$> lookupEnv "NIX_GHC"
ghcProc <- runProcess ghc ghcOpts (Just cacheDir) Nothing
Nothing Nothing (Just errHandle)
waitForProcess ghcProc
@@ -0,0 +1,30 @@
diff -ru3 edit-distance-0.2.1.2-old/edit-distance.cabal edit-distance-0.2.1.2/edit-distance.cabal
--- edit-distance-0.2.1.2-old/edit-distance.cabal 2015-04-17 22:46:50.964116064 +0300
+++ edit-distance-0.2.1.2/edit-distance.cabal 2015-04-17 22:41:31.216027373 +0300
@@ -36,7 +36,7 @@
Text.EditDistance.ArrayUtilities
if flag(splitBase)
- Build-Depends: base >= 3 && < 4.8, array >= 0.1, random >= 1.0, containers >= 0.1.0.1
+ Build-Depends: base >= 3 && < 5, array >= 0.1, random >= 1.0, containers >= 0.1.0.1
else
Build-Depends: base < 3
@@ -54,7 +54,7 @@
else
Build-Depends: test-framework >= 0.1.1, QuickCheck >= 1.1 && < 2.0, test-framework-quickcheck
if flag(splitBase)
- Build-Depends: base >= 3 && < 4.8, array >= 0.1, random >= 1.0
+ Build-Depends: base >= 3 && < 5, array >= 0.1, random >= 1.0
else
Build-Depends: base < 3
@@ -65,7 +65,7 @@
Buildable: False
else
if flag(splitBase)
- Build-Depends: base >= 3 && < 4.8, array >= 0.1, random >= 1.0, time >= 1.0, process >= 1.0,
+ Build-Depends: base >= 3 && < 5, array >= 0.1, random >= 1.0, time >= 1.0, process >= 1.0,
deepseq >= 1.2, unix >= 2.3, criterion >= 0.6
else
Build-Depends: base < 3,
@@ -137,10 +137,12 @@ stdenv.mkDerivation ({
prePatch = optionalString (editedCabalFile != null) ''
echo "Replace Cabal file with edited version from ${newCabalFileUrl}."
cp ${newCabalFile} ${pname}.cabal
'' + optionalString jailbreak ''
'' + prePatch;
postPatch = optionalString jailbreak ''
echo "Run jailbreak-cabal to lift version restrictions on build inputs."
${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal
'' + prePatch;
'' + postPatch;
setupCompilerEnvironmentPhase = ''
runHook preSetupCompilerEnvironment
@@ -0,0 +1,60 @@
diff -ru3 gnuplot-0.5.3.1-old/gnuplot.cabal gnuplot-0.5.3.1/gnuplot.cabal
--- gnuplot-0.5.3.1-old/gnuplot.cabal 2015-04-17 22:25:06.561715968 +0300
+++ gnuplot-0.5.3.1/gnuplot.cabal 2015-04-17 22:27:07.610913755 +0300
@@ -75,7 +75,7 @@
Library
Build-Depends:
- filepath >=1.1 && <1.4,
+ filepath >=1.1 && <1.5,
temporary >=1.1 && <1.3,
array >=0.1 && <0.6,
containers >=0.1 && <0.6,
@@ -83,12 +83,11 @@
data-accessor-transformers >=0.2.1 && <0.3,
data-accessor >=0.2.2 && <0.3,
transformers >=0.3 && <0.5,
- deepseq >=1.0 && <1.4
+ deepseq >=1.0 && <1.5
If flag(splitBase)
Build-Depends:
- process >=1.0,
- time >=1.1,
- old-locale >=1.0,
+ process >=1.0 && <1.3,
+ time >=1.1 && <1.6,
base >=2 && <5
Else
Build-Depends:
diff -ru3 gnuplot-0.5.3.1-old/src/Graphics/Gnuplot/Time.hs gnuplot-0.5.3.1/src/Graphics/Gnuplot/Time.hs
--- gnuplot-0.5.3.1-old/src/Graphics/Gnuplot/Time.hs 2015-04-17 22:25:06.560715975 +0300
+++ gnuplot-0.5.3.1/src/Graphics/Gnuplot/Time.hs 2015-04-17 22:27:49.872542430 +0300
@@ -1,7 +1,6 @@
module Graphics.Gnuplot.Time where
-import System.Locale (defaultTimeLocale, )
-import Data.Time.Format (FormatTime, formatTime, )
+import Data.Time.Format (FormatTime, formatTime, defaultTimeLocale, )
import Data.Tuple.HT (mapFst, )
{- |
diff -ru3 gnuplot-0.5.3.1-old/src/Graphics/Gnuplot/Value/Tuple.hs gnuplot-0.5.3.1/src/Graphics/Gnuplot/Value/Tuple.hs
--- gnuplot-0.5.3.1-old/src/Graphics/Gnuplot/Value/Tuple.hs 2015-04-17 22:25:06.560715975 +0300
+++ gnuplot-0.5.3.1/src/Graphics/Gnuplot/Value/Tuple.hs 2015-04-17 22:28:24.426238829 +0300
@@ -9,7 +9,6 @@
ColumnCount(ColumnCount),
) where
-import System.Locale (defaultTimeLocale, )
import qualified Data.Time as Time
import Data.Word (Word8, Word16, Word32, Word64, )
@@ -82,7 +81,7 @@
instance C Time.Day where
text d = text $ Time.UTCTime d 0
instance C Time.UTCTime where
- text = singleton . showString . Time.formatTime defaultTimeLocale "%s"
+ text = singleton . showString . Time.formatTime Time.defaultTimeLocale "%s"
instance (C a, C b) => C (a,b) where
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,22 @@
diff -ru3 lambdabot-5.0.1.old/State/L.hs lambdabot-5.0.1/State/L.hs
--- lambdabot-5.0.1.old/State/L.hs 2015-04-15 03:26:04.818947594 +0300
+++ lambdabot-5.0.1/State/L.hs 2015-04-15 03:26:20.386099365 +0300
@@ -34,7 +34,6 @@
import Control.Monad
import Control.Monad.Cont
import Control.Monad.Identity
-import Control.Monad.Instances
import Control.Monad.Reader
import Control.Monad.ST.Safe
import Control.Monad.State
diff -ru3 lambdabot-5.0.1.old/State/Pristine.hs lambdabot-5.0.1/State/Pristine.hs
--- lambdabot-5.0.1.old/State/Pristine.hs 2015-04-15 03:26:04.818947594 +0300
+++ lambdabot-5.0.1/State/Pristine.hs 2015-04-15 03:26:20.386099365 +0300
@@ -34,7 +34,6 @@
import Control.Monad
import Control.Monad.Cont
import Control.Monad.Identity
-import Control.Monad.Instances
import Control.Monad.Reader
import Control.Monad.ST.Safe
import Control.Monad.State
@@ -0,0 +1,23 @@
diff --git a/Mueval/Interpreter.hs b/Mueval/Interpreter.hs
index 29b771f..6360ee3 100644
--- a/Mueval/Interpreter.hs
+++ b/Mueval/Interpreter.hs
@@ -8,6 +8,7 @@ import Control.Monad.Writer (Any(..),runWriterT,tell)
import Data.Char (isDigit)
import Data.List (stripPrefix)
import System.Directory (copyFile, makeRelativeToCurrentDirectory, removeFile, setCurrentDirectory)
+import System.Environment (lookupEnv)
import System.Exit (exitFailure)
import System.FilePath.Posix (takeFileName)
import qualified Control.Exception.Extensible as E (evaluate,catch,SomeException(..))
@@ -47,6 +48,10 @@ interpreter Options { extensions = exts, namedExtensions = nexts,
-- Explicitly adding ImplicitPrelude because of
-- http://darcsden.com/jcpetruzza/hint/issue/1
unless (null lexts) $ set [languageExtensions := (UnknownExtension "ImplicitPrelude" : lexts)]
+ pkgs' <- liftIO $ lookupEnv "NIX_GHC_LIBDIR"
+ case pkgs' of
+ Just pkgs -> unsafeSetGhcOption ("-package-db " ++ pkgs ++ "/package.conf.d")
+ Nothing -> return ()
when trust $ do
unsafeSetGhcOption "-fpackage-trust"
forM_ (trustPkgs >>= words) $ \pkg ->
@@ -0,0 +1,28 @@
diff -ru3 unlambda-0.1.3-old/Language/Unlambda.hs unlambda-0.1.3/Language/Unlambda.hs
--- unlambda-0.1.3-old/Language/Unlambda.hs 2015-04-17 21:16:32.415751612 +0300
+++ unlambda-0.1.3/Language/Unlambda.hs 2015-04-17 21:25:38.210123501 +0300
@@ -29,6 +29,7 @@
import Prelude hiding(catch)
#endif
import Control.Exception (catch, IOException)
+import Control.Monad (liftM, ap)
------------------------------------------------------------------------
-- Abstract syntax
@@ -85,6 +86,16 @@
type Cont a = (Maybe Char, Int) -> a -> IO Exp
+instance Functor Eval where
+
+ fmap = liftM
+
+instance Applicative Eval where
+
+ pure = return
+
+ (<*>) = ap
+
instance Monad Eval where
(Eval cp1) >>= f = Eval $ \dat1 cont2 ->