36 lines
900 B
Nix
36 lines
900 B
Nix
|
{ stdenv, lib, gox, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
name = "packer-0.6.0";
|
||
|
|
||
|
src = import ./deps.nix {
|
||
|
inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
|
||
|
};
|
||
|
|
||
|
buildInputs = [ gox ];
|
||
|
|
||
|
installPhase = ''
|
||
|
export GOPATH=$src
|
||
|
XC_ARCH=$(go env GOARCH)
|
||
|
XC_OS=$(go env GOOS)
|
||
|
|
||
|
ensureDir $out/bin
|
||
|
|
||
|
cd $src/src/github.com/mitchellh/packer
|
||
|
gox \
|
||
|
-os="''${XC_OS}" \
|
||
|
-arch="''${XC_ARCH}" \
|
||
|
-output "$out/bin/packer-{{.Dir}}" \
|
||
|
./...
|
||
|
mv $out/bin/packer{*packer*,}
|
||
|
'';
|
||
|
|
||
|
meta = with stdenv.lib; {
|
||
|
description = "A tool for creating identical machine images for multiple platforms from a single source configuration";
|
||
|
homepage = "http://www.packer.io";
|
||
|
license = licenses.mpl20;
|
||
|
maintainers = with maintainers; [ cstrahan ];
|
||
|
platforms = platforms.unix;
|
||
|
};
|
||
|
}
|