From 712eeefb3ca39d480029174af9fe5c82c9f5894e Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Sun, 30 Mar 2025 09:22:52 -0700 Subject: [PATCH] freebsd.libutil: add option to build with pwd_mkdb path --- pkgs/os-specific/bsd/freebsd/pkgs/libpam.nix | 5 +++++ pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix | 7 +++++++ pkgs/os-specific/bsd/freebsd/pkgs/pwd_mkdb.nix | 2 ++ 3 files changed, 14 insertions(+) diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libpam.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libpam.nix index 2afb20377d6b..07eb78a04a11 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libpam.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libpam.nix @@ -2,6 +2,8 @@ mkDerivation, openssl, libradius, + libutil, + pwd_mkdb, }: mkDerivation { path = "lib/libpam/libpam"; @@ -15,6 +17,9 @@ mkDerivation { buildInputs = [ libradius openssl + (libutil.override { + withPwdMkdb = pwd_mkdb; + }) ]; MK_NIS = "no"; # TODO diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix index 8c7641339fe3..b522e92f7b78 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix @@ -1,9 +1,11 @@ { + lib, mkDerivation, include, libgcc, libcMinimal, csu, + withPwdMkdb ? null, }: mkDerivation { path = "lib/libutil"; @@ -26,6 +28,11 @@ mkDerivation { libcMinimal ]; + # XXX mass rebuild moment + postPatch = if withPwdMkdb == null then null else '' + substituteInPlace lib/libutil/pw_util.c --replace-fail _PATH_PWD_MKDB '"${lib.getExe withPwdMkdb}"' + ''; + preBuild = '' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -B${csu}/lib" ''; diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/pwd_mkdb.nix b/pkgs/os-specific/bsd/freebsd/pkgs/pwd_mkdb.nix index 27c3a9cec42a..3ba690ff5119 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/pwd_mkdb.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/pwd_mkdb.nix @@ -3,4 +3,6 @@ mkDerivation { path = "usr.sbin/pwd_mkdb"; extraPaths = [ "lib/libc/gen" ]; + + meta.mainProgram = "pwd_mkdb"; }