glibc, openssl: unbreak cross eval (with minor caveats)
It's certainly better to have those two caveats than not evaluate. Both seem rather niche. Unfortunately I failed to find a better way. I started testing builds of several cross variants; all seem OK.
This commit is contained in:
parent
b94c1c89f6
commit
c2038483fd
|
@ -111,6 +111,10 @@ stdenv.mkDerivation ({
|
||||||
# nscd needs libgcc, and we don't want it dynamically linked
|
# nscd needs libgcc, and we don't want it dynamically linked
|
||||||
# because we don't want it to depend on bootstrap-tools libs.
|
# because we don't want it to depend on bootstrap-tools libs.
|
||||||
echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
|
echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
|
||||||
|
''
|
||||||
|
# FIXME: find a solution for infinite recursion in cross builds.
|
||||||
|
# For now it's hopefully acceptable that IDN from libc doesn't reliably work.
|
||||||
|
+ lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
|
||||||
|
|
||||||
# Ensure that libidn2 is found.
|
# Ensure that libidn2 is found.
|
||||||
patch -p 1 <<EOF
|
patch -p 1 <<EOF
|
||||||
|
|
|
@ -36,7 +36,9 @@ let
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "man" ] ++ optional withDocs "doc";
|
outputs = [ "bin" "dev" "out" "man" ] ++ optional withDocs "doc";
|
||||||
setOutputFlags = false;
|
setOutputFlags = false;
|
||||||
separateDebugInfo = !(stdenv.hostPlatform.useLLVM or false) && stdenv.cc.isGNU;
|
separateDebugInfo = !(stdenv.hostPlatform.useLLVM or false)
|
||||||
|
&& stdenv.hostPlatform == stdenv.buildPlatform # unable to fix infinite recursion on stdenv.cc
|
||||||
|
&& stdenv.cc.isGNU;
|
||||||
|
|
||||||
nativeBuildInputs = [ perl ];
|
nativeBuildInputs = [ perl ];
|
||||||
buildInputs = stdenv.lib.optional withCryptodev cryptodev;
|
buildInputs = stdenv.lib.optional withCryptodev cryptodev;
|
||||||
|
|
Loading…
Reference in New Issue