diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 4b34c3500ec..633e43ac6a6 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -6,17 +6,8 @@ let opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ] (throw "openssl needs its platform name cross building" null) stdenv.cross; -in -stdenv.mkDerivation { - inherit name; - - src = fetchurl { - url = "http://www.openssl.org/source/${name}.tar.gz"; - sha256 = "1xw0ffzmr4wbnb0glywgks375dvq8x87pgxmwx6vhgvkflkxqqg3"; - }; - - patches = + patchesCross = isCross: [ # Allow the location of the X509 certificate file (the CA # bundle) to be set through the environment variable # ‘OPENSSL_X509_CERT_FILE’. This is necessary because the @@ -27,12 +18,24 @@ stdenv.mkDerivation { ./cert-file.patch ] - ++ (stdenv.lib.optionals (stdenv ? cross && opensslCrossSystem == "hurd-x86") + ++ (stdenv.lib.optionals (isCross && opensslCrossSystem == "hurd-x86") [ ./cert-file-path-max.patch # merge with `cert-file.patch' eventually ./gnu.patch # submitted upstream ]) ++ (stdenv.lib.optional stdenv.isDarwin ./darwin-arch.patch); + +in + +stdenv.mkDerivation { + inherit name; + + src = fetchurl { + url = "http://www.openssl.org/source/${name}.tar.gz"; + sha256 = "1xw0ffzmr4wbnb0glywgks375dvq8x87pgxmwx6vhgvkflkxqqg3"; + }; + + patches = patchesCross false; buildNativeInputs = [ perl ]; @@ -55,6 +58,8 @@ stdenv.mkDerivation { ''; # */ crossAttrs = { + patches = patchesCross true; + preConfigure='' # It's configure does not like --build or --host export configureFlags="--libdir=lib --cross-compile-prefix=${stdenv.cross.config}- shared ${opensslCrossSystem}" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index aa1bea3da0e..2ea39af7066 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1586,7 +1586,6 @@ let gcc = { arch = "mips32"; }; - openssl.system = "linux-generic32"; }; }; in