From 25de2c279b08315b260716bb54016fd95c255e92 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Mon, 27 Sep 2010 13:49:13 +0000 Subject: 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 --- pkgs/os-specific/linux/libcap/default.nix | 24 ++++++++++++++++++------ pkgs/os-specific/linux/libcap/man.nix | 15 +++++++++++++++ pkgs/os-specific/linux/libcap/pam.nix | 17 +++++++++++++++++ pkgs/os-specific/linux/libcap/progs.nix | 15 +++++++++++++++ 4 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 pkgs/os-specific/linux/libcap/man.nix create mode 100644 pkgs/os-specific/linux/libcap/pam.nix create mode 100644 pkgs/os-specific/linux/libcap/progs.nix (limited to 'pkgs/os-specific/linux') 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; +} -- cgit 1.4.1