From b597d8bfb6ada257826ab17bc65583f839067b1a Mon Sep 17 00:00:00 2001 From: Shea Levy <shea@shealevy.com> Date: Wed, 16 Nov 2011 19:03:52 +0000 Subject: [PATCH] openssl: Fix target settings when building for GNU/hurd GNU/hurd cross-build succeeds now! svn path=/nixpkgs/trunk/; revision=30452 --- pkgs/development/libraries/openssl/default.nix | 12 ++++++++++-- pkgs/development/libraries/openssl/hurd-target.patch | 12 ++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/openssl/hurd-target.patch diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index fc748100325e..c8b7aece86eb 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -7,7 +7,6 @@ let (throw "openssl needs its platform name cross building" null) stdenv.cross; - # openssl only defines _GNU_SOURCE on Linux by default, but we need it on GNU hurdGNUSourcePatch = fetchurl { url = http://patch-tracker.debian.org/patch/series/dl/openssl/1.0.0e-2.1/gnu_source.patch; sha256 = "0zp4x8bql92fbqywnigqfsfj2vvabb66wv6g6zgzh0y6js1ic4pn"; @@ -48,7 +47,16 @@ stdenv.mkDerivation { export configureFlags="--libdir=lib --cross-compile-prefix=${stdenv.cross.config}- shared ${opensslCrossSystem}" ''; - patches = stdenv.lib.optional (opensslCrossSystem == "hurd-x86") hurdGNUSourcePatch; + patches = stdenv.lib.optionals (opensslCrossSystem == "hurd-x86") [ + # OpenSSL only defines _GNU_SOURCE on Linux, but we need it on GNU + hurdGNUSourcePatch + + # Use the target settings from Debian's "debian-hurd-i386" target. + # see http://patch-tracker.debian.org/patch/series/view/openssl/1.0.0e-2.1/debian-targets.patch + # In particular, this sets the shared library extension properly so that + # make install succeeds + ./hurd-target.patch + ]; postInstall = '' # Openssl installs readonly files, which otherwise we can't strip. diff --git a/pkgs/development/libraries/openssl/hurd-target.patch b/pkgs/development/libraries/openssl/hurd-target.patch new file mode 100644 index 000000000000..399a37a69ed9 --- /dev/null +++ b/pkgs/development/libraries/openssl/hurd-target.patch @@ -0,0 +1,12 @@ +diff -Naur openssl-1.0.0d-orig/Configure openssl-1.0.0d/Configure +--- openssl-1.0.0d-orig/Configure 2010-11-30 17:19:26.000000000 -0500 ++++ openssl-1.0.0d/Configure 2011-11-16 13:52:57.614416683 -0500 +@@ -563,7 +563,7 @@ + "newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::", + + ##### GNU Hurd +-"hurd-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC", ++"hurd-x86","gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -mtune=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + + ##### OS/2 EMX + "OS2-EMX", "gcc::::::::",