summary refs log tree commit diff
path: root/pkgs/os-specific/linux/libcap
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2010-09-27 13:49:13 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2010-09-27 13:49:13 +0000
commit25de2c279b08315b260716bb54016fd95c255e92 (patch)
tree8be92f0fbbc9e0b6a819ba0c580607353adaa0aa /pkgs/os-specific/linux/libcap
parentc911c64f9b08fb5a4709211911e2ee3b149c550c (diff)
downloadnixpkgs-25de2c279b08315b260716bb54016fd95c255e92.tar
nixpkgs-25de2c279b08315b260716bb54016fd95c255e92.tar.gz
nixpkgs-25de2c279b08315b260716bb54016fd95c255e92.tar.bz2
nixpkgs-25de2c279b08315b260716bb54016fd95c255e92.tar.lz
nixpkgs-25de2c279b08315b260716bb54016fd95c255e92.tar.xz
nixpkgs-25de2c279b08315b260716bb54016fd95c255e92.tar.zst
nixpkgs-25de2c279b08315b260716bb54016fd95c255e92.zip
Split libcap package
libcap can be splitted for free (just cd subdir; make install).
So I've decided not to raise up disscussions "should we build cap_pam.so?" etc.

svn path=/nixpkgs/branches/stdenv-updates/; revision=23967
Diffstat (limited to 'pkgs/os-specific/linux/libcap')
-rw-r--r--pkgs/os-specific/linux/libcap/default.nix24
-rw-r--r--pkgs/os-specific/linux/libcap/man.nix15
-rw-r--r--pkgs/os-specific/linux/libcap/pam.nix17
-rw-r--r--pkgs/os-specific/linux/libcap/progs.nix15
4 files changed, 65 insertions, 6 deletions
diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix
index 8185fac3ccf..d8cb393ac38 100644
--- a/pkgs/os-specific/linux/libcap/default.nix
+++ b/pkgs/os-specific/linux/libcap/default.nix
@@ -1,17 +1,29 @@
-{stdenv, fetchurl, attr, perl, pam}:
+{stdenv, fetchurl, attr, perl}:
 
 assert stdenv.isLinux;
 
-stdenv.mkDerivation {
-  name = "libcap-2.19";
+stdenv.mkDerivation rec {
+  name = "libcap-${version}";
+  version = "2.19";
   
   src = fetchurl {
-    url = mirror://kernel/linux/libs/security/linux-privs/kernel-2.6/libcap-2.19.tar.gz;
+    url = "mirror://kernel/linux/libs/security/linux-privs/kernel-2.6/${name}.tar.gz";
     sha256 = "0fdsz9j741npvh222f8p1y6l516z9liibiwdpdr3a4zg53m0pw45";
   };
   
   buildNativeInputs = [perl];
-  buildInputs = [attr pam];
+  propagatedBuildInputs = [attr];
 
-  makeFlags = "PAM_CAP=yes lib=lib prefix=$(out)";
+  preConfigure = "cd libcap";
+
+  makeFlags = "lib=lib prefix=$(out)";
+
+  passthru = {
+    postinst = n : ''
+      ensureDir $out/share/doc/${n}
+      cp ../License $out/share/doc/${n}/License
+    '';
+  };
+
+  postInstall = passthru.postinst name;
 }
diff --git a/pkgs/os-specific/linux/libcap/man.nix b/pkgs/os-specific/linux/libcap/man.nix
new file mode 100644
index 00000000000..9aac3c4e1f5
--- /dev/null
+++ b/pkgs/os-specific/linux/libcap/man.nix
@@ -0,0 +1,15 @@
+{stdenv, libcap}:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation rec {
+  name = "libcap-docs-${libcap.version}";
+
+  inherit (libcap) src;
+
+  makeFlags = "MANDIR=$(out)/share/man";
+
+  preConfigure = "cd doc";
+
+  postInstall = libcap.postinst name;
+}
diff --git a/pkgs/os-specific/linux/libcap/pam.nix b/pkgs/os-specific/linux/libcap/pam.nix
new file mode 100644
index 00000000000..4cefa825c8a
--- /dev/null
+++ b/pkgs/os-specific/linux/libcap/pam.nix
@@ -0,0 +1,17 @@
+{stdenv, pam, libcap}:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation rec {
+  name = "cap_pam.so-${libcap.version}";
+
+  inherit (libcap) src;
+
+  buildInputs = [ libcap pam ];
+
+  preConfigure = "cd pam_cap";
+
+  makeFlags = "${libcap.makeFlags} PAM_CAP=yes";
+
+  postInstall = libcap.postinst name;
+}
diff --git a/pkgs/os-specific/linux/libcap/progs.nix b/pkgs/os-specific/linux/libcap/progs.nix
new file mode 100644
index 00000000000..1b38848e77e
--- /dev/null
+++ b/pkgs/os-specific/linux/libcap/progs.nix
@@ -0,0 +1,15 @@
+{stdenv, libcap}:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation rec {
+  name = "libcap-progs-${libcap.version}";
+
+  inherit (libcap) src makeFlags;
+
+  buildInputs = [ libcap ];
+
+  preConfigure = "cd progs";
+
+  postInstall = libcap.postinst name;
+}