diff --git a/pkgs/os-specific/bsd/netbsd/compat.patch b/pkgs/os-specific/bsd/netbsd/compat-cxx-safe-header.patch similarity index 100% rename from pkgs/os-specific/bsd/netbsd/compat.patch rename to 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 000000000000..1a69e73e255f --- /dev/null +++ b/pkgs/os-specific/bsd/netbsd/compat-dont-configure-twice.patch @@ -0,0 +1,22 @@ +commit f2d0ff85e05b49e9d11735ce4810b242c1dbf5af +Author: John Ericson +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 b903bc461560..0e6526c18340 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