uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,23 @@
{ lib, stdenv, fetchurl, pkg-config, libtool, gtk3, libpcap, goocanvas2,
popt, itstool, libxml2 }:
stdenv.mkDerivation rec {
pname = "etherape";
version = "0.9.20";
src = fetchurl {
url = "mirror://sourceforge/etherape/etherape-${version}.tar.gz";
sha256 = "sha256-9UsQtWOXB1yYofGS4rMIF+ISWBsJKd0DBOFfqOr1n5Y=";
};
nativeBuildInputs = [ itstool pkg-config (lib.getBin libxml2) ];
buildInputs = [
libtool gtk3 libpcap goocanvas2 popt
];
meta = with lib; {
homepage = "http://etherape.sourceforge.net/";
license = lib.licenses.gpl2Plus;
platforms = with platforms; linux;
maintainers = with maintainers; [ symphorien ];
};
}

View file

@ -0,0 +1,50 @@
{ lib, stdenv, fetchFromGitHub, cmake, libpcap, libnet, zlib, curl, pcre
, openssl, ncurses, glib, gtk3, atk, pango, flex, bison, geoip, harfbuzz
, pkg-config }:
stdenv.mkDerivation rec {
pname = "ettercap";
version = "0.8.3.1";
src = fetchFromGitHub {
owner = "Ettercap";
repo = "ettercap";
rev = "v${version}";
sha256 = "1sdf1ssa81ib6k0mc5m2jzbjl4jd1yv6ahv5dwx2x9w4b2pyqg1c";
};
strictDeps = true;
nativeBuildInputs = [ cmake flex bison pkg-config ];
buildInputs = [
libpcap libnet zlib curl pcre openssl ncurses
glib gtk3 atk pango geoip harfbuzz
];
preConfigure = ''
substituteInPlace CMakeLists.txt --replace /etc \$\{INSTALL_PREFIX\}/etc \
--replace /usr \$\{INSTALL_PREFIX\}
'';
cmakeFlags = [
"-DBUNDLED_LIBS=Off"
"-DGTK3_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
];
# TODO: Remove after the next release (0.8.4 should work without this):
NIX_CFLAGS_COMPILE = [ "-I${harfbuzz.dev}/include/harfbuzz" ];
meta = with lib; {
description = "Comprehensive suite for man in the middle attacks";
longDescription = ''
Ettercap is a comprehensive suite for man in the middle attacks. It
features sniffing of live connections, content filtering on the fly and
many other interesting tricks. It supports active and passive dissection
of many protocols and includes many features for network and host
analysis.
'';
homepage = "https://www.ettercap-project.org/";
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = with maintainers; [ pSub ];
};
}

View file

@ -0,0 +1,51 @@
{ lib, stdenv, fetchurl, pkg-config, libpcap, pcre, libnl, zlib, libmicrohttpd
, sqlite, protobuf, protobufc, libusb1, libcap, binutils, elfutils
, withNetworkManager ? false, glib, networkmanager
, withPython ? false, python3
, withSensors ? false, lm_sensors}:
# couldn't get python modules to build correctly,
# waiting for some other volunteer to fix it
assert !withPython;
stdenv.mkDerivation rec {
pname = "kismet";
version = "2020-09-R2";
src = fetchurl {
url = "https://www.kismetwireless.net/code/${pname}-${version}.tar.xz";
sha256 = "1n6y6sgqf50bng8n0mhs2r1w0ak14mv654sqay72a78wh2s7ywzg";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libpcap pcre libmicrohttpd libnl zlib sqlite protobuf protobufc
libusb1 libcap binutils elfutils
] ++ lib.optionals withNetworkManager [ networkmanager glib ]
++ lib.optional withSensors lm_sensors
++ lib.optional withPython (python3.withPackages(ps: [ ps.setuptools ps.protobuf
ps.numpy ps.pyserial ]));
configureFlags = []
++ lib.optional (!withNetworkManager) "--disable-libnm"
++ lib.optional (!withPython) "--disable-python-tools"
++ lib.optional (!withSensors) "--disable-lmsensors";
postConfigure = ''
sed -e 's/-o $(INSTUSR)//' \
-e 's/-g $(INSTGRP)//' \
-e 's/-g $(MANGRP)//' \
-e 's/-g $(SUIDGROUP)//' \
-i Makefile
'';
enableParallelBuilding = true;
meta = with lib; {
description = "Wireless network sniffer";
homepage = "https://www.kismetwireless.net/";
license = licenses.gpl3;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,54 @@
{ lib
, stdenv
, autoconf
, automake
, fetchFromGitHub
, libpcap
, ncurses
, openssl
, pcre
}:
stdenv.mkDerivation rec {
pname = "sngrep";
version = "1.4.10";
src = fetchFromGitHub {
owner = "irontec";
repo = pname;
rev = "v${version}";
sha256 = "sha256-P618QLk85W0oPisAGiRfpCgHCddKutUkGjwdfgsV4Es=";
};
nativeBuildInputs = [
autoconf
automake
];
buildInputs = [
libpcap
ncurses
ncurses
openssl
pcre
];
configureFlags = [
"--with-pcre"
"--enable-unicode"
"--enable-ipv6"
"--enable-eep"
];
preConfigure = ''
./bootstrap.sh
'';
meta = with lib; {
description = "A tool for displaying SIP calls message flows from terminal";
homepage = "https://github.com/irontec/sngrep";
license = licenses.gpl3Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ jorise ];
};
}

View file

@ -0,0 +1,25 @@
{ lib, stdenv, fetchFromGitHub, libusb1 }:
stdenv.mkDerivation rec {
pname = "whsniff";
version = "1.3";
src = fetchFromGitHub {
owner = "homewsn";
repo = pname;
rev = "v${version}";
sha256 = "000l5vk9c0332m35lndk8892ivdr445lgg25hmq1lajn24cash5w";
};
buildInputs = [ libusb1 ];
installFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
homepage = "https://github.com/homewsn/whsniff";
description = "Packet sniffer for 802.15.4 wireless networks";
maintainers = with maintainers; [ snicket2100 ];
platforms = platforms.linux;
license = licenses.gpl2Only;
};
}

View file

@ -0,0 +1,124 @@
{ lib, stdenv, buildPackages, fetchurl, pkg-config, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares
, gnutls, libgcrypt, libgpg-error, geoip, openssl, lua5, python3, libcap, glib
, libssh, nghttp2, zlib, cmake, makeWrapper, wrapGAppsHook
, withQt ? true, qt5 ? null
, ApplicationServices, SystemConfiguration, gmp
, asciidoctor
}:
assert withQt -> qt5 != null;
with lib;
let
version = "3.6.5";
variant = if withQt then "qt" else "cli";
in stdenv.mkDerivation {
pname = "wireshark-${variant}";
inherit version;
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
sha256 = "sha256-otdB1g/zUWE31LnzjNwH7uVKVuw2BG9MOv7mv7T26qE=";
};
cmakeFlags = [
"-DBUILD_wireshark=${if withQt then "ON" else "OFF"}"
"-DENABLE_APPLICATION_BUNDLE=${if withQt && stdenv.isDarwin then "ON" else "OFF"}"
# Fix `extcap` and `plugins` paths. See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=16444
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DLEMON_C_COMPILER=cc"
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
"-DHAVE_C99_VSNPRINTF_EXITCODE=0"
"-DHAVE_C99_VSNPRINTF_EXITCODE__TRYRUN_OUTPUT="
];
# Avoid referencing -dev paths because of debug assertions.
NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ];
nativeBuildInputs = [ asciidoctor bison cmake flex makeWrapper pkg-config python3 perl ]
++ optionals withQt [ qt5.wrapQtAppsHook wrapGAppsHook ];
depsBuildBuild = [ buildPackages.stdenv.cc ];
buildInputs = [
gettext pcre libpcap lua5 libssh nghttp2 openssl libgcrypt
libgpg-error gnutls geoip c-ares glib zlib
] ++ optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools ])
++ optionals stdenv.isLinux [ libcap libnl ]
++ optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ]
++ optionals (withQt && stdenv.isDarwin) (with qt5; [ qtmacextras ]);
strictDeps = true;
patches = [ ./wireshark-lookup-dumpcap-in-path.patch ];
postPatch = ''
sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt
'';
preBuild = ''
export LD_LIBRARY_PATH="$PWD/run"
'';
postInstall = ''
# to remove "cycle detected in the references"
mkdir -p $dev/lib/wireshark
mv $out/lib/wireshark/cmake $dev/lib/wireshark
'' + (if stdenv.isDarwin && withQt then ''
mkdir -p $out/Applications
mv $out/bin/Wireshark.app $out/Applications/Wireshark.app
for f in $(find $out/Applications/Wireshark.app/Contents/PlugIns -name "*.so"); do
for dylib in $(otool -L $f | awk '/^\t*lib/ {print $1}'); do
install_name_tool -change "$dylib" "$out/lib/$dylib" "$f"
done
done
'' else optionalString withQt ''
install -Dm644 -t $out/share/applications ../org.wireshark.Wireshark.desktop
install -Dm644 ../image/wsicon.svg $out/share/icons/wireshark.svg
mkdir $dev/include/{epan/{wmem,ftypes,dfilter},wsutil/wmem,wiretap} -pv
cp config.h $dev/include/wireshark/
cp ../ws_*.h $dev/include
cp ../epan/*.h $dev/include/epan/
cp ../epan/ftypes/*.h $dev/include/epan/ftypes/
cp ../epan/dfilter/*.h $dev/include/epan/dfilter/
cp ../wsutil/*.h $dev/include/wsutil/
cp ../wsutil/wmem/*.h $dev/include/wsutil/wmem/
cp ../wiretap/*.h $dev/include/wiretap
'');
dontFixCmake = true;
# Prevent double-wrapping, inject wrapper args manually instead.
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
shellHook = ''
# to be able to run the resulting binary
export WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1
'';
meta = with lib; {
homepage = "https://www.wireshark.org/";
changelog = "https://www.wireshark.org/docs/relnotes/wireshark-${version}.html";
description = "Powerful network protocol analyzer";
license = licenses.gpl2Plus;
longDescription = ''
Wireshark (formerly known as "Ethereal") is a powerful network
protocol analyzer developed by an international team of networking
experts. It runs on UNIX, macOS and Windows.
'';
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ bjornfor fpletz ];
mainProgram = if withQt then "wireshark" else "tshark";
};
}

View file

@ -0,0 +1,62 @@
From 5bef9deeff8a2e4401de0f45c9701cd6f98f29d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
Date: Thu, 26 Nov 2015 21:03:35 +0100
Subject: [PATCH] Lookup dumpcap in PATH
NixOS patch: Look for dumpcap in PATH first, because there may be a
dumpcap wrapper that we want to use instead of the default
non-setuid dumpcap binary.
Also change execv() to execvp() because we've set argv[0] to "dumpcap"
and have to enable PATH lookup. Wireshark is not a setuid program, so
looking in PATH is not a security issue.
EDITED by teto for wireshark 3.6
Signed-off-by: Franz Pletz <fpletz@fnordicwalking.de>
---
capchild/capture_sync.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/capchild/capture_sync.c b/capchild/capture_sync.c
index f31914886a..df29b6f0ab 100644
--- a/capture/capture_sync.c
+++ b/capture/capture_sync.c
@@ -187,7 +187,18 @@ init_pipe_args(int *argc) {
#ifdef _WIN32
exename = g_strdup_printf("%s\\dumpcap.exe", progfile_dir);
#else
- exename = g_strdup_printf("%s/dumpcap", progfile_dir);
+ /*
+ * NixOS patch: Look for dumpcap in PATH first, because there may be a
+ * dumpcap wrapper that we want to use instead of the default
+ * non-setuid dumpcap binary.
+ */
+ if (system("command -v dumpcap >/dev/null") == 0) {
+ /* Found working dumpcap */
+ exename = g_strdup_printf("dumpcap");
+ } else {
+ /* take Wireshark's absolute program path and replace "Wireshark" with "dumpcap" */
+ exename = g_strdup_printf("%s/dumpcap", progfile_dir);
+ }
#endif
/* Make that the first argument in the argument list (argv[0]). */
@@ -572,7 +583,7 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session, inf
*/
dup2(sync_pipe[PIPE_WRITE], 2);
ws_close(sync_pipe[PIPE_READ]);
- execv(argv[0], argv);
+ execvp(argv[0], argv);
g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s",
argv[0], g_strerror(errno));
sync_pipe_errmsg_to_parent(2, errmsg, "");
@@ -811,7 +822,7 @@ sync_pipe_open_command(char* const argv[], int *data_read_fd,
dup2(sync_pipe[PIPE_WRITE], 2);
ws_close(sync_pipe[PIPE_READ]);
ws_close(sync_pipe[PIPE_WRITE]);
- execv(argv[0], argv);
+ execvp(argv[0], argv);
g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s",
argv[0], g_strerror(errno));
sync_pipe_errmsg_to_parent(2, errmsg, "");