depot/third_party/nixpkgs/pkgs/by-name/ip/iproute2mac/package.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;
};
}