Merge branch 'master' into staging

This commit is contained in:
William A. Kennington III
2015-03-26 14:44:05 -07:00
144 changed files with 6971 additions and 1358 deletions
@@ -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_1_1 = dontCheck super.Cabal_1_22_1_1;
cabal-install = dontCheck (super.cabal-install.override { Cabal = self.Cabal_1_22_1_1; });
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; });
# Break infinite recursions.
digest = super.digest.override { inherit (pkgs) zlib; };
@@ -107,6 +107,7 @@ self: super: {
deepseq-magic = dontHaddock super.deepseq-magic;
diagrams = dontHaddock super.diagrams;
either = dontHaddock super.either;
feldspar-signal = dontHaddock super.feldspar-signal; # https://github.com/markus-git/feldspar-signal/issues/1
gl = dontHaddock super.gl;
groupoids = dontHaddock super.groupoids;
hamlet = dontHaddock super.hamlet;
@@ -181,7 +182,7 @@ self: super: {
lushtags = markBrokenVersion "0.0.1" super.lushtags;
# https://github.com/haskell/bytestring/issues/41
bytestring_0_10_4_1 = dontCheck super.bytestring_0_10_4_1;
bytestring_0_10_6_0 = dontCheck super.bytestring_0_10_6_0;
# https://github.com/zmthy/http-media/issues/6
http-media = dontCheck super.http-media;
@@ -253,6 +254,7 @@ 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"; });
@@ -300,6 +302,7 @@ self: super: {
cabal-bounds = dontCheck super.cabal-bounds; # http://hydra.cryp.to/build/496935/nixlog/1/raw
cabal-meta = dontCheck super.cabal-meta; # http://hydra.cryp.to/build/497892/log/raw
cautious-file = dontCheck super.cautious-file; # http://hydra.cryp.to/build/499730/log/raw
CLI = dontCheck super.CLI; # Upstream has no issue tracker.
cjk = dontCheck super.cjk;
command-qq = dontCheck super.command-qq; # http://hydra.cryp.to/build/499042/log/raw
conduit-connection = dontCheck super.conduit-connection;
@@ -428,7 +431,7 @@ self: super: {
snappy = dontCheck super.snappy;
# Needs llvm to compile.
bytestring-arbitrary = addBuildTool super.bytestring-arbitrary pkgs.llvm_34;
bytestring-arbitrary = addBuildTool super.bytestring-arbitrary self.llvm;
# Expect to find sendmail(1) in $PATH.
mime-mail = appendConfigureFlag super.mime-mail "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"sendmail\"";
@@ -482,11 +485,6 @@ self: super: {
# https://github.com/ucsd-progsys/liquid-fixpoint/issues/44
liquid-fixpoint = overrideCabal super.liquid-fixpoint (drv: { preConfigure = "patchShebangs ."; });
# LLVM 3.5 breaks GHC: https://ghc.haskell.org/trac/ghc/ticket/9142.
GlomeVec = super.GlomeVec.override { llvm = pkgs.llvm_34; }; # https://github.com/jimsnow/glome/issues/2
gloss-raster = super.gloss-raster.override { llvm = pkgs.llvm_34; };
repa-examples = super.repa-examples.override { llvm = pkgs.llvm_34; };
# Missing module.
rematch = dontCheck super.rematch; # https://github.com/tcrayford/rematch/issues/5
rematch-text = dontCheck super.rematch-text; # https://github.com/tcrayford/rematch/issues/6
@@ -580,15 +578,6 @@ self: super: {
hmidi = markBrokenVersion "0.2.1.0" super.hmidi;
padKONTROL = markBroken super.padKONTROL;
# https://github.com/lambdabot/lambdabot/issues/105
lambdabot-core = markBroken super.lambdabot-core;
lambdabot-haskell-plugins = markBroken super.lambdabot-haskell-plugins;
lambdabot-irc-plugins = markBroken super.lambdabot-irc-plugins;
lambdabot-misc-plugins = markBroken super.lambdabot-misc-plugins;
lambdabot-novelty-plugins = markBroken super.lambdabot-novelty-plugins;
lambdabot-reference-plugins = markBroken super.lambdabot-reference-plugins;
lambdabot-social-plugins = markBroken super.lambdabot-social-plugins;
# Upstream provides no issue tracker and no contact details.
vivid = markBroken super.vivid;
@@ -637,6 +626,27 @@ self: super: {
hydrogen-syntax = markBroken super.hydrogen-syntax;
hydrogen-cli = dontDistribute super.hydrogen-cli;
# https://github.com/meteficha/Hipmunk/issues/8
Hipmunk = markBroken super.Hipmunk;
HipmunkPlayground = dontDistribute super.HipmunkPlayground;
# https://github.com/prowdsponsor/esqueleto/issues/93
esqueleto = dontCheck super.esqueleto;
# https://github.com/anchor/ceilometer-common/issues/16
ceilometer-common = dontCheck super.ceilometer-common;
# https://github.com/fumieval/audiovisual/issues/1
audiovisual = markBroken super.audiovisual;
# https://github.com/cdupont/Nomyx/issues/85
Nomyx-Core = markBroken super.Nomyx-Core;
Nomyx-Web = dontDistribute super.Nomyx-Web;
Nomyx = dontDistribute super.Nomyx;
# https://github.com/alephcloud/hs-stm-queue-extras/issues/2
stm-queue-extras = overrideCabal super.stm-queue-extras (drv: { editedCabalFile = null; });
} // {
# Not on Hackage.
@@ -4,6 +4,9 @@ with import ./lib.nix { inherit pkgs; };
self: super: {
# LLVM is not supported on this GHC; use the latest one.
inherit (pkgs) llvmPackages;
# Disable GHC 6.12.x core libraries.
array = null;
base = null;
@@ -4,6 +4,9 @@ with import ./lib.nix { inherit pkgs; };
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_34;
# Disable GHC 7.0.x core libraries.
array = null;
base = null;
@@ -35,7 +38,7 @@ self: super: {
binary = self.binary_0_7_4_0;
# deepseq is not a core library for this compiler.
deepseq = self.deepseq_1_4_1_0;
deepseq = self.deepseq_1_4_1_1;
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
@@ -4,6 +4,9 @@ with import ./lib.nix { inherit pkgs; };
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_35;
# Disable GHC 7.10.x core libraries.
array = null;
base = null;
@@ -125,10 +128,4 @@ self: super: {
sha256 = "1fycvjfr1l9wa03k30bnppl3ns99lffh9kmp9r7sr8b6yiydcajq";
stripLen = 1;
});
# https://github.com/batterseapower/ansi-wl-pprint/issues/13
ansi-wl-pprint = appendPatch super.ansi-wl-pprint (pkgs.fetchpatch {
url = "https://github.com/hvr/ansi-wl-pprint/commit/7e489ea6b546899074b1cdccf37d2e49ab313098.patch";
sha256 = "0j20cwbph1wg82gfad5a6gfc5gy42cf4vz514jrpfg8d9qvyfhlj";
});
}
@@ -4,6 +4,9 @@ with import ./lib.nix { inherit pkgs; };
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_34;
# Disable GHC 7.2.x core libraries.
array = null;
base = null;
@@ -32,7 +35,7 @@ self: super: {
unix = null;
# deepseq is not a core library for this compiler.
deepseq = self.deepseq_1_4_1_0;
deepseq = self.deepseq_1_4_1_1;
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
@@ -40,7 +43,7 @@ self: super: {
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_1_1 = super.Cabal_1_22_1_1.override { binary = self.binary_0_7_4_0; process = self.process_1_2_3_0; };
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; };
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
@@ -4,6 +4,9 @@ with import ./lib.nix { inherit pkgs; };
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_34;
# Disable GHC 7.4.x core libraries.
array = null;
base = null;
@@ -37,7 +40,7 @@ self: super: {
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_1_1 = super.Cabal_1_22_1_1.override { binary = self.binary_0_7_4_0; };
Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; };
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
@@ -4,6 +4,9 @@ with import ./lib.nix { inherit pkgs; };
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_34;
# Disable GHC 7.6.x core libraries.
array = null;
base = null;
@@ -36,11 +39,11 @@ self: super: {
transformers-compat = disableCabalFlag super.transformers-compat "three";
# haskeline and terminfo are not core libraries for this compiler.
haskeline = self.haskeline_0_7_2_0;
haskeline = self.haskeline_0_7_2_1;
terminfo = self.terminfo_0_4_0_1;
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_1_1 = super.Cabal_1_22_1_1.override { binary = self.binary_0_7_4_0; };
Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; };
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
@@ -87,7 +90,7 @@ self: super: {
presburger pretty process QuickCheck random smtLib syb text
tf-random transformers utf8-string
];
buildTools = with self; [ alex happy Cabal_1_22_1_1 ];
buildTools = with self; [ alex happy Cabal_1_22_2_0 ];
patchPhase = "sed -i -e 's|process .*,|process,|' cryptol.cabal";
description = "Cryptol: The Language of Cryptography";
license = pkgs.stdenv.lib.licenses.bsd3;
@@ -4,6 +4,9 @@ with import ./lib.nix { inherit pkgs; };
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_34;
# Disable GHC 7.8.x core libraries.
array = null;
base = null;
@@ -45,7 +48,7 @@ self: super: {
mkDerivation = drv: super.mkDerivation (drv // { doCheck = false; });
transformers = super.transformers_0_4_3_0;
transformers-compat = disableCabalFlag super.transformers-compat "three";
haskeline = self.haskeline_0_7_2_0;
haskeline = self.haskeline_0_7_2_1;
mtl = super.mtl_2_2_1;
})) (drv: {
jailbreak = true; # idris is scared of lens 4.7
@@ -53,7 +56,7 @@ self: super: {
}); # warning: "Module Control.Monad.Error is deprecated"
# Depends on time == 0.1.5, which we don't have.
HStringTemplate_0_8_1 = dontDistribute super.HStringTemplate_0_8_1;
HStringTemplate_0_8_3 = dontDistribute super.HStringTemplate_0_8_3;
# This is part of bytestring in our compiler.
bytestring-builder = dontHaddock super.bytestring-builder;
@@ -4,6 +4,9 @@ with import ./lib.nix { inherit pkgs; };
self: super: {
# Use the latest LLVM.
inherit (pkgs) llvmPackages;
# Disable GHC 7.11.x core libraries.
array = null;
base = null;
@@ -4,6 +4,9 @@ with import ./lib.nix { inherit pkgs; };
self: super: {
# LLVM is not supported on this GHC; use the latest one.
inherit (pkgs) llvmPackages;
# This is the list of packages that are built into a booted ghcjs installation
# It can be generated with the command:
# nix-shell '<nixpkgs>' -A pkgs.haskellPackages_ghcjs.ghc --command "ghcjs-pkg list | sed -n 's/^ \(.*\)-\([0-9.]*\)$/\1_\2/ p' | sed 's/\./_/g' | sed 's/-\(.\)/\U\1/' | sed 's/^\([^_]*\)\(.*\)$/\1 = null;/'"
+4 -1
View File
@@ -54,7 +54,10 @@ let
inherit mkDerivation callPackage;
ghcWithPackages = pkgs: callPackage ./with-packages-wrapper.nix { packages = pkgs self; };
ghcWithPackages = pkgs: callPackage ./with-packages-wrapper.nix {
inherit (self) llvmPackages;
packages = pkgs self;
};
ghc = ghc // { withPackages = self.ghcWithPackages; };
@@ -3,7 +3,7 @@
}:
{ pname
, version
, version, revision ? null
, sha256 ? null
, src ? fetchurl { url = "mirror://hackage/${pname}-${version}.tar.gz"; inherit sha256; }
, buildDepends ? []
@@ -46,6 +46,7 @@
}:
assert pkgconfigDepends != [] -> pkgconfig != null;
assert editedCabalFile != null -> revision != null;
let
@@ -53,8 +54,9 @@ let
concatStringsSep enableFeature optionalAttrs;
newCabalFile = fetchurl {
url = "http://hackage.haskell.org/package/${pname}-${version}/${pname}.cabal";
url = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal";
sha256 = editedCabalFile;
name = "${pname}-${version}-r${revision}.cabal";
};
defaultSetupHs = builtins.toFile "Setup.hs" ''
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,11 @@
{ stdenv, ghc, packages, buildEnv, makeWrapper, ignoreCollisions ? false }:
{ stdenv, ghc, llvmPackages, packages, buildEnv
, makeWrapper
, ignoreCollisions ? false, withLLVM ? false }:
with stdenv.lib;
# This wrapper works only with GHC 6.12 or later.
assert stdenv.lib.versionOlder "6.12" ghc.version;
assert versionOlder "6.12" ghc.version;
# It's probably a good idea to include the library "ghc-paths" in the
# compiler environment, because we have a specially patched version of
@@ -25,15 +29,20 @@ assert stdenv.lib.versionOlder "6.12" ghc.version;
# fi
let
ghc761OrLater = stdenv.lib.versionOlder "7.6.1" ghc.version;
ghc761OrLater = versionOlder "7.6.1" ghc.version;
packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
libDir = "$out/lib/ghc-${ghc.version}";
docDir = "$out/share/doc/ghc/html";
packageCfgDir = "${libDir}/package.conf.d";
paths = stdenv.lib.filter (x: x ? isHaskellLibrary) (stdenv.lib.closePropagation packages);
hasLibraries = stdenv.lib.any (x: x.isHaskellLibrary) paths;
paths = filter (x: x ? isHaskellLibrary) (closePropagation packages);
hasLibraries = any (x: x.isHaskellLibrary) paths;
# CLang is needed on Darwin for -fllvm to work:
# https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/code-generators.html
llvm = makeSearchPath "bin"
([ llvmPackages.llvm ]
++ optional stdenv.isDarwin llvmPackages.clang);
in
if paths == [] then ghc else
if paths == [] && !withLLVM then ghc else
buildEnv {
inherit (ghc) name;
paths = paths ++ [ghc];
@@ -55,7 +64,8 @@ buildEnv {
--set "NIX_GHC" "$out/bin/ghc" \
--set "NIX_GHCPKG" "$out/bin/ghc-pkg" \
--set "NIX_GHC_DOCDIR" "${docDir}" \
--set "NIX_GHC_LIBDIR" "${libDir}"
--set "NIX_GHC_LIBDIR" "${libDir}" \
${optionalString withLLVM ''--prefix "PATH" ":" "${llvm}"''}
done
for prg in runghc runhaskell; do
@@ -73,7 +83,7 @@ buildEnv {
makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag}=${packageCfgDir}"
done
${stdenv.lib.optionalString hasLibraries "$out/bin/ghc-pkg recache"}
${optionalString hasLibraries "$out/bin/ghc-pkg recache"}
$out/bin/ghc-pkg check
'';
} // {