summary refs log tree commit diff
diff options
context:
space:
mode:
authorNick Cao <nickcao@nichi.co>2022-01-23 18:30:18 +0800
committerNick Cao <nickcao@nichi.co>2022-01-23 19:45:45 +0800
commit407a02edff6ea50d52376b989c5d1808b93908a9 (patch)
treeef07a2f7480b89488d0ff1763e31fd1786f6aac1
parent63db2abf0dad8b1db92985db30328f9b12a1437c (diff)
downloadnixpkgs-407a02edff6ea50d52376b989c5d1808b93908a9.tar
nixpkgs-407a02edff6ea50d52376b989c5d1808b93908a9.tar.gz
nixpkgs-407a02edff6ea50d52376b989c5d1808b93908a9.tar.bz2
nixpkgs-407a02edff6ea50d52376b989c5d1808b93908a9.tar.lz
nixpkgs-407a02edff6ea50d52376b989c5d1808b93908a9.tar.xz
nixpkgs-407a02edff6ea50d52376b989c5d1808b93908a9.tar.zst
nixpkgs-407a02edff6ea50d52376b989c5d1808b93908a9.zip
judy: fix cross compilation
-rw-r--r--pkgs/development/libraries/judy/cross.patch22
-rw-r--r--pkgs/development/libraries/judy/default.nix10
2 files changed, 26 insertions, 6 deletions
diff --git a/pkgs/development/libraries/judy/cross.patch b/pkgs/development/libraries/judy/cross.patch
new file mode 100644
index 00000000000..a4e53c08a6d
--- /dev/null
+++ b/pkgs/development/libraries/judy/cross.patch
@@ -0,0 +1,22 @@
+--- a/src/Judy1/Makefile.am
++++ b/src/Judy1/Makefile.am
+@@ -18,7 +18,7 @@
+ libinline_la_CFLAGS = $(AM_CFLAGS) -DJUDYGETINLINE
+ 
+ Judy1Tables.c: Judy1TablesGen.c
+-	$(CC) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o Judy1TablesGen Judy1TablesGen.c; ./Judy1TablesGen
++	$(CC_FOR_BUILD) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o Judy1TablesGen Judy1TablesGen.c; ./Judy1TablesGen
+ 
+ Judy1ByCount.c:../JudyCommon/JudyByCount.c
+ 	cp -f ../JudyCommon/JudyByCount.c      		Judy1ByCount.c   
+--- a/src/JudyL/Makefile.am
++++ b/src/JudyL/Makefile.am
+@@ -18,7 +18,7 @@
+ libinline_la_CFLAGS = $(AM_CFLAGS) -DJUDYGETINLINE
+ 
+ JudyLTables.c: JudyLTablesGen.c
+-	$(CC) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o JudyLTablesGen JudyLTablesGen.c; ./JudyLTablesGen 
++	$(CC_FOR_BUILD) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o JudyLTablesGen JudyLTablesGen.c; ./JudyLTablesGen 
+ 
+ JudyLByCount.c:   ../JudyCommon/JudyByCount.c
+ 	cp -f ../JudyCommon/JudyByCount.c      		JudyLByCount.c   
diff --git a/pkgs/development/libraries/judy/default.nix b/pkgs/development/libraries/judy/default.nix
index bec72ac8020..da8e89f9356 100644
--- a/pkgs/development/libraries/judy/default.nix
+++ b/pkgs/development/libraries/judy/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl, pkgsBuildBuild, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "judy";
@@ -9,11 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1sv3990vsx8hrza1mvq3bhvv9m6ff08y4yz7swn6znszz24l0w6j";
   };
 
-  # gcc 4.8 optimisations break judy.
-  # https://sourceforge.net/p/judy/mailman/message/31995144/
-  preConfigure = lib.optionalString stdenv.cc.isGNU ''
-    configureFlagsArray+=("CFLAGS=-fno-strict-aliasing -fno-aggressive-loop-optimizations")
-  '';
+  nativeBuildInputs = [ autoreconfHook ];
+  depsBuildBuild = [ pkgsBuildBuild.stdenv.cc ];
+  patches = [ ./cross.patch ];
 
   # Disable parallel builds as manpages lack some dependencies:
   #    ../tool/jhton ext/JudyHS_funcs_3.htm | grep -v '^[   ]*$' | sed -e 's/\.C//' > man/man3/JudyHS_funcs