diff --git a/pkgs/tools/networking/ntopng/0003-New-libpcap-defines-SOCKET.patch b/pkgs/tools/networking/ntopng/0003-New-libpcap-defines-SOCKET.patch new file mode 100644 index 00000000000..51c9a706f89 --- /dev/null +++ b/pkgs/tools/networking/ntopng/0003-New-libpcap-defines-SOCKET.patch @@ -0,0 +1,34 @@ +From 9cb650ea96c0e5063775071cfdae072e92c553b8 Mon Sep 17 00:00:00 2001 +From: emanuele-f +Date: Tue, 18 Sep 2018 12:49:57 +0200 +Subject: [PATCH] Compilation fix with new libpcap + +SOCKET and INVALID_SOCKET are now defined in pcap.h +--- + third-party/mongoose/mongoose.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/third-party/mongoose/mongoose.c b/third-party/mongoose/mongoose.c +index 6a61cea9b..634c142e3 100644 +--- a/third-party/mongoose/mongoose.c ++++ b/third-party/mongoose/mongoose.c +@@ -247,7 +247,9 @@ struct pollfd { + #define mg_rename(x, y) rename(x, y) + #define mg_sleep(x) usleep((x) * 1000) + #define ERRNO errno ++#ifndef INVALID_SOCKET + #define INVALID_SOCKET (-1) ++#endif + + /* ntop */ + #if ((ULONG_MAX) == (UINT_MAX)) +@@ -270,7 +272,9 @@ struct pollfd { + #endif + + //#define INT64_FMT PRId64 ++#ifndef SOCKET + typedef int SOCKET; ++#endif + #define WINCDECL + + #endif // End of Windows and UNIX specific includes diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix index d745ba8d14d..0c693ac6288 100644 --- a/pkgs/tools/networking/ntopng/default.nix +++ b/pkgs/tools/networking/ntopng/default.nix @@ -20,6 +20,7 @@ stdenv.mkDerivation rec { patches = [ ./0001-Undo-weird-modification-of-data_dir.patch ./0002-Remove-requirement-to-have-writeable-callback-dir.patch + ./0003-New-libpcap-defines-SOCKET.patch ]; buildInputs = [ libpcap/* gnutls libgcrypt*/ libxml2 glib geoip geolite-legacy @@ -62,6 +63,5 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; platforms = platforms.linux ++ platforms.darwin; maintainers = [ maintainers.bjornfor ]; - broken = true; # broken since commit "libpcap: 1.8.1 -> 1.9.0" }; }