Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ stdenv 2, lib 3, fetchFromGitHub 4, curl 5, gawk 6, python3 7, installShellFiles 8, bash 9}: 10stdenv.mkDerivation rec { 11 pname = "amazon-ec2-utils"; 12 version = "2.0"; 13 14 src = fetchFromGitHub { 15 owner = "aws"; 16 repo = "amazon-ec2-utils"; 17 rev = "v${version}"; 18 hash = "sha256-u1rHBV8uVcCywvQNYagtDleYB12tmhyqDbXTBzt45dk="; 19 }; 20 21 outputs = [ "out" "man" ]; 22 23 strictDeps = true; 24 buildInputs = [ 25 python3 26 bash 27 ]; 28 nativeBuildInputs = [ 29 installShellFiles 30 ]; 31 32 installPhase = '' 33 install -Dm755 -t $out/bin/ ebsnvme-id 34 install -Dm755 -t $out/bin/ ec2-metadata 35 install -Dm755 -t $out/bin/ ec2nvme-nsid 36 install -Dm755 -t $out/bin/ ec2udev-vbd 37 38 install -Dm644 -t $out/lib/udev/rules.d/ 51-ec2-hvm-devices.rules 39 install -Dm644 -t $out/lib/udev/rules.d/ 51-ec2-xen-vbd-devices.rules 40 install -Dm644 -t $out/lib/udev/rules.d/ 53-ec2-read-ahead-kb.rules 41 install -Dm644 -t $out/lib/udev/rules.d/ 70-ec2-nvme-devices.rules 42 install -Dm644 -t $out/lib/udev/rules.d/ 60-cdrom_id.rules 43 44 installManPage doc/*.8 45 ''; 46 47 postFixup = '' 48 for i in $out/etc/udev/rules.d/*.rules $out/lib/udev/rules.d/*.rules ; do 49 substituteInPlace "$i" \ 50 --replace '/usr/sbin' "$out/bin" \ 51 --replace '/bin/awk' '${gawk}/bin/awk' 52 done 53 54 substituteInPlace "$out/bin/ec2-metadata" \ 55 --replace 'curl' '${curl}/bin/curl' 56 ''; 57 58 doInstallCheck = true; 59 60 # We cannot run 61 # ec2-metadata --help 62 # because it actually checks EC2 metadata even if --help is given 63 # so it won't work in the test sandbox. 64 installCheckPhase = '' 65 $out/bin/ebsnvme-id --help 66 ''; 67 68 meta = with lib; { 69 homepage = "https://github.com/aws/amazon-ec2-utils"; 70 description = "Contains a set of utilities and settings for Linux deployments in EC2"; 71 license = licenses.mit; 72 maintainers = with maintainers; [ ketzacoatl thefloweringash ]; 73 }; 74}