summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-08-13 14:05:27 +0200
committerLudovic Courtès <ludo@gnu.org>2012-08-13 14:12:54 +0200
commit04661ec85044e69ea82c963a1d10ffd5d39b43fa (patch)
tree0cefbfdc50d3cf8ed204b0bfa01d881e951758d5 /pkgs
parent59d4db07bcedd59238bcb37b6cf78b07188a9876 (diff)
downloadnixlib-04661ec85044e69ea82c963a1d10ffd5d39b43fa.tar
nixlib-04661ec85044e69ea82c963a1d10ffd5d39b43fa.tar.gz
nixlib-04661ec85044e69ea82c963a1d10ffd5d39b43fa.tar.bz2
nixlib-04661ec85044e69ea82c963a1d10ffd5d39b43fa.tar.lz
nixlib-04661ec85044e69ea82c963a1d10ffd5d39b43fa.tar.xz
nixlib-04661ec85044e69ea82c963a1d10ffd5d39b43fa.tar.zst
nixlib-04661ec85044e69ea82c963a1d10ffd5d39b43fa.zip
openssl: fix GNU/kFreeBSD builds
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/openssl/default.nix5
-rw-r--r--pkgs/development/libraries/openssl/kfreebsd-gnu.patch36
2 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index cd164b13f8e3..575b57eb8727 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -23,6 +23,11 @@ let
            ./gnu.patch                # submitted upstream
          ]
 
+    ++ stdenv.lib.optionals (stdenv.system == "x86_64-kfreebsd-gnu")
+        [ ./gnu.patch
+          ./kfreebsd-gnu.patch
+        ]
+
     ++ stdenv.lib.optional stdenv.isDarwin ./darwin-arch.patch;
   
 in
diff --git a/pkgs/development/libraries/openssl/kfreebsd-gnu.patch b/pkgs/development/libraries/openssl/kfreebsd-gnu.patch
new file mode 100644
index 000000000000..66cedf746ba5
--- /dev/null
+++ b/pkgs/development/libraries/openssl/kfreebsd-gnu.patch
@@ -0,0 +1,36 @@
+Allow compilation on GNU/kFreeBSD.  Ideally, there'd be a single way to process
+all glibc-based system, but the build system is soooo broken.
+
+--- openssl-1.0.0i/config
++++ openssl-1.0.0i/config
+@@ -170,6 +170,10 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${
+ 	echo "${MACHINE}-whatever-linux1"; exit 0
+ 	;;
+ 
++    GNU/kFreeBSD*)
++    	echo "kfreebsd-gnu"; exit 0;
++    	;;
++
+     GNU*)
+ 	echo "hurd-x86"; exit 0;
+ 	;;
+@@ -810,6 +814,7 @@ case "$GUESSOS" in
+   beos-*) OUT="$GUESSOS" ;;
+   x86pc-*-qnx6) OUT="QNX6-i386" ;;
+   *-*-qnx6) OUT="QNX6" ;;
++  kfreebsd-gnu) OUT="kfreebsd-gnu";;
+   *) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
+ esac
+ 
+
+--- openssl-1.0.0i/Configure
++++ openssl-1.0.0i/Configure
+@@ -565,6 +565,9 @@ my %table=(
+ ##### 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",
+ 
++##### GNU/kFreeBSD on x86_64, copied from "linux-x86_64"
++"kfreebsd-gnu",	"gcc:-m64 -DL_ENDIAN -DTERMIOS -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++
+ ##### OS/2 EMX
+ "OS2-EMX", "gcc::::::::",