nixpkgs/pkgs/os-specific/linux/pam_mount/default.nix
2020-11-06 10:19:36 +08:00

49 lines
1.3 KiB
Nix

{ stdenv, fetchurl, autoreconfHook, pkgconfig, libtool, pam, libHX, libxml2, pcre, perl, openssl, cryptsetup, utillinux }:
stdenv.mkDerivation rec {
pname = "pam_mount";
version = "2.16";
src = fetchurl {
url = "mirror://sourceforge/pam-mount/pam_mount/${version}/${pname}-${version}.tar.xz";
sha256 = "1rvi4irb7ylsbhvx1cr6islm2xxw1a4b19q6z4a9864ndkm0f0mf";
};
patches = [
./insert_utillinux_path_hooks.patch
./support_luks2.patch
];
postPatch = ''
substituteInPlace src/mtcrypt.c \
--replace @@NIX_UTILLINUX@@ ${utillinux}/bin
'';
nativeBuildInputs = [ autoreconfHook libtool pkgconfig ];
buildInputs = [ pam libHX utillinux libxml2 pcre perl openssl cryptsetup ];
enableParallelBuilding = true;
configureFlags = [
"--prefix=${placeholder "out"}"
"--localstatedir=${placeholder "out"}/var"
"--sbindir=${placeholder "out"}/bin"
"--sysconfdir=${placeholder "out"}/etc"
"--with-slibdir=${placeholder "out"}/lib"
"--with-ssbindir=${placeholder "out"}/bin"
];
postInstall = ''
rm -r $out/var
'';
meta = with stdenv.lib; {
description = "PAM module to mount volumes for a user session";
homepage = "https://pam-mount.sourceforge.net/";
license = with licenses; [ gpl2 gpl3 lgpl21 lgpl3 ];
maintainers = with maintainers; [ tstrobel ];
platforms = platforms.linux;
};
}