--- /dev/null
+<?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>
--- /dev/null
+# 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
+}