{ lib, stdenv, fetchFromGitHub, darwin, makeWrapper, python3, }: stdenv.mkDerivation rec { version = "1.5.4"; pname = "iproute2mac"; src = fetchFromGitHub { owner = "brona"; repo = "iproute2mac"; rev = "v${version}"; hash = "sha256-hmSqJ2gc0DOXUuFrp1ZG8usjFdo07zjV/1JLs5r/E04="; }; nativeBuildInputs = [ makeWrapper ]; buildInputs = [ python3 ]; postPatch = '' substituteInPlace src/iproute2mac.py \ --replace-fail /sbin/ifconfig ${darwin.network_cmds}/bin/ifconfig \ --replace-fail /sbin/route ${darwin.network_cmds}/bin/route \ --replace-fail /usr/sbin/netstat ${darwin.network_cmds}/bin/netstat \ --replace-fail /usr/sbin/ndp ${darwin.network_cmds}/bin/ndp \ --replace-fail /usr/sbin/arp ${darwin.network_cmds}/bin/arp \ --replace-fail /usr/sbin/networksetup ${darwin.network_cmds}/bin/networksetup ''; installPhase = '' runHook preInstall mkdir -p $out/bin $out/libexec install -D -m 755 src/iproute2mac.py $out/libexec/iproute2mac.py install -D -m 755 src/ip.py $out/libexec/ip install -D -m 755 src/bridge.py $out/libexec/bridge makeWrapper $out/libexec/ip $out/bin/ip makeWrapper $out/libexec/bridge $out/bin/bridge runHook postInstall ''; meta = { homepage = "https://github.com/brona/iproute2mac"; description = "CLI wrapper for basic network utilites on Mac OS X inspired with iproute2 on Linux systems - ip command"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ jiegec ]; platforms = lib.platforms.darwin; }; }