summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2020-01-06 18:25:50 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2020-01-06 18:25:50 -0500
commit93aabab7605c21f5962df2dffa7fee9ac17ba848 (patch)
treeacbf35087ea426a1c2bdea54abff21aaa91be19b
parenthaskell/with-packages-wrapper.nix: install "doc" outputs (diff)
downloadnixpkgs-93aabab7605c21f5962df2dffa7fee9ac17ba848.tar.gz
haskell/with-packages-wrapper.nix: remove /bin symlink if it exists
The wrapper need a writable directory to work, so remove the symlink to a read-only one if it occurs.
-rw-r--r--pkgs/development/haskell-modules/with-packages-wrapper.nix9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index eb8fad4af1bd..404fd0d94408 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -61,6 +61,15 @@ buildEnv {
postBuild = ''
. ${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
for prg in ${ghcCommand} ${ghcCommand}i ${ghcCommand}-${ghc.version} ${ghcCommand}i-${ghc.version}; do