Merge branch 'master' into staging
This commit is contained in:
@@ -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;/'"
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
} // {
|
||||
|
||||
Reference in New Issue
Block a user