forked from mirrors/nixpkgs
Fixing lsof-4.89 for Darwin
This commit is contained in:
parent
94e87bd79b
commit
f02f1a490b
|
@ -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"}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
18
pkgs/development/tools/misc/lsof/dfile.patch
Normal file
18
pkgs/development/tools/misc/lsof/dfile.patch
Normal 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) {
|
Loading…
Reference in a new issue