1{ lib
2, stdenv
3, buildGoModule
4, fetchFromGitHub
5, installShellFiles
6}:
7
8buildGoModule rec {
9 pname = "packer";
10 version = "1.8.4";
11
12 src = fetchFromGitHub {
13 owner = "hashicorp";
14 repo = "packer";
15 rev = "v${version}";
16 sha256 = "sha256-m8PKigVm46PN55hchc5a1OUUuhxoGn3e2sMRqqvkPgs=";
17 };
18
19 vendorSha256 = "sha256-hSZCYSV7nMGd5KQsV+Z4ig7vk4j8cZnOvsg0DqPiEvg=";
20
21 subPackages = [ "." ];
22
23 ldflags = [ "-s" "-w" ];
24
25 nativeBuildInputs = [ installShellFiles ];
26
27 postInstall = ''
28 installShellCompletion --zsh contrib/zsh-completion/_packer
29 '';
30
31 meta = with lib; {
32 description = "A tool for creating identical machine images for multiple platforms from a single source configuration";
33 homepage = "https://www.packer.io";
34 license = licenses.mpl20;
35 maintainers = with maintainers; [ cstrahan zimbatm ma27 techknowlogick ];
36 changelog = "https://github.com/hashicorp/packer/blob/v${version}/CHANGELOG.md";
37 platforms = platforms.unix;
38 };
39}