summaryrefslogtreecommitdiff
path: root/app-containers
diff options
context:
space:
mode:
Diffstat (limited to 'app-containers')
-rw-r--r--app-containers/Manifest.gzbin7708 -> 7707 bytes
-rw-r--r--app-containers/containerd/Manifest2
-rw-r--r--app-containers/containerd/containerd-1.7.1.ebuild85
-rw-r--r--app-containers/docker-buildx/Manifest9
-rw-r--r--app-containers/docker-buildx/docker-buildx-0.10.2.ebuild58
-rw-r--r--app-containers/docker-buildx/docker-buildx-0.11.2.ebuild (renamed from app-containers/docker-buildx/docker-buildx-0.10.4.ebuild)17
-rw-r--r--app-containers/docker-buildx/docker-buildx-9999.ebuild4
-rw-r--r--app-containers/docker-buildx/metadata.xml4
-rw-r--r--app-containers/docker-cli/Manifest3
-rw-r--r--app-containers/docker-cli/docker-cli-24.0.4.ebuild70
-rw-r--r--app-containers/docker/Manifest2
-rw-r--r--app-containers/docker/docker-24.0.4.ebuild329
-rw-r--r--app-containers/runc/Manifest2
-rw-r--r--app-containers/runc/runc-1.1.7.ebuild78
14 files changed, 589 insertions, 74 deletions
diff --git a/app-containers/Manifest.gz b/app-containers/Manifest.gz
index 0f7b9b7a0e2f..2ceaf16fd020 100644
--- a/app-containers/Manifest.gz
+++ b/app-containers/Manifest.gz
Binary files differ
diff --git a/app-containers/containerd/Manifest b/app-containers/containerd/Manifest
index 70278747d0f6..4307b03693e1 100644
--- a/app-containers/containerd/Manifest
+++ b/app-containers/containerd/Manifest
@@ -2,6 +2,8 @@ AUX containerd.confd 124 BLAKE2B 25f72941a47374fa0de3a2dce3d8ca57420f013a0d7527e
AUX containerd.initd 794 BLAKE2B 88a1976615e4e9d67c10ed3748aadd74ae13ef4cf004bb5b5d45216275715e3acffa8c0c98309d81298795ac007bde02d2f3afd466c7c54e58012a12f156198f SHA512 f31b088e988beb84ef029992255018561417c0e92803dffe35ec481515e1be79ba4611cc139bb5000b0ac79a437f1a6dec3516d6f9580d4b384f1e0f092d8370
DIST containerd-1.6.19.tar.gz 8706434 BLAKE2B cd6a85721f0752b6c7c5c098153d581375db6f877e261097a7d74a78dc0957e6beeea38c1aa7c53227ed84e727744811fa38863097cb137b8ba775e1f04fb9b2 SHA512 dca78d472dfbc6fc4d9b0b3a0d0a131d3575163c52e4fe18ea2c6147868b8822c54046c0709974e9b90472b882ba3890ada7f0fcbf31549efffba0d91531886c
DIST containerd-1.6.20.tar.gz 8749093 BLAKE2B b2168f68ba45f5e0c589946fdfcded8c57801340e10f4fe6374ab9caaa740888246df49322b880a06bd665ad98bbafc8c39d44059a00f446c7cc24bbdb357eb8 SHA512 dd9708c99d95773a78b0fcd77b388cb8a971d0d65502c8b86cbb3b29c48bac31366ae0603d7710a13c21c33adcd341cdec69dcb3c3a06a2d753c4c59f2549d75
+DIST containerd-1.7.1.tar.gz 9682254 BLAKE2B f168070caf2b76f0be350a98f41bfdbfe6d78344d68821fb92a29f839a6e847d795e5b79436e36f985aa88028ff1c3f44f134cf6bd502ddac22453a457bd952b SHA512 e9b00ba8f4dd1b5b1088060d3822f684611d43b367ddfeb1bee1660140af85f31e9c9bfc600a67e8fc8645a625dc4e1919d9af7291bdeaa607bff7065a4fc945
EBUILD containerd-1.6.19.ebuild 1927 BLAKE2B 7131884f709d6703034b75cd03dcd31e8bd7972177b415931fdeb4e2698ae6412e423a7596c1826d4ff3550eab34af98f73d1b19c2ee97498f503cd66a241892 SHA512 4d6f87a38149de29e87e6ee6ce5b54dbee16974138ed9ba8a7a101467dfeaebf58b76f220277fc5b616d45e7f90f5d84303f822e9e5692887724b601d6c6e6dd
EBUILD containerd-1.6.20.ebuild 1950 BLAKE2B 99c7ab750bc6ad36268ae0b6ebd9a87df33cd5afafa7bdc1cf02174f9c7ce145fb208be9cec1af1731bc8e5d1fbe280e2b715a4473745f3f803d1a7c29357437 SHA512 2b77137f5643e91bdd2fbde132036073562bf87221c65d236ee37797b4ba2ceb80f630e079d73fe7d1623d636edc463b22d518598c81d87837852853b173fdca
+EBUILD containerd-1.7.1.ebuild 1950 BLAKE2B 8007c9f349189a679afff2247768309c8574dbcb8d15d53b3db4d73120eb4fe47f5220693ee29dd8dd46649ad24e425bf15a7c01c6f5ae5fbf2dccaf3490d919 SHA512 30364ea01f671c71e83df99927e843d175f8c9e8e9a4e9df7666080b5cb715755463c4ccf49c836d3b5ea7717ae7bcb06032d1eb4f92e34cebf7720966db07fc
MISC metadata.xml 1093 BLAKE2B 692497be353e27b92d968142a155b5010a60f60739e1cfc9faeb966033f868c67e18c8feaaf661903266f160742a0c9e3d34485258df3ace9e8982d2ad3602d6 SHA512 18280d46fe79ecbcfd4e3f9cc139103da1fca31b6a5cfafb4c9c30d8b2a559fa30bf71f17f228a96c56506c5e18eb7c1f3340b5428c213be9e2e45e4cf5fc407
diff --git a/app-containers/containerd/containerd-1.7.1.ebuild b/app-containers/containerd/containerd-1.7.1.ebuild
new file mode 100644
index 000000000000..725ad4744070
--- /dev/null
+++ b/app-containers/containerd/containerd-1.7.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module systemd
+GIT_REVISION=2806fc1057397dbaeefbea0e4e17bddfbd388f38
+
+DESCRIPTION="A daemon to control runC"
+HOMEPAGE="https://containerd.io/"
+SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
+
+DEPEND="
+ btrfs? ( sys-fs/btrfs-progs )
+ seccomp? ( sys-libs/libseccomp )
+"
+
+# recommended version of runc is found in script/setup/runc-version
+RDEPEND="
+ ${DEPEND}
+ ~app-containers/runc-1.1.7[apparmor?,seccomp?]
+"
+
+BDEPEND="
+ dev-go/go-md2man
+ virtual/pkgconfig
+"
+
+# tests require root or docker
+RESTRICT+="test"
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s/-s -w//" \
+ -e "s/-mod=readonly//" \
+ Makefile || die
+ sed -i \
+ -e "s:/usr/local:/usr:" \
+ containerd.service || die
+}
+
+src_compile() {
+ local options=(
+ $(usev apparmor)
+ $(usex btrfs "" "no_btrfs")
+ $(usex cri "" "no_cri")
+ $(usex device-mapper "" "no_devmapper")
+ $(usev seccomp)
+ $(usev selinux)
+ )
+
+ myemakeargs=(
+ BUILDTAGS="${options[*]}"
+ LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
+ REVISION="${GIT_REVISION}"
+ VERSION=v${PV}
+ )
+
+ # race condition in man target https://bugs.gentoo.org/765100
+ # we need to explicitly specify GOFLAGS for "go run" to use vendor source
+ emake "${myemakeargs[@]}" man -j1 #nowarn
+ emake "${myemakeargs[@]}" all
+
+}
+
+src_install() {
+ dobin bin/*
+ doman man/*
+ newconfd "${FILESDIR}"/${PN}.confd "${PN}"
+ newinitd "${FILESDIR}"/${PN}.initd "${PN}"
+ systemd_dounit containerd.service
+ keepdir /var/lib/containerd
+
+ # we already installed manpages, remove markdown source
+ # before installing docs directory
+ rm -r docs/man || die
+
+ local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. )
+ einstalldocs
+}
diff --git a/app-containers/docker-buildx/Manifest b/app-containers/docker-buildx/Manifest
index 7b361b41d71c..63bc0cc07a9b 100644
--- a/app-containers/docker-buildx/Manifest
+++ b/app-containers/docker-buildx/Manifest
@@ -1,7 +1,6 @@
-DIST docker-buildx-0.10.2.tar.gz 9187634 BLAKE2B 9a43a7bcb224f33d718928ef3070449cac4db87c951f4337368d0c994f211d4c3db3a5e9c309ce10e357ab24746bed2507e2867c9fdab3b51a5423787362fee1 SHA512 ba6b8baae1a8e24bf9ddc58d5e2451270fa6e3891bae83112ca00ae56b7a4842b45ec970898ec27a2123e312885bf0d8c58cc600d8462787242eb878f45cd877
DIST docker-buildx-0.10.4.tar.gz 9184825 BLAKE2B f0e71c0f6dda5f02da4cf0b0514f67f5d339ba10359afc69aae25abf907447fd22fe3d92427299bc67aeaa6a84e748a8a5cbd86151b2baba2dd01f25cc04a793 SHA512 f82b89b8dd4e45524c8d353c4d7588f47b1c7b7ecf759fd9605247c1c7aa0ca152c3ecdec0e0b62b5eef05e6b65d2ca1f5ccab6d75819b92fc92ff62b44105b7
-EBUILD docker-buildx-0.10.2.ebuild 1419 BLAKE2B 9270f5131fc4ff742928ad8308a6017d5ec96dca156b50992d3df77477af5d302be5457b9745026e14f7129aaefb0a0aef6e1ddf3778f2157c73c26adce1f4b7 SHA512 b57cabd264c6e89158107691581ede6fab15cc108c7a7c3248f38c12d3137dd8d610bec6e2757f4c7863bfbebc43a68c6cd82d19d4e3c2ad8b5aefccf0d8b0bd
+DIST docker-buildx-0.11.2.tar.gz 10342565 BLAKE2B 1e034e9a07f36b46096f8f035869adc93b63af46cd9886f5ed4bc0939ce2f76b7f029a11ee536a34be23952e5c85251d757cec9ff05df172e3a26ea82a1bf0b1 SHA512 6f3718edf1e86c4422e1419580e4c38cf378a59555067be2aa6fac3e7f8878afe39d777765ace274cd9c47630f39cbacfacfdc4ecadd6ff46d5ee37d8f9bc75c
EBUILD docker-buildx-0.10.4-r1.ebuild 1509 BLAKE2B 6249c41dd3a487486299280496241ddc5a10aad213ab74ad14588f04f7ff65698411cb22c740804b35861f2d0eebfd4f7fb4119fb10c5c4b5d501e3a87bbe751 SHA512 cae6418005c70a6175452db13be6dae93157e07b9faec4bbf08cd911887b13847cdf7894b2c9fe49951b3323db8e751f9256566e5f1a499b2b337d03bf888901
-EBUILD docker-buildx-0.10.4.ebuild 1542 BLAKE2B 857e629af0ccf5f975884902bb58561aa9dfc65abc4613c7619925e2b0fbbf7b5a26cd073efaac44c61390506e32acf06b4b143812742faf064df07c3bde1d92 SHA512 a8db926dca24e0501448fd951d4bf5f151baf65da1b49ea6fbd5c3e7c50344b5a753f78438344b877535e421f8e5651508bec8e14d0406116865c035756956be
-EBUILD docker-buildx-9999.ebuild 1512 BLAKE2B 4ddf44f9fd348b374cc961c2dced227d31b7c915eb513edb14c9f3332cc0f7b3d42ba4e970b2caa99069205f9949853cb68905bd619351527e621c898ec7663d SHA512 8facddba40493ab8b7256fb6d488b37ddfb84fb75abc4c2dcec4fbe1cd6dbdc41a82137ad3a6f1a3439997083f24d206a302c133abb68e0f4a7d6d3166df11e1
-MISC metadata.xml 710 BLAKE2B e54ba5993825b2fa455c7ad33dc37d3edddbf74f19cc2e8ce3260fdac0d581c3c719d5f7252b7836d263efd020b4d3d90d717c3873531055418dbb556f02288c SHA512 f217f1f7f8ac31cbf5516630eea107a686394efc960384c67a216f80b57c61323b6b02b5dd1ae458817a851b9f166c684087790079e48b7d4a2a78130dc2a411
+EBUILD docker-buildx-0.11.2.ebuild 1544 BLAKE2B 528ca1df997bb69588c7e458ea888b930ccf53b4515a413a6d748a3e1a953c11b4a8ecfb91d8dbae8880196c02b09d5be87a443afc68613cd88078c602bf5075 SHA512 31daf408aa66ff74aff6cd8f9bf5e1e3a2164ac0b92d73a85fb073dd643c4e160869967d0a8b60591ad392aba46e9d6a04ce1a7709300a1479647eed54375712
+EBUILD docker-buildx-9999.ebuild 1544 BLAKE2B 528ca1df997bb69588c7e458ea888b930ccf53b4515a413a6d748a3e1a953c11b4a8ecfb91d8dbae8880196c02b09d5be87a443afc68613cd88078c602bf5075 SHA512 31daf408aa66ff74aff6cd8f9bf5e1e3a2164ac0b92d73a85fb073dd643c4e160869967d0a8b60591ad392aba46e9d6a04ce1a7709300a1479647eed54375712
+MISC metadata.xml 819 BLAKE2B eabae0ff28ea1eea91dff4633ae0edee670ec5fea2615c550b80b37d71e07c311073e4c17f32b50a46a670f46d5d8c536595058cdcf485b4002aa416328663b2 SHA512 e290b4c9af65f262a654f4bb5e5c7bedd7a246dc5804387d8c4823e6c7cd2b2eff7b671cd493145a5c1a6083861c5464004a1f626b65c18e91c9b9675d3831d1
diff --git a/app-containers/docker-buildx/docker-buildx-0.10.2.ebuild b/app-containers/docker-buildx/docker-buildx-0.10.2.ebuild
deleted file mode 100644
index 4c9132f3eb3f..000000000000
--- a/app-containers/docker-buildx/docker-buildx-0.10.2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit go-module
-
-MY_PN="buildx"
-DESCRIPTION="Docker CLI plugin for extended build capabilities with BuildKit"
-HOMEPAGE="https://github.com/docker/buildx"
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/docker/buildx.git"
-else
- SRC_URI="https://github.com/docker/buildx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64"
- S="${WORKDIR}/${MY_PN}-${PV}"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-# This gives us the ability to neatly `-skip` tests.
-# not required once ::gentoo is all > 1.20
-RESTRICT="!test? ( test )"
-IUSE="test"
-
-BDEPEND="
- test? ( >=dev-lang/go-1.20 )
-"
-DEPEND="app-containers/docker"
-RDEPEND="${DEPEND}"
-
-src_compile() {
- local _buildx_r='github.com/docker/buildx'
- ego build -mod=vendor -o docker-buildx \
- -ldflags "-linkmode=external \
- -X $_buildx_r/version.Version=${PV} \
- -X $_buildx_r/version.Revision=$(date -u +%FT%T%z) \
- -X $_buildx_r/version.Package=$_buildx_r" \
- ./cmd/buildx
-}
-
-src_test() {
- # TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism.
- if [[ ${PV} == 9999 ]]; then
- ego test ./... -skip "TestReadTargets"
- else
- ego test ./... -skip "TestGit|TestReadTargets"
- fi
-}
-
-src_install() {
- exeinto /usr/libexec/docker/cli-plugins
- doexe docker-buildx
-
- dodoc README.md
-}
diff --git a/app-containers/docker-buildx/docker-buildx-0.10.4.ebuild b/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild
index c294def7f490..8cecb6eed7ae 100644
--- a/app-containers/docker-buildx/docker-buildx-0.10.4.ebuild
+++ b/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/docker/buildx.git"
else
SRC_URI="https://github.com/docker/buildx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
S="${WORKDIR}/${MY_PN}-${PV}"
fi
@@ -28,8 +28,7 @@ IUSE="test"
BDEPEND="
test? ( >=dev-lang/go-1.20 )
"
-DEPEND="app-containers/docker"
-RDEPEND="${DEPEND}"
+RDEPEND="app-containers/docker-cli"
src_compile() {
local _buildx_r='github.com/docker/buildx'
@@ -37,10 +36,10 @@ src_compile() {
if [[ ${PV} == 9999 ]]; then
version="$(git rev-parse --short HEAD)"
fi
- ego build -mod=vendor -o docker-buildx \
- -ldflags "-linkmode=external \
- -X $_buildx_r/version.Version=${version} \
- -X $_buildx_r/version.Revision=$(date -u +%FT%T%z) \
+ ego build -o docker-buildx \
+ -ldflags "-linkmode=external
+ -X $_buildx_r/version.Version=${version}
+ -X $_buildx_r/version.Revision=$(date -u +%FT%T%z)
-X $_buildx_r/version.Package=$_buildx_r" \
./cmd/buildx
}
@@ -48,9 +47,9 @@ src_compile() {
src_test() {
# TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism.
if [[ ${PV} == 9999 ]]; then
- ego test ./... -skip "TestReadTargets"
+ ego test ./... -skip "TestReadTargets|TestIntegration"
else
- ego test ./... -skip "TestGit|TestReadTargets"
+ ego test ./... -skip "TestGit|TestReadTargets|TestIntegration"
fi
}
diff --git a/app-containers/docker-buildx/docker-buildx-9999.ebuild b/app-containers/docker-buildx/docker-buildx-9999.ebuild
index 48941a07ce98..8cecb6eed7ae 100644
--- a/app-containers/docker-buildx/docker-buildx-9999.ebuild
+++ b/app-containers/docker-buildx/docker-buildx-9999.ebuild
@@ -47,9 +47,9 @@ src_compile() {
src_test() {
# TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism.
if [[ ${PV} == 9999 ]]; then
- ego test ./... -skip "TestReadTargets"
+ ego test ./... -skip "TestReadTargets|TestIntegration"
else
- ego test ./... -skip "TestGit|TestReadTargets"
+ ego test ./... -skip "TestGit|TestReadTargets|TestIntegration"
fi
}
diff --git a/app-containers/docker-buildx/metadata.xml b/app-containers/docker-buildx/metadata.xml
index 42cd3f472a0d..14dd56055eaf 100644
--- a/app-containers/docker-buildx/metadata.xml
+++ b/app-containers/docker-buildx/metadata.xml
@@ -9,6 +9,10 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <maintainer type="project">
+ <email>containers@gentoo.org</email>
+ <name>Containers</name>
+ </maintainer>
<upstream>
<remote-id type="github">docker/buildx</remote-id>
</upstream>
diff --git a/app-containers/docker-cli/Manifest b/app-containers/docker-cli/Manifest
index 3504c45e9c45..bd644a267999 100644
--- a/app-containers/docker-cli/Manifest
+++ b/app-containers/docker-cli/Manifest
@@ -1,4 +1,7 @@
DIST docker-cli-23.0.3-man.tar.xz 81976 BLAKE2B e7390b429d0db2445035da506bb796364f97e6560e766a28d1245e6a76c84314c38af1f3a946d2eb1785132d26805e0d3a76c374559e70989b64e8ce917f8423 SHA512 842d7187ad8a3933d815057ec535c13466c56bd051c7133e6e0a9c85f5140e4ef61b66771ee6788c8fb50d10652a86b663f29fe4ec3190773f70fd45f36fbcd4
DIST docker-cli-23.0.3.tar.gz 6215298 BLAKE2B 817ca474d61839c8b5929db9bfa964b936285622859ab30f45be2f382238a5e49987fdbcdc896eaa7109f114166cf0e1dbc4f001cefe293a6c286b50e2737258 SHA512 873783a0fe9ecab3b8f251c842ba69070e0dffbb4a758c16165441b2f483d55d15b98fd7da0707e483995ac2d1fbb9a0f13f570b78486382b26d6ca6c5e612a9
+DIST docker-cli-24.0.4-man.tar.xz 82500 BLAKE2B 67b113ea0a0b8377a2ab8c887849e2d8e6a57cf914bf1c6a1cdcc44978e154ee5b18abdc1b509d3c7367760204bcb1b896f2335a6ff18470433b08f3ce82d346 SHA512 fe7320bb0bacbddba0b00c1351591eceb96386e0e5141b7c399d483f6e549b687b8b3db4b33c127ded118f723d6eb5cbb995733be13c362a0e680f96b221b351
+DIST docker-cli-24.0.4.tar.gz 6242506 BLAKE2B 2cc66a43dce613f0940a0aa2ffac075562ff58a483e68511f47a05bb27dc997547522ebd546d314c932d79eb366699b319d9ed561d481ef072bcd40d6993a6d1 SHA512 6b59e01ad975961f64a7c04c719b83dcd95875c223fc11dc3cb4fc6792b6a478fd014559a775ab59b8156e4476a1424cb997c7ae97a692be317b9e7d24ed92fb
EBUILD docker-cli-23.0.3.ebuild 1916 BLAKE2B 714ccdfe708f2d2c9adae830189243a5fa38eaf144418bf77925e8e2acd5716220a96d5924b65b66bf3f8699336bb47c215f29fb58746089939755c813737562 SHA512 caba0e08042eb3694b82e4d8b8eb80bbf4823fed10048eae02529c7e87e23c53b0365eb609cb64e966d90515b571e72757aa5d1c23bb9dbc6af516f47906a111
+EBUILD docker-cli-24.0.4.ebuild 1919 BLAKE2B 5ced5e6d80f3c18975d2d690e774cc007143f339fbb0874b5fbbf6d2ff4fce5ef4704e3b648c0ef09f889d6e29e5b1314ee9ee901c23fd5eae3dbf29d7a2a4d0 SHA512 570b7e6789910ad1823c9501ec0cf40012199b3a061057ad9857fa7672b36470c4bbf4bf3bf7e14352c19a4dea4b331dcf0e14eda9faf5c613a2bc89f5213015
MISC metadata.xml 689 BLAKE2B 45f4a07f9d949ad4e0175908af936140573bd257f7b11f9b9cc25cdd52bb821a294036635fd81662bcd348aa21e69b5582ab2dc8efaf94dbbdc9608b131414f4 SHA512 efe37f3ae8bc6b26433b7bacfda203ea3b480f419b343921214f19a4ad4e25b2cca5f0426a27348902f51ef15f558e81599ccdadcab6504f9d22314bb472d80c
diff --git a/app-containers/docker-cli/docker-cli-24.0.4.ebuild b/app-containers/docker-cli/docker-cli-24.0.4.ebuild
new file mode 100644
index 000000000000..3f8d95218497
--- /dev/null
+++ b/app-containers/docker-cli/docker-cli-24.0.4.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GIT_COMMIT=3713ee1eea
+EGO_PN="github.com/docker/cli"
+MY_PV=${PV/_/-}
+inherit bash-completion-r1 golang-vcs-snapshot
+
+DESCRIPTION="the command line binary for docker"
+HOMEPAGE="https://www.docker.com/"
+SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-man.tar.xz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="hardened selinux"
+
+RDEPEND="!<app-containers/docker-20.10.1
+ selinux? ( sec-policy/selinux-docker )"
+BDEPEND="
+ >=dev-lang/go-1.16.6"
+
+RESTRICT="installsources strip test"
+
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+src_unpack() {
+ golang-vcs-snapshot_src_unpack
+ set -- ${A}
+ unpack ${2}
+}
+
+src_prepare() {
+ default
+ sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
+}
+
+src_compile() {
+ export DISABLE_WARN_OUTSIDE_CONTAINER=1
+ export GOPATH="${WORKDIR}/${P}"
+ # setup CFLAGS and LDFLAGS for separate build target
+ # see https://github.com/tianon/docker-overlay/pull/10
+ export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
+ export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
+ emake \
+ LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
+ VERSION="${PV}" \
+ GITCOMMIT="${GIT_COMMIT}" \
+ dynbinary
+}
+
+src_install() {
+ dobin build/docker
+ doman "${WORKDIR}"/man/man?/*
+ dobashcomp contrib/completion/bash/*
+ bashcomp_alias docker dockerd
+ insinto /usr/share/fish/vendor_completions.d/
+ doins contrib/completion/fish/docker.fish
+ insinto /usr/share/zsh/site-functions
+ doins contrib/completion/zsh/_*
+}
+
+pkg_postinst() {
+ has_version "app-containers/docker-buildx" && return
+ ewarn "the 'docker build' command is deprecated and will be removed in a"
+ ewarn "future release. If you need this functionality, install"
+ ewarn "app-containers/docker-buildx."
+}
diff --git a/app-containers/docker/Manifest b/app-containers/docker/Manifest
index 2dd18a353db0..2423c697f426 100644
--- a/app-containers/docker/Manifest
+++ b/app-containers/docker/Manifest
@@ -1,6 +1,8 @@
AUX 0001-Openrc-Depend-on-containerd-init-script.patch 774 BLAKE2B a7ac6f6a1e9ee88751e8e0471cd33429b8141cbea07a3a56c61eccd63c796c9135edafaf5977571a4413e5d71931aac44b5313110af94c3206e286b15394f637 SHA512 bc709b6f0dd8685fbf2404be589743f32a5f4deb24dec8ed6aeec18f0fcd1db4c5d59587209c28f62d964d78ec9ab3a3fdbb795dc4b7e3fabd00a06a002af34e
DIST docker-23.0.3.tar.gz 13621933 BLAKE2B fd548b6083df495c35cc4d27374afdbc37e3678454b33477e9e88ba7c1564901d91a87eb0b87da2cfeab6a7c120bec95cad3a94db15a49719713a3660fae9958 SHA512 1f47a0c669c07ad1e628c99d153623076cd5c8e65e82fa54f7dd0d32579fae803ec9bee748e4ba1a6dc8fe37654602aaf005e58e09f00d8ff4f32e6047240caa
DIST docker-23.0.4.tar.gz 13625597 BLAKE2B ab4d50e9b334f18e620979bc13a7b146f8e0381d52aca0e45785108f1d53743e0157eb1e5bda76bc1300df1aa7825ca1ca141a21aeea39e81bc626ad1ea77775 SHA512 94d2c748541cf402197e98f93f574daf72bd84fc7603bf30e23674be36862ddbff5f37ad667455a710d730b9c5bc11962c287d6fd60a20320e0e0a41e3329c44
+DIST docker-24.0.4.tar.gz 14453359 BLAKE2B d089721469857eee87fd63b04c43cfde97ab9a38b5017c52c859b9b291574be4055b25585304434e070a7b74f90fa2582bb4fd8cddeae795637aaa23242fe8cb SHA512 5d749764a3541104d13ebe42e7b4225f66a98f9cc81f6406790be8a534f6c0d5ec13b145212bf75899e489feddf7679add6f43c6f9dd76b704291ed0e638eb6e
EBUILD docker-23.0.3.ebuild 8284 BLAKE2B 21e8c4a8cd80f4a6a79d0bd5514da2d653fd163a58589b67e32b4c71176be7f8656df1bcef872f8a5b22e9780d514ce5cca76c1c4db79ce6ce1a58c7e5e460fe SHA512 9a3f51cfa4059d0271baff5413bbe3ae29795f9d912ac912d045359ff1846408c7ad011a08102d3c6a7a560159180acf809d6fa2e7b3751cea6e78d00f209385
EBUILD docker-23.0.4.ebuild 8287 BLAKE2B ff38c5c75e8bfdde6b0a3f2927090aa41c3cb28509333c254368d9b42a2c4583fd8784d47cb092f1bf91b170a2aea7de3c18b3aff915d5d21a7769cec496b328 SHA512 d471fae81b86e66d34e5d4373f739bc5d15d99abe1e7eca0199d12453e44e7f147813c14b64ab1a595083a731d74b69a9379e39b864cf19996d1bd33e6f90a58
+EBUILD docker-24.0.4.ebuild 7643 BLAKE2B dc1a56c643a76f020a61d96fdc4f65820f0cac9170d7e53d3eafc5f04a658ca388a84d2421e799e24766fc58a1d7a066328c701020ef9dfb57a41aec698315ec SHA512 5c6d1d28d2887d5dbbda72fe3d1b4dc86d0708f3180f3b4f7568806b526a7232b8c1a82f3c2524f216df845a7962ce2f46edaf97942b88dc70bb43729e2f2622
MISC metadata.xml 1414 BLAKE2B fa9d3dd12a13f980523afebd1eee07a8746c55b7f89e6b1f0d42dc9f64649acc835904ee1dfe09bb4319cd7589dd6e19feb6d646a7ae1b41fb90e54d1f0d0cf0 SHA512 1175abde53b8d4690ffb2586734dd6fab94b3725c83a59f61d4abf53b04bfa8e5128b5cb914a9fd1eb142f77881ad503a40b14b6f5a994d19ca00aabc1b4db3e
diff --git a/app-containers/docker/docker-24.0.4.ebuild b/app-containers/docker/docker-24.0.4.ebuild
new file mode 100644
index 000000000000..155a3ea0ce4e
--- /dev/null
+++ b/app-containers/docker/docker-24.0.4.ebuild
@@ -0,0 +1,329 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+EGO_PN=github.com/docker/docker
+MY_PV=${PV/_/-}
+inherit linux-info systemd udev golang-vcs-snapshot
+GIT_COMMIT=4ffc61430bbe6d3d405bdf357b766bf303ff3cc5
+
+DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
+HOMEPAGE="https://www.docker.com/"
+SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="apparmor btrfs +container-init device-mapper overlay seccomp selinux"
+
+DEPEND="
+ acct-group/docker
+ >=dev-db/sqlite-3.7.9:3
+ apparmor? ( sys-libs/libapparmor )
+ btrfs? ( >=sys-fs/btrfs-progs-3.16.1 )
+ device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] )
+ seccomp? ( >=sys-libs/libseccomp-2.2.1 )
+"
+
+# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
+# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies
+RDEPEND="
+ ${DEPEND}
+ >=net-firewall/iptables-1.4
+ sys-process/procps
+ >=dev-vcs/git-1.7
+ >=app-arch/xz-utils-4.9
+ dev-libs/libltdl
+ >=app-containers/containerd-1.7.1[apparmor?,btrfs?,device-mapper?,seccomp?]
+ !app-containers/docker-proxy
+ container-init? ( >=sys-process/tini-0.19.0[static] )
+ selinux? ( sec-policy/selinux-docker )
+"
+
+# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
+BDEPEND="
+ >=dev-lang/go-1.16.12
+ dev-go/go-md2man
+ virtual/pkgconfig
+"
+# tests require running dockerd as root and downloading containers
+RESTRICT="installsources strip test"
+
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552
+PATCHES=(
+ "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch"
+)
+
+pkg_setup() {
+ # this is based on "contrib/check-config.sh" from upstream's sources
+ # required features.
+ CONFIG_CHECK="
+ ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
+ ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
+ ~KEYS
+ ~VETH ~BRIDGE ~BRIDGE_NETFILTER
+ ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
+ ~NETFILTER_XT_MATCH_ADDRTYPE
+ ~NETFILTER_XT_MATCH_CONNTRACK
+ ~NETFILTER_XT_MATCH_IPVS
+ ~NETFILTER_XT_MARK
+ ~IP_NF_NAT ~NF_NAT
+ ~POSIX_MQUEUE
+ "
+ WARNING_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: is required for bind-mounting /dev/mqueue into containers"
+
+ if kernel_is lt 4 8; then
+ CONFIG_CHECK+="
+ ~DEVPTS_MULTIPLE_INSTANCES
+ "
+ fi
+
+ if kernel_is le 5 1; then
+ CONFIG_CHECK+="
+ ~NF_NAT_IPV4
+ "
+ fi
+
+ if kernel_is le 5 2; then
+ CONFIG_CHECK+="
+ ~NF_NAT_NEEDED
+ "
+ fi
+
+ if kernel_is ge 4 15; then
+ CONFIG_CHECK+="
+ ~CGROUP_BPF
+ "
+ fi
+
+ # optional features
+ CONFIG_CHECK+="
+ ~USER_NS
+ "
+
+ if use seccomp; then
+ CONFIG_CHECK+="
+ ~SECCOMP ~SECCOMP_FILTER
+ "
+ fi
+
+ CONFIG_CHECK+="
+ ~CGROUP_PIDS
+ "
+
+ if kernel_is lt 6 1; then
+ CONFIG_CHECK+="
+ ~MEMCG_SWAP
+ "
+ fi
+
+ if kernel_is le 5 8; then
+ CONFIG_CHECK+="
+ ~MEMCG_SWAP_ENABLED
+ "
+ fi
+
+ CONFIG_CHECK+="
+ ~!LEGACY_VSYSCALL_NATIVE
+ "
+ if kernel_is lt 5 19; then
+ CONFIG_CHECK+="
+ ~LEGACY_VSYSCALL_EMULATE
+ "
+ fi
+ CONFIG_CHECK+="
+ ~!LEGACY_VSYSCALL_NONE
+ "
+ WARNING_LEGACY_VSYSCALL_NONE="CONFIG_LEGACY_VSYSCALL_NONE enabled: \
+ Containers with <=glibc-2.13 will not work"
+
+ if kernel_is le 4 5; then
+ CONFIG_CHECK+="
+ ~MEMCG_KMEM
+ "
+ fi
+
+ if kernel_is lt 5; then
+ CONFIG_CHECK+="
+ ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
+ "
+ fi
+
+ CONFIG_CHECK+="
+ ~BLK_CGROUP ~BLK_DEV_THROTTLING
+ ~CGROUP_PERF
+ ~CGROUP_HUGETLB
+ ~NET_CLS_CGROUP ~CGROUP_NET_PRIO
+ ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED
+ ~IP_NF_TARGET_REDIRECT
+ ~IP_VS
+ ~IP_VS_NFCT
+ ~IP_VS_PROTO_TCP
+ ~IP_VS_PROTO_UDP
+ ~IP_VS_RR
+ "
+
+ if use selinux; then
+ CONFIG_CHECK+="
+ ~SECURITY_SELINUX
+ "
+ fi
+
+ if use apparmor; then
+ CONFIG_CHECK+="
+ ~SECURITY_APPARMOR
+ "
+ fi
+
+ # if ! is_set EXT4_USE_FOR_EXT2; then
+ # check_flags EXT3_FS EXT3_FS_XATTR EXT3_FS_POSIX_ACL EXT3_FS_SECURITY
+ # if ! is_set EXT3_FS || ! is_set EXT3_FS_XATTR || ! is_set EXT3_FS_POSIX_ACL || ! is_set EXT3_FS_SECURITY; then
+ # echo " $(wrap_color '(enable these ext3 configs if you are using ext3 as backing filesystem)' bold black)"
+ # fi
+ # fi
+
+ CONFIG_CHECK+="
+ ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
+ "
+
+ # if ! is_set EXT4_FS || ! is_set EXT4_FS_POSIX_ACL || ! is_set EXT4_FS_SECURITY; then
+ # if is_set EXT4_USE_FOR_EXT2; then
+ # echo " $(wrap_color 'enable these ext4 configs if you are using ext3 or ext4 as backing filesystem' bold black)"
+ # else
+ # echo " $(wrap_color 'enable these ext4 configs if you are using ext4 as backing filesystem' bold black)"
+ # fi
+ # fi
+
+ # network drivers
+ CONFIG_CHECK+="
+ ~VXLAN ~BRIDGE_VLAN_FILTERING
+ ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH
+ ~XFRM ~XFRM_USER ~XFRM_ALGO ~INET_ESP
+ "
+ if kernel_is le 5 3; then
+ CONFIG_CHECK+="
+ ~INET_XFRM_MODE_TRANSPORT
+ "
+ fi
+
+ CONFIG_CHECK+="
+ ~IPVLAN
+ "
+ CONFIG_CHECK+="
+ ~MACVLAN ~DUMMY
+ "
+ CONFIG_CHECK+="
+ ~NF_NAT_FTP ~NF_CONNTRACK_FTP ~NF_NAT_TFTP ~NF_CONNTRACK_TFTP
+ "
+
+ # storage drivers
+ if use btrfs; then
+ CONFIG_CHECK+="
+ ~BTRFS_FS
+ ~BTRFS_FS_POSIX_ACL
+ "
+ fi
+
+ if use device-mapper; then
+ CONFIG_CHECK+="
+ ~BLK_DEV_DM ~DM_THIN_PROVISIONING
+ "
+ fi
+
+ CONFIG_CHECK+="
+ ~OVERLAY_FS
+ "
+
+ linux-info_pkg_setup
+}
+
+src_compile() {
+ export DOCKER_GITCOMMIT="${GIT_COMMIT}"
+ export GOPATH="${WORKDIR}/${P}"
+ export VERSION=${PV}
+
+ # setup CFLAGS and LDFLAGS for separate build target
+ # see https://github.com/tianon/docker-overlay/pull/10
+ export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
+ export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
+
+ # let's set up some optional features :)
+ export DOCKER_BUILDTAGS=''
+ for gd in btrfs device-mapper overlay; do
+ if ! use $gd; then
+ DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
+ fi
+ done
+
+ for tag in apparmor seccomp; do
+ if use $tag; then
+ DOCKER_BUILDTAGS+=" $tag"
+ fi
+ done
+
+ # build daemon
+ ./hack/make.sh dynbinary || die 'dynbinary failed'
+}
+
+src_install() {
+ dosym containerd /usr/bin/docker-containerd
+ dosym containerd-shim /usr/bin/docker-containerd-shim
+ dosym runc /usr/bin/docker-runc
+ use container-init && dosym tini /usr/bin/docker-init
+ newbin bundles/dynbinary-daemon/dockerd dockerd
+
+ newinitd contrib/init/openrc/docker.initd docker
+ newconfd contrib/init/openrc/docker.confd docker
+
+ systemd_dounit contrib/init/systemd/docker.{service,socket}
+
+ udev_dorules contrib/udev/*.rules
+
+ dodoc AUTHORS CONTRIBUTING.md NOTICE README.md
+ dodoc -r docs/*
+
+ # note: intentionally not using "doins" so that we preserve +x bits
+ dodir /usr/share/${PN}/contrib
+ cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
+}
+
+pkg_postinst() {
+ udev_reload
+
+ elog
+ elog "To use Docker, the Docker daemon must be running as root. To automatically"
+ elog "start the Docker daemon at boot:"
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ elog " systemctl enable docker.service"
+ else
+ elog " rc-update add docker default"
+ fi
+ elog
+ elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
+ elog ' usermod -aG docker <youruser>'
+ elog
+
+ if use device-mapper; then
+ elog " Devicemapper storage driver has been deprecated"
+ elog " It will be removed in a future release"
+ elog
+ fi
+
+ if use overlay; then
+ elog " Overlay storage driver/USEflag has been deprecated"
+ elog " in favor of overlay2 (enabled unconditionally)"
+ elog
+ fi
+
+ if has_version sys-fs/zfs; then
+ elog " ZFS storage driver is available"
+ elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
+ elog
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-containers/runc/Manifest b/app-containers/runc/Manifest
index a51b3c0aff3e..3fecfae8248f 100644
--- a/app-containers/runc/Manifest
+++ b/app-containers/runc/Manifest
@@ -1,5 +1,7 @@
DIST runc-1.1.4.tar.gz 2334639 BLAKE2B bc7eb7de29e8ebb9ce146bc77bf6cfc116f4af3e28c0344059183cf0c8082c629ccb235531c368cce99915991b25df0b50b7cbb98b9c6a7d141ba6cc15958651 SHA512 c8e79ad839964680d29ab56a4de255f91192741951673025da6889c544a232d4d392db2da8005d8e22999a37bfbc9c9fe7f6043b165bc4edc2f2a29261d8a3d6
DIST runc-1.1.5.tar.gz 2336539 BLAKE2B 3fcc4c2160f33fcec2efd6bcd755279c535128af870d4ea71dc07c501c0f401f394f2f66219739ca24cc5ec37b5944b0323f8e7ee49c619513ce826159e3a395 SHA512 f3cc9b93b0fe8a4341d410010fe584febb8e975ec9e0fd569d7dff33ab74c5821a2e0c40b7aeafd6b90991a50eae9c352342437f09cf6884dc850ceccdc68944
+DIST runc-1.1.7.tar.gz 2511464 BLAKE2B 63f09052659636b62185abbb178f7e104d22125190899e80e71ed2ba35567eb855abf786d3c7fff3dd9a1ab43ee282fcaecb6650cd8a1ce49c05acefd7c12cde SHA512 e3a18f04ac2c3553a815074ca64e04cfd71af54d78edbd4a13819f187476f96d7311c23bb63fb5c311b91865db4540985a6f9daa84819b0bac5f023b3b2a832c
EBUILD runc-1.1.4.ebuild 1843 BLAKE2B e390f7829d122bf1b69a366a01e4303bfa54d8362b44b74f9dfc85a88045f458a8e0827311931405b33e56868eddbb995499a169c1bec54bdbe5b2ecc0e07f27 SHA512 1850d961cab32b9b117c910bd05377128a67fdc8d93575395e0f7e913cc2058d55c1c59e38d68f0f07bbdc8777c3696155b0d6e92d02145299351d8aa922576e
EBUILD runc-1.1.5.ebuild 1846 BLAKE2B ac18b5d3c5a943afd5efc4760cb719da39f18f6d4e7e3f6fba1fdbfff1dd5b29cc3263bde667eb36310444f0249ca4c57b9941a75e059095dfbd4430be2186ca SHA512 71911f78fd46964fa95ca6486473fc835f7535fe5d23538fe5c722af84c3f61738a6961308c622781c040d78d1ff417b64e7eee65e601944b6bf1c3c55faf920
+EBUILD runc-1.1.7.ebuild 1846 BLAKE2B cf76eac1c70cb5d4f691ebe95f3ea60ac1f51064876c6004ffc1b20d5a3c10301e81fdc62a9d42bf5e0298cfe15d4a32dd2614bcb563b6a7b799939fd7a55925 SHA512 d2ddbedeb03b5cc2d2f20899b31b9ab5cfd1e3457639dd3c4a691d352e59446f006f82ce36291bb4f664668b78720ebc3ddedaa0e414f8dd35e008039a61796c
MISC metadata.xml 759 BLAKE2B 2eefd8bf06b709fe70d91b444fb232fb23e51702d75c29b0fb49675056e9721f8f63dac596b55a2ae33ef7b46825a1543a9ffdaaeddcb80448953daa5505bd60 SHA512 34d1dd28f55a6aff44c2f6dadef2dede502837af0fb8411b55a7f3ef96d35d2ddae9cc0d230525715e41c423d813b0089c36369dfa666c1249f152de90a5c555
diff --git a/app-containers/runc/runc-1.1.7.ebuild b/app-containers/runc/runc-1.1.7.ebuild
new file mode 100644
index 000000000000..0633aa35c491
--- /dev/null
+++ b/app-containers/runc/runc-1.1.7.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module linux-info
+
+# update on bump, look for https://github.com/docker\
+# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer
+RUNC_COMMIT=4ffc61430bbe6d3d405bdf357b766bf303ff3cc5
+CONFIG_CHECK="~USER_NS"
+
+DESCRIPTION="runc container cli tools"
+HOMEPAGE="http://github.com/opencontainers/runc/"
+MY_PV="${PV/_/-}"
+SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD-2 BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="apparmor hardened +kmem +seccomp selinux test"
+
+DEPEND="seccomp? ( sys-libs/libseccomp )"
+
+RDEPEND="
+ ${DEPEND}
+ !app-emulation/docker-runc
+ apparmor? ( sys-libs/libapparmor )
+ selinux? ( sec-policy/selinux-container )
+"
+
+BDEPEND="
+ dev-go/go-md2man
+ test? ( "${RDEPEND}" )
+"
+
+# tests need busybox binary, and portage namespace
+# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox
+# majority of tests pass
+RESTRICT+=" test"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_compile() {
+ # Taken from app-containers/docker-1.7.0-r1
+ export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
+ export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
+ -L${ESYSROOT}/usr/$(get_libdir)"
+
+ # build up optional flags
+ local options=(
+ $(usev apparmor)
+ $(usev seccomp)
+ $(usex kmem '' 'nokmem')
+ )
+
+ myemakeargs=(
+ BUILDTAGS="${options[*]}"
+ COMMIT="${RUNC_COMMIT}"
+ )
+
+ emake "${myemakeargs[@]}" runc man
+}
+
+src_install() {
+ myemakeargs+=(
+ PREFIX="${ED}/usr"
+ BINDIR="${ED}/usr/bin"
+ MANDIR="${ED}/usr/share/man"
+ )
+ emake "${myemakeargs[@]}" install install-man install-bash
+
+ local DOCS=( README.md PRINCIPLES.md docs/. )
+ einstalldocs
+}
+
+src_test() {
+ emake "${myemakeargs[@]}" localunittest
+}