Merge branch 'master' into staging

This commit is contained in:
Franz Pletz
2017-07-28 16:08:30 +02:00
117 changed files with 3980 additions and 1944 deletions

View File

@@ -594,10 +594,10 @@ self: super: {
doCheck = false; # https://github.com/kazu-yamamoto/ghc-mod/issues/335
executableToolDepends = drv.executableToolDepends or [] ++ [pkgs.emacs];
postInstall = ''
local lispdir=( "$out/share/"*"-${self.ghc.name}/${drv.pname}-${drv.version}/elisp" )
local lispdir=( "$data/share/${self.ghc.name}/*/${drv.pname}-${drv.version}/elisp" )
make -C $lispdir
mkdir -p $out/share/emacs/site-lisp
ln -s "$lispdir/"*.el{,c} $out/share/emacs/site-lisp/
mkdir -p $data/share/emacs/site-lisp
ln -s "$lispdir/"*.el{,c} $data/share/emacs/site-lisp/
'';
});
@@ -728,7 +728,7 @@ self: super: {
};
in overrideCabal super.servant (old: {
postInstall = old.postInstall or "" + ''
ln -s ${docs} $out/share/doc/servant
ln -s ${docs} $doc/share/doc/servant
'';
});
@@ -874,4 +874,7 @@ self: super: {
# https://github.com/diagrams/diagrams-solve/issues/4
diagrams-solve = dontCheck super.diagrams-solve;
# Needs a newer version of ghc-events.
threadscope = super.threadscope.override { ghc-events = self.ghc-events_0_6_0; };
}

View File

@@ -47,8 +47,6 @@ self: super: {
sha256 = "026vv2k3ks73jngwifszv8l59clg88pcdr4mz0wr0gamivkfa1zy";
});
## GHC 8.0.2
# http://hub.darcs.net/dolio/vector-algorithms/issue/9#comment-20170112T145715
vector-algorithms = dontCheck super.vector-algorithms;
@@ -60,4 +58,8 @@ self: super: {
# Newer versions require ghc>=8.2
apply-refact = super.apply-refact_0_3_0_1;
# This builds needs the latest Cabal version.
cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_2_0_0_2; });
}

View File

@@ -40,7 +40,7 @@ self: super: {
cabal-install = super.cabal-install.override { Cabal = null; };
# jailbreak-cabal doesn't seem to work right with the native Cabal version.
jailbreak-cabal = pkgs.haskellPackages.jailbreak-cabal;
jailbreak-cabal = pkgs.haskell.packages.ghc802.jailbreak-cabal;
# https://github.com/bmillwood/applicative-quoters/issues/6
applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {

View File

@@ -1,5 +1,5 @@
{ stdenv, fetchurl, ghc, pkgconfig, glibcLocales, coreutils, gnugrep, gnused
, jailbreak-cabal, hscolour, cpphs, nodejs, lib
, jailbreak-cabal, hscolour, cpphs, nodejs, lib, removeReferencesTo
}: let isCross = (ghc.cross or null) != null; in
{ pname
@@ -53,6 +53,8 @@
, coreSetup ? false # Use only core packages to build Setup.hs.
, useCpphs ? false
, hardeningDisable ? lib.optional (ghc.isHaLVM or false) "all"
, enableSeparateDataOutput ? false
, enableSeparateDocOutput ? doHaddock
} @ args:
assert editedCabalFile != null -> revision != null;
@@ -108,6 +110,8 @@ let
defaultConfigureFlags = [
"--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid"
(optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
(optionalString enableSeparateDocOutput "--docdir=$doc/share/doc")
"--with-gcc=$CC" # Clang won't work without that extra information.
"--package-db=$packageConfDir"
(optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
@@ -144,7 +148,7 @@ let
allPkgconfigDepends = pkgconfigDepends ++ libraryPkgconfigDepends ++ executablePkgconfigDepends ++
optionals doCheck testPkgconfigDepends ++ optionals withBenchmarkDepends benchmarkPkgconfigDepends;
nativeBuildInputs = buildTools ++ libraryToolDepends ++ executableToolDepends;
nativeBuildInputs = buildTools ++ libraryToolDepends ++ executableToolDepends ++ [ removeReferencesTo ];
propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
optionals (allPkgconfigDepends != []) ([pkgconfig] ++ allPkgconfigDepends) ++
@@ -173,6 +177,9 @@ assert allPkgconfigDepends != [] -> pkgconfig != null;
stdenv.mkDerivation ({
name = "${pname}-${version}";
outputs = if (args ? outputs) then args.outputs else ([ "out" ] ++ (optional enableSeparateDataOutput "data") ++ (optional enableSeparateDocOutput "doc"));
setOutputFlags = false;
pos = builtins.unsafeGetAttrPos "pname" args;
prePhases = ["setupCompilerEnvironmentPhase"];
@@ -323,6 +330,14 @@ stdenv.mkDerivation ({
done
''}
${optionalString enableSeparateDocOutput ''
for x in $doc/share/doc/html/src/*.html; do
remove-references-to -t $out $x
done
mkdir -p $doc
''}
${optionalString enableSeparateDataOutput "mkdir -p $data"}
runHook postInstall
'';

File diff suppressed because it is too large Load Diff

View File

@@ -111,4 +111,6 @@ rec {
overrideSrc = drv: { src, version ? drv.version }:
overrideCabal drv (_: { inherit src version; editedCabalFile = null; });
hasNoDataOutput = drv: overrideCabal drv (drv: { hasDataDir = false; });
hasNoDocOutput = drv: overrideCabal drv (drv: { hasDocDir = false; });
}