3
0
Fork 0
forked from mirrors/nixpkgs

Fixing lsof-4.89 for Darwin

This commit is contained in:
Ji-Haeng Huh 2016-10-04 15:37:35 +02:00
parent 94e87bd79b
commit f02f1a490b
2 changed files with 26 additions and 3 deletions

View file

@ -1,9 +1,12 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
let pkgs = import <nixpkgs> {};
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lsof-${version}"; name = "lsof-${version}";
version = "4.89"; version = "4.89";
buildInputs = [ pkgs.ncurses ];
src = fetchurl { src = fetchurl {
urls = urls =
["ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${version}.tar.bz2"] ["ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${version}.tar.bz2"]
@ -22,12 +25,14 @@ stdenv.mkDerivation rec {
}; };
unpackPhase = "tar xvjf $src; cd lsof_*; tar xvf lsof_*.tar; sourceRoot=$( echo lsof_*/); "; unpackPhase = "tar xvjf $src; cd lsof_*; tar xvf lsof_*.tar; sourceRoot=$( echo lsof_*/); ";
patches = [ ./dfile.patch ];
preBuild = "sed -i Makefile -e 's/^CFGF=/& -DHASIPv6=1/;';"; preBuild = "sed -i Makefile -e 's/^CFGF=/& -DHASIPv6=1/;' -e s/-lcurses/-lncurses/ ;";
configurePhase = '' configurePhase = ''
# Stop build scripts from searching global include paths # Stop build scripts from searching global include paths
export LSOF_INCLUDE=/$(md5sum <(echo $name) | awk '{print $1}') # export LSOF_INCLUDE=/$(md5sum <(echo $name) | awk '{print $1}')
./Configure -n ${if stdenv.isDarwin then "darwin" else "linux"} ./Configure -n ${if stdenv.isDarwin then "darwin" else "linux"}
''; '';

View file

@ -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) {