app-emulation/libpod: new package
authorZac Medico <zmedico@gentoo.org>
Mon, 4 Jun 2018 08:25:43 +0000 (01:25 -0700)
committerZac Medico <zmedico@gentoo.org>
Mon, 7 Jan 2019 10:16:19 +0000 (02:16 -0800)
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Signed-off-by: Zac Medico <zmedico@gentoo.org>
app-emulation/libpod/Manifest [new file with mode: 0644]
app-emulation/libpod/libpod-0.12.1.2.ebuild [new file with mode: 0644]
app-emulation/libpod/metadata.xml [new file with mode: 0644]

diff --git a/app-emulation/libpod/Manifest b/app-emulation/libpod/Manifest
new file mode 100644 (file)
index 0000000..42810a9
--- /dev/null
@@ -0,0 +1 @@
+DIST libpod-0.12.1.2.tar.gz 5987875 BLAKE2B 11381c53e768c94bfadcb2013a028f64058b0001cd985ef289d1618163225cdf10bd608cff0cd6f7fc1c094497184fc6d0cedea32fde54f3581ebb51eb5eabdd SHA512 9abb46d7880c4577d22b48aed01baeae29662dc3dbbdbc297f1eebe8324fb734d9bac6cd105dc93f7600753874c0fa581142d1b16f7490175cea80b8f62b34ce
diff --git a/app-emulation/libpod/libpod-0.12.1.2.ebuild b/app-emulation/libpod/libpod-0.12.1.2.ebuild
new file mode 100644 (file)
index 0000000..b3bc646
--- /dev/null
@@ -0,0 +1,99 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGIT_COMMIT="9551f6bb379d4af56dfb63ddf0f3682e40a6694e"
+EGO_PN="github.com/containers/${PN}"
+
+inherit golang-vcs-snapshot systemd
+
+DESCRIPTION="Library and podman tool for running OCI-based containers in Pods"
+HOMEPAGE="https://github.com/containers/libpod/"
+SRC_URI="https://github.com/containers/libpod/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+KEYWORDS="~amd64"
+IUSE="apparmor btrfs ostree selinux"
+REQUIRED_USE="!selinux? ( !ostree )"
+RESTRICT="test"
+
+COMMON_DEPEND="
+       app-crypt/gpgme:=
+       >=app-emulation/cri-o-1.13.0
+       app-emulation/runc
+       dev-libs/libassuan:=
+       dev-libs/libgpg-error:=
+       sys-fs/lvm2
+       sys-libs/libseccomp:=
+
+       apparmor? ( sys-libs/libapparmor )
+       btrfs? ( sys-fs/btrfs-progs )
+       ostree? (
+               dev-libs/glib:=
+               dev-util/ostree:=
+       )
+       selinux? ( sys-libs/libselinux:= )
+"
+DEPEND="
+       ${COMMON_DEPEND}
+       dev-go/go-md2man"
+RDEPEND="${COMMON_DEPEND}"
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+src_prepare() {
+       default
+
+       # Disable installation of python modules here, since those are
+       # installed by separate ebuilds.
+       sed -e '/^GIT_.*/d' \
+               -e 's/$(GO) build/$(GO) build -v -work -x/' \
+               -e 's/^\(install:.*\) install\.python$/\1/' \
+               -i Makefile || die
+}
+
+src_compile() {
+       [[ -f hack/apparmor_tag.sh ]] || die
+       if use apparmor; then
+               echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die
+       else
+               echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die
+       fi
+
+       [[ -f hack/btrfs_installed_tag.sh ]] || die
+       if use btrfs; then
+               echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die
+       else
+               echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \
+                       hack/btrfs_installed_tag.sh || die
+       fi
+
+       [[ -f hack/ostree_tag.sh ]] || die
+       if use ostree; then
+               echo -e "#!/bin/sh\necho ostree" > hack/ostree_tag.sh || die
+       else
+               echo -e "#!/bin/sh\necho containers_image_ostree_stub" > hack/ostree_tag.sh || die
+       fi
+
+       [[ -f hack/selinux_tag.sh ]] || die
+       if use selinux; then
+               echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die
+       else
+               echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die
+       fi
+
+       env -u LDFLAGS GOPATH="${WORKDIR}/${P}" GOBIN="${WORKDIR}/${P}/bin" \
+               emake all \
+                       GIT_BRANCH=master \
+                       GIT_BRANCH_CLEAN=master \
+                       COMMIT_NO="${EGIT_COMMIT}" \
+                       GIT_COMMIT="${EGIT_COMMIT}"
+}
+
+src_install() {
+       emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install
+
+       insinto /etc/containers
+       newins test/registries.conf registries.conf.example
+}
diff --git a/app-emulation/libpod/metadata.xml b/app-emulation/libpod/metadata.xml
new file mode 100644 (file)
index 0000000..1c5655b
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>zmedico@gentoo.org</email>
+               <name>Zac Medico</name>
+       </maintainer>
+       <longdescription lang="en">
+               libpod provides a library for applications looking to use the
+               Container Pod concept popularized by Kubernetes. libpod also
+               contains a tool called podman for managing Pods, Containers,
+               and Container Images.
+       </longdescription>
+       <use>
+               <flag name="apparmor">
+                       Enable AppArmor support.
+               </flag>
+               <flag name="btrfs">
+                       Enables dependencies for the "btrfs" graph driver, including
+                       necessary kernel flags.
+               </flag>
+               <flag name="ostree">
+                       Enables dependencies for handling of OSTree images.
+               </flag>
+       </use>
+       <upstream>
+               <remote-id type="github">containers/libpod</remote-id>
+       </upstream>
+</pkgmetadata>