diff --git a/pkgs/development/haskell-modules/hoogle.nix b/pkgs/development/haskell-modules/hoogle.nix index 38e8dfd24c4e..803ff2b20d11 100644 --- a/pkgs/development/haskell-modules/hoogle.nix +++ b/pkgs/development/haskell-modules/hoogle.nix @@ -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