Merge pull request #42349 from ElvishJerricco/fix-hoogle-null-deps

Fix null deps in ghcWithHoogle
This commit is contained in:
Peter Simons 2018-06-22 12:21:01 +02:00 committed by GitHub
commit 7489a760d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -52,10 +52,13 @@ let
This index includes documentation for many Haskell modules.
'';
# Packages like base and bytestring are null. These must be removed
# to prevent eval errors.
nonNullPackages = builtins.filter (p: p != null) packages;
# TODO: closePropagation is deprecated; replace
docPackages = lib.closePropagation
# we grab the doc outputs
(map (lib.getOutput "doc") packages);
(map (lib.getOutput "doc") nonNullPackages);
in
stdenv.mkDerivation {
@ -67,10 +70,10 @@ stdenv.mkDerivation {
inherit docPackages;
buildPhase = ''
${lib.optionalString (packages != [] -> docPackages == [])
${lib.optionalString (nonNullPackages != [] -> docPackages == [])
("echo WARNING: localHoogle package list empty, even though"
+ " the following were specified: "
+ lib.concatMapStringsSep ", " (p: p.name) packages)}
+ lib.concatMapStringsSep ", " (p: p.name) nonNullPackages)}
mkdir -p $out/share/doc/hoogle
echo importing builtin packages
@ -86,10 +89,9 @@ stdenv.mkDerivation {
${lib.concatMapStringsSep "\n" (el: ''
ln -sfn ${el.haddockDir} "$out/share/doc/hoogle/${el.name}"
'')
(lib.filter (el: el.haddockDir != null)
(builtins.map (p: { haddockDir = if p ? haddockDir then p.haddockDir p else null;
name = p.pname; })
docPackages))}
(builtins.map (p: { haddockDir = if p ? haddockDir then p.haddockDir p else null;
name = p.pname; })
docPackages)}
echo building hoogle database
hoogle generate --database $out/share/doc/hoogle/default.hoo --local=$out/share/doc/hoogle