openssl: correct cross compile for mingw

This commit is contained in:
brano543 2021-01-01 21:42:07 +01:00 committed by John Ericson
parent ee8e469ca9
commit dc9694c78e
2 changed files with 15 additions and 14 deletions

View file

@ -6,7 +6,7 @@
# Used to avoid cross compiling perl, for example, in darwin bootstrap tools. # Used to avoid cross compiling perl, for example, in darwin bootstrap tools.
# This will cause c_rehash to refer to perl via the environment, but otherwise # This will cause c_rehash to refer to perl via the environment, but otherwise
# will produce a perfectly functional openssl binary and library. # will produce a perfectly functional openssl binary and library.
, withPerl ? true , withPerl ? stdenv.hostPlatform == stdenv.buildPlatform
}: }:
assert ( assert (
@ -42,8 +42,10 @@ let
substituteInPlace "$a" \ substituteInPlace "$a" \
--replace /bin/rm rm --replace /bin/rm rm
done done
'' + optionalString (versionAtLeast version "1.1.1") '' ''
substituteInPlace config --replace '/usr/bin/env' '${coreutils}/bin/env' # config is a configure script which is not installed.
+ optionalString (versionAtLeast version "1.1.1") ''
substituteInPlace config --replace '/usr/bin/env' '${buildPackages.coreutils}/bin/env'
'' + optionalString (versionAtLeast version "1.1.0" && stdenv.hostPlatform.isMusl) '' '' + optionalString (versionAtLeast version "1.1.0" && stdenv.hostPlatform.isMusl) ''
substituteInPlace crypto/async/arch/async_posix.h \ substituteInPlace crypto/async/arch/async_posix.h \
--replace '!defined(__ANDROID__) && !defined(__OpenBSD__)' \ --replace '!defined(__ANDROID__) && !defined(__OpenBSD__)' \

View file

@ -465,16 +465,18 @@ in
perl = buildPackages.perl.override { fetchurl = stdenv.fetchurlBoot; }; perl = buildPackages.perl.override { fetchurl = stdenv.fetchurlBoot; };
openssl = buildPackages.openssl.override { openssl = buildPackages.openssl.override {
fetchurl = stdenv.fetchurlBoot; fetchurl = stdenv.fetchurlBoot;
coreutils = buildPackages.coreutils.override { buildPackages = {
fetchurl = stdenv.fetchurlBoot; coreutils = buildPackages.coreutils.override {
fetchurl = stdenv.fetchurlBoot;
inherit perl;
xz = buildPackages.xz.override { fetchurl = stdenv.fetchurlBoot; };
gmp = null;
aclSupport = false;
attrSupport = false;
};
inherit perl; inherit perl;
xz = buildPackages.xz.override { fetchurl = stdenv.fetchurlBoot; };
gmp = null;
aclSupport = false;
attrSupport = false;
}; };
inherit perl; inherit perl;
buildPackages = { inherit perl; };
}; };
libssh2 = buildPackages.libssh2.override { libssh2 = buildPackages.libssh2.override {
fetchurl = stdenv.fetchurlBoot; fetchurl = stdenv.fetchurlBoot;
@ -16901,10 +16903,7 @@ in
wolfssl = callPackage ../development/libraries/wolfssl { }; wolfssl = callPackage ../development/libraries/wolfssl { };
openssl = openssl = openssl_1_1;
if stdenv.hostPlatform.isMinGW # Work around broken cross build
then openssl_1_0_2
else openssl_1_1;
inherit (callPackages ../development/libraries/openssl { }) inherit (callPackages ../development/libraries/openssl { })
openssl_1_0_2 openssl_1_0_2