summary refs log tree commit diff
path: root/pkgs/os-specific/linux/pam_usb/default.nix
diff options
context:
space:
mode:
authorNicolas Pierron <nicolas.b.pierron@gmail.com>2010-01-03 11:12:05 +0000
committerNicolas Pierron <nicolas.b.pierron@gmail.com>2010-01-03 11:12:05 +0000
commite919ca2aec4edc566f60dccf6c7a5ff8c895c244 (patch)
treedf7b018210281ce704c5c975cb68323f15a57a91 /pkgs/os-specific/linux/pam_usb/default.nix
parent0232e1222f7045a5ac534fad8559617d754a9da0 (diff)
downloadnixpkgs-e919ca2aec4edc566f60dccf6c7a5ff8c895c244.tar
nixpkgs-e919ca2aec4edc566f60dccf6c7a5ff8c895c244.tar.gz
nixpkgs-e919ca2aec4edc566f60dccf6c7a5ff8c895c244.tar.bz2
nixpkgs-e919ca2aec4edc566f60dccf6c7a5ff8c895c244.tar.lz
nixpkgs-e919ca2aec4edc566f60dccf6c7a5ff8c895c244.tar.xz
nixpkgs-e919ca2aec4edc566f60dccf6c7a5ff8c895c244.tar.zst
nixpkgs-e919ca2aec4edc566f60dccf6c7a5ff8c895c244.zip
* Add pam_usb package.
  Enable PAM login with partitionned USB key.

svn path=/nixpkgs/trunk/; revision=19183
Diffstat (limited to 'pkgs/os-specific/linux/pam_usb/default.nix')
-rw-r--r--pkgs/os-specific/linux/pam_usb/default.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/pam_usb/default.nix b/pkgs/os-specific/linux/pam_usb/default.nix
new file mode 100644
index 00000000000..ce038419731
--- /dev/null
+++ b/pkgs/os-specific/linux/pam_usb/default.nix
@@ -0,0 +1,48 @@
+{stdenv, fetchurl, makeWrapper, useSetUID, dbus, libxml2, pam, hal, pkgconfig, pmount, python, pythonDBus}:
+
+let
+  pmountBin = useSetUID pmount "/bin/pmount";
+  pumountBin = useSetUID pmount "/bin/pumount";
+in
+
+stdenv.mkDerivation {
+  name = "pam_usb-0.4.2";
+
+  src = fetchurl {
+    url = mirror://sourceforge/pamusb/files/pam_usb/pam_usb-0.4.2/pam_usb-0.4.2.tar.gz;
+    sha256 = "736afced7482c7c5d47127285f7defe0a304a6136a0090588fa8698d385ba202";
+  };
+
+  buildInputs = [
+    makeWrapper
+    # pam_usb dependencies
+    dbus libxml2 pam hal pmount pkgconfig
+    # pam_usb's tools dependencies
+    python
+    # cElementTree is included with python 2.5 and later.
+  ];
+
+  preBuild = ''
+    makeFlagsArray=(DESTDIR=$out)
+    substituteInPlace ./src/volume.c \
+      --replace 'pmount' '${pmountBin}' \
+      --replace 'pumount' '${pumountBin}'
+  '';
+
+  # pmount is append to the PATH because pmounts binaries should have a set uid bit.
+  postInstall = ''
+    mv $out/usr/* $out/. # fix color */
+    rm -rf $out/usr
+    for prog in $out/bin/pamusb-conf $out/bin/pamusb-agent; do
+      substituteInPlace $prog --replace '/usr/bin/env python' '/bin/python'
+      wrapProgram $prog \
+        --prefix PYTHONPATH : "$(toPythonPath ${pythonDBus})"
+    done
+  '';
+
+  meta = {
+    homepage = http://pamusb.org/;
+    description = "Authentication using USB Flash Drives";
+    license = "GPLv2";
+  };
+}