about summary refs log tree commit diff
path: root/pkgs/tools/admin/amazon-ec2-utils/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/admin/amazon-ec2-utils/default.nix')
-rw-r--r--pkgs/tools/admin/amazon-ec2-utils/default.nix45
1 files changed, 32 insertions, 13 deletions
diff --git a/pkgs/tools/admin/amazon-ec2-utils/default.nix b/pkgs/tools/admin/amazon-ec2-utils/default.nix
index 2dc91f037a980..f6e92bd5287e6 100644
--- a/pkgs/tools/admin/amazon-ec2-utils/default.nix
+++ b/pkgs/tools/admin/amazon-ec2-utils/default.nix
@@ -2,36 +2,55 @@
 , lib
 , fetchFromGitHub
 , curl
+, gawk
 , python3
+, installShellFiles
 }:
 stdenv.mkDerivation rec {
   pname = "amazon-ec2-utils";
-  version = "1.3";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "amazon-ec2-utils";
-    rev = version;
-    hash = "sha256:04dpxaaca144a74r6d93q4lp0d5l32v07rldj7v2v1c6s9nsf4mv";
+    rev = "v${version}";
+    hash = "sha256-u1rHBV8uVcCywvQNYagtDleYB12tmhyqDbXTBzt45dk=";
   };
 
+  outputs = [ "out" "man" ];
+
+  strictDeps = true;
   buildInputs = [
     python3
   ];
-
-  propagatedBuildInputs = [
-    curl
+  nativeBuildInputs = [
+    installShellFiles
   ];
 
   installPhase = ''
-    mkdir -p $out/bin/
+    install -Dm755 -t $out/bin/ ebsnvme-id
+    install -Dm755 -t $out/bin/ ec2-metadata
+    install -Dm755 -t $out/bin/ ec2nvme-nsid
+    install -Dm755 -t $out/bin/ ec2udev-vbd
+
+    install -Dm644 -t $out/lib/udev/rules.d/ 51-ec2-hvm-devices.rules
+    install -Dm644 -t $out/lib/udev/rules.d/ 51-ec2-xen-vbd-devices.rules
+    install -Dm644 -t $out/lib/udev/rules.d/ 53-ec2-read-ahead-kb.rules
+    install -Dm644 -t $out/lib/udev/rules.d/ 70-ec2-nvme-devices.rules
+    install -Dm644 -t $out/lib/udev/rules.d/ 60-cdrom_id.rules
+
+    installManPage doc/*.8
+  '';
 
-    cp ebsnvme-id $out/bin/
-    cp ec2-metadata $out/bin/
-    cp ec2udev-vbd $out/bin/
-    cp ec2udev-vcpu $out/bin/
+  postFixup = ''
+    for i in $out/etc/udev/rules.d/*.rules $out/lib/udev/rules.d/*.rules ; do
+      substituteInPlace "$i" \
+        --replace '/usr/sbin' "$out/bin" \
+        --replace '/bin/awk' '${gawk}/bin/awk'
+    done
 
-    chmod +x $out/bin/*
+    substituteInPlace "$out/bin/ec2-metadata" \
+      --replace 'curl' '${curl}/bin/curl'
   '';
 
   doInstallCheck = true;
@@ -48,6 +67,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/aws/amazon-ec2-utils";
     description = "Contains a set of utilities and settings for Linux deployments in EC2";
     license = licenses.mit;
-    maintainers = with maintainers; [ ketzacoatl ];
+    maintainers = with maintainers; [ ketzacoatl thefloweringash ];
   };
 }