dev-util/packer: new package
authorDan Molik <dan@danmolik.com>
Sat, 5 Jan 2019 12:01:08 +0000 (07:01 -0500)
committerGeorgy Yakovlev <gyakovlev@gentoo.org>
Sun, 6 Jan 2019 22:46:20 +0000 (14:46 -0800)
Adding Hashicorp's packer utility to better support automated image
building. One can find documentation here: https://packer.io and find
the code base here: https://github.com/hashicorp/packer

Closes: https://github.com/gentoo/gentoo/pull/10744
Closes: https://bugs.gentoo.org/624472
Package-Manager: Portage-2.3.54, Repoman-2.3.12
Signed-off-by: Dan Molik <dan@danmolik.com>
Tested-by: Dan Molik <dan@danmolik.com>
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
dev-util/packer/Manifest [new file with mode: 0644]
dev-util/packer/metadata.xml [new file with mode: 0644]
dev-util/packer/packer-1.3.3.ebuild [new file with mode: 0644]

diff --git a/dev-util/packer/Manifest b/dev-util/packer/Manifest
new file mode 100644 (file)
index 0000000..cdad351
--- /dev/null
@@ -0,0 +1 @@
+DIST packer-1.3.3.tar.gz 8988302 BLAKE2B d6357624f7aa8af73961be9b8f75ec36650d3ccbf299ccdb85776699332fcaa90ff38349837f17962b9587cbbd051a75b0f3429b4459ee9aa46f2a897a3511ed SHA512 fc8965fc4c71d12e2d4bf0c2c7cb565834205749390cdbb879acb23143d4b7f4c566b6513afbec61ad73bf3e08a551ce001367ffad105dba68b72f2092d4bb97
diff --git a/dev-util/packer/metadata.xml b/dev-util/packer/metadata.xml
new file mode 100644 (file)
index 0000000..bda27c7
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>dan@danmolik.com</email>
+               <name>Dan Molik</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <longdescription lang="en">
+               Packer is an open source tool for creating identical machine images for
+               multiple platforms from a single source configuration. Packer is lightweight,
+               runs on every major operating system, and is highly performant, creating
+               machine images for multiple platforms in parallel. Packer does not replace
+               configuration management like Chef or Puppet. In fact, when building images,
+               Packer is able to use tools like Chef or Puppet to install software onto the
+               image.
+
+               A machine image is a single static unit that contains a pre-configured
+               operating system and installed software which is used to quickly create new
+               running machines. Machine image formats change for each platform. Some
+               examples include AMIs for EC2, VMDK/VMX files for VMware, OVF exports for
+               VirtualBox, etc.
+       </longdescription>
+       <upstream>
+               <changelog>https://github.com/hashicorp/packer/blob/master/CHANGELOG.md</changelog>
+               <remote-id type="github">hashicorp/packer</remote-id>
+       </upstream>
+</pkgmetadata>
diff --git a/dev-util/packer/packer-1.3.3.ebuild b/dev-util/packer/packer-1.3.3.ebuild
new file mode 100644 (file)
index 0000000..8cae3f4
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit golang-vcs-snapshot
+
+DESCRIPTION="A tool to create identical machine images for multiple platforms"
+HOMEPAGE="https://www.packer.io"
+
+EGO_PN="github.com/hashicorp/packer"
+SRC_URI="https://github.com/hashicorp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+DEPEND=">=dev-lang/go-1.11.0"
+
+DOCS="README.md CHANGELOG.md"
+
+src_compile() {
+       cd "src/${EGO_PN}" || die
+       GOPATH="${S}" GOCACHE="${T}/go-cache" go build \
+               -v -work -o "${S}/${PN}" ./ || die
+}
+
+src_install() {
+       dobin packer
+
+       pushd "src/${EGO_PN}" || die
+       einstalldocs
+       insinto /usr/share/zsh/site-functions
+       doins contrib/zsh-completion/_packer
+       popd || die
+}