about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2016-10-06 20:38:07 +0200
committerGitHub <noreply@github.com>2016-10-06 20:38:07 +0200
commit4589a8d750ae38f9ce6e234dbb773b9a5d5e3c5b (patch)
tree164397db203bce9bbb7192bf61747a86529d2a7b /pkgs/development
parentd6d12ebc559e3028ff8704a7fb130f2661363da2 (diff)
parent86dc8ad0fd6526fe9d8cab77482dc22e7ac67b70 (diff)
downloadnixlib-4589a8d750ae38f9ce6e234dbb773b9a5d5e3c5b.tar
nixlib-4589a8d750ae38f9ce6e234dbb773b9a5d5e3c5b.tar.gz
nixlib-4589a8d750ae38f9ce6e234dbb773b9a5d5e3c5b.tar.bz2
nixlib-4589a8d750ae38f9ce6e234dbb773b9a5d5e3c5b.tar.lz
nixlib-4589a8d750ae38f9ce6e234dbb773b9a5d5e3c5b.tar.xz
nixlib-4589a8d750ae38f9ce6e234dbb773b9a5d5e3c5b.tar.zst
nixlib-4589a8d750ae38f9ce6e234dbb773b9a5d5e3c5b.zip
Merge pull request #19222 from jhhuh/jh
lsof: fixed for darwin
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix15
-rw-r--r--pkgs/development/tools/misc/lsof/dfile.patch18
2 files changed, 29 insertions, 4 deletions
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index da5da2e5ab9a..37e5ae6f7105 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -1,9 +1,11 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "lsof-${version}";
   version = "4.89";
 
+  buildInputs = [ ncurses ];
+
   src = fetchurl {
     urls =
       ["ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${version}.tar.bz2"]
@@ -22,14 +24,19 @@ stdenv.mkDerivation rec {
   };
 
   unpackPhase = "tar xvjf $src; cd lsof_*; tar xvf lsof_*.tar; sourceRoot=$( echo lsof_*/); ";
-
-  preBuild = "sed -i Makefile -e 's/^CFGF=/&	-DHASIPv6=1/;';";
+ 
+  patches = [ ./dfile.patch ];
 
   configurePhase = ''
     # Stop build scripts from searching global include paths
-    export LSOF_INCLUDE=/$(md5sum <(echo $name) | awk '{print $1}')
+    export LSOF_INCLUDE=${stdenv.cc.libc}/include
     ./Configure -n ${if stdenv.isDarwin then "darwin" else "linux"}
   '';
+  
+  preBuild = ''
+    sed -i Makefile -e 's/^CFGF=/&	-DHASIPv6=1/;' -e 's/-lcurses/-lncurses/'
+  '';
+
 
   installPhase = ''
     mkdir -p $out/bin $out/man/man8
diff --git a/pkgs/development/tools/misc/lsof/dfile.patch b/pkgs/development/tools/misc/lsof/dfile.patch
new file mode 100644
index 000000000000..47202d5ebeab
--- /dev/null
+++ b/pkgs/development/tools/misc/lsof/dfile.patch
@@ -0,0 +1,18 @@
+--- lsof_4.89_src/dialects/darwin/libproc/dfile.c	2014-10-30 12:39:46.000000000 +0100
++++ lsof_4.89_src/dialects/darwin/libproc/dfile_new.c	2016-10-04 13:44:58.000000000 +0200
+@@ -286,13 +286,13 @@
+ 
+ #if	defined(PROC_FP_GUARDED)
+ 	if (extra > 1)
+-	    putchar(`,');
++	    putchar(',');
+ 	if (lf->guardflags) {
+ 	    struct pff_tab *tp;
+ 	    long gf;
+ 
+ 	    (void) printf("guard=");
+-	    tp = Pgf_tab;
++	    tp = Pff_tab;
+ 	    gf = lf->guardflags;
+ 	    while (gf && !FsvFlagX) {
+ 		while (tp->nm) {