parent
96f8611cc1
commit
d932f004b6
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,2 @@
|
||||
DIST containerd-1.1.2.tar.gz 5124208 BLAKE2B d989519d6bef4e12d1fa04aa00bfee223e94676a90525304d4357f4caf46326b4d2b897b885e9e137fe01ce66b93bc92fb7da7bd2b5dd5019edda5bb0bbc6d0a SHA512 fe4121a43e72a354cd87577b5227f2c2e0d54674244001e6fdb695da78873b3fd3f46b6bda6bbd0c8793b33f50e0d725cb356bb75b789a273c862bbe7d4f719c
|
||||
DIST containerd-1.1.4.tar.gz 5328134 BLAKE2B cb69f9bd80bc279ae2bd85c75152dacdbdf13df9aa2efae2453c11bf6ea9b990a4e8ec3cb07778ff1b07ef2fbc05d19bb5714616fa5618f590dc8c5b5c2b2bd0 SHA512 c51b3168b8d8121b1479f75f5ba21280848bb1cbed2d2c4a7e315ec24d1805fc9c512a1fc53e8e8fc32e150c7f2becb8daca0ecab4eaf760b3274c11fbcd6ea8
|
||||
DIST containerd-1.2.5.tar.gz 4871876 BLAKE2B f8652d00b4338d0f4a1d77d452a46c316cc38b57f2df64fcfcef463f10d030f363b54f1a12c4cb32d9010872c688a75ebc1d481439dc3eb84aab193fc80c9bc0 SHA512 b249d5bfc0c1f884ecc1ad4544f9440405450c31f11e80ac094bfddb7a6660e950116114e563d7655e07f888f2ff62f4476f2b178f4e0e2acbbb9fb84a243b25
|
||||
DIST containerd-1.2.6.tar.gz 4874159 BLAKE2B 202e19cffbe2b5335558dc1db28ea28a05dcc9e9b3aad864e090d86f7590df9e67ae685c9fc6ab2b8abdd1762d001fa9b298b1d311c080449bc86087b6af8c36 SHA512 287b064cb3e57369e34f6debb434526d6bd4857e337e489c56e4ca484c66e161bbda911b4fc29cb49808a756f6ec7af5629e46d693644500e3bf2d9e45e87e73
|
||||
DIST containerd-1.2.7.tar.gz 4877757 BLAKE2B 6cf98e370547d3ca5158f546e72e3ff5fdccc08c2e9f390988d080222195f95512dbf6f7dc042b7a966283a040000b7b8777b3fbeb4c5b861caae4f6209c59c5 SHA512 b96ca236d28933c1bf309fc7204af7d2c356e19af394d5c2274a178c8f15298faf6ca9bb8e7d04acb7c3c9c41035446643a8df0103017f7ed0320bfc37cb8ca9
|
||||
|
@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/containerd/${PN}"
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
MY_PV="${PV/_rc/-rc.}"
|
||||
EGIT_COMMIT="v${MY_PV}"
|
||||
CONTAINERD_COMMIT="468a545b9edcd5932818eb9de8e72413e616e86e"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="A daemon to control runC"
|
||||
HOMEPAGE="https://containerd.tools"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="apparmor +btrfs +cri hardened +seccomp"
|
||||
|
||||
DEPEND="btrfs? ( sys-fs/btrfs-progs )
|
||||
seccomp? ( sys-libs/libseccomp )"
|
||||
RDEPEND="|| ( >=app-emulation/docker-runc-1.0.0_rc4
|
||||
>=app-emulation/runc-1.0.0_rc4 )
|
||||
seccomp? ( sys-libs/libseccomp )"
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
sed -i -e "s/git describe --match.*$/echo ${PV})/"\
|
||||
-e "s/git rev-parse HEAD.*$/echo $CONTAINERD_COMMIT)/"\
|
||||
-e "s/-s -w//" \
|
||||
Makefile || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local options=( $(usex btrfs "" "no_btrfs") $(usex cri "" "no_cri") $(usex seccomp "seccomp" "") $(usex apparmor "apparmor" "") )
|
||||
export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
|
||||
LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') BUILDTAGS="${options[@]}" emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/containerd{-shim,-stress,} bin/ctr
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/containerd/${PN}"
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
MY_PV="${PV/_rc/-rc.}"
|
||||
EGIT_COMMIT="v${MY_PV}"
|
||||
CONTAINERD_COMMIT="9f2e07b1fc1342d1c48fe4d7bbb94cb6d1bf278b"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="A daemon to control runC"
|
||||
HOMEPAGE="https://containerd.tools"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="apparmor +btrfs +cri hardened +seccomp"
|
||||
|
||||
DEPEND="btrfs? ( sys-fs/btrfs-progs )
|
||||
seccomp? ( sys-libs/libseccomp )"
|
||||
RDEPEND="|| ( >=app-emulation/docker-runc-1.0.0_rc4
|
||||
>=app-emulation/runc-1.0.0_rc4 )
|
||||
seccomp? ( sys-libs/libseccomp )"
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
sed -i -e "s/git describe --match.*$/echo ${PV})/"\
|
||||
-e "s/git rev-parse HEAD.*$/echo $CONTAINERD_COMMIT)/"\
|
||||
-e "s/-s -w//" \
|
||||
Makefile || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local options=( $(usex btrfs "" "no_btrfs") $(usex cri "" "no_cri") $(usex seccomp "seccomp" "") $(usex apparmor "apparmor" "") )
|
||||
export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
|
||||
LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') BUILDTAGS="${options[@]}" emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/containerd{-shim,-stress,} bin/ctr
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/containerd/${PN}"
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
MY_PV="${PV/_beta/-beta.}"
|
||||
EGIT_COMMIT="v${MY_PV}"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="A daemon to control runC"
|
||||
HOMEPAGE="https://containerd.tools"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="hardened +seccomp"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=">=app-emulation/runc-1.0.0_rc4
|
||||
seccomp? ( sys-libs/libseccomp )"
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
src_compile() {
|
||||
local options=( $(usex seccomp "seccomp" "") )
|
||||
export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
|
||||
LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') emake GIT_COMMIT="$EGIT_COMMIT" BUILDTAGS="${options[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/containerd{-shim,-stress,} bin/ctr
|
||||
}
|
@ -1,6 +1,4 @@
|
||||
DIST cri-tools-1.0.0_alpha1.tar.gz 2727719 BLAKE2B 6c413aff111ce279e86f1036c3efd0c98901ed42bce482b3877cec58a55958a80305c013b6e515dbb84ff3d8def41156b81a0749ce606fd3806a7fae3fc445f0 SHA512 e0fe6171ac1b1649be667b2924a1b163810fe18c51fb9c3fe363b381feb889d18872f8077e267a147058481f799a35f6a0b5f8d285215e216ee771d7ea74f66a
|
||||
DIST cri-tools-1.0.0_beta2.tar.gz 2417018 BLAKE2B 06dc5675c339fb26fce92c3ca05f855da754a452b25554ab84da0b6528b56c01005a625a06ead9a0f1e51e3fee96b54865990927fc312efa96167f8a5ebe94f1 SHA512 f0aadf8659ae1731945c8403d5a6d30bb9ed1e2ebf1a1045541087652a0d7a45b35fea5346cbec37903425634d7f65ccd852b56a7db93f6bbf9c91ae4899f107
|
||||
DIST cri-tools-1.11.1.tar.gz 2557233 BLAKE2B 26594d9817302f4ddf26e0c6c66765efdc1580bc0b80af8db5f3bd12eb9590d8fb3186165cc696a387eda31e429e4840419ceb4450706506ce4d6af2e1e48c5b SHA512 3e87c26061a8d5a6077c23b35adef3c85e1e0b85378d8062ebb1886195105f034ecf9407d14f495c23e40a5e016ff0ad5e89625beaacd594b8c7ef4e0b41b56e
|
||||
DIST cri-tools-1.12.0.tar.gz 2608498 BLAKE2B 242e689ec69081838afe36b86e3f802e4ff3bfd50461026a8637dd777b8996d9e153fbab103c98fc5ad8bd82c4da52413ab4698f95db8f1c0fa7e825e8dd80f7 SHA512 394269515ac80dd2b995b20220b03e03bad8bbfa25cea8979777ab75830a0523f0945553ba5d3f7a900eabe9ccf67ebf5789627b46640a2fc46193aff101ba20
|
||||
DIST cri-tools-1.13.0.tar.gz 2675580 BLAKE2B 4dcac547caf048b546ea0b11401e414e8ab834171b9cf1abd773cc8b05d70e47138dde7c1195ba6e99ad5e7d7632d7cebb4a8c67f7ec9c0ee3a750ac5e591a7f SHA512 df5553913a9e8aa1e0fa896dd1da00184d059bf360080d5c4003ca20ab4b93770847e07887451a44668e588eec5ab0258e7f02ed485d9344701af0afa20d712f
|
||||
DIST cri-tools-1.14.0.tar.gz 3647742 BLAKE2B 1a308c87e7be05dd71cf11d79c841a837156529d398f1475323ff9585f9080cd0356a007f8b8c505a02943ff479a7c26869f35288d178ac8187ca6766032c488 SHA512 c8978e4380ebb2dd59ce533ade94486ae1e4091fda7acd8cf5cce662034a1d34a1851c43bf766a723c5ba71c15972733a2e80c6e82fb1c27e5a1dfc2e85476bf
|
||||
DIST cri-tools-1.15.0.tar.gz 3672568 BLAKE2B d4e9a0b2ca43efdb61c7626de518801a124fb61991f1df6a7eac106f7516ab59effa70038db7c4cbfddaf1c345c648f359c86d298dae08abb34f4b801b82b2a1 SHA512 43115fad485c2c6603e724f3529371133bcea6de069dc58d36e7880f558fa1696244b6129fe3a96fd669b27a3d9bd07bda1219e89afa348e36a85087992adf7f
|
||||
|
@ -1,29 +0,0 @@
|
||||
# Copyright 2018 Sony Interactive Entertainment Inc.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit golang-build golang-vcs-snapshot
|
||||
|
||||
EGO_PN="github.com/kubernetes-sigs/cri-tools"
|
||||
MY_PV="v${PV/_alpha/-alpha.}"
|
||||
ARCHIVE_URI="https://${EGO_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
DESCRIPTION="CLI and validation tools for Kubelet Container Runtime (CRI)"
|
||||
HOMEPAGE="https://github.com/kubernetes-sigs/cri-tools"
|
||||
SRC_URI="${ARCHIVE_URI}"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
src_compile() {
|
||||
GOPATH="${S}" go test -c -v -ldflags="-X ${EGO_PN}/pkg/version.Version=${MY_PV}" -o bin/critest ${EGO_PN}/cmd/critest || die
|
||||
GOPATH="${S}" go build -v -ldflags="-X ${EGO_PN}/pkg/version.Version=${MY_PV}" -o bin/crictl ${EGO_PN}/cmd/crictl || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/*
|
||||
dodoc -r src/${EGO_PN}/{docs,{README,RELEASE,CHANGELOG,CONTRIBUTING}.md}
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
# Copyright 2018 Sony Interactive Entertainment Inc.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit golang-build golang-vcs-snapshot
|
||||
|
||||
EGO_PN="github.com/kubernetes-incubator/cri-tools"
|
||||
MY_PV="v${PV/_beta/-beta.}"
|
||||
ARCHIVE_URI="https://${EGO_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
DESCRIPTION="CLI and validation tools for Kubelet Container Runtime (CRI)"
|
||||
HOMEPAGE="https://github.com/kubernetes-sigs/cri-tools"
|
||||
SRC_URI="${ARCHIVE_URI}"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
src_compile() {
|
||||
GOPATH="${S}" go test -c -v -ldflags="-X ${EGO_PN}/pkg/version.Version=${MY_PV}" -o bin/critest ${EGO_PN}/cmd/critest || die
|
||||
GOPATH="${S}" go build -v -ldflags="-X ${EGO_PN}/pkg/version.Version=${MY_PV}" -o bin/crictl ${EGO_PN}/cmd/crictl || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/*
|
||||
dodoc -r src/${EGO_PN}/{docs,{README,RELEASE,CHANGELOG,CONTRIBUTING}.md}
|
||||
}
|
@ -1,8 +1 @@
|
||||
DIST docker-proxy-0.8.0_p20180411.tar.gz 2695069 BLAKE2B 5205d5700ad116bb457dc7a57f2624f9efa46f1dbf3f5fe9215077655cddba8e1e1301bc555fb43a22cba4d74423123953a67994bf8974b114350e64be601299 SHA512 300e197313017536f91768ba675f2ab773eb1914f8e5908f4ff5b6fc8c4f0fa5ba1653cd9f8ca26e7c466f1623716aa45a2746f862e47ca9fe9136010085f600
|
||||
DIST docker-proxy-0.8.0_p20180626.tar.gz 2718698 BLAKE2B 6214ba714ba8b01214168171f465dfaee4d8ff791db7a219a3fb92fade3e4207d36d90090790c0a3059e6fb209f3cd8bb0082ca75496108ebffb7c9b0c5092a4 SHA512 21d3d1bd8aafeab51a3e0a14ada4d559b5b113a48d315e91f7d70e4fa839f5c92d4068b38c28bf6929da9c11cfc61703bafc7148f64b784208d61fa14ee4545d
|
||||
DIST docker-proxy-0.8.0_p20180907.tar.gz 2711336 BLAKE2B ad1fc76347058610e2cd1659fb89f9990cc704c3a31006b976e44f31a30e754ac86e7b4823c48461cdcba948bb8d320ae25eac1e13b26f1fde072343251a61e0 SHA512 603ad154d0987a021dae69d542fa82a53b8d25ad9b44cf16f0ef551e0b81e0174dcc73b3a8e9ba89ca1d209f0022e767d44a8350b00b9b4e252cfab698b1d5bd
|
||||
DIST docker-proxy-0.8.0_p20181207.tar.gz 2703206 BLAKE2B 46b71a4d6ac9eb0659a45c1956eb967a73b2b73c446d55de3a5b4014149f911daa03c6a914e8d79da53e01892c6592adf0df769b6b5ed3b41f3c4a3c9f979da3 SHA512 9256eedc6ed530506e4e61673a9f45397274093dd61105097d5c650796f0afebc8ad7c550d2dc3cacf94426e3872a2b764906bca46fc907a21b865314c8927d4
|
||||
DIST docker-proxy-0.8.0_p20190301.tar.gz 2703026 BLAKE2B 0d0da49e1daf260c5d5699cfa8dd447cd6fe83f5903834aa065af52f133910d1f16a06ef7688340d2068e5ac544de8b1a2b9644f65af486077b66d56efd9447f SHA512 8ffd6fc97df4b63b1f83a5eb6d8e63c8c413bcf3e2ff82f507dbf875d0df6903b6fe1546d8625dd3b4681d611aed4702c423d0d5c9621ed57073cbe16bf35200
|
||||
DIST docker-proxy-0.8.0_p20190405.tar.gz 2703481 BLAKE2B 7df4333c0d5303be5819faa1e984cc516df21d197b08f07fadbe7800f6035cefbeea6a63bf0cc7bca0a23cf324558d0422638e15c7750877fa4fb589e4052ec4 SHA512 a24061cd29c3c9852a435f742e6653da48edd419205be18a37d065b50c2fbf005bfe62a1f909b91781f521b70cb3a9639a4a67e8563e2e39e6dd22f1c7bf82b2
|
||||
DIST docker-proxy-0.8.0_p20190417.tar.gz 2705315 BLAKE2B 13d2b9caeaf0d2d16dc8cda641e9b13d12bc7c9dcdcf9caa60fb80c2bba9b4c9a15c8c959fdce019367002d58d83859145d70b78431b5fe7e9322d3b127cd0df SHA512 c8e8544a3d8d44dc0f309aa3520a2cf62cee374a06d40473542078de94d88cb484c0dca1cee7ad89fb312c969af1694c848f464d04d61df5a9888058e21a485e
|
||||
DIST docker-proxy-0.8.0_p20190513.tar.gz 2705298 BLAKE2B ff897b18b8265b3d718caf7afaf10f7b8eeed9be0cc9c73b02d5c42c5c9ddd1be32cf7d1259ce26d56219cda57707e25e154e50cfa2cc80e823a4b924da4e5e0 SHA512 0a833510df0029999bfc05c23445a58a8b2ff165c0fb2fd5c411498d1e89b5b1990d2778b32346dd2b6d61c166ff707c6277a5d1937db6345c77d3825eb59875
|
||||
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/docker/libnetwork"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
EGIT_COMMIT="c15b372ef22125880d378167dde44f4b134e1a77"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="Docker container networking"
|
||||
HOMEPAGE="https://github.com/docker/libnetwork"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
RDEPEND="!<app-emulation/docker-1.13.0_rc1"
|
||||
|
||||
RESTRICT="test" # needs dockerd
|
||||
|
||||
src_compile() {
|
||||
GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc ROADMAP.md README.md CHANGELOG.md
|
||||
dobin bin/docker-proxy
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/docker/libnetwork"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
EGIT_COMMIT="3ac297bc7fd0afec9051bbb47024c9bc1d75bf5b"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="Docker container networking"
|
||||
HOMEPAGE="https://github.com/docker/libnetwork"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
RDEPEND="!<app-emulation/docker-1.13.0_rc1"
|
||||
|
||||
RESTRICT="test" # needs dockerd
|
||||
|
||||
src_compile() {
|
||||
GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc ROADMAP.md README.md CHANGELOG.md
|
||||
dobin bin/docker-proxy
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/docker/libnetwork"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
EGIT_COMMIT="6da50d1978302f04c3e2089e29112ea24812f05b"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="Docker container networking"
|
||||
HOMEPAGE="https://github.com/docker/libnetwork"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
RDEPEND="!<app-emulation/docker-1.13.0_rc1"
|
||||
|
||||
RESTRICT="test" # needs dockerd
|
||||
|
||||
src_compile() {
|
||||
GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc ROADMAP.md README.md CHANGELOG.md
|
||||
dobin bin/docker-proxy
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/docker/libnetwork"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
EGIT_COMMIT="2cfbf9b1f98162a55829a21cc603c76072a75382"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="Docker container networking"
|
||||
HOMEPAGE="https://github.com/docker/libnetwork"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
RDEPEND="!<app-emulation/docker-1.13.0_rc1"
|
||||
|
||||
RESTRICT="test" # needs dockerd
|
||||
|
||||
src_compile() {
|
||||
GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc ROADMAP.md README.md CHANGELOG.md
|
||||
dobin bin/docker-proxy
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/docker/libnetwork"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
EGIT_COMMIT="4725f2163fb214a6312f3beae5991f838ec36326"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="Docker container networking"
|
||||
HOMEPAGE="https://github.com/docker/libnetwork"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
RDEPEND="!<app-emulation/docker-1.13.0_rc1"
|
||||
|
||||
RESTRICT="test" # needs dockerd
|
||||
|
||||
src_compile() {
|
||||
GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc ROADMAP.md README.md CHANGELOG.md
|
||||
dobin bin/docker-proxy
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/docker/libnetwork"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
EGIT_COMMIT="c9029898e32f7c89bbb81511fbb721df252ce61a"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="Docker container networking"
|
||||
HOMEPAGE="https://github.com/docker/libnetwork"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
RESTRICT="test" # needs dockerd
|
||||
|
||||
src_compile() {
|
||||
GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc ROADMAP.md README.md CHANGELOG.md
|
||||
dobin bin/docker-proxy
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/docker/libnetwork"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
EGIT_COMMIT="872f0a83c98add6cae255c8859e29532febc0039"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="Docker container networking"
|
||||
HOMEPAGE="https://github.com/docker/libnetwork"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
RESTRICT="test" # needs dockerd
|
||||
|
||||
src_compile() {
|
||||
GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc ROADMAP.md README.md CHANGELOG.md
|
||||
dobin bin/docker-proxy
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/docker/libnetwork"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
EGIT_COMMIT=""
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~ppc64"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="Docker container networking"
|
||||
HOMEPAGE="https://github.com/docker/libnetwork"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
RDEPEND="!<app-emulation/docker-1.13.0_rc1"
|
||||
|
||||
RESTRICT="test" # needs dockerd
|
||||
|
||||
src_compile() {
|
||||
GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc ROADMAP.md README.md CHANGELOG.md
|
||||
dobin bin/docker-proxy
|
||||
}
|
@ -1,299 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGO_PN="github.com/docker/docker-ce"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Docker cannot be fetched via "go get", thanks to autogenerated code
|
||||
EGIT_REPO_URI="https://${EGO_PN}.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
inherit git-r3
|
||||
else
|
||||
DOCKER_GITCOMMIT="e8ff056"
|
||||
SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64"
|
||||
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit bash-completion-r1 golang-base linux-info systemd udev user
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://dockerproject.org"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="apparmor aufs btrfs +container-init device-mapper hardened +overlay pkcs11 seccomp"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
CDEPEND="
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
device-mapper? (
|
||||
>=sys-fs/lvm2-2.02.89[thin]
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
dev-go/go-md2man
|
||||
|
||||
btrfs? (
|
||||
>=sys-fs/btrfs-progs-3.16.1
|
||||
)
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=net-firewall/iptables-1.4
|
||||
sys-process/procps
|
||||
>=dev-vcs/git-1.7
|
||||
>=app-arch/xz-utils-4.9
|
||||
dev-libs/libltdl
|
||||
~app-emulation/containerd-1.2.5
|
||||
~app-emulation/runc-1.0.0_rc6_p20190216[apparmor?,seccomp?]
|
||||
~app-emulation/docker-proxy-0.8.0_p20190405
|
||||
container-init? ( >=sys-process/tini-0.18.0[static] )
|
||||
"
|
||||
|
||||
RESTRICT="installsources strip"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
# see "contrib/check-config.sh" from upstream's sources
|
||||
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
|
||||
~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
|
||||
~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS
|
||||
~IP_NF_NAT ~NF_NAT ~NF_NAT_NEEDED
|
||||
~POSIX_MQUEUE
|
||||
|
||||
~USER_NS
|
||||
~SECCOMP
|
||||
~CGROUP_PIDS
|
||||
~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
|
||||
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP
|
||||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
|
||||
~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR
|
||||
|
||||
~VXLAN
|
||||
~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER
|
||||
~IPVLAN
|
||||
~MACVLAN ~DUMMY
|
||||
"
|
||||
|
||||
ERROR_KEYS="CONFIG_KEYS: is mandatory"
|
||||
ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
|
||||
ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
|
||||
|
||||
ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
|
||||
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
|
||||
ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
|
||||
ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
|
||||
ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
|
||||
ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
|
||||
|
||||
pkg_setup() {
|
||||
if kernel_is lt 3 10; then
|
||||
ewarn ""
|
||||
ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
|
||||
ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 18; then
|
||||
CONFIG_CHECK+="
|
||||
~RESOURCE_COUNTERS
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 13; then
|
||||
CONFIG_CHECK+="
|
||||
~NETPRIO_CGROUP
|
||||
"
|
||||
else
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_NET_PRIO
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 5; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_KMEM
|
||||
"
|
||||
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 7; then
|
||||
CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
"
|
||||
fi
|
||||
|
||||
if use aufs; then
|
||||
CONFIG_CHECK+="
|
||||
~AUFS_FS
|
||||
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
|
||||
fi
|
||||
|
||||
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 ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
fi
|
||||
|
||||
if use overlay; then
|
||||
CONFIG_CHECK+="
|
||||
~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
# create docker group for the code checking for it in /etc/group
|
||||
enewgroup docker
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
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${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# if we're building from a tarball, we need the GITCOMMIT value
|
||||
[ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
|
||||
|
||||
# fake golang layout
|
||||
ln -s docker-ce/components/engine ../docker || die
|
||||
ln -s docker-ce/components/cli ../cli || die
|
||||
|
||||
# let's set up some optional features :)
|
||||
export DOCKER_BUILDTAGS=''
|
||||
for gd in aufs btrfs device-mapper overlay; do
|
||||
if ! use $gd; then
|
||||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||
fi
|
||||
done
|
||||
|
||||
for tag in apparmor pkcs11 seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
pushd components/engine || die
|
||||
|
||||
if use hardened; then
|
||||
sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
|
||||
grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-daemon || die
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
|
||||
fi
|
||||
|
||||
# build daemon
|
||||
VERSION="$(cat ../../VERSION)" \
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
|
||||
popd || die # components/engine
|
||||
|
||||
pushd components/cli || die
|
||||
|
||||
# build cli
|
||||
emake \
|
||||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
|
||||
VERSION="$(cat ../../VERSION)" \
|
||||
GITCOMMIT="${DOCKER_GITCOMMIT}" \
|
||||
DISABLE_WARN_OUTSIDE_CONTAINER=1 \
|
||||
dynbinary || die
|
||||
|
||||
# build man pages
|
||||
go build -o gen-manpages github.com/docker/cli/man || die
|
||||
./gen-manpages --root . --target ./man/man1 || die
|
||||
./man/md2man-all.sh -q || die
|
||||
rm gen-manpages || die
|
||||
# see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
|
||||
|
||||
popd || die # components/cli
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
pushd components/engine || die
|
||||
newbin "$(readlink -f bundles/latest/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 CHANGELOG.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r contrib/syntax/vim/ftdetect
|
||||
doins -r contrib/syntax/vim/syntax
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
popd || die # components/engine
|
||||
|
||||
pushd components/cli || die
|
||||
|
||||
newbin build/docker-* docker
|
||||
|
||||
doman man/man*/*
|
||||
|
||||
dobashcomp contrib/completion/bash/*
|
||||
insinto /usr/share/fish/vendor_completions.d/
|
||||
doins contrib/completion/fish/docker.fish
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins contrib/completion/zsh/_*
|
||||
popd || die # components/cli
|
||||
}
|
||||
|
||||
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, add Docker to the default runlevel:"
|
||||
elog " rc-update add docker default"
|
||||
elog "Similarly for systemd:"
|
||||
elog " systemctl enable docker.service"
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog " usermod -aG docker youruser"
|
||||
elog
|
||||
|
||||
elog " Devicemapper storage driver has been deprecated"
|
||||
elog " It will be removed in a future release"
|
||||
}
|
@ -1,299 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGO_PN="github.com/docker/docker-ce"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Docker cannot be fetched via "go get", thanks to autogenerated code
|
||||
EGIT_REPO_URI="https://${EGO_PN}.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
inherit git-r3
|
||||
else
|
||||
DOCKER_GITCOMMIT="481bc77"
|
||||
SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64"
|
||||
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit bash-completion-r1 golang-base linux-info systemd udev user
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://dockerproject.org"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="apparmor aufs btrfs +container-init device-mapper hardened +overlay pkcs11 seccomp"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
CDEPEND="
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
device-mapper? (
|
||||
>=sys-fs/lvm2-2.02.89[thin]
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
dev-go/go-md2man
|
||||
|
||||
btrfs? (
|
||||
>=sys-fs/btrfs-progs-3.16.1
|
||||
)
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=net-firewall/iptables-1.4
|
||||
sys-process/procps
|
||||
>=dev-vcs/git-1.7
|
||||
>=app-arch/xz-utils-4.9
|
||||
dev-libs/libltdl
|
||||
~app-emulation/containerd-1.2.5
|
||||
~app-emulation/runc-1.0.0_rc6_p20190216[apparmor?,seccomp?]
|
||||
~app-emulation/docker-proxy-0.8.0_p20190417
|
||||
container-init? ( >=sys-process/tini-0.18.0[static] )
|
||||
"
|
||||
|
||||
RESTRICT="installsources strip"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
# see "contrib/check-config.sh" from upstream's sources
|
||||
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
|
||||
~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
|
||||
~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS
|
||||
~IP_NF_NAT ~NF_NAT ~NF_NAT_NEEDED
|
||||
~POSIX_MQUEUE
|
||||
|
||||
~USER_NS
|
||||
~SECCOMP
|
||||
~CGROUP_PIDS
|
||||
~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
|
||||
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP
|
||||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
|
||||
~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR
|
||||
|
||||
~VXLAN
|
||||
~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER
|
||||
~IPVLAN
|
||||
~MACVLAN ~DUMMY
|
||||
"
|
||||
|
||||
ERROR_KEYS="CONFIG_KEYS: is mandatory"
|
||||
ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
|
||||
ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
|
||||
|
||||
ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
|
||||
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
|
||||
ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
|
||||
ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
|
||||
ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
|
||||
ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
|
||||
|
||||
pkg_setup() {
|
||||
if kernel_is lt 3 10; then
|
||||
ewarn ""
|
||||
ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
|
||||
ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 18; then
|
||||
CONFIG_CHECK+="
|
||||
~RESOURCE_COUNTERS
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 13; then
|
||||
CONFIG_CHECK+="
|
||||
~NETPRIO_CGROUP
|
||||
"
|
||||
else
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_NET_PRIO
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 5; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_KMEM
|
||||
"
|
||||
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 7; then
|
||||
CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
"
|
||||
fi
|
||||
|
||||
if use aufs; then
|
||||
CONFIG_CHECK+="
|
||||
~AUFS_FS
|
||||
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
|
||||
fi
|
||||
|
||||
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 ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
fi
|
||||
|
||||
if use overlay; then
|
||||
CONFIG_CHECK+="
|
||||
~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
# create docker group for the code checking for it in /etc/group
|
||||
enewgroup docker
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
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${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# if we're building from a tarball, we need the GITCOMMIT value
|
||||
[ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
|
||||
|
||||
# fake golang layout
|
||||
ln -s docker-ce/components/engine ../docker || die
|
||||
ln -s docker-ce/components/cli ../cli || die
|
||||
|
||||
# let's set up some optional features :)
|
||||
export DOCKER_BUILDTAGS=''
|
||||
for gd in aufs btrfs device-mapper overlay; do
|
||||
if ! use $gd; then
|
||||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||
fi
|
||||
done
|
||||
|
||||
for tag in apparmor pkcs11 seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
pushd components/engine || die
|
||||
|
||||
if use hardened; then
|
||||
sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
|
||||
grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-daemon || die
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
|
||||
fi
|
||||
|
||||
# build daemon
|
||||
VERSION="$(cat ../../VERSION)" \
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
|
||||
popd || die # components/engine
|
||||
|
||||
pushd components/cli || die
|
||||
|
||||
# build cli
|
||||
emake \
|
||||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
|
||||
VERSION="$(cat ../../VERSION)" \
|
||||
GITCOMMIT="${DOCKER_GITCOMMIT}" \
|
||||
DISABLE_WARN_OUTSIDE_CONTAINER=1 \
|
||||
dynbinary || die
|
||||
|
||||
# build man pages
|
||||
go build -o gen-manpages github.com/docker/cli/man || die
|
||||
./gen-manpages --root . --target ./man/man1 || die
|
||||
./man/md2man-all.sh -q || die
|
||||
rm gen-manpages || die
|
||||
# see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
|
||||
|
||||
popd || die # components/cli
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
pushd components/engine || die
|
||||
newbin "$(readlink -f bundles/latest/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 CHANGELOG.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r contrib/syntax/vim/ftdetect
|
||||
doins -r contrib/syntax/vim/syntax
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
popd || die # components/engine
|
||||
|
||||
pushd components/cli || die
|
||||
|
||||
newbin build/docker-* docker
|
||||
|
||||
doman man/man*/*
|
||||
|
||||
dobashcomp contrib/completion/bash/*
|
||||
insinto /usr/share/fish/vendor_completions.d/
|
||||
doins contrib/completion/fish/docker.fish
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins contrib/completion/zsh/_*
|
||||
popd || die # components/cli
|
||||
}
|
||||
|
||||
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, add Docker to the default runlevel:"
|
||||
elog " rc-update add docker default"
|
||||
elog "Similarly for systemd:"
|
||||
elog " systemctl enable docker.service"
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog " usermod -aG docker youruser"
|
||||
elog
|
||||
|
||||
elog " Devicemapper storage driver has been deprecated"
|
||||
elog " It will be removed in a future release"
|
||||
}
|
@ -1,300 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGO_PN="github.com/docker/docker-ce"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Docker cannot be fetched via "go get", thanks to autogenerated code
|
||||
EGIT_REPO_URI="https://${EGO_PN}.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
inherit git-r3
|
||||
else
|
||||
DOCKER_GITCOMMIT="c38f3f8"
|
||||
GIT_COMMIT="c38f3f8cb20a779ef83b05ccdc7368db938219cf"
|
||||
SRC_URI="https://${EGO_PN}/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64"
|
||||
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit bash-completion-r1 golang-base linux-info systemd udev user
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://dockerproject.org"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="apparmor aufs btrfs +container-init device-mapper hardened +overlay pkcs11 seccomp"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
CDEPEND="
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
device-mapper? (
|
||||
>=sys-fs/lvm2-2.02.89[thin]
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
dev-go/go-md2man
|
||||
|
||||
btrfs? (
|
||||
>=sys-fs/btrfs-progs-3.16.1
|
||||
)
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=net-firewall/iptables-1.4
|
||||
sys-process/procps
|
||||
>=dev-vcs/git-1.7
|
||||
>=app-arch/xz-utils-4.9
|
||||
dev-libs/libltdl
|
||||
~app-emulation/containerd-1.2.5
|
||||
~app-emulation/runc-1.0.0_rc6_p20190216[apparmor?,seccomp?]
|
||||
~app-emulation/docker-proxy-0.8.0_p20190513
|
||||
container-init? ( >=sys-process/tini-0.18.0[static] )
|
||||
"
|
||||
|
||||
RESTRICT="installsources strip"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
# see "contrib/check-config.sh" from upstream's sources
|
||||
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
|
||||
~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
|
||||
~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS
|
||||
~IP_NF_NAT ~NF_NAT ~NF_NAT_NEEDED
|
||||
~POSIX_MQUEUE
|
||||
|
||||
~USER_NS
|
||||
~SECCOMP
|
||||
~CGROUP_PIDS
|
||||
~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
|
||||
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP
|
||||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
|
||||
~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR
|
||||
|
||||
~VXLAN
|
||||
~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER
|
||||
~IPVLAN
|
||||
~MACVLAN ~DUMMY
|
||||
"
|
||||
|
||||
ERROR_KEYS="CONFIG_KEYS: is mandatory"
|
||||
ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
|
||||
ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
|
||||
|
||||
ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
|
||||
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
|
||||
ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
|
||||
ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
|
||||
ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
|
||||
ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
|
||||
|
||||
pkg_setup() {
|
||||
if kernel_is lt 3 10; then
|
||||
ewarn ""
|
||||
ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
|
||||
ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 18; then
|
||||
CONFIG_CHECK+="
|
||||
~RESOURCE_COUNTERS
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 13; then
|
||||
CONFIG_CHECK+="
|
||||
~NETPRIO_CGROUP
|
||||
"
|
||||
else
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_NET_PRIO
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 5; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_KMEM
|
||||
"
|
||||
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 7; then
|
||||
CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
"
|
||||
fi
|
||||
|
||||
if use aufs; then
|
||||
CONFIG_CHECK+="
|
||||
~AUFS_FS
|
||||
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
|
||||
fi
|
||||
|
||||
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 ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
fi
|
||||
|
||||
if use overlay; then
|
||||
CONFIG_CHECK+="
|
||||
~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
# create docker group for the code checking for it in /etc/group
|
||||
enewgroup docker
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
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${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# if we're building from a tarball, we need the GITCOMMIT value
|
||||
[ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
|
||||
|
||||
# fake golang layout
|
||||
ln -s docker-ce/components/engine ../docker || die
|
||||
ln -s docker-ce/components/cli ../cli || die
|
||||
|
||||
# let's set up some optional features :)
|
||||
export DOCKER_BUILDTAGS=''
|
||||
for gd in aufs btrfs device-mapper overlay; do
|
||||
if ! use $gd; then
|
||||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||
fi
|
||||
done
|
||||
|
||||
for tag in apparmor pkcs11 seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
pushd components/engine || die
|
||||
|
||||
if use hardened; then
|
||||
sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
|
||||
grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-daemon || die
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
|
||||
fi
|
||||
|
||||
# build daemon
|
||||
VERSION="$(cat ../../VERSION)" \
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
|
||||
popd || die # components/engine
|
||||
|
||||
pushd components/cli || die
|
||||
|
||||
# build cli
|
||||
emake \
|
||||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
|
||||
VERSION="$(cat ../../VERSION)" \
|
||||
GITCOMMIT="${DOCKER_GITCOMMIT}" \
|
||||
DISABLE_WARN_OUTSIDE_CONTAINER=1 \
|
||||
dynbinary || die
|
||||
|
||||
# build man pages
|
||||
go build -o gen-manpages github.com/docker/cli/man || die
|
||||
./gen-manpages --root . --target ./man/man1 || die
|
||||
./man/md2man-all.sh -q || die
|
||||
rm gen-manpages || die
|
||||
# see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
|
||||
|
||||
popd || die # components/cli
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
pushd components/engine || die
|
||||
newbin "$(readlink -f bundles/latest/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 CHANGELOG.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r contrib/syntax/vim/ftdetect
|
||||
doins -r contrib/syntax/vim/syntax
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
popd || die # components/engine
|
||||
|
||||
pushd components/cli || die
|
||||
|
||||
newbin build/docker-* docker
|
||||
|
||||
doman man/man*/*
|
||||
|
||||
dobashcomp contrib/completion/bash/*
|
||||
insinto /usr/share/fish/vendor_completions.d/
|
||||
doins contrib/completion/fish/docker.fish
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins contrib/completion/zsh/_*
|
||||
popd || die # components/cli
|
||||
}
|
||||
|
||||
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, add Docker to the default runlevel:"
|
||||
elog " rc-update add docker default"
|
||||
elog "Similarly for systemd:"
|
||||
elog " systemctl enable docker.service"
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog " usermod -aG docker youruser"
|
||||
elog
|
||||
|
||||
elog " Devicemapper storage driver has been deprecated"
|
||||
elog " It will be removed in a future release"
|
||||
}
|
@ -1,300 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGO_PN="github.com/docker/docker-ce"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Docker cannot be fetched via "go get", thanks to autogenerated code
|
||||
EGIT_REPO_URI="https://${EGO_PN}.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
inherit git-r3
|
||||
else
|
||||
DOCKER_GITCOMMIT="e97b22c"
|
||||
MY_PV=${PV/_/-}
|
||||
SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64"
|
||||
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit bash-completion-r1 golang-base linux-info systemd udev user
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://dockerproject.org"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="apparmor aufs btrfs +container-init device-mapper hardened +overlay pkcs11 seccomp"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
CDEPEND="
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
device-mapper? (
|
||||
>=sys-fs/lvm2-2.02.89[thin]
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
|
||||
dev-go/go-md2man
|
||||
|
||||
btrfs? (
|
||||
>=sys-fs/btrfs-progs-3.16.1
|
||||
)
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=net-firewall/iptables-1.4
|
||||
sys-process/procps
|
||||
>=dev-vcs/git-1.7
|
||||
>=app-arch/xz-utils-4.9
|
||||
dev-libs/libltdl
|
||||
~app-emulation/containerd-1.2.6
|
||||
~app-emulation/runc-1.0.0_rc8[apparmor?,seccomp?]
|
||||
~app-emulation/docker-proxy-0.8.0_p20190513
|
||||
container-init? ( >=sys-process/tini-0.18.0[static] )
|
||||
"
|
||||
|
||||
RESTRICT="installsources strip"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
# see "contrib/check-config.sh" from upstream's sources
|
||||
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
|
||||
~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
|
||||
~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS
|
||||
~IP_NF_NAT ~NF_NAT ~NF_NAT_NEEDED
|
||||
~POSIX_MQUEUE
|
||||
|
||||
~USER_NS
|
||||
~SECCOMP
|
||||
~CGROUP_PIDS
|
||||
~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
|
||||
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP
|
||||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
|
||||
~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR
|
||||
|
||||
~VXLAN
|
||||
~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER
|
||||
~IPVLAN
|
||||
~MACVLAN ~DUMMY
|
||||
"
|
||||
|
||||
ERROR_KEYS="CONFIG_KEYS: is mandatory"
|
||||
ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
|
||||
ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
|
||||
|
||||
ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
|
||||
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
|
||||
ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
|
||||
ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
|
||||
ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
|
||||
ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
|
||||
|
||||
pkg_setup() {
|
||||
if kernel_is lt 3 10; then
|
||||
ewarn ""
|
||||
ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
|
||||
ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 18; then
|
||||
CONFIG_CHECK+="
|
||||
~RESOURCE_COUNTERS
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 3 13; then
|
||||
CONFIG_CHECK+="
|
||||
~NETPRIO_CGROUP
|
||||
"
|
||||
else
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_NET_PRIO
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 5; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_KMEM
|
||||
"
|
||||
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 7; then
|
||||
CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
"
|
||||
fi
|
||||
|
||||
if use aufs; then
|
||||
CONFIG_CHECK+="
|
||||
~AUFS_FS
|
||||
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
|
||||
fi
|
||||
|
||||
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 ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
fi
|
||||
|
||||
if use overlay; then
|
||||
CONFIG_CHECK+="
|
||||
~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
# create docker group for the code checking for it in /etc/group
|
||||
enewgroup docker
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
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${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# if we're building from a tarball, we need the GITCOMMIT value
|
||||
[ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
|
||||
|
||||
# fake golang layout
|
||||
ln -s docker-ce/components/engine ../docker || die
|
||||
ln -s docker-ce/components/cli ../cli || die
|
||||
|
||||
# let's set up some optional features :)
|
||||
export DOCKER_BUILDTAGS=''
|
||||
for gd in aufs btrfs device-mapper overlay; do
|
||||
if ! use $gd; then
|
||||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||
fi
|
||||
done
|
||||
|
||||
for tag in apparmor pkcs11 seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
pushd components/engine || die
|
||||
|
||||
if use hardened; then
|
||||
sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
|
||||
grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-daemon || die
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
|
||||
fi
|
||||
|
||||
# build daemon
|
||||
VERSION="$(cat ../../VERSION)" \
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
|
||||
popd || die # components/engine
|
||||
|
||||
pushd components/cli || die
|
||||
|
||||
# build cli
|
||||
emake \
|
||||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
|
||||
VERSION="$(cat ../../VERSION)" \
|
||||
GITCOMMIT="${DOCKER_GITCOMMIT}" \
|
||||
DISABLE_WARN_OUTSIDE_CONTAINER=1 \
|
||||
dynbinary || die
|
||||
|
||||
# build man pages
|
||||
go build -o gen-manpages github.com/docker/cli/man || die
|
||||
./gen-manpages --root . --target ./man/man1 || die
|
||||
./man/md2man-all.sh -q || die
|
||||
rm gen-manpages || die
|
||||
# see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
|
||||
|
||||
popd || die # components/cli
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
pushd components/engine || die
|
||||
newbin "$(readlink -f bundles/latest/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 CHANGELOG.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r contrib/syntax/vim/ftdetect
|
||||
doins -r contrib/syntax/vim/syntax
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
popd || die # components/engine
|
||||
|
||||
pushd components/cli || die
|
||||
|
||||
newbin build/docker-* docker
|
||||
|
||||
doman man/man*/*
|
||||
|
||||
dobashcomp contrib/completion/bash/*
|
||||
insinto /usr/share/fish/vendor_completions.d/
|
||||
doins contrib/completion/fish/docker.fish
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins contrib/completion/zsh/_*
|
||||
popd || die # components/cli
|
||||
}
|
||||
|
||||
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, add Docker to the default runlevel:"
|
||||
elog " rc-update add docker default"
|
||||
elog "Similarly for systemd:"
|
||||
elog " systemctl enable docker.service"
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog " usermod -aG docker youruser"
|
||||
elog
|
||||
|
||||
elog " Devicemapper storage driver has been deprecated"
|
||||
elog " It will be removed in a future release"
|
||||
}
|
@ -1,5 +1 @@
|
||||
DIST runc-1.0.0_rc5_p20180509.tar.gz 1185576 BLAKE2B b56f9c185c061f51a1fd81c19d378b06c71d06c6eddcbc1c946b234814eb469ea4af37bf42ef3889e4d37bc430e69d0a563281b13055f855f1bc15935531fe28 SHA512 9a55bdb8e39830f46cceff48970b7688139927552e3d268b9ef4a6e640ffc3d95164b99c5b05d07d295bedc2ea22daf6062fd520df1548d78b1d481fd928f1e3
|
||||
DIST runc-1.0.0_rc6_p20181203.tar.gz 1202869 BLAKE2B 5b5808fc65f3725e5cc22794c5ff6c5eba6016110358b0f60dd3378df2e5b64afb5631e5652f45e9721838dd02745b8c5a88abfcd244de202196ac16bfccd5a7 SHA512 ec3d3fec773f2f9df714b0813efb110e21e328634e0b4ae77f323a892d0327aea5d4b6f9ae2a549aa06fda5b27431f4514fd663c7033dc170ca1a03627931f9d
|
||||
DIST runc-1.0.0_rc6_p20190216.tar.gz 1663903 BLAKE2B d6094e85f1d35e1dcc7aed94adffe384f651953568345a9f6edb7ef17b24e25d8572ba84a23326c134c2dae28e1d62d0715a8bd6d949d7ef5cbc4cbc6af2f635 SHA512 e3d61506b44f05dfbad2e07d917c8408edea54c87a472ceb109e2ba2a1685b26f1407c2fe7660d416b60fc2583414af09567bcb8b3c95bc14f725d120373337c
|
||||
DIST runc-1.0.0_rc7.tar.gz 1665891 BLAKE2B eea7fa8f37d788d3e4ba97161ba2369cbdd660218f136bfb57430bf4080709707ed2bf10209f6eadaffe281e5222ccf2c085407fb2c4799c81266504750e24da SHA512 3c5cf70985f080afc633b79d7d5a045d1f5300398e2cc91770653a0f4b2dd38ac2b4ed25c199e92bc7399f9a711c28ed3fb6262fc4a8700527b3e45356d6f723
|
||||
DIST runc-1.0.0_rc8.tar.gz 1665924 BLAKE2B 542cbdefaaa1ef89d2abf8e31ca8116f26cddbfc3fb94dc8c7e94c51750b179ed557bee857ec80ede7280856c66c01c7961a26dc7e6202276baca46c691a3903 SHA512 f213b6a7fa96597d2ba1068f77752bccc0a1d62e0aac02ec8d2a2552dc3c1140fd4e52b2daeb0ac8fc09c48abe4521834450baae01ad4165308813eee7654a2b
|
||||
|
@ -1,334 +0,0 @@
|
||||
From 0a8e4117e7f715d5fbeef398405813ce8e88558b Mon Sep 17 00:00:00 2001
|
||||
From: Aleksa Sarai <asarai@suse.de>
|
||||
Date: Wed, 9 Jan 2019 13:40:01 +1100
|
||||
Subject: [PATCH] nsenter: clone /proc/self/exe to avoid exposing host binary
|
||||
to container
|
||||
|
||||
There are quite a few circumstances where /proc/self/exe pointing to a
|
||||
pretty important container binary is a _bad_ thing, so to avoid this we
|
||||
have to make a copy (preferably doing self-clean-up and not being
|
||||
writeable).
|
||||
|
||||
We require memfd_create(2) -- though there is an O_TMPFILE fallback --
|
||||
but we can always extend this to use a scratch MNT_DETACH overlayfs or
|
||||
tmpfs. The main downside to this approach is no page-cache sharing for
|
||||
the runc binary (which overlayfs would give us) but this is far less
|
||||
complicated.
|
||||
|
||||
This is only done during nsenter so that it happens transparently to the
|
||||
Go code, and any libcontainer users benefit from it. This also makes
|
||||
ExtraFiles and --preserve-fds handling trivial (because we don't need to
|
||||
worry about it).
|
||||
|
||||
Fixes: CVE-2019-5736
|
||||
Co-developed-by: Christian Brauner <christian.brauner@ubuntu.com>
|
||||
Signed-off-by: Aleksa Sarai <asarai@suse.de>
|
||||
---
|
||||
libcontainer/nsenter/cloned_binary.c | 268 +++++++++++++++++++++++++++
|
||||
libcontainer/nsenter/nsexec.c | 11 ++
|
||||
2 files changed, 279 insertions(+)
|
||||
create mode 100644 libcontainer/nsenter/cloned_binary.c
|
||||
|
||||
diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c
|
||||
new file mode 100644
|
||||
index 000000000..c8a42c23f
|
||||
--- /dev/null
|
||||
+++ b/libcontainer/nsenter/cloned_binary.c
|
||||
@@ -0,0 +1,268 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2019 Aleksa Sarai <cyphar@cyphar.com>
|
||||
+ * Copyright (C) 2019 SUSE LLC
|
||||
+ *
|
||||
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+ * you may not use this file except in compliance with the License.
|
||||
+ * You may obtain a copy of the License at
|
||||
+ *
|
||||
+ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
+ *
|
||||
+ * Unless required by applicable law or agreed to in writing, software
|
||||
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+ * See the License for the specific language governing permissions and
|
||||
+ * limitations under the License.
|
||||
+ */
|
||||
+
|
||||
+#define _GNU_SOURCE
|
||||
+#include <unistd.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdbool.h>
|
||||
+#include <string.h>
|
||||
+#include <limits.h>
|
||||
+#include <fcntl.h>
|
||||
+#include <errno.h>
|
||||
+
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <sys/vfs.h>
|
||||
+#include <sys/mman.h>
|
||||
+#include <sys/sendfile.h>
|
||||
+#include <sys/syscall.h>
|
||||
+
|
||||
+/* Use our own wrapper for memfd_create. */
|
||||
+#if !defined(SYS_memfd_create) && defined(__NR_memfd_create)
|
||||
+# define SYS_memfd_create __NR_memfd_create
|
||||
+#endif
|
||||
+#ifdef SYS_memfd_create
|
||||
+# define HAVE_MEMFD_CREATE
|
||||
+/* memfd_create(2) flags -- copied from <linux/memfd.h>. */
|
||||
+# ifndef MFD_CLOEXEC
|
||||
+# define MFD_CLOEXEC 0x0001U
|
||||
+# define MFD_ALLOW_SEALING 0x0002U
|
||||
+# endif
|
||||
+int memfd_create(const char *name, unsigned int flags)
|
||||
+{
|
||||
+ return syscall(SYS_memfd_create, name, flags);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+/* This comes directly from <linux/fcntl.h>. */
|
||||
+#ifndef F_LINUX_SPECIFIC_BASE
|
||||
+# define F_LINUX_SPECIFIC_BASE 1024
|
||||
+#endif
|
||||
+#ifndef F_ADD_SEALS
|
||||
+# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
|
||||
+# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
|
||||
+#endif
|
||||
+#ifndef F_SEAL_SEAL
|
||||
+# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */
|
||||
+# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */
|
||||
+# define F_SEAL_GROW 0x0004 /* prevent file from growing */
|
||||
+# define F_SEAL_WRITE 0x0008 /* prevent writes */
|
||||
+#endif
|
||||
+
|
||||
+#define RUNC_SENDFILE_MAX 0x7FFFF000 /* sendfile(2) is limited to 2GB. */
|
||||
+#ifdef HAVE_MEMFD_CREATE
|
||||
+# define RUNC_MEMFD_COMMENT "runc_cloned:/proc/self/exe"
|
||||
+# define RUNC_MEMFD_SEALS \
|
||||
+ (F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE)
|
||||
+#endif
|
||||
+
|
||||
+static void *must_realloc(void *ptr, size_t size)
|
||||
+{
|
||||
+ void *old = ptr;
|
||||
+ do {
|
||||
+ ptr = realloc(old, size);
|
||||
+ } while(!ptr);
|
||||
+ return ptr;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Verify whether we are currently in a self-cloned program (namely, is
|
||||
+ * /proc/self/exe a memfd). F_GET_SEALS will only succeed for memfds (or rather
|
||||
+ * for shmem files), and we want to be sure it's actually sealed.
|
||||
+ */
|
||||
+static int is_self_cloned(void)
|
||||
+{
|
||||
+ int fd, ret, is_cloned = 0;
|
||||
+
|
||||
+ fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ return -ENOTRECOVERABLE;
|
||||
+
|
||||
+#ifdef HAVE_MEMFD_CREATE
|
||||
+ ret = fcntl(fd, F_GET_SEALS);
|
||||
+ is_cloned = (ret == RUNC_MEMFD_SEALS);
|
||||
+#else
|
||||
+ struct stat statbuf = {0};
|
||||
+ ret = fstat(fd, &statbuf);
|
||||
+ if (ret >= 0)
|
||||
+ is_cloned = (statbuf.st_nlink == 0);
|
||||
+#endif
|
||||
+ close(fd);
|
||||
+ return is_cloned;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Basic wrapper around mmap(2) that gives you the file length so you can
|
||||
+ * safely treat it as an ordinary buffer. Only gives you read access.
|
||||
+ */
|
||||
+static char *read_file(char *path, size_t *length)
|
||||
+{
|
||||
+ int fd;
|
||||
+ char buf[4096], *copy = NULL;
|
||||
+
|
||||
+ if (!length)
|
||||
+ return NULL;
|
||||
+
|
||||
+ fd = open(path, O_RDONLY | O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ return NULL;
|
||||
+
|
||||
+ *length = 0;
|
||||
+ for (;;) {
|
||||
+ int n;
|
||||
+
|
||||
+ n = read(fd, buf, sizeof(buf));
|
||||
+ if (n < 0)
|
||||
+ goto error;
|
||||
+ if (!n)
|
||||
+ break;
|
||||
+
|
||||
+ copy = must_realloc(copy, (*length + n) * sizeof(*copy));
|
||||
+ memcpy(copy + *length, buf, n);
|
||||
+ *length += n;
|
||||
+ }
|
||||
+ close(fd);
|
||||
+ return copy;
|
||||
+
|
||||
+error:
|
||||
+ close(fd);
|
||||
+ free(copy);
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * A poor-man's version of "xargs -0". Basically parses a given block of
|
||||
+ * NUL-delimited data, within the given length and adds a pointer to each entry
|
||||
+ * to the array of pointers.
|
||||
+ */
|
||||
+static int parse_xargs(char *data, int data_length, char ***output)
|
||||
+{
|
||||
+ int num = 0;
|
||||
+ char *cur = data;
|
||||
+
|
||||
+ if (!data || *output != NULL)
|
||||
+ return -1;
|
||||
+
|
||||
+ while (cur < data + data_length) {
|
||||
+ num++;
|
||||
+ *output = must_realloc(*output, (num + 1) * sizeof(**output));
|
||||
+ (*output)[num - 1] = cur;
|
||||
+ cur += strlen(cur) + 1;
|
||||
+ }
|
||||
+ (*output)[num] = NULL;
|
||||
+ return num;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ.
|
||||
+ * This is necessary because we are running in a context where we don't have a
|
||||
+ * main() that we can just get the arguments from.
|
||||
+ */
|
||||
+static int fetchve(char ***argv, char ***envp)
|
||||
+{
|
||||
+ char *cmdline = NULL, *environ = NULL;
|
||||
+ size_t cmdline_size, environ_size;
|
||||
+
|
||||
+ cmdline = read_file("/proc/self/cmdline", &cmdline_size);
|
||||
+ if (!cmdline)
|
||||
+ goto error;
|
||||
+ environ = read_file("/proc/self/environ", &environ_size);
|
||||
+ if (!environ)
|
||||
+ goto error;
|
||||
+
|
||||
+ if (parse_xargs(cmdline, cmdline_size, argv) <= 0)
|
||||
+ goto error;
|
||||
+ if (parse_xargs(environ, environ_size, envp) <= 0)
|
||||
+ goto error;
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+error:
|
||||
+ free(environ);
|
||||
+ free(cmdline);
|
||||
+ return -EINVAL;
|
||||
+}
|
||||
+
|
||||
+static int clone_binary(void)
|
||||
+{
|
||||
+ int binfd, memfd;
|
||||
+ ssize_t sent = 0;
|
||||
+
|
||||
+#ifdef HAVE_MEMFD_CREATE
|
||||
+ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING);
|
||||
+#else
|
||||
+ memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711);
|
||||
+#endif
|
||||
+ if (memfd < 0)
|
||||
+ return -ENOTRECOVERABLE;
|
||||
+
|
||||
+ binfd = open("/proc/self/exe", O_RDONLY | O_CLOEXEC);
|
||||
+ if (binfd < 0)
|
||||
+ goto error;
|
||||
+
|
||||
+ sent = sendfile(memfd, binfd, NULL, RUNC_SENDFILE_MAX);
|
||||
+ close(binfd);
|
||||
+ if (sent < 0)
|
||||
+ goto error;
|
||||
+
|
||||
+#ifdef HAVE_MEMFD_CREATE
|
||||
+ int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS);
|
||||
+ if (err < 0)
|
||||
+ goto error;
|
||||
+#else
|
||||
+ /* Need to re-open "memfd" as read-only to avoid execve(2) giving -EXTBUSY. */
|
||||
+ int newfd;
|
||||
+ char *fdpath = NULL;
|
||||
+
|
||||
+ if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0)
|
||||
+ goto error;
|
||||
+ newfd = open(fdpath, O_RDONLY | O_CLOEXEC);
|
||||
+ free(fdpath);
|
||||
+ if (newfd < 0)
|
||||
+ goto error;
|
||||
+
|
||||
+ close(memfd);
|
||||
+ memfd = newfd;
|
||||
+#endif
|
||||
+ return memfd;
|
||||
+
|
||||
+error:
|
||||
+ close(memfd);
|
||||
+ return -EIO;
|
||||
+}
|
||||
+
|
||||
+int ensure_cloned_binary(void)
|
||||
+{
|
||||
+ int execfd;
|
||||
+ char **argv = NULL, **envp = NULL;
|
||||
+
|
||||
+ /* Check that we're not self-cloned, and if we are then bail. */
|
||||
+ int cloned = is_self_cloned();
|
||||
+ if (cloned > 0 || cloned == -ENOTRECOVERABLE)
|
||||
+ return cloned;
|
||||
+
|
||||
+ if (fetchve(&argv, &envp) < 0)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ execfd = clone_binary();
|
||||
+ if (execfd < 0)
|
||||
+ return -EIO;
|
||||
+
|
||||
+ fexecve(execfd, argv, envp);
|
||||
+ return -ENOEXEC;
|
||||
+}
|
||||
diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c
|
||||
index 28269dfc0..7750af35e 100644
|
||||
--- a/libcontainer/nsenter/nsexec.c
|
||||
+++ b/libcontainer/nsenter/nsexec.c
|
||||
@@ -534,6 +534,9 @@ void join_namespaces(char *nslist)
|
||||
free(namespaces);
|
||||
}
|
||||
|
||||
+/* Defined in cloned_binary.c. */
|
||||
+extern int ensure_cloned_binary(void);
|
||||
+
|
||||
void nsexec(void)
|
||||
{
|
||||
int pipenum;
|
||||
@@ -549,6 +552,14 @@ void nsexec(void)
|
||||
if (pipenum == -1)
|
||||
return;
|
||||
|
||||
+ /*
|
||||
+ * We need to re-exec if we are not in a cloned binary. This is necessary
|
||||
+ * to ensure that containers won't be able to access the host binary
|
||||
+ * through /proc/self/exe. See CVE-2019-5736.
|
||||
+ */
|
||||
+ if (ensure_cloned_binary() < 0)
|
||||
+ bail("could not ensure we are a cloned binary");
|
||||
+
|
||||
/* Parse all of the netlink configuration. */
|
||||
nl_parse(pipenum, &config);
|
||||
|
@ -1,62 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/opencontainers/${PN}"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-build golang-vcs
|
||||
else
|
||||
MY_PV="${PV/_/-}"
|
||||
EGIT_COMMIT="v${MY_PV}"
|
||||
RUNC_COMMIT="69663f0bd4b60df09991c08812a60108003fa340" # Change this when you update the ebuild
|
||||
SRC_URI="https://${EGO_PN}/archive/${RUNC_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-build golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="runc container cli tools"
|
||||
HOMEPAGE="http://runc.io"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="+ambient apparmor hardened +seccomp"
|
||||
|
||||
RDEPEND="
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
seccomp? ( sys-libs/libseccomp )
|
||||
!app-emulation/docker-runc
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/runc-fix-cve.patch )
|
||||
|
||||
src_prepare() {
|
||||
pushd src/${EGO_PN} || die
|
||||
default
|
||||
popd || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Taken from app-emulation/docker-1.7.0-r1
|
||||
export CGO_CFLAGS="-I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
|
||||
-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# build up optional flags
|
||||
local options=(
|
||||
$(usex ambient 'ambient')
|
||||
$(usex apparmor 'apparmor')
|
||||
$(usex seccomp 'seccomp')
|
||||
)
|
||||
|
||||
GOPATH="${S}"\
|
||||
emake BUILDTAGS="${options[*]}" \
|
||||
COMMIT="${RUNC_COMMIT}" -C src/${EGO_PN}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
pushd src/${EGO_PN} || die
|
||||
dobin runc
|
||||
dodoc README.md PRINCIPLES.md
|
||||
popd || die
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/opencontainers/${PN}"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-build golang-vcs
|
||||
else
|
||||
MY_PV="${PV/_/-}"
|
||||
RUNC_COMMIT="96ec2177ae841256168fcf76954f7177af9446eb" # Change this when you update the ebuild
|
||||
SRC_URI="https://${EGO_PN}/archive/${RUNC_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-build golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="runc container cli tools"
|
||||
HOMEPAGE="http://runc.io"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="+ambient apparmor hardened +kmem +seccomp"
|
||||
|
||||
RDEPEND="
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
seccomp? ( sys-libs/libseccomp )
|
||||
!app-emulation/docker-runc
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-fix-cve.patch" )
|
||||
|
||||
src_prepare() {
|
||||
pushd src/${EGO_PN}
|
||||
default
|
||||
sed -i -e "/^GIT_BRANCH/d"\
|
||||
-e "/^GIT_BRANCH_CLEAN/d"\
|
||||
-e "/^COMMIT_NO/d"\
|
||||
-e "s/COMMIT :=.*/COMMIT := ${RUNC_COMMIT}/"\
|
||||
Makefile || die
|
||||
popd || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Taken from app-emulation/docker-1.7.0-r1
|
||||
export CGO_CFLAGS="-I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
|
||||
-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# build up optional flags
|
||||
local options=(
|
||||
$(usex ambient 'ambient' '')
|
||||
$(usex apparmor 'apparmor' '')
|
||||
$(usex seccomp 'seccomp' '')
|
||||
$(usex kmem '' 'nokmem')
|
||||
)
|
||||
|
||||
GOPATH="${S}" emake BUILDTAGS="${options[*]}" -C src/${EGO_PN}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
pushd src/${EGO_PN} || die
|
||||
dobin runc
|
||||
dodoc README.md PRINCIPLES.md
|
||||
popd || die
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/opencontainers/${PN}"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-build golang-vcs
|
||||
else
|
||||
MY_PV="${PV/_/-}"
|
||||
RUNC_COMMIT="2b18fe1d885ee5083ef9f0838fee39b62d653e30" # Change this when you update the ebuild
|
||||
SRC_URI="https://${EGO_PN}/archive/${RUNC_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-build golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="runc container cli tools"
|
||||
HOMEPAGE="http://runc.io"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="+ambient apparmor hardened +kmem +seccomp"
|
||||
|
||||
RDEPEND="
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
seccomp? ( sys-libs/libseccomp )
|
||||
!app-emulation/docker-runc
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
pushd src/${EGO_PN}
|
||||
default
|
||||
sed -i -e "/^GIT_BRANCH/d"\
|
||||
-e "/^GIT_BRANCH_CLEAN/d"\
|
||||
-e "/^COMMIT_NO/d"\
|
||||
-e "s/COMMIT :=.*/COMMIT := ${RUNC_COMMIT}/"\
|
||||
Makefile || die
|
||||
popd || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Taken from app-emulation/docker-1.7.0-r1
|
||||
export CGO_CFLAGS="-I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
|
||||
-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# build up optional flags
|
||||
local options=(
|
||||
$(usex ambient 'ambient' '')
|
||||
$(usex apparmor 'apparmor' '')
|
||||
$(usex seccomp 'seccomp' '')
|
||||
$(usex kmem '' 'nokmem')
|
||||
)
|
||||
|
||||
GOPATH="${S}" emake BUILDTAGS="${options[*]}" -C src/${EGO_PN}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
pushd src/${EGO_PN} || die
|
||||
dobin runc
|
||||
dodoc README.md PRINCIPLES.md
|
||||
popd || die
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/opencontainers/${PN}"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-build golang-vcs
|
||||
else
|
||||
MY_PV="${PV/_/-}"
|
||||
RUNC_COMMIT="69ae5da6afdcaaf38285a10b36f362e41cb298d6" # Change this when you update the ebuild
|
||||
SRC_URI="https://${EGO_PN}/archive/${RUNC_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-build golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="runc container cli tools"
|
||||
HOMEPAGE="http://runc.io"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="+ambient apparmor hardened +kmem +seccomp"
|
||||
|
||||
RDEPEND="
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
seccomp? ( sys-libs/libseccomp )
|
||||
!app-emulation/docker-runc
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
pushd src/${EGO_PN}
|
||||
default
|
||||
sed -i -e "/^GIT_BRANCH/d"\
|
||||
-e "/^GIT_BRANCH_CLEAN/d"\
|
||||
-e "/^COMMIT_NO/d"\
|
||||
-e "s/COMMIT :=.*/COMMIT := ${RUNC_COMMIT}/"\
|
||||
Makefile || die
|
||||
popd || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Taken from app-emulation/docker-1.7.0-r1
|
||||
export CGO_CFLAGS="-I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
|
||||
-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# build up optional flags
|
||||
local options=(
|
||||
$(usex ambient 'ambient' '')
|
||||
$(usex apparmor 'apparmor' '')
|
||||
$(usex seccomp 'seccomp' '')
|
||||
$(usex kmem '' 'nokmem')
|
||||
)
|
||||
|
||||
GOPATH="${S}" emake BUILDTAGS="${options[*]}" -C src/${EGO_PN}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
pushd src/${EGO_PN} || die
|
||||
dobin runc
|
||||
dodoc README.md PRINCIPLES.md
|
||||
popd || die
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils multilib
|
||||
|
||||
DESCRIPTION="runc container cli tools"
|
||||
HOMEPAGE="http://runc.io"
|
||||
|
||||
GITHUB_URI="github.com/opencontainers/runc"
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
EGIT_REPO_URI="git://${GITHUB_URI}.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://${GITHUB_URI}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~ppc64"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="+seccomp"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.4:="
|
||||
RDEPEND="seccomp? ( sys-libs/libseccomp )
|
||||
!app-emulation/docker-runc"
|
||||
|
||||
src_compile() {
|
||||
# Taken from app-emulation/docker-1.7.0-r1
|
||||
export CGO_CFLAGS="-I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# Setup GOPATH so things build
|
||||
rm -rf .gopath
|
||||
mkdir -p .gopath/src/"$(dirname "${GITHUB_URI}")"
|
||||
ln -sf ../../../.. .gopath/src/"${GITHUB_URI}"
|
||||
export GOPATH="${PWD}/.gopath:${PWD}/vendor"
|
||||
|
||||
# build up optional flags
|
||||
local options=( $(usex seccomp "seccomp") )
|
||||
|
||||
emake BUILDTAGS="${options[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin runc
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST pgadmin4-4.10.tar.gz 22809776 BLAKE2B 70a9857de31721b1cd5816b9e15abf325516f94ad5248f3ce5387cca5081ba96d7fca6c487265960ffac8d63c2fd09c3dea44d24a1cc9f8dbb170bd76d5de545 SHA512 b7f91d85fdc39766a294d9b66e8539f709b99f971726551d013345595161ff017e03505f05a41352575892be9d9622e86f4ccdbac76bcea435e2fb88a690b565
|
||||
DIST pgadmin4-4.5.tar.gz 22420769 BLAKE2B ae16e34c4cfce0ae78f06321ea1fc34aac0e081df4c0d5906fc4da0c82abb67e374477b8f9a9266d003579eb8887541e4224465ce6eccd86589129e1b3efff24 SHA512 835434612ac2a7ff89fab4c4bed89644e43506491ce12d2b74ffdbc25b33f2ac9ae566c95e886d4b4f8bca6499c40be5f0d776b18bfdcebd44d7ffe3b89deb5f
|
||||
DIST pgadmin4-4.8.tar.gz 22780924 BLAKE2B 7b64ef8ac3782e9c8207d5938f3638d67ddf5c86ca520afbfb296a824b39411362ca6e9d8b03920e35cca38d1303efe81750e5bfc849cfb363f370da3d25ac44 SHA512 68b35c1091435fbeb39e67c7f93038fcba95cd5ae7098434b5d3afee10595f875ef9fd997934f2bbd93c914bcd5c3c71bd43f032f788e55c5795f5ad63b57cd7
|
||||
|
@ -0,0 +1,124 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python3_{5,6} )
|
||||
PYTHON_REQ_USE="sqlite"
|
||||
|
||||
inherit python-single-r1 qmake-utils
|
||||
|
||||
DESCRIPTION="GUI administration and development platform for PostgreSQL"
|
||||
HOMEPAGE="https://www.pgadmin.org/"
|
||||
SRC_URI="mirror://postgresql/pgadmin/${PN}/v${PV}/source/${P}.tar.gz"
|
||||
|
||||
LICENSE="POSTGRESQL"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
SLOT="0"
|
||||
IUSE="doc"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtwidgets:5
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
>=app-text/htmlmin-0.1.12[${PYTHON_USEDEP}]
|
||||
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/beautifulsoup-4.4.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/blinker-1.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/click-6.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/cryptography-2.2.2-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/extras-1.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-0.12.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-babel-0.11.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-babelex-0.9.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-gravatar-0.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-htmlmin-1.3.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-login-0.3.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-migrate-2.1.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-paranoid-0.2.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-security-3.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-sqlalchemy-2.3.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-wtf-0.14.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/html5lib-1.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/itsdangerous-0.24[${PYTHON_USEDEP}]
|
||||
>=dev-python/jinja-2.7.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/linecache2-1.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/markupsafe-0.23[${PYTHON_USEDEP}]
|
||||
>=dev-python/mimeparse-1.6.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/passlib-1.7.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/psutil-5.4.7[${PYTHON_USEDEP}]
|
||||
>=dev-python/psycopg-2.7.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyrsistent-0.14.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.7.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-sqlparse-0.2.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/pytz-2018.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/simplejson-3.13.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.11.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/speaklater-1.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/sqlalchemy-1.2.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/sshtunnel-0.1.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/werkzeug-0.9.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/wtforms-2.1[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
S="${WORKDIR}"/${P}/runtime
|
||||
|
||||
src_prepare() {
|
||||
cd "${WORKDIR}"/${P} || die
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake5
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
if use doc; then
|
||||
cd "${WORKDIR}"/${P} || die
|
||||
emake docs
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin pgAdmin4
|
||||
|
||||
cd "${WORKDIR}"/${P} || die
|
||||
|
||||
local APP_DIR=/usr/share/${PN}/web
|
||||
insinto "${APP_DIR}"
|
||||
doins -r web/*
|
||||
cat > "${D}${APP_DIR}"/config_local.py <<-EOF
|
||||
SERVER_MODE = False
|
||||
UPGRADE_CHECK_ENABLED = False
|
||||
EOF
|
||||
python_optimize "${D}${APP_DIR}"
|
||||
|
||||
local CONFIG_DIR="/etc/xdg/pgadmin"
|
||||
dodir "${CONFIG_DIR}"
|
||||
cat > "${D}${CONFIG_DIR}"/pgadmin4.conf <<-EOF
|
||||
[General]
|
||||
ApplicationPath=${APP_DIR}
|
||||
PythonPath=$(python_get_sitedir)
|
||||
EOF
|
||||
|
||||
if use doc; then
|
||||
rm -r docs/en_US/_build/html/_sources || die
|
||||
insinto /usr/share/${PN}/docs/en_US/_build
|
||||
doins -r docs/en_US/_build/html
|
||||
fi
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST pgbouncer-1.10.0.tar.gz 480571 BLAKE2B a0c1dadc48f38cfe0ba2641791b4734da84cfe6674198bb2a8014bc92543850e909d7b4649b99e78d58febaa0f89f62b6694f6333b1111cbd62ff2f22741984d SHA512 8ec9f102b57ca5f92fb689588ec090056ac29f21825400ec67bca413fe076ad50e0b491e65c4cfebc488cc245eb3c88c36db2ee0ba1cb737f35404be0983dd1d
|
||||
DIST pgbouncer-1.9.0.tar.gz 469300 BLAKE2B 466f171a49ec9ce9be9a9d3208780cfbff956da7c74ec4332c7104ea537cb47a5cfdc0d80bbd96d233769b6f430f1ad99b623caefa2dc93af7ba336dd0f49514 SHA512 b127f4cb60ca5cdf339da76727918f0a3797a3e0a89f8ed6fdcaa80f3391d2c5bb51e19731915775210c0e5070dd611ee2e410c9a947624e45b5cf11aecdacf9
|
||||
|
@ -0,0 +1,86 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit user
|
||||
|
||||
DESCRIPTION="Lightweight connection pooler for PostgreSQL"
|
||||
HOMEPAGE="https://pgbouncer.github.io"
|
||||
SRC_URI="https://pgbouncer.github.io/downloads/files/${PV}/${P}.tar.gz"
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+c-ares debug doc pam ssl -udns"
|
||||
|
||||
# At-most-one-of, one can be enabled but not both
|
||||
REQUIRED_USE="?? ( c-ares udns )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libevent-2.0
|
||||
>=sys-libs/glibc-2.10
|
||||
c-ares? ( >=net-dns/c-ares-1.10 )
|
||||
ssl? ( >=dev-libs/openssl-1.0.1:=[-bindist] )
|
||||
udns? ( >=net-libs/udns-0.1 )
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup postgres 70
|
||||
enewuser postgres 70 /bin/bash /var/lib/postgresql postgres
|
||||
|
||||
enewuser pgbouncer -1 -1 -1 postgres
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}/pgbouncer-1.8-dirs.patch"
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# --enable-debug is only used to disable stripping
|
||||
econf \
|
||||
--docdir=/usr/share/doc/${PF} \
|
||||
--enable-debug \
|
||||
$(use_with c-ares cares) \
|
||||
$(use_enable debug cassert) \
|
||||
$(use_with pam) \
|
||||
$(use_with ssl openssl) \
|
||||
$(use_with udns)
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}/test"
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodoc AUTHORS
|
||||
use doc && dodoc doc/*.rst
|
||||
|
||||
newconfd "${FILESDIR}/${PN}.confd-r1" "${PN}"
|
||||
newinitd "${FILESDIR}/${PN}.initd-r2" "${PN}"
|
||||
|
||||
insinto /etc
|
||||
doins etc/pgbouncer.ini
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/logrotate" pgbouncer
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]] ; then
|
||||
einfo "Please read the config.txt for Configuration Directives"
|
||||
einfo
|
||||
einfo "For Administration Commands, see:"
|
||||
einfo " man pgbouncer"
|
||||
einfo
|
||||
einfo "By default, PgBouncer does not have access to any database."
|
||||
einfo "GRANT the permissions needed for your application and make sure that it"
|
||||
einfo "exists in PgBouncer's auth_file."
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST tomcat-native-1.2.19-src.tar.gz 418183 BLAKE2B cab8621bca4dc41e87ebf6418337da8a86d56a0717aacd62c6e4fb2d039e413cb29e8f169abbd353719ce083d302613d3e0f64cd54f1bc8e57f26a523a828025 SHA512 7d69acd5dd684eee9a85c08357b7288a9f083c15a12a9524ba6344f1b9dcdc6ccc512a37b64b9f15b0e697609833e6c68591a60976dcfecce124ec29eb532dba
|
||||
DIST tomcat-native-1.2.21-src.tar.gz 418909 BLAKE2B f7559f204941cd8f8383bda7591e167c247062b4f79c507a5a449715a5554194197c4d34197f30622cbcbd81952597ae757623c903f11959dc8b4fa81234e127 SHA512 7f43f815785e5bc3e43f5b2e9ad1c90576a3c1528d57230328b7175bf475eb5f4e1f91b66fae74ad32cd76f044d7705f98a79109f6f84e5af75dc32bc8830b29
|
||||
DIST tomcat-native-1.2.23-src.tar.gz 419428 BLAKE2B b8e0584d3e42c33158c4edf0432b029ee924a509b00625af6a34af3d580fec510fa0222367ea8679a20b51cb5a7c55198f5a2d4ec60d0fa9dbec3a0a22a11b52 SHA512 89a0363961d322a87f4e752f4727f54f28ac6e4ad10fa21b6b7390c62b041d4068672d95495d9233c1cad7d6c1dc3c85fbd0186894085b3b94e476876af160ee
|
||||
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST libgdata-0.17.10.tar.xz 836836 BLAKE2B a34f133289eb64ca24d96f38851ac07347e1b2a88860bf926072945d64d3064bbf5c4f674bfb262f27c290fa2b243d5f82805e09290194a9614dbf8dc0993e05 SHA512 01f8bb121c402fc0af8e9f12cafba326a87cef6756ced72652890c834fd4f497a060f6455ab66d4af92d9cd34b4d6fdf58033dca0f91bb806c80b60987955c22
|
||||
DIST libgdata-0.17.8.tar.xz 1464812 BLAKE2B 787b5d6e4a62e70f76ca4080fb5c3ff1e7d68745f388be646dd980ef8be18275997bca46a1f3639c9457c8310f9c3f4cd34892be88db284a9ee5e5f43e9723fa SHA512 dfc4c825a7053a6fd7659d04c7077bed8539b4cf3ef3da1d5ece4da3ce17941900e960a300a50b284010ed890dcab87e4c4726403f04481c672832fd34b975b0
|
||||
DIST libgdata-0.17.9.tar.xz 1434700 BLAKE2B e0b10bdd962aa5d294d75c15c3aa9187342cd85b9a28816fe5628864bc2236e10ee2765ed8123c8b90422f0394b342a2a144dc7ef844486193c8eec2a46cb17f SHA512 90289309cbdc4ec6932bf385ddbfcc75c0c2f8b9ca356329298aaa37f6c3db7a16de20e5c947c16c595e43e729a664e4d6d3e2c5a60bb1e463a13d1306f374ce
|
||||
|
@ -0,0 +1,79 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
VALA_USE_DEPEND="vapigen"
|
||||
GNOME2_EAUTORECONF="yes"
|
||||
|
||||
inherit gnome.org meson vala xdg
|
||||
|
||||
DESCRIPTION="GLib-based library for accessing online service APIs using the GData protocol"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/libgdata"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0/22" # subslot = libgdata soname version
|
||||
|
||||
IUSE="+crypt gnome-online-accounts gtk gtk-doc +introspection test vala"
|
||||
# needs dconf
|
||||
RESTRICT="test"
|
||||
|
||||
REQUIRED_USE="
|
||||
gnome-online-accounts? ( crypt )
|
||||
vala? ( introspection )
|
||||
"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.44.0:2
|
||||
>=dev-libs/json-glib-1[introspection?]
|
||||
>=dev-libs/libxml2-2:2
|
||||
>=net-libs/liboauth-0.9.4
|
||||
>=net-libs/libsoup-2.55.90:2.4[introspection?]
|
||||
gtk? ( x11-libs/gtk+:3 )
|
||||
crypt? ( app-crypt/gcr:= )
|
||||
gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.8:=[introspection?,vala?] )
|
||||
introspection? ( >=dev-libs/gobject-introspection-0.9.7:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/glib-utils
|
||||
>=dev-util/gtk-doc-am-1.25
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
gtk-doc? ( dev-util/gtk-doc )
|
||||
test? ( >=net-libs/uhttpmock-0.5
|
||||
>=x11-libs/gdk-pixbuf-2.14:2 )
|
||||
vala? ( $(vala_depend) )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
use vala && vala_src_prepare
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
"-Dinstalled_tests=false"
|
||||
-Dgnome=$(usex crypt enabled disabled)
|
||||
-Dgoa=$(usex gnome-online-accounts enabled disabled)
|
||||
-Dgtk=$(usex gtk enabled disabled)
|
||||
$(meson_use gtk-doc gtk_doc)
|
||||
$(meson_use gtk-doc man)
|
||||
$(meson_use introspection)
|
||||
$(meson_use vala vapi)
|
||||
$(meson_use test always-build-tests)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
VALA_USE_DEPEND="vapigen"
|
||||
|
||||
inherit gnome.org gnome2-utils meson vala xdg
|
||||
|
||||
DESCRIPTION="Location and timezone database and weather-lookup library"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="2/3-15" # subslot = 3-(libgweather-3 soname suffix)
|
||||
|
||||
IUSE="glade gtk-doc +introspection +vala"
|
||||
REQUIRED_USE="vala? ( introspection )"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.44.0:2
|
||||
>=x11-libs/gtk+-3.13.5:3[introspection?]
|
||||
>=net-libs/libsoup-2.44:2.4
|
||||
>=dev-libs/libxml2-2.6.0:2
|
||||
sci-geosciences/geocode-glib
|
||||
>=sys-libs/timezone-data-2010k
|
||||
|
||||
glade? ( >=dev-util/glade-3.16:3.10 )
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.54:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
dev-util/glib-utils
|
||||
gtk-doc? ( >=dev-util/gtk-doc-1.11
|
||||
app-text/docbook-xml-dtd:4.3 )
|
||||
>=sys-devel/gettext-0.19.8
|
||||
virtual/pkgconfig
|
||||
$(vala_depend)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/3.32.1-meson-tweaks.patch # Provide introspection optionality and don't build tests that aren't ran automatically
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
xdg_src_prepare
|
||||
vala_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_use glade glade_catalog)
|
||||
$(meson_use vala enable_vala)
|
||||
$(meson_use gtk-doc gtk_doc)
|
||||
$(meson_use introspection)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_schemas_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
}
|
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
DIST pyperclip-1.5.27.zip 16938 BLAKE2B 653b2e74b6f56839ef1f9d59b864218ffd55866660aa7de4284f0bab4c28b0c1aa7a4a65bce0842003d4744a5d40c87943e05bdea13098e250e534a8cb6c2132 SHA512 cefd79f1d246c9aa9d4d0f3d8cdad291ad31bcc2e000c83e5e05704978bbf7b9b45d49667c2e88305d0a5d6baaeacfb47b26bb69fabf89b6b6e3a1e6f1e23d74
|
||||
DIST pyperclip-1.6.0.tar.gz 14273 BLAKE2B e91f198d23eb0791dc610e4b9af940694f0857243fbf5caf46d485882a588e3ab537e2a190a1b40e0d9ff4821c8bf977da19559a5b33694d106a68f1001f61a9 SHA512 faf1cd8568a911b263c167fedace8f5f6756e108e3a2484dffa8d3da441311fb3277fd703d5eaea662181250d7b2cc975e9f8ca484dfa2d1cd4470171bbb972d
|
||||
DIST pyperclip-1.6.4.tar.gz 15687 BLAKE2B e3520e228bfe2f2de1d307e927f15cee7e5327acfe07071432605d0c0c021ff6bb702e20a743da8120db58fd12a05fca19f5881e80851f41d2cc1034e310f6fd SHA512 4a07476b96fc704551248eb4eb2d69a910f75c266ef0adf4bf804f8694645d910089cfef831569e1d819570873ee75c4339024a89c56fe3eabc5529d07b8a540
|
||||
DIST pyperclip-1.7.0.tar.gz 15977 BLAKE2B da1473f71bcadcc6dcacdfb6d1a1447b055eb1aa7b31fad76bd3a51245ad9b1e512335f9799d7d416a53b8471ab66c28afa5f9d3f3ee2b39e85d9c239a7e2c79 SHA512 7f22227ea894a236703f61ab950e198fab969fac5713ca8eac6df213183a47a244add88a462b9ddf63ed5bec36af5bc2578949f01ed31e0b63316d1761a935bd
|
||||
|
@ -0,0 +1,36 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy)
|
||||
inherit distutils-r1 virtualx
|
||||
|
||||
DESCRIPTION="A cross-platform clipboard module for Python."
|
||||
HOMEPAGE="https://github.com/asweigart/pyperclip"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
RDEPEND="
|
||||
|| (
|
||||
x11-misc/xclip
|
||||
x11-misc/xsel
|
||||
dev-python/PyQt5[${PYTHON_USEDEP}]
|
||||
$(python_gen_cond_dep 'dev-python/pygtk[${PYTHON_USEDEP}]' python2_7)
|
||||
)
|
||||
"
|
||||
|
||||
python_prepare_all() {
|
||||
# make tests a proper module so setuptools can find the test suite
|
||||
touch tests/__init__.py || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
virtx esetup.py test
|
||||
}
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST domain_name-0.5.20170404.gem 120320 BLAKE2B c2dbb97c67e1303c272ff67f2c32314827513a5953ca3b9d49667828f6972904249ab98ee0541a380fddb7c6e3fcc3959f8e5f8746ae6b38a3915169ef6c0dc2 SHA512 3314d87ac3b04337dff047c423ded2f4b99a4b9300528c34388cbc30fbcc7e84ae884969624e046e0dcc1d856e0bb8246b1556ac2dc755a1b4917ccf975fece3
|
||||
DIST domain_name-0.5.20180417.gem 124928 BLAKE2B 56c8852c09dfabc2291a08d89b4dbb6c9c9c3aecce40fab2a176e2183ebd7b793a6677256f417b0c9cb6cd61680a738038ee2d14e4d15d9ab5a952d666014d27 SHA512 e960aa4445e19ff3e71825d94f85519ec9b1600dab64d139bf21208aec6fe1dc279e9fda6c64fd518ab22783464ba9a4d43f20ceb7699daede981cbf7d5e1876
|
||||
|
@ -1,46 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
USE_RUBY="ruby21 ruby22 ruby23 ruby24"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="none"
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
RUBY_FAKEGEM_EXTRADOC="README.md"
|
||||
|
||||
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Domain Name manipulation library for Ruby"
|
||||
HOMEPAGE="https://github.com/knu/ruby-domain_name"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
|
||||
IUSE="test"
|
||||
|
||||
ruby_add_rdepend ">=dev-ruby/unf-0.0.5-r1:0"
|
||||
|
||||
ruby_add_bdepend "
|
||||
test? (
|
||||
>=dev-ruby/test-unit-2.5.5
|
||||
dev-ruby/shoulda
|
||||
)"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/bundler/,/end/ d; i gem "unf"' test/helper.rb || die
|
||||
rm Gemfile* || die
|
||||
|
||||
# Remove development dependencies
|
||||
sed -i -e '/dependency.*\(shoulda\|bundler\|jeweler\|rdoc\)/d' \
|
||||
${RUBY_FAKEGEM_GEMSPEC} || die
|
||||
|
||||
# Avoid dependency on git.
|
||||
sed -i -e 's/`git ls-files`/""/' ${RUBY_FAKEGEM_GEMSPEC} || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
ruby-ng_testrb-2 -Ilib:test test/test_*.rb
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST faker-1.9.3.tar.gz 974178 BLAKE2B 456cff1c57de07f6f0a5d068e45bcc76db6205bd3ab91aae12584bd5342d6ab0ce7e35f7d681915eab371f4211cc1d24443d5496dd31c8a406d73119aed56828 SHA512 b521372e152ce035363e31b140085210bd78763aa45d9e37867b727accd868fcaea7c5b5c07a5795e859dcdbf48ca49233083de231f771e6b7ae7705487c9e32
|
||||
DIST faker-1.9.5.tar.gz 991845 BLAKE2B 0f0824d320cf2449c2b8d9c55f30d6d8f6519bd71951b6f4a7a725bf295e62b18a44bcac8749d6ad445a441ecc53432b3864ab70d794220b3d21f6baa8c229d2 SHA512 ef5d31407d6209e37e8fbc5691904c6b242b97069c96d5a3d4d744c91894038255286b50dceadcd512742634f76bfe8d6088b53b46e7a20720fb98dbb2e7042f
|
||||
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="none"
|
||||
|
||||
RUBY_FAKEGEM_GEMSPEC="faker.gemspec"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="A library for generating fake data such as names, addresses, and phone numbers"
|
||||
HOMEPAGE="https://github.com/stympy/faker"
|
||||
SRC_URI="https://github.com/stympy/faker/archive/v.${PV}.tar.gz -> ${P}.tar.gz"
|
||||
RUBY_S="faker-v.${PV}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="test"
|
||||
|
||||
ruby_add_rdepend ">=dev-ruby/i18n-0.7:*"
|
||||
|
||||
ruby_add_bdepend "test? ( dev-ruby/timecop )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/simplecov/,/^end/ s:^:#:' test/test_helper.rb || die
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST moneta-1.0.0.tar.gz 174765 BLAKE2B 0f17b4c3a2ead8753a5285603df1df385f8150c4eb21e9c088647982c7eb9d8380cb53f8d9177712b0992a0d4472d0defdaba9bf117b767555960186c81cc323 SHA512 367207c693991a956d5454b3884b8504cc007cc247284ff00178c423167a403ac88e83bc510453daff76e52fe30e429714805c1fb716bea6a7eae7a3b3d965b4
|
||||
DIST moneta-1.1.0.tar.gz 113116 BLAKE2B 15e70515f112794e95a0e665bca161bf3d9d28b2f3cee6ca77d9bf9ece825669f71994b2b581e61cba6c2a97b6d8b779000ba0c17b9e3fe564ca85f2a59c6581 SHA512 5caec98088989ed0e7da526a831248c86d365de97582f78276199eaa099fc25b3139f7ec2dc65265073fc6826c9abf954e55e4fdc7ea11cd9b6cddcd65c40f2d
|
||||
DIST moneta-1.1.1.tar.gz 114959 BLAKE2B 8904f5cc1e247da878109370ab8483abc1f30a2834abe3ea4b56f7ce01a9dae7ffc9339ead2ef2d940cffa45727123876cf834cd5dfaea6569abb39b0d0669c9 SHA512 19a9b4965a62f49640b371baafb00fbdd34e142da56bc0243b4b2c79c94254720d644131bc4a37ad871abe4ccbf0d351d19998fb3fa401230eb9dc254e3e482e
|
||||
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby23 ruby24 ruby25 ruby26"
|
||||
EAPI=6
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
RUBY_FAKEGEM_RECIPE_TEST="none"
|
@ -1,3 +1,2 @@
|
||||
DIST unf_ext-0.0.7.4.gem 398848 BLAKE2B 2c41bcfb3bbe39035109b8f039b5e0795047579f47ca80956988f48039b915ebca1dd43e6ecc1d5ac0498e48b4b12f5b9209b82218b45d11111d5e409fa1e7ea SHA512 2f90542c899e02c2cae06b54ad381ba0f2084880cb760357b4cedf7f171aa2eb7322a0288fadd253624c531410730624a4c8d51e5eb61a67b3fd91d985847fbb
|
||||
DIST unf_ext-0.0.7.5.gem 398848 BLAKE2B 3c7b2a6765360f59b7b921155bb6532981c8b31fd1fcebf1adc1e113da2404fa752ef95bb385155de1a6025d51f4564e52b497c5396624a0a5e99357fff88662 SHA512 5d60740172034253fec9659bec49e60f639e93d8f147582e26a012712ec2e5fca30674efc52695def0c3cd145c5ddd93a56a6d0f854ab04e7fc81544e6aede16
|
||||
DIST unf_ext-0.0.7.6.gem 399360 BLAKE2B a805d991580ced26400194bb45d4e4ab395e4936e8416a9469443c12015ca231c6277fd5d2112c346085a5fe9756786cc18626578f0d5ed0d68544043699fa41 SHA512 c6b6bc797015875b0a3422dc1e9656eae6c42d2263fd6e73ba41a1789ac1ffe927f81d5d9874973fd8d9bd9486494efa725b081e553954121588818d454db7f2
|
||||
|
@ -1,45 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
USE_RUBY="ruby21 ruby22 ruby23 ruby24"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="none"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
RUBY_FAKEGEM_DOCDIR="doc"
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="README.md"
|
||||
|
||||
inherit ruby-fakegem multilib
|
||||
|
||||
DESCRIPTION="Unicode Normalization Form support library for CRuby"
|
||||
HOMEPAGE="https://github.com/knu/ruby-unf_ext"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
|
||||
IUSE="doc test"
|
||||
|
||||
ruby_add_bdepend "
|
||||
test? (
|
||||
>=dev-ruby/test-unit-2.5.1-r1
|
||||
)"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/bundler/,/end/ s:^:#:' Rakefile test/helper.rb || die
|
||||
}
|
||||
|
||||
each_ruby_configure() {
|
||||
${RUBY} -Cext/unf_ext extconf.rb || die
|
||||
}
|
||||
|
||||
each_ruby_compile() {
|
||||
emake -Cext/unf_ext CFLAGS="${CFLAGS} -fPIC" archflag="${LDFLAGS}" V=1
|
||||
cp ext/unf_ext/*$(get_modname) lib/ || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
ruby-ng_testrb-2 test/test_*.rb
|
||||
}
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
DIST antlrworks-1.2.3-src.zip 2993008 BLAKE2B 27092d499a51e3dcdd22860ba5027a384e29573a893386dda196cb77c6cd39716212c0d84de4a6a58378be18a5132ce9ed587d473dd9860219d8dac8cae6c753 SHA512 7ec39d30b3f22fd8f07d031841e2a71729c8080a8976c6f23fb217881b625cca349d4fa5f69d799abe81fc9a88b2b10156b54a33496197bc301f28fb58005806
|
@ -1,58 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="2"
|
||||
|
||||
inherit java-pkg-2
|
||||
|
||||
DESCRIPTION="A novel grammar development environment for ANTLR v3 grammars"
|
||||
HOMEPAGE="http://www.antlr.org/works/index.html"
|
||||
SRC_URI="http://www.antlr.org/download/${P}-src.zip"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc64 x86"
|
||||
|
||||
IUSE=""
|
||||
|
||||
COMMON_DEP="
|
||||
dev-java/stringtemplate:0
|
||||
dev-java/antlr:0
|
||||
>=dev-java/antlr-3.1.3:3
|
||||
dev-java/jgoodies-forms:0
|
||||
"
|
||||
|
||||
RDEPEND=">=virtual/jre-1.5
|
||||
${COMMON_DEP}"
|
||||
DEPEND=">=virtual/jdk-1.5
|
||||
app-arch/unzip
|
||||
${COMMON_DEP}"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
java_prepare() {
|
||||
epatch "${FILESDIR}/antlr-3.1.3.patch"
|
||||
rm -vr src/aw/org/antlr/xjlib/appkit/app/MacOS/ || die
|
||||
rm -v lib/*.jar || die
|
||||
mkdir build
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
find src/aw -name "*.java" > "${T}/source.list"
|
||||
ejavac -d build -classpath \
|
||||
$(java-pkg_getjars antlr,antlr-3,jgoodies-forms,stringtemplate) \
|
||||
"@${T}/source.list"
|
||||
|
||||
local dest="${S}/${PN}.jar"
|
||||
|
||||
cd src/aw || die
|
||||
jar cf "${dest}" $(find -type f -and -not -name "*.java" ) || die
|
||||
|
||||
cd "${S}/build" || die
|
||||
jar uf "${dest}" org || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_dojar "${PN}.jar"
|
||||
java-pkg_dolauncher ${PN} --main "org.antlr.works.IDE"
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
diff -ur work.old/src/aw/org/antlr/works/dialog/DialogAbout.java work/src/aw/org/antlr/works/dialog/DialogAbout.java
|
||||
--- work.old/src/aw/org/antlr/works/dialog/DialogAbout.java 2009-03-30 11:56:30.000000000 +0300
|
||||
+++ work/src/aw/org/antlr/works/dialog/DialogAbout.java 2009-03-30 11:57:34.000000000 +0300
|
||||
@@ -65,7 +65,7 @@
|
||||
if(IDE.isPlugin()) {
|
||||
tableModel.addInfo("ANTLRWorks Plugin", IDE.getPluginVersionShort());
|
||||
}
|
||||
- tableModel.addInfo("ANTLR", Tool.VERSION);
|
||||
+ tableModel.addInfo("ANTLR", new Tool().VERSION);
|
||||
tableModel.addInfo("StringTemplate", StringTemplate.VERSION);
|
||||
tableModel.addInfo("Java", System.getProperty("java.version")+" ("+System.getProperty("java.vendor")+")");
|
||||
tableModel.fireTableDataChanged();
|
||||
diff -ur work.old/src/aw/org/antlr/works/utils/HelpManager.java work/src/aw/org/antlr/works/utils/HelpManager.java
|
||||
--- work.old/src/aw/org/antlr/works/utils/HelpManager.java 2009-03-30 11:56:30.000000000 +0300
|
||||
+++ work/src/aw/org/antlr/works/utils/HelpManager.java 2009-03-30 11:57:21.000000000 +0300
|
||||
@@ -60,7 +60,7 @@
|
||||
public static void sendFeedback(Container parent) {
|
||||
StringBuilder url = new StringBuilder(Localizable.getLocalizedString(Localizable.FEEDBACK_URL));
|
||||
url.append("?ANTLRVersion=");
|
||||
- url.append(XJUtils.encodeToURL(Tool.VERSION));
|
||||
+ url.append(XJUtils.encodeToURL(new Tool().VERSION));
|
||||
url.append("&StringTemplateVersion=");
|
||||
url.append(XJUtils.encodeToURL(StringTemplate.VERSION));
|
||||
url.append("&ANTLRWorksVersion=");
|
@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>java@gentoo.org</email>
|
||||
<name>Java</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
ANTLRWorks is a novel grammar development environment for ANTLR v3
|
||||
grammars written by Jean Bovet (with suggested use cases from
|
||||
Terence Parr). It combines an excellent grammar-aware editor with an
|
||||
interpreter for rapid prototyping and a language-agnostic debugger
|
||||
for isolating grammar errors. ANTLRWorks helps eliminate grammar
|
||||
nondeterminisms, one of the most difficult problems for beginners
|
||||
and experts alike, by highlighting nondeterministic paths in the
|
||||
syntax diagram associated with a grammar. ANTLRWorks' goal is to make
|
||||
grammars more accessible to the average programmer, improve
|
||||
maintainability and readability of grammars by providing excellent
|
||||
grammar navigation and refactoring tools, and address the most common
|
||||
questions and problems encountered by grammar developers.
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -1,3 +1,4 @@
|
||||
DIST cmake-3.13.5.tar.gz 8618821 BLAKE2B 765678bc92821207c53bfb4ac995a791b938f20236c3a6fda873b8edd11cd1401b4f4c05f170b8f600f38bde5f1227c715499eee072a8de3bb29d4f5cd230226 SHA512 99e3a8f5bc147dd90b9cab11f06892d87f289aa1354ad323711fe96ebc9c32b1e887e8f9d3575a37831c4d2153a070ff9115c5e27a185d54170bad9dbbaabc26
|
||||
DIST cmake-3.14.3.tar.gz 8851085 BLAKE2B 92da2c563f7ddc3b12457f63eead850eb99b123298632b5a9e8f80f3e32db20e2b25bc60778855400261d13d4ef42600162248f4a92907a0c581e202fc6620eb SHA512 e257a96334f21f2b2f17e8d43aa32c2b069d13194604393c5ac9d3da193000d5328181c6cf861696186d022aba57679ee2d08073d8a7112727746b2b145a47e2
|
||||
DIST cmake-3.14.5.tar.gz 8854929 BLAKE2B 3e783de1ce541039c80228a56fed4fd28e9ef2ea48f274995f6f26f8b149f1684aab6da518f27106f364a4f0a6f370334f3a85dd61f1bcce22c34337ef4afdaa SHA512 9acd2de17db86052801194cac570bfc104320c249b83058aa59554b42c3d5af9c9293d1c069f3fe8512a80103d511186d840168cbc190ce9584ca99cb9b11e46
|
||||
DIST cmake-3.15.0-rc3.tar.gz 9255508 BLAKE2B d6d2a46f5d639e290913d1af0f353baf144003c9c3159fa1be900318fd935b2e89fe09ae78db0df291782ef7ff54e64017ea8ab4ee330dfb0e36e14d82ad20e6 SHA512 0a5403e3d13560800fec3b0a932d7d165e5a133fa5c45235f605a761c69aac399164ee4fb79ab4045914c351b9460dcdb3aaad5a0fd1eb8b0153d0fcdddb7f10
|
||||
|
@ -0,0 +1,227 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES="no"
|
||||
inherit bash-completion-r1 elisp-common flag-o-matic toolchain-funcs virtualx xdg cmake-utils
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="CMake"
|
||||
SLOT="0"
|
||||
[[ "${PV}" = *_rc* ]] || \
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc emacs system-jsoncpp ncurses qt5"
|
||||
|
||||
RDEPEND="
|
||||
app-crypt/rhash
|
||||
>=app-arch/libarchive-3.0.0:=
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
emacs? ( virtual/emacs )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
qt5? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
)
|
||||
system-jsoncpp? ( >=dev-libs/jsoncpp-0.6.0_rc2:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
)
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
# prefix
|
||||
"${FILESDIR}"/${PN}-3.4.0_rc1-darwin-bundle.patch
|
||||
"${FILESDIR}"/${PN}-3.13.4-prefix-dirs.patch
|
||||
"${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch
|
||||
|
||||
# handle gentoo packaging in find modules
|
||||
"${FILESDIR}"/${PN}-3.11.0_rc2-FindBLAS.patch
|
||||
"${FILESDIR}"/${PN}-3.0.2-FindLAPACK.patch
|
||||
"${FILESDIR}"/${PN}-3.5.2-FindQt4.patch
|
||||
|
||||
# respect python eclasses
|
||||
"${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch
|
||||
"${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch
|
||||
|
||||
# boost (#660980)
|
||||
"${FILESDIR}"/${PN}-3.11.4-fix-boost-detection.patch
|
||||
|
||||
# upstream fixes (can usually be removed with a version bump)
|
||||
)
|
||||
|
||||
cmake_src_bootstrap() {
|
||||
# Cleanup args to extract only JOBS.
|
||||
# Because bootstrap does not know anything else.
|
||||
grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< "${MAKEOPTS}" > /dev/null
|
||||
if [[ $? -eq 0 ]] ; then
|
||||
par_arg=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< "${MAKEOPTS}" | tail -n1 | grep -o '[[:digit:]]+')
|
||||
par_arg="--parallel=${par_arg}"
|
||||
else
|
||||
par_arg="--parallel=1"
|
||||
fi
|
||||
|
||||
# disable running of cmake in boostrap command
|
||||
sed -i \
|
||||
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
||||
bootstrap || die "sed failed"
|
||||
|
||||
# execinfo.h on Solaris isn't quite what it is on Darwin
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
||||
Source/kwsys/CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
tc-export CC CXX LD
|
||||
|
||||
# bootstrap script isn't exactly /bin/sh compatible
|
||||
${CONFIG_SHELL:-sh} ./bootstrap \
|
||||
--prefix="${T}/cmakestrap/" \
|
||||
${par_arg} \
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
cmake_src_test() {
|
||||
# fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null
|
||||
|
||||
local ctestargs
|
||||
[[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure"
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we actualy bootstrap it every time so why test it.
|
||||
# BundleUtilities: bundle creation broken
|
||||
# CMakeOnly.AllFindModules: pthread issues
|
||||
# CTest.updatecvs: which fails to commit as root
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
"${BUILD_DIR}"/bin/ctest \
|
||||
-j "$(makeopts_jobs)" \
|
||||
--test-load "$(makeopts_loadavg)" \
|
||||
${ctestargs} \
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload)" \
|
||||
|| die "Tests failed"
|
||||
|
||||
popd > /dev/null
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
|
||||
# disable Xcode hooks, bug #652134
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
sed -i -e 's/__APPLE__/__DISABLED_APPLE__/' \
|
||||
Source/cmGlobalXCodeGenerator.cxx || die
|
||||
fi
|
||||
|
||||
# Add gcc libs to the default link paths
|
||||
sed -i \
|
||||
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
if ! has_version \>=${CATEGORY}/${PN}-3.4.0_rc1 ; then
|
||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||
cmake_src_bootstrap
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Fix linking on Solaris
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||
-DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=$(usex system-jsoncpp)
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
|
||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||
-DCMAKE_MAN_DIR=/share/man
|
||||
-DCMAKE_DATA_DIR=/share/${PN}
|
||||
-DSPHINX_MAN=$(usex doc)
|
||||
-DSPHINX_HTML=$(usex doc)
|
||||
-DBUILD_CursesDialog="$(usex ncurses)"
|
||||
)
|
||||
|
||||
if use qt5 ; then
|
||||
mycmakeargs+=(
|
||||
-DBUILD_QtDialog=ON
|
||||
$(cmake-utils_use_find_package qt5 Qt5Widgets)
|
||||
)
|
||||
fi
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
use emacs && elisp-compile Auxiliary/cmake-mode.el
|
||||
}
|
||||
|
||||
src_test() {
|
||||
virtx cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
|
||||
if use emacs; then
|
||||
elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc
|
||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
fi
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins Auxiliary/vim/syntax/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/indent
|
||||
doins Auxiliary/vim/indent/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${FILESDIR}/${PN}.vim"
|
||||
|
||||
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
||||
|
||||
rm -r "${ED}"/usr/share/cmake/{completions,editors} || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
use qt5 && xdg_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use qt5 && xdg_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use qt5 && xdg_pkg_postrm
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
--- a/Modules/FindLAPACK.cmake
|
||||
+++ b/Modules/FindLAPACK.cmake
|
||||
@@ -4,6 +4,10 @@
|
||||
#
|
||||
# Find LAPACK library
|
||||
#
|
||||
+# Version modified for Gentoo Linux.
|
||||
+# If a valid PkgConfig configuration is found, this overrides and cancels
|
||||
+# all further checks.
|
||||
+#
|
||||
# This module finds an installed fortran library that implements the
|
||||
# LAPACK linear-algebra interface (see http://www.netlib.org/lapack/).
|
||||
#
|
||||
@@ -140,6 +144,23 @@
|
||||
|
||||
endmacro()
|
||||
|
||||
+#
|
||||
+# first, try PkgConfig
|
||||
+#
|
||||
+find_package(PkgConfig REQUIRED)
|
||||
+pkg_check_modules(PC_LAPACK lapack)
|
||||
+if(PC_LAPACK_FOUND)
|
||||
+ foreach(PC_LIB ${PC_LAPACK_LIBRARIES})
|
||||
+ find_library(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_LAPACK_LIBRARY_DIRS} )
|
||||
+ if (NOT ${PC_LIB}_LIBRARY)
|
||||
+ message(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_LAPACK_LIBRARY_DIRS}")
|
||||
+ endif (NOT ${PC_LIB}_LIBRARY)
|
||||
+ list(APPEND LAPACK_LIBRARIES ${${PC_LIB}_LIBRARY})
|
||||
+ endforeach(PC_LIB)
|
||||
+ find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARIES)
|
||||
+ mark_as_advanced(LAPACK_LIBRARIES)
|
||||
+else(PC_LAPACK_FOUND)
|
||||
+message(STATUS "No PkgConfig configuration for LAPACK found; starting more extensive search.")
|
||||
|
||||
set(LAPACK_LINKER_FLAGS)
|
||||
set(LAPACK_LIBRARIES)
|
||||
@@ -348,3 +369,5 @@
|
||||
endif()
|
||||
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
+
|
||||
+endif(PC_LAPACK_FOUND)
|
@ -0,0 +1,23 @@
|
||||
--- a/Modules/FindBLAS.cmake
|
||||
+++ b/Modules/FindBLAS.cmake
|
||||
@@ -4,6 +4,10 @@
|
||||
#
|
||||
# Find BLAS library
|
||||
#
|
||||
+# Version modified for Gentoo Linux.
|
||||
+# If a valid PkgConfig configuration is found, this overrides and cancels
|
||||
+# all further checks.
|
||||
+#
|
||||
# This module finds an installed fortran library that implements the
|
||||
# BLAS linear-algebra interface (see http://www.netlib.org/blas/). The
|
||||
# list of libraries searched for is taken from the autoconf macro file,
|
||||
@@ -50,6 +54,9 @@
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
+# first, try PkgConfig
|
||||
+set(BLA_PREFER_PKGCONFIG On)
|
||||
+
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake)
|
||||
|
@ -0,0 +1,13 @@
|
||||
https://bugs.gentoo.org/660980
|
||||
|
||||
--- cmake-3.11.4/Modules/FindBoost.cmake
|
||||
+++ cmake-3.11.4/Modules/FindBoost.cmake
|
||||
@@ -1680,7 +1680,7 @@
|
||||
list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}${COMPONENT_PYTHON_VERSION_MAJOR}-py${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
|
||||
list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-py${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
|
||||
# Gentoo
|
||||
- list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
|
||||
+ list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}.${COMPONENT_PYTHON_VERSION_MINOR}")
|
||||
# RPMs
|
||||
list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
|
||||
endif()
|
@ -0,0 +1,127 @@
|
||||
From b1f045122fb210728081ae2165197aebff4ee498 Mon Sep 17 00:00:00 2001
|
||||
From: Lars Wendler <polynomial-c@gentoo.org>
|
||||
Date: Fri, 9 Jun 2017 01:47:55 +0200
|
||||
Subject: [PATCH] Set some proper paths to make cmake find our tools.
|
||||
|
||||
The ebuild now adds an extra / at the end of $EPREFIX so that it is
|
||||
never the empty string (so that CMAKE_SYSTEM_PREFIX_PATH remains
|
||||
correct)
|
||||
|
||||
Original patch by Heiko Przybyl.
|
||||
Updated by Chris Reffett (cmake-2.8.8)
|
||||
Updated by Johannes Huber (cmake-2.8.9)
|
||||
Updated by Michael Palimaka (cmake-2.8.10)
|
||||
Updated by Chris Reffett (cmake-2.8.11)
|
||||
Updated by Michael Palimaka (cmake-3.0.0)
|
||||
Updated by Lars Wendler (cmake-3.9.0_rc2)
|
||||
---
|
||||
Modules/Platform/Darwin.cmake | 12 ++++++++----
|
||||
Modules/Platform/UnixPaths.cmake | 29 ++++++++++++++++++++++++-----
|
||||
2 files changed, 32 insertions(+), 9 deletions(-)
|
||||
|
||||
Index: cmake-3.13.3/Modules/Platform/Darwin.cmake
|
||||
===================================================================
|
||||
--- cmake-3.13.3.orig/Modules/Platform/Darwin.cmake
|
||||
+++ cmake-3.13.3/Modules/Platform/Darwin.cmake
|
||||
@@ -108,9 +108,9 @@ set(CMAKE_C_FRAMEWORK_SEARCH_FLAG -F)
|
||||
set(CMAKE_CXX_FRAMEWORK_SEARCH_FLAG -F)
|
||||
set(CMAKE_Fortran_FRAMEWORK_SEARCH_FLAG -F)
|
||||
|
||||
-# default to searching for frameworks first
|
||||
+# default to searching for frameworks last
|
||||
if(NOT DEFINED CMAKE_FIND_FRAMEWORK)
|
||||
- set(CMAKE_FIND_FRAMEWORK FIRST)
|
||||
+ set(CMAKE_FIND_FRAMEWORK LAST)
|
||||
endif()
|
||||
|
||||
# Older OS X linkers do not report their framework search path
|
||||
@@ -132,6 +132,8 @@ endif()
|
||||
|
||||
# set up the default search directories for frameworks
|
||||
set(CMAKE_SYSTEM_FRAMEWORK_PATH
|
||||
+ @GENTOO_PORTAGE_EPREFIX@Frameworks
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/lib
|
||||
~/Library/Frameworks
|
||||
)
|
||||
if(_CMAKE_OSX_SYSROOT_PATH)
|
||||
@@ -178,13 +180,15 @@ if(CMAKE_OSX_SYSROOT)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
-# default to searching for application bundles first
|
||||
+# default to searching for application bundles last
|
||||
if(NOT DEFINED CMAKE_FIND_APPBUNDLE)
|
||||
- set(CMAKE_FIND_APPBUNDLE FIRST)
|
||||
+ set(CMAKE_FIND_APPBUNDLE LAST)
|
||||
endif()
|
||||
# set up the default search directories for application bundles
|
||||
set(_apps_paths)
|
||||
foreach(_path
|
||||
+ @GENTOO_PORTAGE_EPREFIX@Applications
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/bin
|
||||
"~/Applications"
|
||||
"/Applications"
|
||||
"${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+
|
||||
Index: cmake-3.13.3/Modules/Platform/UnixPaths.cmake
|
||||
===================================================================
|
||||
--- cmake-3.13.3.orig/Modules/Platform/UnixPaths.cmake
|
||||
+++ cmake-3.13.3/Modules/Platform/UnixPaths.cmake
|
||||
@@ -23,7 +23,8 @@ get_filename_component(_CMAKE_INSTALL_DI
|
||||
# search types.
|
||||
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
|
||||
# Standard
|
||||
- /usr/local /usr /
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/local @GENTOO_PORTAGE_EPREFIX@usr @GENTOO_PORTAGE_EPREFIX@
|
||||
+ @GENTOO_HOST@/usr/local /usr /
|
||||
|
||||
# CMake install location
|
||||
"${_CMAKE_INSTALL_DIR}"
|
||||
@@ -50,23 +51,41 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH
|
||||
|
||||
# List common include file locations not under the common prefixes.
|
||||
list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
|
||||
- # X11
|
||||
- /usr/include/X11
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/include
|
||||
)
|
||||
|
||||
list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
|
||||
- # X11
|
||||
- /usr/lib/X11
|
||||
+ @GENTOO_PORTAGE_GCCLIBDIR@/gcc
|
||||
+ @GENTOO_PORTAGE_GCCLIBDIR@
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/lib64
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/libx32
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/lib32
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/lib
|
||||
+ @GENTOO_PORTAGE_EPREFIX@lib
|
||||
+ )
|
||||
+
|
||||
+list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/bin
|
||||
+ @GENTOO_PORTAGE_EPREFIX@bin
|
||||
)
|
||||
|
||||
list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
|
||||
- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
|
||||
+ @GENTOO_PORTAGE_GCCLIBDIR@/gcc
|
||||
+ @GENTOO_PORTAGE_GCCLIBDIR@
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/lib64
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/libx32
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/lib32
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/lib
|
||||
+ @GENTOO_PORTAGE_EPREFIX@lib
|
||||
+ @GENTOO_HOST@/lib /usr/lib /usr/lib32 /usr/lib64 /usr/libx32
|
||||
)
|
||||
|
||||
list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
|
||||
- /usr/include
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/include
|
||||
+ @GENTOO_HOST@/usr/include
|
||||
)
|
||||
list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
|
||||
- /usr/include
|
||||
+ @GENTOO_PORTAGE_EPREFIX@usr/include
|
||||
+ @GENTOO_HOST@/usr/include
|
||||
)
|
||||
list(APPEND CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES
|
@ -0,0 +1,53 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake-multilib flag-o-matic llvm
|
||||
|
||||
MY_PN="SPIRV-LLVM-Translator"
|
||||
MY_PV="$(ver_rs 3 -)"
|
||||
MY_P="${MY_PN}-${MY_PV}"
|
||||
|
||||
DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR"
|
||||
HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator"
|
||||
SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="UoI-NCSA"
|
||||
SLOT="8"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test tools"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
COMMON="sys-devel/llvm:8=[${MULTILIB_USEDEP}]"
|
||||
DEPEND="${COMMON}
|
||||
test? ( dev-python/lit )"
|
||||
RDEPEND="${COMMON}"
|
||||
|
||||
LLVM_MAX_SLOT=8
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-8.0.0.1-no_pkgconfig_files.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
append-flags -fPIC
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
|
||||
-DLLVM_BUILD_TOOLS=$(usex tools "ON" "OFF")
|
||||
$(usex test "-DLLVM_INCLUDE_TESTS=ON" "")
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# TODO: figure out why some tests fail on amd64 when ABI==x86
|
||||
if multilib_is_native_abi; then
|
||||
lit "${BUILD_DIR}/test" || die "Error running tests for ABI ${ABI}"
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST gnome-calculator-3.30.1.tar.xz 1070308 BLAKE2B dca8e16f754d7ae7ac3371dbe65fcaacf51c251d377cc696c7c9a9ca6b4d9c0f6431acd06c3091e3d3e0f468cc599953452cbbe4de33473e365425ca3add602f SHA512 4c909f36d1e6ff594b9ab76419a6b50962cf4b5de606c4996d311e5ef6511a20d5c3b310919b271b1a0120ed6a0794644faf5a390d94b71ec6bb89883d498565
|
||||
DIST gnome-calculator-3.32.2.tar.xz 947096 BLAKE2B 7c511e4d22971b008587aaa9ee7a44bfa663b663ebaddd6b5d4426f673e0f8975506c3b6aaba2781e3ccbe9ab7b9eb9b9d876c1b8acae9e14b195bfbeb207c42 SHA512 ef30ddad8b68367f71c2b894f041affe2b88c8aa90ad40d6128d03e0dc4871fd57d632809a365b14bac0b53dad37a73df564d237b8f45d4c42c38e118cb26de1
|
||||
|
@ -0,0 +1,49 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit gnome.org gnome2-utils meson vala xdg
|
||||
|
||||
DESCRIPTION="A calculator application for GNOME"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/Calculator"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
|
||||
|
||||
# gtksourceview vapi definitions in dev-lang/vala itself are too old, and newer vala removes them
|
||||
# altogether, thus we need them installed by gtksourceview[vala]
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.40:2
|
||||
>=x11-libs/gtk+-3.19.3:3
|
||||
x11-libs/gtksourceview:4[vala]
|
||||
>=net-libs/libsoup-2.42:2.4
|
||||
dev-libs/libxml2:2
|
||||
dev-libs/mpc:=
|
||||
dev-libs/mpfr:0=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
$(vala_depend)
|
||||
dev-libs/appstream-glib
|
||||
dev-util/itstool
|
||||
>=sys-devel/gettext-0.19.8
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
vala_src_prepare
|
||||
xdg_src_prepare
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_icon_cache_update
|
||||
gnome2_schemas_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_icon_cache_update
|
||||
gnome2_schemas_update
|
||||
}
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST tellico-3.1.4.tar.xz 4632792 BLAKE2B 29db598ef558fe04618843cad6a58055b5de392f34aeea4860683f04ef4ab20856fd4a01523dc13c2d68023c266de69590e843ea56f912989d57c01e0d701ee2 SHA512 d09183bee13ae9f7c6c5114b76eeeb959a184def559ae239bb880ef9be964e33878530e9c4c0d3baa6f872bf8db155dffb94592e3a857623ab131d2f28f1f139
|
||||
DIST tellico-3.2.tar.xz 5596028 BLAKE2B e22cd7b5f1bfb5221379b0e6c12c894314c3f04348ce8e0f82fe5707aa98d99af004486afe9266056c9650636b553e2355fa4caabe7528e60c0fd5af5df2ed9b SHA512 a24985200a70958f727bda3056de357d6cb74fc407197e9d9056573bc606cd6ffbd5bd971ef56acce3cb58f0b98865f5e89b431fe38c1d27b4dceafe49e78fdd
|
||||
|
@ -1,27 +0,0 @@
|
||||
From fd2056f2de46fa3be308ad47541f6c7ce8483c91 Mon Sep 17 00:00:00 2001
|
||||
From: Pino Toscano <pino@kde.org>
|
||||
Date: Wed, 19 Dec 2018 10:24:51 +0100
|
||||
Subject: Properly pass an empty permission set
|
||||
|
||||
Use QFileDevice::Permissions() to represent no permissions, instead of
|
||||
hardcoding 0.
|
||||
---
|
||||
src/tests/imagejobtest.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/tests/imagejobtest.cpp b/src/tests/imagejobtest.cpp
|
||||
index ee578f8..b387e3b 100644
|
||||
--- a/src/tests/imagejobtest.cpp
|
||||
+++ b/src/tests/imagejobtest.cpp
|
||||
@@ -99,7 +99,7 @@ void ImageJobTest::testNonexistant() {
|
||||
void ImageJobTest::testUnreadable() {
|
||||
QTemporaryFile tmpFile;
|
||||
QVERIFY(tmpFile.open());
|
||||
- QVERIFY(tmpFile.setPermissions(0));
|
||||
+ QVERIFY(tmpFile.setPermissions(QFileDevice::Permissions()));
|
||||
QUrl u = QUrl::fromLocalFile(tmpFile.fileName());
|
||||
|
||||
Tellico::ImageJob* job = new Tellico::ImageJob(u);
|
||||
--
|
||||
cgit v1.1
|
||||
|
@ -1,57 +0,0 @@
|
||||
From 2e552aea8d2391ea3ab8afdb58caf214954a2129 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Sturmlechner <asturm@gentoo.org>
|
||||
Date: Thu, 9 May 2019 21:16:33 +0200
|
||||
Subject: [PATCH] Fix build against ICU 64.1 and later
|
||||
|
||||
Summary:
|
||||
See also: https://unicode-org.atlassian.net/browse/ICU-20530
|
||||
|
||||
Lots of errors of the same kind (libxml/tree.h included within extern "C"):
|
||||
|
||||
```
|
||||
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/shared_ptr.h:52,
|
||||
from /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/memory:81,
|
||||
from /usr/include/unicode/localpointer.h:45,
|
||||
from /usr/include/unicode/uenum.h:23,
|
||||
from /usr/include/unicode/ucnv.h:53,
|
||||
from /usr/include/libxml2/libxml/encoding.h:31,
|
||||
from /usr/include/libxml2/libxml/parser.h:810,
|
||||
from /usr/include/libxml2/libxml/globals.h:18,
|
||||
from /usr/include/libxml2/libxml/threads.h:35,
|
||||
from /usr/include/libxml2/libxml/xmlmemory.h:218,
|
||||
from /usr/include/libxml2/libxml/tree.h:1307,
|
||||
from /var/tmp/portage/kde-misc/tellico-9999/work/tellico-9999/src/translators/xslthandler.h:34,
|
||||
from /var/tmp/portage/kde-misc/tellico-9999/work/tellico-9999/src/translators/xsltimporter.cpp:26:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/shared_ptr_base.h:338:3: error: template with C linkage
|
||||
template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
|
||||
^~~~~~~~
|
||||
```
|
||||
|
||||
Test Plan: Builds fine against ICU 64.2.
|
||||
|
||||
Reviewers: #tellico
|
||||
|
||||
Differential Revision: https://phabricator.kde.org/D21103
|
||||
---
|
||||
src/translators/xslthandler.h | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/translators/xslthandler.h b/src/translators/xslthandler.h
|
||||
index ebbb010b..bb2112da 100644
|
||||
--- a/src/translators/xslthandler.h
|
||||
+++ b/src/translators/xslthandler.h
|
||||
@@ -29,9 +29,10 @@
|
||||
#include <QHash>
|
||||
#include <QString>
|
||||
|
||||
-extern "C" {
|
||||
// for xmlDocPtr
|
||||
#include <libxml/tree.h>
|
||||
+
|
||||
+extern "C" {
|
||||
// for xsltStyleSheetPtr
|
||||
#include <libxslt/xsltInternals.h>
|
||||
}
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 02cde6b20a3a0606aef7bf98a14ca70c7615be2c Mon Sep 17 00:00:00 2001
|
||||
From: Pino Toscano <pino@kde.org>
|
||||
Date: Wed, 19 Dec 2018 10:23:44 +0100
|
||||
Subject: Fix signature of xmlOutputCloseCallback function
|
||||
|
||||
xmlOutputCloseCallback returns int, so adjust the closeQString callback
|
||||
to return 0 (i.e. no error).
|
||||
---
|
||||
src/translators/xslthandler.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/translators/xslthandler.cpp b/src/translators/xslthandler.cpp
|
||||
index 32b3e02..3d249fd 100644
|
||||
--- a/src/translators/xslthandler.cpp
|
||||
+++ b/src/translators/xslthandler.cpp
|
||||
@@ -52,9 +52,10 @@ static int writeToQString(void* context, const char* buffer, int len) {
|
||||
return len;
|
||||
}
|
||||
|
||||
-static void closeQString(void* context) {
|
||||
+static int closeQString(void* context) {
|
||||
QString* t = static_cast<QString*>(context);
|
||||
*t += QLatin1String("\n");
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
using Tellico::XSLTHandler;
|
||||
--
|
||||
cgit v1.1
|
||||
|
@ -1,92 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
KDE_HANDBOOK="forceoptional"
|
||||
KDE_TEST="forceoptional"
|
||||
VIRTUALX_REQUIRED="test"
|
||||
inherit kde5
|
||||
|
||||
DESCRIPTION="Collection manager based on KDE Frameworks"
|
||||
HOMEPAGE="http://tellico-project.org/"
|
||||
SRC_URI="http://tellico-project.org/files/${P}.tar.xz"
|
||||
|
||||
LICENSE="|| ( GPL-2 GPL-3 )"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="cddb discid pdf scanner semantic-desktop taglib v4l xmp yaz"
|
||||
|
||||
RDEPEND="
|
||||
$(add_frameworks_dep karchive)
|
||||
$(add_frameworks_dep kcodecs)
|
||||
$(add_frameworks_dep kcompletion)
|
||||
$(add_frameworks_dep kconfig)
|
||||
$(add_frameworks_dep kconfigwidgets)
|
||||
$(add_frameworks_dep kcoreaddons)
|
||||
$(add_frameworks_dep kcrash)
|
||||
$(add_frameworks_dep kguiaddons)
|
||||
$(add_frameworks_dep khtml)
|
||||
$(add_frameworks_dep kiconthemes)
|
||||
$(add_frameworks_dep kitemmodels)
|
||||
$(add_frameworks_dep ki18n)
|
||||
$(add_frameworks_dep kjobwidgets)
|
||||
$(add_frameworks_dep kio)
|
||||
$(add_frameworks_dep knewstuff)
|
||||
$(add_frameworks_dep kparts)
|
||||
$(add_frameworks_dep kservice)
|
||||
$(add_frameworks_dep ktextwidgets)
|
||||
$(add_frameworks_dep kwallet)
|
||||
$(add_frameworks_dep kwidgetsaddons)
|
||||
$(add_frameworks_dep kwindowsystem)
|
||||
$(add_frameworks_dep kxmlgui)
|
||||
$(add_frameworks_dep solid)
|
||||
$(add_frameworks_dep sonnet)
|
||||
$(add_qt_dep qtdbus)
|
||||
$(add_qt_dep qtgui)
|
||||
$(add_qt_dep qtnetwork)
|
||||
$(add_qt_dep qtwidgets)
|
||||
$(add_qt_dep qtxml)
|
||||
dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
>=dev-perl/Text-BibTeX-0.780.0-r1
|
||||
cddb? ( $(add_kdeapps_dep libkcddb) )
|
||||
discid? ( dev-libs/libcdio:= )
|
||||
pdf? ( app-text/poppler[qt5] )
|
||||
scanner? ( $(add_kdeapps_dep libksane) )
|
||||
semantic-desktop? ( $(add_frameworks_dep kfilemetadata) )
|
||||
taglib? ( >=media-libs/taglib-1.5 )
|
||||
v4l? ( >=media-libs/libv4l-0.8.3 )
|
||||
xmp? ( >=media-libs/exempi-2 )
|
||||
yaz? ( >=dev-libs/yaz-2:0 )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/gettext
|
||||
"
|
||||
|
||||
# tests need network access
|
||||
RESTRICT+=" test"
|
||||
|
||||
DOCS=( AUTHORS ChangeLog README )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-xmloutputclosecallback-signature.patch"
|
||||
"${FILESDIR}/${P}-empty-permissions-set.patch"
|
||||
"${FILESDIR}/${P}-icu-64.patch" # bug #685460
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Csv=ON
|
||||
$(cmake-utils_use_find_package cddb KF5Cddb)
|
||||
$(cmake-utils_use_find_package discid CDIO)
|
||||
$(cmake-utils_use_find_package pdf Poppler)
|
||||
$(cmake-utils_use_find_package scanner KF5Sane)
|
||||
$(cmake-utils_use_find_package semantic-desktop KF5FileMetaData)
|
||||
$(cmake-utils_use_find_package taglib Taglib)
|
||||
-DENABLE_WEBCAM=$(usex v4l)
|
||||
$(cmake-utils_use_find_package xmp Exempi)
|
||||
$(cmake-utils_use_find_package yaz Yaz)
|
||||
)
|
||||
|
||||
kde5_src_configure
|
||||
}
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue