···272272 lib.optionalString stdenv.isLinux ''
273273 find . -type f -executable -exec patchelf \
274274 --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \;
275275+ '' +
276276+ # The hadrian install Makefile uses 'xxx' as a temporary placeholder in path
277277+ # substitution. Which can break the build if the store path / prefix happens
278278+ # to contain this string. This will be fixed with 9.4 bindists.
279279+ # https://gitlab.haskell.org/ghc/ghc/-/issues/21402
280280+ ''
281281+ # Detect hadrian Makefile by checking for the target that has the problem
282282+ if grep '^update_package_db' ghc-${version}*/Makefile > /dev/null; then
283283+ echo Hadrian bindist, applying workaround for xxx path substitution.
284284+ # based on https://gitlab.haskell.org/ghc/ghc/-/commit/dd5fecb0e2990b192d92f4dfd7519ecb33164fad.patch
285285+ substituteInPlace ghc-${version}*/Makefile --replace 'xxx' '\0xxx\0'
286286+ else
287287+ echo Not a hadrian bindist, not applying xxx path workaround.
288288+ fi
275289 '';
276290277291 # fix for `configure: error: Your linker is affected by binutils #16177`
+14
pkgs/development/compilers/ghc/8.10.7-binary.nix
···270270 lib.optionalString stdenv.isLinux ''
271271 find . -type f -executable -exec patchelf \
272272 --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \;
273273+ '' +
274274+ # The hadrian install Makefile uses 'xxx' as a temporary placeholder in path
275275+ # substitution. Which can break the build if the store path / prefix happens
276276+ # to contain this string. This will be fixed with 9.4 bindists.
277277+ # https://gitlab.haskell.org/ghc/ghc/-/issues/21402
278278+ ''
279279+ # Detect hadrian Makefile by checking for the target that has the problem
280280+ if grep '^update_package_db' ghc-${version}*/Makefile > /dev/null; then
281281+ echo Hadrian bindist, applying workaround for xxx path substitution.
282282+ # based on https://gitlab.haskell.org/ghc/ghc/-/commit/dd5fecb0e2990b192d92f4dfd7519ecb33164fad.patch
283283+ substituteInPlace ghc-${version}*/Makefile --replace 'xxx' '\0xxx\0'
284284+ else
285285+ echo Not a hadrian bindist, not applying xxx path workaround.
286286+ fi
273287 '';
274288275289 # fix for `configure: error: Your linker is affected by binutils #16177`
···103103 all movement on the battlefield has ceased).'';
104104 maintainers = with maintainers; [ kragniz fpletz ];
105105 inherit (fpc.meta) platforms;
106106+107107+ # Appears to be some sort of C++ linking error.
108108+ # Example: https://hydra.nixos.org/build/174544990/nixlog/6
109109+ broken = true;
110110+ hydraPlatforms = platforms.none;
106111 };
107112}