diff options
Diffstat (limited to 'pkgs/os-specific/bsd')
-rw-r--r-- | pkgs/os-specific/bsd/netbsd/compat.patch | 18 | ||||
-rw-r--r-- | pkgs/os-specific/bsd/netbsd/default.nix | 10 | ||||
-rw-r--r-- | pkgs/os-specific/bsd/netbsd/libbsd-overlay.pc | 11 |
3 files changed, 38 insertions, 1 deletions
diff --git a/pkgs/os-specific/bsd/netbsd/compat.patch b/pkgs/os-specific/bsd/netbsd/compat.patch new file mode 100644 index 000000000000..f67ca2e50791 --- /dev/null +++ b/pkgs/os-specific/bsd/netbsd/compat.patch @@ -0,0 +1,18 @@ +diff -u -r1.35.2.1 nbtool_config.h.in +--- a/nbtool_config.h.in 22 Apr 2015 07:18:58 -0000 1.35.2.1 ++++ b/nbtool_config.h.in 31 May 2018 01:46:53 -0000 +@@ -680,5 +680,14 @@ + /* Define if you have u_int8_t, but not uint8_t. */ + #undef uint8_t + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + #include "compat_defs.h" ++ ++#ifdef __cplusplus ++} ++#endif ++ + #endif /* !__NETBSD_NBTOOL_CONFIG_H__ */ diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index 84d6926c50c7..950694d0bfe3 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -162,7 +162,7 @@ let extraPaths = [ make.src ] ++ make.extraPaths; }; - compat = netBSDDerivation { + compat = netBSDDerivation rec { path = "tools/compat"; sha256 = "17phkfafybxwhzng44k5bhmag6i55br53ky1nwcmw583kg2fa86z"; version = "7.1.2"; @@ -182,6 +182,8 @@ let installFlags = []; RENAME = "-D"; + patches = [ ./compat.patch ]; + postInstall = '' mv $out/include/compat/* $out/include rmdir $out/include/compat @@ -203,6 +205,12 @@ let install -D $NETBSDSRCDIR/include/rpc/types.h $out/include/rpc/types.h install -D $NETBSDSRCDIR/include/utmpx.h $out/include/utmpx.h install -D $NETBSDSRCDIR/include/tzfile.h $out/include/tzfile.h + install -D $NETBSDSRCDIR/sys/sys/tree.h $out/include/sys/tree.h + + mkdir -p $out/lib/pkgconfig + substitute ${./libbsd-overlay.pc} $out/lib/pkgconfig/libbsd-overlay.pc \ + --subst-var-by out $out \ + --subst-var-by version ${version} # Remove lingering /usr references if [ -d $out/usr ]; then diff --git a/pkgs/os-specific/bsd/netbsd/libbsd-overlay.pc b/pkgs/os-specific/bsd/netbsd/libbsd-overlay.pc new file mode 100644 index 000000000000..3aadabe50882 --- /dev/null +++ b/pkgs/os-specific/bsd/netbsd/libbsd-overlay.pc @@ -0,0 +1,11 @@ +prefix=@out@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: nbcompat +Description: NetBSD compatibility framework +Version: @version@ +URL: https://www.netbsd.org/ +Libs: -L${libdir} -lnbcompat +Cflags: -I${includedir} -DHAVE_NBTOOL_CONFIG_H -include nbtool_config.h |