diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index 910e5044c59..112a70917cf 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -386,6 +386,23 @@ let sha256 = "00a3zmh15pg4vx6hz0kaa5mi8d2b1sj4h512d7p6wbvxq6mznwcn"; NIX_CFLAGS_COMPILE = lib.optional stdenv.isLinux "-DNO_BASE64"; }; + + cksum = mkDerivation { + path = "usr.bin/cksum"; + version = "8.0"; + sha256 = "0327820171djn9dzb2q1arypxw2zsxiixnd1ahy34dagd9cwcphj"; + meta.platforms = lib.platforms.netbsd; + }; + + config = mkDerivation { + path = "usr.bin/config"; + version = "8.0"; + sha256 = "0piyn8lgdqxwz9wkgc2plzp2xpj93fs4xncri8l0jfas9rv5j2m5"; + NIX_CFLAGS_COMPILE = [ "-DMAKE_BOOTSTRAP" ]; + buildInputs = [ compat ]; + nativeBuildInputs = [ makeMinimal install mandoc byacc flex ]; + extraPaths = [ cksum.src ]; + }; ## ## END COMMAND LINE TOOLS ## @@ -416,12 +433,35 @@ let path = "sys"; version = "8.0"; sha256 = "123ilg8fqmp69bw6bs6nh98fpi1v2n9lamrzar61p27ji6sj7g0w"; + + CONFIG = "GENERIC"; + propagatedBuildInputs = [ include ]; - nativeBuildInputs = [ makeMinimal install tsort lorder statHook uudecode ]; + nativeBuildInputs = [ + makeMinimal install tsort lorder statHook uudecode config genassym + ]; + + postConfigure = '' + pushd arch/$MACHINE/conf + config $CONFIG + popd + ''; + + makeFlags = [ "FIRMWAREDIR=$(out)/libdata/firmware" ]; + hardeningDisable = [ "pic" ]; + MKKMOD = "no"; + NIX_CFLAGS_COMPILE = [ "-Wa,--no-warn" ]; + + postBuild = '' + make -C arch/$MACHINE/compile/$CONFIG $makeFlags + ''; + + postInstall = '' + cp arch/$MACHINE/compile/$CONFIG/netbsd $out + ''; + meta.platforms = lib.platforms.netbsd; extraPaths = [ common.src ]; - MKKMOD = "no"; - makeFlags = [ "FIRMWAREDIR=$(out)/libdata/firmware" ]; }; headers = symlinkJoin {