From c9c6fc6fecf463a313ebfad915a69dcd54db8439 Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Sun, 12 Nov 2023 21:05:21 -0800 Subject: [PATCH] hping: fix cross hping tries to run a compiled binary to detect endianness, and also runs the end-product of the build process with `-v` for some reason after the build completes. This commit addresses both of these behaviors. Tested on: - [x] mips64el-linux-gnu (cross from x86_64-linux) - [x] aarch64-linux-gnu (cross from x86_64-linux) --- pkgs/tools/networking/hping/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/tools/networking/hping/default.nix b/pkgs/tools/networking/hping/default.nix index 33663a44d2a9..11a8cad05b9c 100644 --- a/pkgs/tools/networking/hping/default.nix +++ b/pkgs/tools/networking/hping/default.nix @@ -28,6 +28,13 @@ stdenv.mkDerivation rec { '' + lib.optionalString stdenv.isLinux '' sed -i -e 's|#include |#include |' \ libpcap_stuff.c script.c + '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace configure --replace 'BYTEORDER=`./byteorder -m`' BYTEORDER=${ + { + littleEndian = "__LITTLE_ENDIAN_BITFIELD"; + bigEndian = "__BIG_ENDIAN_BITFIELD"; + }.${stdenv.hostPlatform.parsed.cpu.significantByte.name}} + substituteInPlace Makefile.in --replace './hping3 -v' "" ''; configureFlags = [ (if withTcl then "TCLSH=${tcl}/bin/tclsh" else "--no-tcl") ];