55 lines
1.6 KiB
Nix
55 lines
1.6 KiB
Nix
{
|
|
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;
|
|
};
|
|
}
|