From 968e8a1099859bf41cc34ca453bda897cdb8380c Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 26 Apr 2018 17:57:53 +0000 Subject: [PATCH] netbsd: fix getent with musl --- pkgs/os-specific/bsd/netbsd/default.nix | 58 +++++++++++++------------ 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index 03d93f3d9086..f64c36932e34 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -25,6 +25,7 @@ let "-D__warn_references(a,b)=" "-D__strong_alias(a,b)=" "-D__va_list=va_list" + "-D__scanflike(a,b)=" ]; # Definitions passed to share/mk/*.mk. Should be pretty simple - @@ -210,9 +211,36 @@ let version = "7.1.2"; sha256 = "0nzhyh714m19h61m45gzc5dszkbafp5iaphbp5mza6w020fzf2y8"; extraPaths = [ mtree.src make.src ]; - nativeBuildInputs = [ makeMinimal mandoc groff compat ]; + nativeBuildInputs = [ makeMinimal mandoc groff ]; + buildInputs = [ compat fts ]; RENAME = "-D"; }; + + fts = netBSDDerivation { + pname = "fts"; + path = "include/fts.h"; + sha256 = "01d4fpxvz1pgzfk5xznz5dcm0x0gdzwcsfm1h3d0xc9kc6hj2q77"; + version = "7.1.2"; + nativeBuildInputs = [ ]; + propagatedBuildInputs = [ compat ]; + extraPaths = [ + (fetchNetBSD "lib/libc/gen/fts.c" "7.1.2" "1yfd2liypj6xky2h0mgxi5lgpflmkkg4zf3ii3apz5cf8jq9gmn9") + (fetchNetBSD "lib/libc/include/namespace.h" "7.1.2" "0kwd4v8y0mfjhmwplsk52pvzbcpvpp2qy2g8c0jmfraam63q6q1y") + (fetchNetBSD "lib/libc/gen/fts.3" "7.1.2" "1asxw0n3fhjdadwkkq3xplfgqgl3q32w1lyrvbakfa3gs0wz5zc1") + ]; + buildPhase = '' + cc -c -Iinclude -Ilib/libc/include lib/libc/gen/fts.c \ + -o lib/libc/gen/fts.o + ar -rsc libfts.a lib/libc/gen/fts.o + ''; + installPhase = '' + install -D lib/libc/gen/fts.3 $out/share/man/man3/fts.3 + install -D include/fts.h $out/include/fts.h + install -D lib/libc/include/namespace.h $out/include/namespace.h + install -D libfts.a $out/lib/libfts.a + ''; + setupHook = ./fts-setup-hook.sh; + }; # END BOOTSTRAPPING libutil = netBSDDerivation { @@ -288,7 +316,7 @@ let }; in rec { - inherit compat install netBSDDerivation; + inherit compat install netBSDDerivation fts; getent = netBSDDerivation { path = "usr.bin/getent"; @@ -303,32 +331,6 @@ in rec { version = "7.1.2"; }; - fts = netBSDDerivation { - pname = "fts"; - path = "include/fts.h"; - sha256 = "01d4fpxvz1pgzfk5xznz5dcm0x0gdzwcsfm1h3d0xc9kc6hj2q77"; - version = "7.1.2"; - nativeBuildInputs = [ ]; - propagatedBuildInputs = [ compat ]; - extraPaths = [ - (fetchNetBSD "lib/libc/gen/fts.c" "7.1.2" "1yfd2liypj6xky2h0mgxi5lgpflmkkg4zf3ii3apz5cf8jq9gmn9") - (fetchNetBSD "lib/libc/include/namespace.h" "7.1.2" "0kwd4v8y0mfjhmwplsk52pvzbcpvpp2qy2g8c0jmfraam63q6q1y") - (fetchNetBSD "lib/libc/gen/fts.3" "7.1.2" "1asxw0n3fhjdadwkkq3xplfgqgl3q32w1lyrvbakfa3gs0wz5zc1") - ]; - buildPhase = '' - cc -c -Iinclude -Ilib/libc/include lib/libc/gen/fts.c \ - -o lib/libc/gen/fts.o - ar -rsc libfts.a lib/libc/gen/fts.o - ''; - installPhase = '' - install -D lib/libc/gen/fts.3 $out/share/man/man3/fts.3 - install -D include/fts.h $out/include/fts.h - install -D lib/libc/include/namespace.h $out/include/namespace.h - install -D libfts.a $out/lib/libfts.a - ''; - setupHook = ./fts-setup-hook.sh; - }; - games = netBSDDerivation { path = "games"; sha256 = "04wjsang8f8kxsifiayklbxaaxmm3vx9rfr91hfbxj4hk8gkqzy1";