diff options
Diffstat (limited to 'pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix')
-rw-r--r-- | pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix new file mode 100644 index 0000000000000..71d0c1e50d5ea --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix @@ -0,0 +1,49 @@ +{ + lib, + stdenv, + mkDerivation, + freebsdSetupHook, + bsdSetupHook, + makeMinimal, +}: +mkDerivation { + path = "lib/libmd"; + extraPaths = [ + "sys/sys/md5.h" + "sys/crypto/sha2" + "sys/crypto/skein" + ]; + nativeBuildInputs = [ + makeMinimal + bsdSetupHook + freebsdSetupHook + ]; + + makeFlags = [ + "STRIP=-s" # flag to install, not command + "RELDIR=." + ] ++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "MK_WERROR=no"; + + preBuild = '' + mkdir sys + ''; + + installPhase = '' + # libmd is used by install. do it yourself! + mkdir -p $out/include $out/lib $man/share/man + cp libmd.a $out/lib/libmd.a + for f in $(make $makeFlags -V INCS); do + if [ -e "$f" ]; then cp "$f" "$out/include/$f"; fi + if [ -e "$BSDSRCDIR/sys/crypto/sha2/$f" ]; then cp "$BSDSRCDIR/sys/crypto/sha2/$f" "$out/include/$f"; fi + if [ -e "$BSDSRCDIR/sys/crypto/skein/$f" ]; then cp "$BSDSRCDIR/sys/crypto/skein/$f" "$out/include/$f"; fi + done + for f in $(make $makeFlags -V MAN); do + cp "$f" "$man/share/man/$f" + done + ''; + + outputs = [ + "out" + "man" + ]; +} |