Merge pull request #76842 from matthewbauer/add-doc-to-ghc-wrapper
haskell/with-packages-wrapper.nix: install "doc" outputs
This commit is contained in:
commit
ddcaa0cd2f
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, ghc, llvmPackages, packages, symlinkJoin, makeWrapper
|
{ lib, stdenv, ghc, llvmPackages, packages, buildEnv, makeWrapper
|
||||||
, withLLVM ? false
|
, withLLVM ? false
|
||||||
, postBuild ? ""
|
, postBuild ? ""
|
||||||
, ghcLibdir ? null # only used by ghcjs, when resolving plugins
|
, ghcLibdir ? null # only used by ghcjs, when resolving plugins
|
||||||
@ -51,15 +51,25 @@ let
|
|||||||
++ lib.optional stdenv.targetPlatform.isDarwin llvmPackages.clang);
|
++ lib.optional stdenv.targetPlatform.isDarwin llvmPackages.clang);
|
||||||
in
|
in
|
||||||
if paths == [] && !withLLVM then ghc else
|
if paths == [] && !withLLVM then ghc else
|
||||||
symlinkJoin {
|
buildEnv {
|
||||||
# this makes computing paths from the name attribute impossible;
|
# this makes computing paths from the name attribute impossible;
|
||||||
# if such a feature is needed, the real compiler name should be saved
|
# if such a feature is needed, the real compiler name should be saved
|
||||||
# as a dedicated drv attribute, like `compiler-name`
|
# as a dedicated drv attribute, like `compiler-name`
|
||||||
name = ghc.name + "-with-packages";
|
name = ghc.name + "-with-packages";
|
||||||
paths = paths ++ [ghc];
|
paths = paths ++ [ghc];
|
||||||
|
extraOutputsToInstall = ["doc"];
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
. ${makeWrapper}/nix-support/setup-hook
|
. ${makeWrapper}/nix-support/setup-hook
|
||||||
|
|
||||||
|
# We make changes to ghc binaries in $out/bin. buildEnv gives a
|
||||||
|
# symlink if only one of the paths has the subdirectory. If so,
|
||||||
|
# we need to remove it for our new wrappers.
|
||||||
|
|
||||||
|
if [ -L "$out/bin" ]; then
|
||||||
|
rm -f "$out/bin"
|
||||||
|
mkdir -p "$out/bin"
|
||||||
|
fi
|
||||||
|
|
||||||
# wrap compiler executables with correct env variables
|
# wrap compiler executables with correct env variables
|
||||||
|
|
||||||
for prg in ${ghcCommand} ${ghcCommand}i ${ghcCommand}-${ghc.version} ${ghcCommand}i-${ghc.version}; do
|
for prg in ${ghcCommand} ${ghcCommand}i ${ghcCommand}-${ghc.version} ${ghcCommand}i-${ghc.version}; do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user