summary refs log tree commit diff
path: root/pkgs/os-specific/bsd
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2021-09-01 21:38:38 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2021-09-03 03:09:05 +0000
commitaf58c2cc0c9ebaf5e3c3efced11935f8ca70e6bb (patch)
tree0503e363c094437d5409c63b60b9c44201ef70bd /pkgs/os-specific/bsd
parent2810201833ae619818179f11a225b2d584d25ec9 (diff)
downloadnixpkgs-af58c2cc0c9ebaf5e3c3efced11935f8ca70e6bb.tar
nixpkgs-af58c2cc0c9ebaf5e3c3efced11935f8ca70e6bb.tar.gz
nixpkgs-af58c2cc0c9ebaf5e3c3efced11935f8ca70e6bb.tar.bz2
nixpkgs-af58c2cc0c9ebaf5e3c3efced11935f8ca70e6bb.tar.lz
nixpkgs-af58c2cc0c9ebaf5e3c3efced11935f8ca70e6bb.tar.xz
nixpkgs-af58c2cc0c9ebaf5e3c3efced11935f8ca70e6bb.tar.zst
nixpkgs-af58c2cc0c9ebaf5e3c3efced11935f8ca70e6bb.zip
netbsd.compat: Don't configure twice
Diffstat (limited to 'pkgs/os-specific/bsd')
-rw-r--r--pkgs/os-specific/bsd/netbsd/compat-cxx-safe-header.patch (renamed from pkgs/os-specific/bsd/netbsd/compat.patch)0
-rw-r--r--pkgs/os-specific/bsd/netbsd/compat-dont-configure-twice.patch22
-rw-r--r--pkgs/os-specific/bsd/netbsd/default.nix14
3 files changed, 35 insertions, 1 deletions
diff --git a/pkgs/os-specific/bsd/netbsd/compat.patch b/pkgs/os-specific/bsd/netbsd/compat-cxx-safe-header.patch
index f67ca2e5079..f67ca2e5079 100644
--- a/pkgs/os-specific/bsd/netbsd/compat.patch
+++ b/pkgs/os-specific/bsd/netbsd/compat-cxx-safe-header.patch
diff --git a/pkgs/os-specific/bsd/netbsd/compat-dont-configure-twice.patch b/pkgs/os-specific/bsd/netbsd/compat-dont-configure-twice.patch
new file mode 100644
index 00000000000..1a69e73e255
--- /dev/null
+++ b/pkgs/os-specific/bsd/netbsd/compat-dont-configure-twice.patch
@@ -0,0 +1,22 @@
+commit f2d0ff85e05b49e9d11735ce4810b242c1dbf5af
+Author: John Ericson <John.Ericson@Obsidian.Systems>
+Date:   Wed Sep 1 15:38:56 2021 +0000
+
+    Make should not hit configure
+
+diff --git a/Makefile b/Makefile
+index b5adb8a5f2e9..1a914ef16739 100644
+--- a/Makefile
++++ b/Makefile
+@@ -76,11 +76,6 @@ _CURDIR:=	${.CURDIR}
+ 
+ SRCS:=		${SRCS:M*.c}
+ 
+-config.cache: include/.stamp configure nbtool_config.h.in defs.mk.in
+-	rm -f ${.TARGET}
+-	CC=${HOST_CC:Q} CFLAGS=${HOST_CFLAGS:Q} LDFLAGS=${HOST_LDFLAGS:Q} \
+-		${HOST_SH} ${.CURDIR}/configure --cache-file=config.cache
+-
+ defs.mk: config.cache
+ 	@touch ${.TARGET}
+ 
diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix
index b903bc46156..0e6526c1834 100644
--- a/pkgs/os-specific/bsd/netbsd/default.nix
+++ b/pkgs/os-specific/bsd/netbsd/default.nix
@@ -166,6 +166,15 @@ in lib.makeScopeWithSplicing
       ./compat-setup-hook.sh
     ];
 
+    preConfigure = ''
+      make include/.stamp configure nbtool_config.h.in defs.mk.in
+    '';
+
+    configurePlatforms = [ "build" "host" ];
+    configureFlags = [
+      "--cache-file=config.cache"
+    ];
+
     # the build system re-runs `./configure` with `HOST_CC` (which is their
     # name for Build CC) as a compiler to make `defs.mk`, which is installed
     depsBuildBuild = [ buildPackages.stdenv.cc ] ++ commonDeps;
@@ -187,7 +196,10 @@ in lib.makeScopeWithSplicing
     ];
     RENAME = "-D";
 
-    patches = [ ./compat.patch ];
+    patches = [
+      ./compat-cxx-safe-header.patch
+      ./compat-dont-configure-twice.patch
+    ];
 
     postInstall = ''
       mv $out/include/compat/* $out/include