diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/virtualization/ec2-ami-tools/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/virtualization/ec2-ami-tools/default.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/virtualization/ec2-ami-tools/default.nix b/nixpkgs/pkgs/tools/virtualization/ec2-ami-tools/default.nix new file mode 100644 index 000000000000..8e6d7b06d170 --- /dev/null +++ b/nixpkgs/pkgs/tools/virtualization/ec2-ami-tools/default.nix @@ -0,0 +1,44 @@ +{ lib, stdenv, fetchurl, unzip, ruby, openssl, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "ec2-ami-tools"; + + version = "1.5.7"; + + nativeBuildInputs = [ makeWrapper unzip ]; + + src = fetchurl { + url = "https://s3.amazonaws.com/ec2-downloads/${pname}-${version}.zip"; + sha256 = "17xj7xmdbcwdbzalhfs6yyiwa64978mk3li39l949qfjjgrxjias"; + }; + + # Amazon EC2 requires that disk images are writable. If they're + # not, the VM immediately terminates with a mysterious + # "Server.InternalError" message. Since disk images generated in + # the Nix store are read-only, they must be made writable in the + # tarball uploaded to Amazon S3. So add a `--mode=0755' flag to the + # tar invocation. + patches = [ ./writable.patch ]; + + installPhase = + '' + mkdir -p $out + mv * $out + rm $out/*.txt + + for i in $out/bin/*; do + wrapProgram $i \ + --set EC2_HOME $out \ + --prefix PATH : ${lib.makeBinPath [ ruby openssl ]} + done + + sed -i 's|/bin/bash|${stdenv.shell}|' $out/lib/ec2/platform/base/pipeline.rb + ''; # */ + + meta = { + homepage = "https://aws.amazon.com/developertools/Amazon-EC2/368"; + description = "Command-line tools to create and manage Amazon EC2 virtual machine images"; + license = lib.licenses.amazonsl; + }; + +} |