diff options
Diffstat (limited to 'pkgs/development/libraries/openssl/default.nix')
-rw-r--r-- | pkgs/development/libraries/openssl/default.nix | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 241f9154462..fc3018b0ab2 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,13 +18,25 @@ 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) ++ stdenv.lib.optional (stdenv.system == "x86_64-freebsd") ./freebsd-x86_64-asm.patch; + +in + +stdenv.mkDerivation { + inherit name; + + src = fetchurl { + url = "http://www.openssl.org/source/${name}.tar.gz"; + sha256 = "1xw0ffzmr4wbnb0glywgks375dvq8x87pgxmwx6vhgvkflkxqqg3"; + }; + + patches = patchesCross false; buildNativeInputs = [ perl ]; @@ -56,6 +59,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}" |