Revert "Extend Haskell generic builder to use new --ipid flag."

This reverts commit ec8b816154. The change told
the Cabal build system to use the hash-part of $out as the internal identifier
for the library it's building (rather than generating such an ID itself). While
a good idea in theory, this choice had an unfortunate side-effect: When Cabal
links libraries X, Y, and Z into an executable, then the generated binary
contains their respective IDs. Now, Nix finds those strings and treats them as
an indication that there is a *run-time dependency* on the corresponding store
paths. This means that the generated executable will always depend on the store
paths of all the Haskell libraries that went into it, even when linked
statically.
This commit is contained in:
Peter Simons 2016-10-08 10:45:48 +02:00
parent bf003d986c
commit b59b89d9e3

View File

@ -180,11 +180,6 @@ stdenv.mkDerivation ({
setupCompileFlags="${concatStringsSep " " setupCompileFlags}"
configureFlags="${concatStringsSep " " defaultConfigureFlags} $configureFlags"
${optionalString (stdenv.lib.versionOlder "8" ghc.version) ''
ipid=$(echo $(basename "$out") | cut -d- -f1)
configureFlags+=" --ipid=$ipid"
''}
local inputClosure=""
for i in $propagatedNativeBuildInputs $nativeBuildInputs; do
findInputs $i inputClosure propagated-native-build-inputs