lol
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 124 lines 3.1 kB view raw
1{ 2 lib, 3 stdenv, 4 bash, 5 coreutils, 6 curl, 7 fetchFromGitHub, 8 gnugrep, 9 gnused, 10 installShellFiles, 11 iproute2, 12 makeBinaryWrapper, 13 nix-update-script, 14 systemd, 15 udevCheckHook, 16 util-linuxMinimal, 17}: 18 19stdenv.mkDerivation (finalAttrs: { 20 pname = "amazon-ec2-net-utils"; 21 version = "2.6.0"; 22 23 src = fetchFromGitHub { 24 owner = "amazonlinux"; 25 repo = "amazon-ec2-net-utils"; 26 tag = "v${finalAttrs.version}"; 27 hash = "sha256-PtnRgNmVrIGndLjYjXWWx85z4oxjn637iZqXd6OSiQg="; 28 }; 29 30 strictDeps = true; 31 32 nativeBuildInputs = [ 33 installShellFiles 34 makeBinaryWrapper 35 udevCheckHook 36 ]; 37 38 buildInputs = [ 39 bash 40 ]; 41 42 # See https://github.com/amazonlinux/amazon-ec2-net-utils/blob/v2.5.4/GNUmakefile#L26-L37. 43 installPhase = '' 44 runHook preInstall 45 46 mkdir -p $out 47 48 for file in bin/*.sh; do 49 install -D -m 755 "$file" $out/bin/$(basename --suffix ".sh" "$file") 50 substituteInPlace $out/bin/$(basename --suffix ".sh" "$file") \ 51 --replace-fail AMAZON_EC2_NET_UTILS_LIBDIR $out/share/amazon-ec2-net-utils 52 done 53 54 substituteInPlace $out/bin/setup-policy-routes \ 55 --replace-fail /lib/systemd ${systemd}/lib/systemd 56 57 wrapProgram $out/bin/setup-policy-routes \ 58 --prefix PATH : ${ 59 lib.makeBinPath [ 60 coreutils 61 # bin/setup-policy-roots.sh sources lib/lib.sh which needs these. 62 # 63 # lib/lib.sh isn't executable so we can't use it with wrapProgram. 64 curl 65 gnugrep 66 gnused 67 iproute2 68 systemd 69 util-linuxMinimal 70 ] 71 } 72 73 for file in lib/*.sh; do 74 install -D -m 644 -t $out/share/amazon-ec2-net-utils "$file" 75 done 76 77 substituteInPlace $out/share/amazon-ec2-net-utils/lib.sh \ 78 --replace-fail /usr/lib/systemd $out/lib/systemd 79 80 for file in udev/*.rules; do 81 install -D -m 644 -t $out/lib/udev/rules.d "$file" 82 done 83 84 substituteInPlace $out/lib/udev/rules.d/99-vpc-policy-routes.rules \ 85 --replace-fail /usr/bin/systemctl ${lib.getExe' systemd "systemctl"} 86 87 for file in systemd/network/*.network; do 88 install -D -m 644 -t $out/lib/systemd/network "$file" 89 done 90 91 for file in systemd/system/*.{service,timer}; do 92 install -D -m 644 -t $out/lib/systemd/system "$file" 93 done 94 95 substituteInPlace $out/lib/systemd/system/policy-routes@.service \ 96 --replace-fail /usr/bin/setup-policy-routes $out/bin/setup-policy-routes 97 98 substituteInPlace $out/lib/systemd/system/refresh-policy-routes@.service \ 99 --replace-fail /usr/bin/setup-policy-routes $out/bin/setup-policy-routes 100 101 installManPage doc/*.8 102 103 runHook postInstall 104 ''; 105 106 doInstallCheck = true; 107 108 outputs = [ 109 "out" 110 "man" 111 ]; 112 113 passthru = { 114 updateScript = nix-update-script { }; 115 }; 116 117 meta = { 118 description = "Contains a set of utilities for managing elastic network interfaces on Amazon EC2"; 119 homepage = "https://github.com/amazonlinux/amazon-ec2-net-utils"; 120 license = lib.licenses.asl20; 121 platforms = lib.platforms.linux; 122 maintainers = with lib.maintainers; [ sielicki ]; 123 }; 124})