nixpkgs/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix
Eelco Dolstra c556a6ea46 * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless
function, so obsolete it.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
2012-01-18 20:16:00 +00:00

43 lines
1.3 KiB
Nix

{ stdenv, fetchurl, unzip, ruby, openssl, makeWrapper }:
stdenv.mkDerivation {
name = "ec2-ami-tools-1.4.0.1";
buildInputs = [ unzip makeWrapper ];
src = fetchurl {
url = http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip;
sha256 = "1fjg3gx5k0z8r4apg5whz3yxc3xnz7z5g6j93hf765lfriz1rccz";
};
# 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 : ${ruby}/bin:${openssl}/bin
done
sed -i 's|/bin/bash|${stdenv.shell}|' $out/lib/ec2/platform/base/pipeline.rb
''; # */
meta = {
homepage = http://developer.amazonwebservices.com/connect/entry.jspa?externalID=368&categoryID=88;
description = "Command-line tools to create and manage Amazon EC2 virtual machine images";
license = "unfree-redistributable";
};
}