diff options
Diffstat (limited to 'pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix')
-rw-r--r-- | pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix index 23a4672069e6a..bbcaff3a1c6a8 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix @@ -1,6 +1,39 @@ -{ mkDerivation, mknod }: +{ + lib, + stdenv, + mkDerivation, + compatIfNeeded, + compatIsNeeded, + libmd, + libnetbsd, + libutil, +}: mkDerivation { path = "contrib/mtree"; - extraPaths = [ mknod.path ]; + extraPaths = [ "contrib/mknod" ]; + buildInputs = + compatIfNeeded + ++ [ + libmd + libnetbsd + ] + ++ lib.optional (stdenv.isFreeBSD) libutil; + + postPatch = '' + ln -s $BSDSRCDIR/contrib/mknod/*.c $BSDSRCDIR/contrib/mknod/*.h $BSDSRCDIR/contrib/mtree + ''; + + preBuild = '' + export NIX_LDFLAGS="$NIX_LDFLAGS ${ + toString ( + [ + "-lmd" + "-lnetbsd" + ] + ++ lib.optional compatIsNeeded "-legacy" + ++ lib.optional stdenv.isFreeBSD "-lutil" + ) + }" + ''; } |