summary refs log tree commit diff
path: root/pkgs/os-specific/linux/libcap
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2006-12-22 19:22:57 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2006-12-22 19:22:57 +0000
commit33db7f3dd3f317c6385a9c0430f8df66550776c2 (patch)
tree466b8922ea5fcf293797e59ebe5729e4b2b040ac /pkgs/os-specific/linux/libcap
parent000b1f4cd6e463d5f66a10c7f627382f66c90631 (diff)
downloadnixlib-33db7f3dd3f317c6385a9c0430f8df66550776c2.tar
nixlib-33db7f3dd3f317c6385a9c0430f8df66550776c2.tar.gz
nixlib-33db7f3dd3f317c6385a9c0430f8df66550776c2.tar.bz2
nixlib-33db7f3dd3f317c6385a9c0430f8df66550776c2.tar.lz
nixlib-33db7f3dd3f317c6385a9c0430f8df66550776c2.tar.xz
nixlib-33db7f3dd3f317c6385a9c0430f8df66550776c2.tar.zst
nixlib-33db7f3dd3f317c6385a9c0430f8df66550776c2.zip
* Build ntpd with capabilities support.
svn path=/nixpkgs/trunk/; revision=7462
Diffstat (limited to 'pkgs/os-specific/linux/libcap')
-rw-r--r--pkgs/os-specific/linux/libcap/default.nix21
-rw-r--r--pkgs/os-specific/linux/libcap/syscall.patch40
2 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix
new file mode 100644
index 000000000000..b7b1c07072f8
--- /dev/null
+++ b/pkgs/os-specific/linux/libcap/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "libcap-1.10";
+  src = fetchurl {
+    url = http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/libcap-1.10.tar.bz2;
+    md5 = "4426a413128142cab89eb2e6f13d8571";
+  };
+  
+  preBuild = "
+    sed 's|/usr/include|${stdenv.glibc}/include|' < libcap/Makefile > libcap/Makefile.tmp
+    mv libcap/Makefile.tmp libcap/Makefile
+
+    installFlags=\"LIBDIR=$out/lib INCDIR=$out/include SBINDIR=$out/sbin MANDIR=$out/man\"
+  ";
+
+  patches = [
+    # Borrowed from http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-libs/libcap/files/libcap-1.10-syscall.patch?rev=1.2&view=log.
+    ./syscall.patch
+  ];
+}
diff --git a/pkgs/os-specific/linux/libcap/syscall.patch b/pkgs/os-specific/linux/libcap/syscall.patch
new file mode 100644
index 000000000000..7dd084ba32b4
--- /dev/null
+++ b/pkgs/os-specific/linux/libcap/syscall.patch
@@ -0,0 +1,40 @@
+--- libcap-1.10/libcap/cap_sys.c.jj	2003-08-24 19:03:35.524759616 -0700
++++ libcap-1.10/libcap/cap_sys.c	2003-08-24 19:03:48.406801248 -0700
+@@ -10,7 +10,7 @@
+ #include "libcap.h"
+ #define __LIBRARY__
+ #include <linux/unistd.h>
+-
++/*
+ _syscall2(int, capget,
+ 	  cap_user_header_t, header,
+ 	  cap_user_data_t, data)
+@@ -18,7 +18,7 @@
+ _syscall2(int, capset,
+ 	  cap_user_header_t, header,
+ 	  const cap_user_data_t, data)
+-
++*/
+ /*
+  * $Log: libcap-1.10-syscall.patch,v $
+  * Revision 1.1.1.1  2005/11/30 09:39:11  chriswhite
+  * *** empty log message ***
+  *
+  * Revision 1.2  2003/08/29 06:28:38  cretin
+  * Only add -fPIC for libcap.so objects
+  *
+  * Revision 1.1  2003/08/27 06:10:53  cretin
+  * Added -fPIC for prelink to work, and fixed compile error
+  *
+  * Revision 1.1.1.1  1999/04/17 22:16:31  morgan
+--- libcap-1.10/libcap/Makefile.jj	2003-08-29 07:19:21.863907872 +0100
++++ libcap-1.10/libcap/Makefile	2003-08-29 07:20:21.562832256 +0100
+@@ -61,7 +61,7 @@
+ 	ln -sf $(MAJLIBNAME) $(LIBNAME)
+ 
+ %.o: %.c $(INCLS)
+-	$(CC) $(CFLAGS) -c $< -o $@
++	$(CC) $(CFLAGS) -fPIC -c $< -o $@
+ 
+ install: all
+ 	mkdir -p -m 0755 $(INCDIR)/sys