From 51af5f0eb4cddbe6aa7953717873691d77aae9ff Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 10 Jul 2019 23:40:16 +0100 Subject: gentoo resync : 11.07.2019 --- app-emulation/Manifest.gz | Bin 21376 -> 21381 bytes app-emulation/containerd/Manifest | 9 +- app-emulation/containerd/containerd-1.1.2.ebuild | 55 -- app-emulation/containerd/containerd-1.1.4.ebuild | 55 -- app-emulation/containerd/containerd-1.2.5.ebuild | 56 -- app-emulation/containerd/containerd-1.2.7.ebuild | 56 ++ app-emulation/containerd/containerd-9999.ebuild | 40 - app-emulation/cri-tools/Manifest | 8 +- .../cri-tools/cri-tools-1.0.0_alpha1.ebuild | 29 - .../cri-tools/cri-tools-1.0.0_beta2.ebuild | 29 - app-emulation/cri-tools/cri-tools-1.11.1.ebuild | 29 - app-emulation/cri-tools/cri-tools-1.15.0.ebuild | 29 + app-emulation/docker-compose/Manifest | 8 +- .../docker-compose/docker-compose-1.23.2-r1.ebuild | 66 -- .../docker-compose/docker-compose-1.23.2.ebuild | 74 -- .../docker-compose/docker-compose-1.24.0.ebuild | 3 +- .../docker-compose/docker-compose-1.24.1.ebuild | 3 +- .../files/docker-compose-1.23.2-setup-py.patch | 58 -- app-emulation/docker-credential-helpers/Manifest | 2 +- .../docker-credential-helpers/metadata.xml | 4 +- app-emulation/docker-proxy/Manifest | 17 +- .../docker-proxy-0.8.0_p20180411.ebuild | 36 - .../docker-proxy-0.8.0_p20180626.ebuild | 36 - .../docker-proxy-0.8.0_p20180907.ebuild | 36 - .../docker-proxy-0.8.0_p20181207.ebuild | 36 - .../docker-proxy-0.8.0_p20190301.ebuild | 36 - .../docker-proxy-0.8.0_p20190405.ebuild | 34 - .../docker-proxy-0.8.0_p20190417.ebuild | 34 - .../docker-proxy-0.8.0_p20190513.ebuild | 2 +- .../docker-proxy/docker-proxy-9999.ebuild | 36 - app-emulation/docker/Manifest | 12 +- app-emulation/docker/docker-18.09.5.ebuild | 299 -------- app-emulation/docker/docker-18.09.6.ebuild | 299 -------- .../docker/docker-18.09.6_p20190604.ebuild | 300 -------- app-emulation/docker/docker-18.09.7.ebuild | 2 +- app-emulation/docker/docker-18.09.7_rc1.ebuild | 300 -------- app-emulation/docker/metadata.xml | 3 - app-emulation/free42/Manifest | 2 + app-emulation/free42/free42-2.4.ebuild | 53 ++ app-emulation/libvirt/Manifest | 19 +- .../libvirt-3.10.0-r2-fix_paths_for_apparmor.patch | 77 -- .../files/libvirt-4.5.0-do_not_use_sysconf.patch | 216 ------ .../libvirt-5.0.0-fix-paths-for-apparmor.patch | 10 +- .../libvirt-5.2.0-fix-paths-for-apparmor.patch | 116 +++ app-emulation/libvirt/files/libvirt-guests.init-r4 | 237 ++++++ app-emulation/libvirt/files/libvirtd.init-r16 | 34 - app-emulation/libvirt/files/libvirtd.init-r18 | 33 + app-emulation/libvirt/libvirt-4.9.0.ebuild | 379 ---------- app-emulation/libvirt/libvirt-5.2.0-r3.ebuild | 388 ++++++++++ app-emulation/libvirt/libvirt-5.4.0-r1.ebuild | 388 ++++++++++ app-emulation/libvirt/libvirt-5.5.0-r1.ebuild | 383 ++++++++++ app-emulation/libvirt/libvirt-9999.ebuild | 22 +- app-emulation/libvirt/metadata.xml | 4 +- app-emulation/lxc-templates/Manifest | 2 +- app-emulation/lxc-templates/metadata.xml | 3 - app-emulation/lxc/Manifest | 2 +- app-emulation/lxc/metadata.xml | 3 - app-emulation/lxd/Manifest | 10 +- app-emulation/lxd/lxd-3.10.ebuild | 241 ------ app-emulation/lxd/lxd-3.11.ebuild | 241 ------ app-emulation/lxd/lxd-3.12.ebuild | 2 +- app-emulation/lxd/lxd-3.14.ebuild | 240 ++++++ app-emulation/lxd/metadata.xml | 4 - app-emulation/qemu/Manifest | 7 +- app-emulation/qemu/qemu-3.1.0-r4.ebuild | 813 --------------------- app-emulation/qemu/qemu-4.0.0-r3.ebuild | 3 +- app-emulation/qemu/qemu-9999.ebuild | 4 +- app-emulation/runc/Manifest | 10 - app-emulation/runc/files/runc-fix-cve.patch | 334 --------- .../runc/runc-1.0.0_rc5_p20180509-r1.ebuild | 62 -- .../runc/runc-1.0.0_rc6_p20181203-r1.ebuild | 65 -- app-emulation/runc/runc-1.0.0_rc6_p20190216.ebuild | 63 -- app-emulation/runc/runc-1.0.0_rc7.ebuild | 63 -- app-emulation/runc/runc-9999.ebuild | 48 -- app-emulation/virt-manager/Manifest | 8 +- .../virt-manager/virt-manager-1.4.3-r1.ebuild | 96 --- .../virt-manager/virt-manager-1.5.1-r1.ebuild | 97 --- .../virt-manager/virt-manager-2.2.0.ebuild | 95 +++ .../virt-manager/virt-manager-9999.ebuild | 4 +- app-emulation/virt-viewer/Manifest | 4 +- .../virt-viewer/virt-viewer-6.0-r1.ebuild | 36 - app-emulation/virt-viewer/virt-viewer-8.0.ebuild | 36 + app-emulation/wine-staging/Manifest | 6 +- .../wine-staging/wine-staging-4.12.1.ebuild | 618 ++++++++++++++++ app-emulation/wine-staging/wine-staging-4.8.ebuild | 618 ---------------- app-emulation/wine-vanilla/Manifest | 6 +- .../wine-vanilla/wine-vanilla-4.0.1.ebuild | 2 +- .../wine-vanilla/wine-vanilla-4.12.1.ebuild | 535 ++++++++++++++ app-emulation/wine-vanilla/wine-vanilla-4.8.ebuild | 535 -------------- app-emulation/xen-pvgrub/Manifest | 2 +- app-emulation/xen-pvgrub/xen-pvgrub-4.11.1.ebuild | 2 +- app-emulation/xen-tools/Manifest | 4 +- app-emulation/xen-tools/xen-tools-4.11.1-r5.ebuild | 3 +- app-emulation/xen-tools/xen-tools-4.12.0-r3.ebuild | 1 + 94 files changed, 3289 insertions(+), 6131 deletions(-) delete mode 100644 app-emulation/containerd/containerd-1.1.2.ebuild delete mode 100644 app-emulation/containerd/containerd-1.1.4.ebuild delete mode 100644 app-emulation/containerd/containerd-1.2.5.ebuild create mode 100644 app-emulation/containerd/containerd-1.2.7.ebuild delete mode 100644 app-emulation/containerd/containerd-9999.ebuild delete mode 100644 app-emulation/cri-tools/cri-tools-1.0.0_alpha1.ebuild delete mode 100644 app-emulation/cri-tools/cri-tools-1.0.0_beta2.ebuild delete mode 100644 app-emulation/cri-tools/cri-tools-1.11.1.ebuild create mode 100644 app-emulation/cri-tools/cri-tools-1.15.0.ebuild delete mode 100644 app-emulation/docker-compose/docker-compose-1.23.2-r1.ebuild delete mode 100644 app-emulation/docker-compose/docker-compose-1.23.2.ebuild delete mode 100644 app-emulation/docker-compose/files/docker-compose-1.23.2-setup-py.patch delete mode 100644 app-emulation/docker-proxy/docker-proxy-0.8.0_p20180411.ebuild delete mode 100644 app-emulation/docker-proxy/docker-proxy-0.8.0_p20180626.ebuild delete mode 100644 app-emulation/docker-proxy/docker-proxy-0.8.0_p20180907.ebuild delete mode 100644 app-emulation/docker-proxy/docker-proxy-0.8.0_p20181207.ebuild delete mode 100644 app-emulation/docker-proxy/docker-proxy-0.8.0_p20190301.ebuild delete mode 100644 app-emulation/docker-proxy/docker-proxy-0.8.0_p20190405.ebuild delete mode 100644 app-emulation/docker-proxy/docker-proxy-0.8.0_p20190417.ebuild delete mode 100644 app-emulation/docker-proxy/docker-proxy-9999.ebuild delete mode 100644 app-emulation/docker/docker-18.09.5.ebuild delete mode 100644 app-emulation/docker/docker-18.09.6.ebuild delete mode 100644 app-emulation/docker/docker-18.09.6_p20190604.ebuild delete mode 100644 app-emulation/docker/docker-18.09.7_rc1.ebuild create mode 100644 app-emulation/free42/free42-2.4.ebuild delete mode 100644 app-emulation/libvirt/files/libvirt-3.10.0-r2-fix_paths_for_apparmor.patch delete mode 100644 app-emulation/libvirt/files/libvirt-4.5.0-do_not_use_sysconf.patch create mode 100644 app-emulation/libvirt/files/libvirt-5.2.0-fix-paths-for-apparmor.patch create mode 100644 app-emulation/libvirt/files/libvirt-guests.init-r4 delete mode 100644 app-emulation/libvirt/files/libvirtd.init-r16 create mode 100644 app-emulation/libvirt/files/libvirtd.init-r18 delete mode 100644 app-emulation/libvirt/libvirt-4.9.0.ebuild create mode 100644 app-emulation/libvirt/libvirt-5.2.0-r3.ebuild create mode 100644 app-emulation/libvirt/libvirt-5.4.0-r1.ebuild create mode 100644 app-emulation/libvirt/libvirt-5.5.0-r1.ebuild delete mode 100644 app-emulation/lxd/lxd-3.10.ebuild delete mode 100644 app-emulation/lxd/lxd-3.11.ebuild create mode 100644 app-emulation/lxd/lxd-3.14.ebuild delete mode 100644 app-emulation/qemu/qemu-3.1.0-r4.ebuild delete mode 100644 app-emulation/runc/files/runc-fix-cve.patch delete mode 100644 app-emulation/runc/runc-1.0.0_rc5_p20180509-r1.ebuild delete mode 100644 app-emulation/runc/runc-1.0.0_rc6_p20181203-r1.ebuild delete mode 100644 app-emulation/runc/runc-1.0.0_rc6_p20190216.ebuild delete mode 100644 app-emulation/runc/runc-1.0.0_rc7.ebuild delete mode 100644 app-emulation/runc/runc-9999.ebuild delete mode 100644 app-emulation/virt-manager/virt-manager-1.4.3-r1.ebuild delete mode 100644 app-emulation/virt-manager/virt-manager-1.5.1-r1.ebuild create mode 100644 app-emulation/virt-manager/virt-manager-2.2.0.ebuild delete mode 100644 app-emulation/virt-viewer/virt-viewer-6.0-r1.ebuild create mode 100644 app-emulation/virt-viewer/virt-viewer-8.0.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-4.12.1.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-4.8.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-4.12.1.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-4.8.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 0b8b181a81ab..a4659ae6bf7e 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/containerd/Manifest b/app-emulation/containerd/Manifest index 3f7c4a7f2ab3..e5acf3d2968a 100644 --- a/app-emulation/containerd/Manifest +++ b/app-emulation/containerd/Manifest @@ -1,11 +1,6 @@ AUX containerd.initd 733 BLAKE2B dee4f7bad7250a1c8ca87b3b862d73f9150d73dd2b719bf8d7420dde704174f237a9023a9546cfcb2a122bb74ef583119c9668b453f11612eed26aca55044132 SHA512 d0193e784c62070004e43a7d8b8834bbcd2eba51faa7f8505cea04e06740f5e4950e5c036aa32edf3f592c02f3dd9e65214a6adba8579bdf9c79ae556af94462 -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 -EBUILD containerd-1.1.2.ebuild 1446 BLAKE2B 73aa0c89b0899a9c6e241aa2fd811b6028aa715fe227209f7dcd1f2da481cf16d2fe955c1cce35f43a6ff9b85f89d6ab23ff1a1abd734786fc2eaffc1a908b71 SHA512 ca80fe6078f715afd01ebda4d99bc1d00f168908850d1e03830fa6df266dd1203ffdbcd5f17f729470df8333f64fa0fb6d00b94d8c8b92645dbd82a8d75a73a3 -EBUILD containerd-1.1.4.ebuild 1447 BLAKE2B 41f551cb2d004dd3b22014b88549729849b840104c573373cfd7d964f0c6f8876771930225c2fb58ecd17e98854cb050ce91eef66e83201d0d6522b4250d21bb SHA512 be79eade0670b9701670953c552d4452e583284acf3f721d22992ada3f2e55745fa85cab1ea102b5d68d709320f1f44207b43c5ba473ef8e2951ea0ac07c802a -EBUILD containerd-1.2.5.ebuild 1438 BLAKE2B 3b7c9da1e9aa7ec24702cc06e9c1afd187d009ed17f3a43bc46c89db9bd48650041beaff9f3ac609c8cae1ffd0cab8179f98e6f6366d6545e275405dd0982d25 SHA512 7e79fd290f74fc80663e6c9da11b09e0b96eb3c424744e9399cd47f1b42e3015da2822c75721b1224da3109a257f9286e221bb0345940ca8dccf1d259120eb71 +DIST containerd-1.2.7.tar.gz 4877757 BLAKE2B 6cf98e370547d3ca5158f546e72e3ff5fdccc08c2e9f390988d080222195f95512dbf6f7dc042b7a966283a040000b7b8777b3fbeb4c5b861caae4f6209c59c5 SHA512 b96ca236d28933c1bf309fc7204af7d2c356e19af394d5c2274a178c8f15298faf6ca9bb8e7d04acb7c3c9c41035446643a8df0103017f7ed0320bfc37cb8ca9 EBUILD containerd-1.2.6.ebuild 1438 BLAKE2B 6f32e5e84deaa3af38aaccc5348eb3e2fcb03cdfb489902b0fdbca9365b711b99d5427521c44025ed8229ad029e7e11a3ae9a361157719c85bc6fe0b8737d307 SHA512 e72cc152933a436003d7f3403981e73026842069d5c35700d3c5b6b7893d69ab311fb7adc7ddcfc228d7c10b7d735c38c1af5e1bc758ddf3a4010eb691571fcf -EBUILD containerd-9999.ebuild 965 BLAKE2B b671ff0dd3c5b8c72f2d713c04926047a304b7eec201051b5051a4ce49550176683a934d0b03350d5302fdff242e8e11f31b3db0b3962b73bcac85a0ed1a116d SHA512 b2acd6bd1c237a1058cec02875877d82e2e8c568bf3143cca020c64e13a0649975e3adcdb68540216e8ce1bcdbc7141eda8476c1c01ee2ca313120eca2850012 +EBUILD containerd-1.2.7.ebuild 1439 BLAKE2B eb6c9a7402729bdb82762f44569ca8c99092872da4368f45dea7f8e5bfc72bf1769c77feff6059f83d2c258eebd075c350332ca9cff4fa3c227b0dd74f6b1d11 SHA512 c992f390a16e01f91780c98de084b495533eb7ad208f6e711ff79f3238237977247068d20df2332e8189dcc307c6ff8d0053a2ad558bfe8d74d77225b4cf0102 MISC metadata.xml 1088 BLAKE2B c4002c4c1278d979180f2bb2819f5485f0d415b09e85f83e14969842b16ce93970743d2df77f2b72f9d1e7f253f1dfacc7dbdba6aa872c4f866df48cc3b723f7 SHA512 edd35f07b6ebb489442c514d078831409fca1be2e3da7e77bf8ee3e7f422e288f68373cbb59f83fadc6c707476d7909fe64563ae48a4ea972041c0d2a3aecda3 diff --git a/app-emulation/containerd/containerd-1.1.2.ebuild b/app-emulation/containerd/containerd-1.1.2.ebuild deleted file mode 100644 index b37434d56613..000000000000 --- a/app-emulation/containerd/containerd-1.1.2.ebuild +++ /dev/null @@ -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 -} diff --git a/app-emulation/containerd/containerd-1.1.4.ebuild b/app-emulation/containerd/containerd-1.1.4.ebuild deleted file mode 100644 index 0d07ff805fcc..000000000000 --- a/app-emulation/containerd/containerd-1.1.4.ebuild +++ /dev/null @@ -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 -} diff --git a/app-emulation/containerd/containerd-1.2.5.ebuild b/app-emulation/containerd/containerd-1.2.5.ebuild deleted file mode 100644 index 4df44a02efb8..000000000000 --- a/app-emulation/containerd/containerd-1.2.5.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2019 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="bb71b10fd8f58240ca47fbb579b9d1028eea7c84" - 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/runc-1.0.0_rc5 - 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() { - newinitd "${FILESDIR}"/${PN}.initd ${PN} - keepdir /var/lib/containerd - dobin bin/* -} diff --git a/app-emulation/containerd/containerd-1.2.7.ebuild b/app-emulation/containerd/containerd-1.2.7.ebuild new file mode 100644 index 000000000000..21f2f7301c8d --- /dev/null +++ b/app-emulation/containerd/containerd-1.2.7.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2019 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="85f6aa58b8a3170aec9824568f7a31832878b603" + 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/runc-1.0.0_rc8 + 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() { + newinitd "${FILESDIR}"/${PN}.initd ${PN} + keepdir /var/lib/containerd + dobin bin/* +} diff --git a/app-emulation/containerd/containerd-9999.ebuild b/app-emulation/containerd/containerd-9999.ebuild deleted file mode 100644 index 345b3fa9b966..000000000000 --- a/app-emulation/containerd/containerd-9999.ebuild +++ /dev/null @@ -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 -} diff --git a/app-emulation/cri-tools/Manifest b/app-emulation/cri-tools/Manifest index 5a61d7d3dad9..110004bc1566 100644 --- a/app-emulation/cri-tools/Manifest +++ b/app-emulation/cri-tools/Manifest @@ -1,13 +1,9 @@ -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 -EBUILD cri-tools-1.0.0_alpha1.ebuild 920 BLAKE2B ac8766ac2876393d9fbee5ef0d315270ded4d274e48706b53a13a1f125212080bc4fcbd8bd78c0bf4adfe1be0ea36b0adf7ddb1d6846777dd5822151ebf809b4 SHA512 09b85dcf464a4fca9614f56af447c804fda73fbf0ae575f62635e7a99d107aa65f31b6450ffd5ffd19561cb2585352a92b4fc9da19b1ae54381ca24595c2a79b -EBUILD cri-tools-1.0.0_beta2.ebuild 918 BLAKE2B 41c384e555ac261604ab5d8613b04eb5c297007b13b0463b7665598a95457060ef95a694232207f4a7c58c6f665a454248b63f26dce8d9adce6ea87c3afe88e4 SHA512 0c9c35a4c7c7483ec94ad467c092b6949bcc7c22e1fe1f2e7251de46e85db2ee5c8dd17668a435b0fedae923ed3378102363eb4601232f827167ca2044b5c7ba -EBUILD cri-tools-1.11.1.ebuild 923 BLAKE2B ff6c4784a3e09a1895522c96e0894d013c4c021debce7bc29aebd9d58e8649781f537104e7baa9dc8a63bcc3242e378aff759807e88548162e3b3d4dda1e2479 SHA512 edba5dab60fa94ee2c84ca0352f2d94d63be11a207e8bfcca9681df375ff70106a9000d5c1e7b7ef3c64586e7c9ff23d9f8e67607c171adb50c5ed7f29fa2f97 +DIST cri-tools-1.15.0.tar.gz 3672568 BLAKE2B d4e9a0b2ca43efdb61c7626de518801a124fb61991f1df6a7eac106f7516ab59effa70038db7c4cbfddaf1c345c648f359c86d298dae08abb34f4b801b82b2a1 SHA512 43115fad485c2c6603e724f3529371133bcea6de069dc58d36e7880f558fa1696244b6129fe3a96fd669b27a3d9bd07bda1219e89afa348e36a85087992adf7f EBUILD cri-tools-1.12.0.ebuild 918 BLAKE2B 41c384e555ac261604ab5d8613b04eb5c297007b13b0463b7665598a95457060ef95a694232207f4a7c58c6f665a454248b63f26dce8d9adce6ea87c3afe88e4 SHA512 0c9c35a4c7c7483ec94ad467c092b6949bcc7c22e1fe1f2e7251de46e85db2ee5c8dd17668a435b0fedae923ed3378102363eb4601232f827167ca2044b5c7ba EBUILD cri-tools-1.13.0.ebuild 918 BLAKE2B 41c384e555ac261604ab5d8613b04eb5c297007b13b0463b7665598a95457060ef95a694232207f4a7c58c6f665a454248b63f26dce8d9adce6ea87c3afe88e4 SHA512 0c9c35a4c7c7483ec94ad467c092b6949bcc7c22e1fe1f2e7251de46e85db2ee5c8dd17668a435b0fedae923ed3378102363eb4601232f827167ca2044b5c7ba EBUILD cri-tools-1.14.0.ebuild 918 BLAKE2B 41c384e555ac261604ab5d8613b04eb5c297007b13b0463b7665598a95457060ef95a694232207f4a7c58c6f665a454248b63f26dce8d9adce6ea87c3afe88e4 SHA512 0c9c35a4c7c7483ec94ad467c092b6949bcc7c22e1fe1f2e7251de46e85db2ee5c8dd17668a435b0fedae923ed3378102363eb4601232f827167ca2044b5c7ba +EBUILD cri-tools-1.15.0.ebuild 918 BLAKE2B 41c384e555ac261604ab5d8613b04eb5c297007b13b0463b7665598a95457060ef95a694232207f4a7c58c6f665a454248b63f26dce8d9adce6ea87c3afe88e4 SHA512 0c9c35a4c7c7483ec94ad467c092b6949bcc7c22e1fe1f2e7251de46e85db2ee5c8dd17668a435b0fedae923ed3378102363eb4601232f827167ca2044b5c7ba MISC metadata.xml 345 BLAKE2B a0a36cc291e52c9625d8caf20d81a06d5a94d69987a912ff9b7cc50582b06df285544ba2e050deea23628c2de34ccec9cfbb7c9beeec486733b86e54d5f73081 SHA512 bb952b4fe9687fa36406793426a8f6c922db248d75794e4f17e31b4056b10e7ce17dddb5f47eb68045babfaa9e63005cc5d408f96d52eb7c67b78b034408e7d8 diff --git a/app-emulation/cri-tools/cri-tools-1.0.0_alpha1.ebuild b/app-emulation/cri-tools/cri-tools-1.0.0_alpha1.ebuild deleted file mode 100644 index 75ef27658443..000000000000 --- a/app-emulation/cri-tools/cri-tools-1.0.0_alpha1.ebuild +++ /dev/null @@ -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} -} diff --git a/app-emulation/cri-tools/cri-tools-1.0.0_beta2.ebuild b/app-emulation/cri-tools/cri-tools-1.0.0_beta2.ebuild deleted file mode 100644 index a298fcbf5cbf..000000000000 --- a/app-emulation/cri-tools/cri-tools-1.0.0_beta2.ebuild +++ /dev/null @@ -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/_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} -} diff --git a/app-emulation/cri-tools/cri-tools-1.11.1.ebuild b/app-emulation/cri-tools/cri-tools-1.11.1.ebuild deleted file mode 100644 index 6b723aa1cb6b..000000000000 --- a/app-emulation/cri-tools/cri-tools-1.11.1.ebuild +++ /dev/null @@ -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} -} diff --git a/app-emulation/cri-tools/cri-tools-1.15.0.ebuild b/app-emulation/cri-tools/cri-tools-1.15.0.ebuild new file mode 100644 index 000000000000..a298fcbf5cbf --- /dev/null +++ b/app-emulation/cri-tools/cri-tools-1.15.0.ebuild @@ -0,0 +1,29 @@ +# 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/_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} +} diff --git a/app-emulation/docker-compose/Manifest b/app-emulation/docker-compose/Manifest index 3554862d15c9..6eade4287c94 100644 --- a/app-emulation/docker-compose/Manifest +++ b/app-emulation/docker-compose/Manifest @@ -1,10 +1,6 @@ -AUX docker-compose-1.23.2-setup-py.patch 1755 BLAKE2B dca3f8d1f27e7aa147615f0fe8d1914553a6ce3665d5a6f9b5fb97a33a101b2aaedf6575b7214c7d977a7e44eb7ecfc3f572a0caaf23c53a25e7598444c77ee6 SHA512 bc19659766af5b0a3b0e846e537104ab6c1aad58fe42d82e39961ddbf82df3267bd5ec53548abd57a3c349c348f1937400ef4f0a552bb0bc9254f4aae9d77fac AUX docker-compose-1.24.0-setup-py.patch 1767 BLAKE2B 14ad1ab45fc11006a6054e4b5774990ba199344fc233f55b6ad034cf5fdce47cef96b15466c9b04cf33633a1cd34074db597b38b85d443499ff5264afc878a61 SHA512 1bd028ec272a8758ecec351590046919172a73d63b61643737438cda445f35caa2f85afed0b3ebe2c9092f5c7b1a84b1f340f661e4fcfa80301ef5d70f25e8bf -DIST docker-compose-1.23.2.tar.gz 302950 BLAKE2B b96db2e718bd6b05f6a35829749570320209def17b7536e402b9991b56e05a2d8da97fbd8d79d8125d9df6ff361a181fbfd71346a33a68704db0327a92757f66 SHA512 baa233c84ac770798ba3d8d256687630b331d774a8d60f3c0d5046aa0a74c8c3b8b0b8bc4431f3bc7d5b7a54f0646f5e2fd14d5af31db37cb546e86c96c8c1db DIST docker-compose-1.24.0.tar.gz 307601 BLAKE2B cb2a6f96e14c04d0279b25c075182d8f09e5a622e4cee2ce74995224e3a8634cc5f22ccc548b7754bbeb11630c1e638386cb1a6df927b3619cb6e7e3595aac6c SHA512 318c6bf9877147de09526b4d49c3fd86012d85626e7a9a15863ca55a60e10fa85b27429605045d0aaa993dddd3bc2e5f23cbb76856276a874e84793b878a3e86 DIST docker-compose-1.24.1.tar.gz 307749 BLAKE2B 7ded0a4b82a7a9beb9de38752f38998ca4ea9421e5ed5630627820ec7e250ad6f03f6788bcbebe8bc0dd4c064d275bb4ca5a6055a95b6a0f72d7ae9038ec7f22 SHA512 9b8632ef263b8dfa678e8b99b46e00441f779716a524280ce25f62fcd2605f400723b7790c466338374c34653946dc2c5d7f09593ddd892fee3409c2a2fd1a5f -EBUILD docker-compose-1.23.2-r1.ebuild 2151 BLAKE2B 3772d0d4453540e899812123d9e8b8c3b417b93664bdf537fccc715f8abfef02e0959b568d640877d9c3f0bd67c64a5326c76c1eb2482312dffacfad5745d529 SHA512 2fe376d2ddbb94ec3433c5416ce35c66fea6d2d04ed4e64320b6d0740086fa389dcdca8bbcb7e769e8afd8532cf072a44a8523766ed16bd98fd6d6dcdc3fbdd2 -EBUILD docker-compose-1.23.2.ebuild 2345 BLAKE2B 689c22833b36aadfb5e2dbea83cc1e3d1b3ae3979b5cf1553032f4caf72d11994b0761a97948b1ec8e162c4c83a8d56d628bfe6f3c6e7e845d8c54eb36a37d48 SHA512 b6d4e9906eb2ad7a08f3a0331a63369517e207ec382acd9a11e2131618cee2d9e854762f4d5c09e851e938d083af91ad7ef0b9cdf9a93453a073acffb92dfe07 -EBUILD docker-compose-1.24.0.ebuild 2189 BLAKE2B 05eb023decf01d5bc30c1df75678c4ba55ac4ab05c5a90a2580fe38cbc08a7bcbe0723446f26062a69a68d5c74518260d2988cf044af7ff5f1f1ece0b2e1b774 SHA512 77098e28178220817277bec9e587581bc3c2a1506ab6f0d09d5248b0e361ab382103983cd76a048b3032832f00995429028db0cfd0eade649cdde871b93d6a95 -EBUILD docker-compose-1.24.1.ebuild 2190 BLAKE2B 9530c00eb7db357d3acba879ff702377841cd5ecb01c34e20fec09f460a914943708cfcc8e60a7ecacfd1fef98f6f1a124ce7a1aafd6179a3965b6509c3d752d SHA512 da157b3c2b733a214b328f45321ad39def57666ca7d974a2188b963f0fb854c63a932a80e451f6a073f433eb690dd8214640a3b41d2e1f6633f4faf9728bf4b6 +EBUILD docker-compose-1.24.0.ebuild 2234 BLAKE2B 2b94a3071586d66a1e1ca477bbcc4d19f13f43446095df12fdc82148bfb246207e7017607fb010ad4edc5f2a15d04687c742b970888f22b396abdfc82b41732e SHA512 0099f3002d87799e0a678591078f29d67dd7545207763b170f168b5b8aed282daaba470dc802393142fb9b5185ba49dcee1d67440fef73a4afddf73b4df59d60 +EBUILD docker-compose-1.24.1.ebuild 2235 BLAKE2B 04f88a55d885551f875c3e572dcf77df389673ef64170f051e8827b0a6de499f2503e0eb199bdc1eb4623472c170090c806c0c53d769ef886f1f6edf90ac6043 SHA512 fa02d983aa04adf0b4f832fa68fd0ad0f0cd23bfeec5a4a852f8efcf946f59650c71fda4f080faeae8c89102654c9f9e5d3e62955a09cd19d1a4168cbb2ae5d2 MISC metadata.xml 326 BLAKE2B 264e99e7fdc551ca2a29d4295d21fb587cb1eeb0bf995b9df63e63015b01b22a51db9254b3a6cb3eb76b8a4eb9e8bf3a1a4c6a936212690fa996e7edf20167dd SHA512 0c50efc71462eb8b312b5bab5b5de85450478f3b7a548c7f3725a4be5514078fb125305f277d14b5fa082027c805171e640367b6094668c05660d426c65043fc diff --git a/app-emulation/docker-compose/docker-compose-1.23.2-r1.ebuild b/app-emulation/docker-compose/docker-compose-1.23.2-r1.ebuild deleted file mode 100644 index df1a0e87a651..000000000000 --- a/app-emulation/docker-compose/docker-compose-1.23.2-r1.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 2018-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python{2_7,3_6} ) - -inherit bash-completion-r1 distutils-r1 - -DESCRIPTION="Multi-container orchestration for Docker" -HOMEPAGE="https://github.com/docker/compose" -SRC_URI="https://github.com/docker/compose/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="test" - -RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}] - >=dev-python/docker-py-3.6.0[${PYTHON_USEDEP}] - >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] - >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] - >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] - >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}] - >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] - >=dev-python/requests-2.18.1[${PYTHON_USEDEP}] - >=dev-python/six-1.3.0[${PYTHON_USEDEP}] - >=dev-python/texttable-0.9.0[${PYTHON_USEDEP}] - >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}] - $(python_gen_cond_dep '>=dev-python/enum34-1.0.4[${PYTHON_USEDEP}]' 'python2_7' ) - $(python_gen_cond_dep '>=dev-python/ipaddress-1.0.16[${PYTHON_USEDEP}]' 'python2_7' ) - $(python_gen_cond_dep '>=dev-python/backports-ssl-match-hostname-3.5[${PYTHON_USEDEP}]' 'python2_7' )" - -DEPEND="${RDEPEND} - test? ( dev-python/pytest[${PYTHON_USEDEP}] - $(python_gen_cond_dep '>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]' 'python2_7' ) )" - -S="${WORKDIR}/compose-${PV}" - -PATCHES=( - # Bug #679968 -- https://bugs.gentoo.org/679968 - # Bug #681002 -- https://bugs.gentoo.org/681002 - "${FILESDIR}"/${PN}-1.23.2-setup-py.patch -) - -src_prepare() { - # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command." - sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die - - default -} - -python_test() { - distutils_install_for_testing - ${PYTHON} -m pytest tests/unit/ || die "tests failed under ${EPYTHON}" -} - -python_install_all() { - newbashcomp contrib/completion/bash/docker-compose ${PN} - - insinto /usr/share/zsh/site-functions - doins contrib/completion/zsh/* - - distutils-r1_python_install_all -} diff --git a/app-emulation/docker-compose/docker-compose-1.23.2.ebuild b/app-emulation/docker-compose/docker-compose-1.23.2.ebuild deleted file mode 100644 index 4028e9260865..000000000000 --- a/app-emulation/docker-compose/docker-compose-1.23.2.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2018-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python{2_7,3_6} ) - -inherit bash-completion-r1 distutils-r1 - -DESCRIPTION="Multi-container orchestration for Docker" -HOMEPAGE="https://github.com/docker/compose" -SRC_URI="https://github.com/docker/compose/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64" -IUSE="test" - -RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}] - =dev-python/docker-py-3.6.0[${PYTHON_USEDEP}] - =dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] - =dev-python/docopt-0.6.1[${PYTHON_USEDEP}] - =dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] - =dev-python/PySocks-1.5.6[${PYTHON_USEDEP}] - =dev-python/pyyaml-3.10[${PYTHON_USEDEP}] - =dev-python/requests-2.6.1[${PYTHON_USEDEP}] - >=dev-python/six-1.3.0[${PYTHON_USEDEP}] - =dev-python/texttable-0.9.0[${PYTHON_USEDEP}] - =dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}] - =dev-python/enum34-1.0.4[${PYTHON_USEDEP}]' 'python2_7' ) - $(python_gen_cond_dep '>=dev-python/ipaddress-1.0.16[${PYTHON_USEDEP}]' 'python2_7' ) - $(python_gen_cond_dep '>=dev-python/backports-ssl-match-hostname-3.5[${PYTHON_USEDEP}]' 'python2_7' )" - -DEPEND="${RDEPEND} - test? ( dev-python/pytest[${PYTHON_USEDEP}] - $(python_gen_cond_dep '>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]' 'python2_7' ) )" - -S="${WORKDIR}/compose-${PV}" - -src_prepare() { - # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command." - sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die - - # Get rid of requests boundary - sed -i -e "/^.*requests/s/, <.*/',/" setup.py || die - - default - -} - -python_test() { - distutils_install_for_testing - ${PYTHON} -m pytest tests/unit/ || die "tests failed under ${EPYTHON}" -} - -python_install_all() { - newbashcomp contrib/completion/bash/docker-compose ${PN} - - insinto /usr/share/zsh/site-functions - doins contrib/completion/zsh/* - - distutils-r1_python_install_all -} diff --git a/app-emulation/docker-compose/docker-compose-1.24.0.ebuild b/app-emulation/docker-compose/docker-compose-1.24.0.ebuild index 27bb0bdfb34c..aacd6aa050a4 100644 --- a/app-emulation/docker-compose/docker-compose-1.24.0.ebuild +++ b/app-emulation/docker-compose/docker-compose-1.24.0.ebuild @@ -34,7 +34,8 @@ RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] $(python_gen_cond_dep '>=dev-python/backports-ssl-match-hostname-3.5[${PYTHON_USEDEP}]' 'python2_7' )" DEPEND="${RDEPEND} - test? ( dev-python/pytest[${PYTHON_USEDEP}] + test? ( =dev-python/mock-1.0.1[${PYTHON_USEDEP}]' 'python2_7' ) )" S="${WORKDIR}/compose-${PV}" diff --git a/app-emulation/docker-compose/docker-compose-1.24.1.ebuild b/app-emulation/docker-compose/docker-compose-1.24.1.ebuild index 1efb5d463ed5..a9866c0a92e6 100644 --- a/app-emulation/docker-compose/docker-compose-1.24.1.ebuild +++ b/app-emulation/docker-compose/docker-compose-1.24.1.ebuild @@ -34,7 +34,8 @@ RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] $(python_gen_cond_dep '>=dev-python/backports-ssl-match-hostname-3.5[${PYTHON_USEDEP}]' 'python2_7' )" DEPEND="${RDEPEND} - test? ( dev-python/pytest[${PYTHON_USEDEP}] + test? ( =dev-python/mock-1.0.1[${PYTHON_USEDEP}]' 'python2_7' ) )" S="${WORKDIR}/compose-${PV}" diff --git a/app-emulation/docker-compose/files/docker-compose-1.23.2-setup-py.patch b/app-emulation/docker-compose/files/docker-compose-1.23.2-setup-py.patch deleted file mode 100644 index 193ece1c09f9..000000000000 --- a/app-emulation/docker-compose/files/docker-compose-1.23.2-setup-py.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 15b1ac5bfeb0ca2a8524dae10db7573b4efacba9 Mon Sep 17 00:00:00 2001 -From: Sebastian Pipping -Date: Fri, 10 May 2019 23:54:14 +0200 -Subject: [PATCH] setup.py: Drop generic upper version boundaries - ---- - setup.py | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -diff --git a/setup.py b/setup.py -index 22dafdb..00167ce 100644 ---- a/setup.py -+++ b/setup.py -@@ -30,16 +30,16 @@ def find_version(*file_paths): - - - install_requires = [ -- 'cached-property >= 1.2.0, < 2', -- 'docopt >= 0.6.1, < 0.7', -- 'PyYAML >= 3.10, < 4', -- 'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0, < 2.21', -- 'texttable >= 0.9.0, < 0.10', -- 'websocket-client >= 0.32.0, < 1.0', -- 'docker >= 3.6.0, < 4.0', -- 'dockerpty >= 0.4.1, < 0.5', -- 'six >= 1.3.0, < 2', -- 'jsonschema >= 2.5.1, < 3', -+ 'cached-property >= 1.2.0', -+ 'docopt >= 0.6.1', -+ 'PyYAML >= 3.10', -+ 'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0', -+ 'texttable >= 0.9.0', -+ 'websocket-client >= 0.32.0', -+ 'docker >= 3.6.0', -+ 'dockerpty >= 0.4.1', -+ 'six >= 1.3.0', -+ 'jsonschema >= 2.5.1', - ] - - -@@ -52,11 +52,11 @@ if sys.version_info[:2] < (3, 4): - tests_require.append('mock >= 1.0.1') - - extras_require = { -- ':python_version < "3.4"': ['enum34 >= 1.0.4, < 2'], -+ ':python_version < "3.4"': ['enum34 >= 1.0.4'], - ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5'], - ':python_version < "3.3"': ['ipaddress >= 1.0.16'], -- ':sys_platform == "win32"': ['colorama >= 0.4, < 0.5'], -- 'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'], -+ ':sys_platform == "win32"': ['colorama >= 0.4'], -+ 'socks': ['PySocks >= 1.5.6, != 1.5.7'], - } - - --- -2.21.0 - diff --git a/app-emulation/docker-credential-helpers/Manifest b/app-emulation/docker-credential-helpers/Manifest index 20866d494568..a618470c6d0a 100644 --- a/app-emulation/docker-credential-helpers/Manifest +++ b/app-emulation/docker-credential-helpers/Manifest @@ -1,3 +1,3 @@ DIST docker-credential-helpers-0.6.0.tar.gz 27441 BLAKE2B 6517f069782d5a496d3f140d86e5b1f32f197e9209ed61f75bfb9ba29cf0e1fa509bdbbbce2defc14ad0abe316632683cfad25e7ac9a6a1d70c3289e0ad489f5 SHA512 359e8ec700f423ce0687f13ce02946007f90456abe86659a87c59419ebde5e79adb4d28ee5e6a9762a44cfd65648c247629a5273326abf18a8880bee637e74d8 EBUILD docker-credential-helpers-0.6.0.ebuild 1239 BLAKE2B 8d4df763dff3aacfce1f28ce3165e4fc0271babfd4baf2adaabd737c8826b13741cb28e9d55f9507af8de35bb79311e296081919dfa9bf197f1faafbb36a2cb0 SHA512 df28794f01a5af1bf3390fec6bb0050f13ea93c90255800a94d5069ff7b5ea3b69b7d352e40d4a6223df9e5543c2fde8065d159af8ae24d8ddb9a1d2748060f7 -MISC metadata.xml 853 BLAKE2B 1b9b98e3221af329fe7c154647efd44bd7ddfd99fb429dd274eccb848ae694281e5a03704f7def7d92e6e7bb7ccefec20bbbf49b485b52d4b0e550cf7454ab59 SHA512 bbcf87d194c61fbd3772c176cd58771ef82db7aaa3a0c60fc9ca239afe8d1732467a82bc7da338b5e674e575214bb35e8a5468a492755534902831dd30aa76d7 +MISC metadata.xml 847 BLAKE2B 7fff76aa67ee9868506860bb8a6812d0412cc9d5e8e6b4ef2906af3a761133fc299f5deb6ac48a5258a0d1b250611770042627f1dc667acab3a974960a2e1ca7 SHA512 f4cfd994d789f493ac2dba0699370fad8253121028ea4f25f882e406d7d6846cbea505149fff090cc6d898b5d4634472e4afe6ccb6f1177a5a23e7ba5136470f diff --git a/app-emulation/docker-credential-helpers/metadata.xml b/app-emulation/docker-credential-helpers/metadata.xml index 1e58ef54d4d1..196e66de1e6e 100644 --- a/app-emulation/docker-credential-helpers/metadata.xml +++ b/app-emulation/docker-credential-helpers/metadata.xml @@ -1,12 +1,12 @@ - + A suite of programs to use native stores to keep Docker credentials safe. Currently provides docker-credential-secretservice to use the D-Bus secret service APIs, and docker-credential-pass to use the pass framework. - + rkitover@gmail.com Rafael Kitover diff --git a/app-emulation/docker-proxy/Manifest b/app-emulation/docker-proxy/Manifest index 4956c859efa5..326a18bb8c6c 100644 --- a/app-emulation/docker-proxy/Manifest +++ b/app-emulation/docker-proxy/Manifest @@ -1,18 +1,3 @@ -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 -EBUILD docker-proxy-0.8.0_p20180411.ebuild 828 BLAKE2B 40c072624b54c218816132f4d3b71f29e2c4d1afbb20d6be0fc518cd729b3453ea12839143d3ee32e3ce810b8650316fe718ded9c5a950b0ee9ef372f4c2ec20 SHA512 4a018ca6462c3aa371d7e02717f805d1ea5424629892d9e69c7843fb4572da68f2d23eef0bc094487ccb3212a34799541b805c00a0cf941c114140ca44ab8cc3 -EBUILD docker-proxy-0.8.0_p20180626.ebuild 825 BLAKE2B 256ce2df79ece0668908db8d64ddfdb6737ce6d1ba7ef6e7a8a4b8c16af057d7ae81b75b3b3e9a6b93adb2f874f7563839f6bd343c00c88ac0ea4ff0bc5e5bbc SHA512 e211a3ac5576960377b5de1b164b5238243a215a50a76358aae240d221c160d013f85304909cdaec1db9719ab92bfce03b1afa71aeb9fae2930fc844438ffc46 -EBUILD docker-proxy-0.8.0_p20180907.ebuild 826 BLAKE2B 19c2f5cc5094a1f47b2bb97df327902c3173f161f71e55540be7a2b60574567bed7e1739913f0331c120b4e6e66c791f8e79dea7e020a9523dad5882cac85134 SHA512 226a6faa9ac793eb9144741bb4853ec14d0f86df61c56a3610df7439b9f693ae3024c4b5f749378ce24b79789f0efeb181726057ed86f1206f7b0085e469260b -EBUILD docker-proxy-0.8.0_p20181207.ebuild 825 BLAKE2B ae4d246ed05a3cf8b8ed9d41955cb9edc9d9d530113ed16ceb4f44c02b00ac3e9a59a52f7b6862c584da28e8e2fccbaf6ea5000d27f87891c6669789a575df1d SHA512 2cf5e7df32c7aadf606f53a54ce58188f32801da8f0003656120762a6ad4b9fe6e58e6648cf2a37d0c131ee2a2ae6aee1ebbca07ba556f645d2915afadbfd35a -EBUILD docker-proxy-0.8.0_p20190301.ebuild 825 BLAKE2B 0bf7dbe59a67bfda70b0a0c01a411de64bef45cad0d24ac53f2e78206ca4b2fdd857651da83f8f220d1e2133a62f2edf8481869bc7a40aced2da55df595b8c90 SHA512 26e47320a89a510736bae74e70c479bd6da84b8d9f85007e350e9ba383ac55a5e5d753d8a0b8a4e73bcadffb2863de3511e9810f0586a50081ddceda3f1ea795 -EBUILD docker-proxy-0.8.0_p20190405.ebuild 780 BLAKE2B 66e2065030aa221fe643d1c92ff93a371193b9bf8079248aaa387aa8d98cf0ceedbdf01eec1bbe81d2f04e939fb8289287eb5961383e883fa4c5043dd85d179b SHA512 19c88c7e750d8d0f7bd73b85a0edf674e9ba17bdc5421db16166a3bdc1dce1cd17a9be65b0db0b3e7b58a026527e6eb0893c1cbd983f15ee0cee86ae1e3d06ec -EBUILD docker-proxy-0.8.0_p20190417.ebuild 780 BLAKE2B be3f7307a2f311c48a6ee183b624ad7d597a0b7c3e95e6d860bae9662ac675d1e21e4abf4dfcb7739b868cfbf631c6df992fb48942aa22b36ee01d7cbfc5f803 SHA512 ce35de313ff2d0de11fc9628dcd2b8d42d963f77e3d668655c8dbadf291a3027e8e43aa911d9e70cda5973278b9060b0eecfe99e28caecd1f77ca9a1ed70640d -EBUILD docker-proxy-0.8.0_p20190513.ebuild 781 BLAKE2B c5d94341e1e4e2d7a883b740e10221335d37a075dab0fe68f329fe52f371ffdd542e29e12659326389c85f2523b2453e4ca27e203f4a3b1d75268db797341d41 SHA512 9087ff702c41046cf5d66bc42ef9a7e0f5db3a02e2f751b45633aeea92f9bcc9ad9febbafadd2604285dcca2f0f4fcf56f6a6e24b5086f1e9c71a65230de429d -EBUILD docker-proxy-9999.ebuild 782 BLAKE2B 9d12852020716c9fda7e8da2dac1efd32f929b4d1afdfedf186e80e8f2d1351a626833a24e01e81d0c30a9099b286051099e5065e4b0dd55f5a0b5037dbd2d36 SHA512 3b972b6ef5af055046171a6ea8c8aa8f6ec51576d0b871ccff3080d9b99a5e8762c25d3226cb24fd3db66a8f0140a38506fcc6691f0c75ddf8b2646c785d83e6 +EBUILD docker-proxy-0.8.0_p20190513.ebuild 780 BLAKE2B 46a02fb28634760b3fb4b048eee895b152f53fde4f501df7896966bf7e8290d2438c61a0545a2c9782fb2b7bb308a1040c493b8f180991b05a581eda747d7d02 SHA512 bd52763fab7f7b59361e6acdd2249209e72bae8cc50542f0dfa3ea8010a65cc8ebee33c4bb5891a59840d35988048c6a8a3bafc82f6c735f01860a66c066ed95 MISC metadata.xml 543 BLAKE2B 69df333c0432bae7b2211dfa93683e3aee83fd63283fd7e34e0917e3292bd5d8947580fe7977fbc6f5d60fa0ca2d7902416bf4b878e27cbf2cf3413abacd18d6 SHA512 8580076d68f5803bc66fb9cdc088d13be2610ce1f200e614efcdabe75cfbeae5b72bcc4d043ce18844b4774f18e7861c3b6c788fa294c29e856bbcdd091677f6 diff --git a/app-emulation/docker-proxy/docker-proxy-0.8.0_p20180411.ebuild b/app-emulation/docker-proxy/docker-proxy-0.8.0_p20180411.ebuild deleted file mode 100644 index a6ad01507cac..000000000000 --- a/app-emulation/docker-proxy/docker-proxy-0.8.0_p20180411.ebuild +++ /dev/null @@ -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="! - - Enables pkcs-11 support. - docker/docker diff --git a/app-emulation/free42/Manifest b/app-emulation/free42/Manifest index 0d642d721052..a84de39d1e53 100644 --- a/app-emulation/free42/Manifest +++ b/app-emulation/free42/Manifest @@ -2,6 +2,8 @@ AUX free42-2.0.10-fix-build-intel-lib.patch 618 BLAKE2B 9039cdf8c78ff198ea9a4927 AUX free42-2.0.10-fix-makefile.patch 1888 BLAKE2B 113bfc1f296ea3d35d6b4f8aea5f590298c5a47f50a2a20f0ac5f1968b06be19d53f03e64dcf22134938c232f68a6b989250064f45e88196c7fc8e7e9e0fca71 SHA512 1c9a16e29087c492fe1ee5bba8dc118674f4c167b5bc138ffae9ee08ad735a5b5aa2eec2e25236e5aeb95b89c94d7903e08e22cfaa321cf3c458b54defe72af8 DIST free42-nologo-2.0.20.tgz 7390214 BLAKE2B 306f3378bcbb44fa7982c5d9c29bfbea62e915ca50ca5e5216f46fbf483f110a1288d4800991a74622a042517496ff8dd94c3fa3249e8bb4181957e6b23d5ea3 SHA512 9b540fbc50df2f94b135b5e778354f330df77a54ef2ad99b257b5b91d1e3e8d1241e8a834522fc46fe33571ea2695ad8889b427dbcf653870672e89cd56d60f5 DIST free42-nologo-2.2.1.tgz 7398286 BLAKE2B 041c9672305b712efab8e7d5eb73bc0bd159b5fd61e9ecf39d5ce691aff045be4a6a4c635c0948e610e51832db64b388bdd001eb57aad41724e27dff4cf95a0a SHA512 2ed735ff161ea14ca5be97131b69065410faa699ed05d3eb94abbb9653c694d83fc4e45ea2bcf0c2a7894f89e731ee7839105dc1d58d6a6326047c9bd55da5d7 +DIST free42-nologo-2.4.tgz 7402688 BLAKE2B 5e1a46977a3e385fc44f09b5e0088cf73f4a67c3657110311e95795a5b7beb2583dc56bee14e0f578f6ee3517acc78b311b2da0e1671c38d7a5bb150c1e30197 SHA512 a74efd40a952892f346bb4c4096b6e0c00c337e782696de1064d626ea1bbc8aa5a9b557ad233ac92bd27ce8fe4202837e72eddf8f0b31c9320e8c150c6c0b408 EBUILD free42-2.0.20.ebuild 948 BLAKE2B 59ada24ef7746d402bfc2e9cb8ea80c23a68e3ffcd1a3da035281d7544422b21ee3c41fe005721672a180f97a850a7066f3a8087f4aa377fb4c0b4e6233fe49f SHA512 3c117630b0266091dff0b540c1975f6e5c69ec46d8a1f8ad55d7757147df9fc2a6bc9bd3bcfead241cfa8dde29deed727bc1bf39e1f833aab686f2c98504a123 EBUILD free42-2.2.1.ebuild 1039 BLAKE2B cf5965b23191d1c38450c6643844ca476f3b812b7cda7f17e963c1de3a4d0ff9146ee9a913131a208cf5567a01e92b19fc1700eee272a71f30ec1c51e0262018 SHA512 8b60d1a40b493a0a72c8b4f36fca1228c6f64d5bb7758594f923f2c6dd5db480381401b666b8a485012fd12a55b538e610b02000d2a394eb6516242b9473b4c9 +EBUILD free42-2.4.ebuild 1039 BLAKE2B cf5965b23191d1c38450c6643844ca476f3b812b7cda7f17e963c1de3a4d0ff9146ee9a913131a208cf5567a01e92b19fc1700eee272a71f30ec1c51e0262018 SHA512 8b60d1a40b493a0a72c8b4f36fca1228c6f64d5bb7758594f923f2c6dd5db480381401b666b8a485012fd12a55b538e610b02000d2a394eb6516242b9473b4c9 MISC metadata.xml 547 BLAKE2B c7cdf7e2a312b69ae94b467836751bbf61dc771e58866edc21d70bf1b15c776afaefc20a947f6dc8af6586ec2b5e3416bd32446ca3a92890ed573daad6e48d38 SHA512 99885c9a7abecc41f53a946d1b94d2f8d8fda74f0e3f0a0cf6a43a418a874922594841e17b6197aee9f80b007d7633f2154ba85cec81dcfc22efcc7b52edd15d diff --git a/app-emulation/free42/free42-2.4.ebuild b/app-emulation/free42/free42-2.4.ebuild new file mode 100644 index 000000000000..73ac9b4e00d4 --- /dev/null +++ b/app-emulation/free42/free42-2.4.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +MY_PV="${PN}-nologo-${PV}" + +DESCRIPTION="An HP-42S Calculator Simulator" +HOMEPAGE="http://thomasokken.com/free42/" +SRC_URI="http://thomasokken.com/free42/upstream/${MY_PV}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+alsa" + +DEPEND="dev-libs/atk + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:2 + x11-libs/pango + alsa? ( media-libs/alsa-lib )" + +RDEPEND="${DEPEND} + x11-libs/libX11 + x11-libs/libXmu" + +DOCS=( CREDITS HISTORY README ) +S="${WORKDIR}/${MY_PV}" + +PATCHES=( + "${FILESDIR}/${PN}-2.0.10-fix-makefile.patch" + "${FILESDIR}/${PN}-2.0.10-fix-build-intel-lib.patch" +) + +src_prepare() { + default +} + +src_compile() { + local myconf + use alsa && myconf="AUDIO_ALSA=yes" + emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${myconf} -C gtk + emake -C gtk clean + emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C gtk +} + +src_install() { + default + dobin gtk/free42bin gtk/free42dec +} diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index 0e969e282d42..24be4dfc1801 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -1,22 +1,25 @@ AUX README.gentoo-r2 2094 BLAKE2B ccfad63217f7778e97d8de49e20002dffefff32562f560b23c777c5f2f20407493b4288fc67516c7b45cf2c1868340673c7ba92ea1774a22d59524c6a626b59a SHA512 595ede7bb574c7f244a15e430b70f828bc4574b409d4cc37261bf38bfb30cdb31edb6091ff63f6517b281cc11a34eee960ea0330a6ea285dd48fe2288dd67196 AUX libvirt-1.2.16-fix_paths_in_libvirt-guests_sh.patch 641 BLAKE2B e796f4e32f00e8970eabf723520601b26c7fa5f7579d538299538632ba036dafbb2dc64ad40d10152c0637043b2a649e1dc08468d1f250e00ee0af095d94a093 SHA512 df9960b80c7dda852e38d992ab31181d79091bd6e1ba88c0b0c1af8a2f2d1445ee95c957df38ab27b452cd2de01d36b88164e665a867ad69c15ca15c18b1d588 -AUX libvirt-3.10.0-r2-fix_paths_for_apparmor.patch 2730 BLAKE2B ae92a37cdfb929862bd58d1cd208e3f8a3aab10dae98ec8e51d6c3ab579295e3f59ff091970499c6c57b625edec77b98421502df625b1d10c1c3d0be3dfbe489 SHA512 751b971fd0f109f3a4147feea8481adb9c868313ea57d293a89ee548661514f124318324823d9380839a7a5c8ae7c1e3ae8c4c6e62027587f163c8856e353a6a -AUX libvirt-4.5.0-do_not_use_sysconf.patch 7417 BLAKE2B b1e6471a7b6a923a3ca4b630df3ddf31994d3492837e842fd0eb43f79757f2a39652345711719fd2b189116d533472d4e4298520b81838706264d371537d6947 SHA512 1362feb1d2ff3dbb1d5550152453c2fe7fbc4645356a866195601eb17a280af0106753d873285b307267b2c941c18d8db2b5a24d7916a49dfd6af3515217bfcc -AUX libvirt-5.0.0-fix-paths-for-apparmor.patch 4274 BLAKE2B 886fd5bdf37e672e761bde9bc5b3e4902b174019bb8efda127f7a08cb6752b67745c10a3e3953063c746380bcf8243807fd6e9a154f48b7bd02c61e85e90325e SHA512 efe4c4c940d720c467f44f405ac4ca4d3867dee0a7e2fa2a7a4fbc263198089098c48d1207c30123b6a55f6ec6bee04f3edd3f23724af46bcb1343f87ca94de6 +AUX libvirt-5.0.0-fix-paths-for-apparmor.patch 4372 BLAKE2B ac8c78097b8125932fd89756ca7332665e2080afc5de37e0a31d6f2a84e15f21e01d41b39c7781c26cf514c74a215623c0013e67cffe7543892d5b13d3022642 SHA512 391e78a2ea113c38afb07b9f0c7638748e5bc04fb88ea96be7ff439624c429ff0106024674546b01e750d8b1e1418d13040bc8462653eb8567651378b66d53a5 AUX libvirt-5.2.0-do-not-use-sysconf.patch 5969 BLAKE2B 965e53b33424b5e62107574bc457ee886c799b247179200cf671485dff331db3e2c453e55b3a38b34a205ba3663ddf2e4fe0ce336f9c262fa886192368ada3f0 SHA512 a1683ca986d006bcce8388d3ee5e8daf699f92c6dac9714a4cce1fdd8ea3a4f745b231e0576bed08eece04acf96872257a8e2890b0a3acefb5cf2657f3223792 +AUX libvirt-5.2.0-fix-paths-for-apparmor.patch 4372 BLAKE2B ac8c78097b8125932fd89756ca7332665e2080afc5de37e0a31d6f2a84e15f21e01d41b39c7781c26cf514c74a215623c0013e67cffe7543892d5b13d3022642 SHA512 391e78a2ea113c38afb07b9f0c7638748e5bc04fb88ea96be7ff439624c429ff0106024674546b01e750d8b1e1418d13040bc8462653eb8567651378b66d53a5 AUX libvirt-5.2.0-md-clear.patch 1268 BLAKE2B f2609a957025a59a1c5daf0faf408fdcc3c77eebb6dc315cd9ba3d6e8dc441ea6f8124ea3903ef030afe5faea0839bbf118ab22b48a424b3895a7e4b451d797f SHA512 3413ba74f841ecafdbca76496f367d85fe8ac31d637099a0c875a2ea0cab90d277a26918f7a2ffd37fd726cc1ef317a27fbdf2a73a411eb259b26a0fae0f8fd7 AUX libvirt-guests.confd 2430 BLAKE2B 9d56477c9377e02503782e6d653579c6d149b292c43f37926f4646374e8aae05ca812b6a3a561811482861f8fe67dfdbe63851963326ddbbf2f4644c85411120 SHA512 78f419a89de7aabaad860903c24f1c070786fc1296d987e61dd537705b0e7f71a46c315888028f3826c3417e42861ca8471788be4ec5695e98427c5f18ae63fc AUX libvirt-guests.init-r3 5530 BLAKE2B 5de3e8577ded1401f6dca551c6098418e596287d43b1b90e133859bb9b74dff20b8518bc09853ccff7141e6baa52fc12c9b8d3e8f60b868b72b1993254fac5d9 SHA512 7aa4eac8c293c3063d9435a4ad1ea855f9fdd84eb0ed8cbf0779935f152aab380e2ee7eb9129b2f07147bfa4dd1eae4b836ccae295c35b63dbc767208dd11b0c +AUX libvirt-guests.init-r4 5591 BLAKE2B e745692a7ea706c8367cdb7ee2114565770bda5be5675ba3a541555659d17875f7996ff7028bf415224d095b49b71205a3d77f420464d5579ccc189def5e434d SHA512 ec2bc46d72afa61513983b777e2d49da618a35a4687bc75674b3a49ababd4e2e387661010d342fee86c7a73d259644985a263a6c2976e29a436d88921bb040b0 AUX libvirtd.confd-r5 740 BLAKE2B 74a069f4902dd1352f06029c886200615a35870ff88496c91956d23a3172db0789086622422f545498e92b7f8de41225022185fe291dd580cbacdeb783163f4b SHA512 98f935589dbc5f2a99329f77fdf84c563fa0dc99404b7476603679478d68ce8dbea2c88645251d3c28f59e7bcae124ae632972146e8a8c3e0e9fcbfb27296f91 -AUX libvirtd.init-r16 1086 BLAKE2B 088a3e10a63826ecdd24cb811f4e88ddb2b4f649b9e1eca5eece383003760f3df1ece826416e7920fdb4cc9c6171a56ebc1509851d71048fedaf5755072b27ef SHA512 1065a5bad666a8e0a44e4c0629b3a9087322c2d934bf217d8b0b66d8fe1179e5d9661cc2f9491c0badd7874a25c772c78a3420474dfb51b9e363c489c14baf32 AUX libvirtd.init-r17 1149 BLAKE2B e461c82c9516ca8b0011d053e775dfa3a3f8cf674ad2cc05f054aa270671a81d7f60ee12589613699489c378db0ab9c9f17c0564cc7839ac9636595d52ab0f7b SHA512 860cc1f1e607d164f2667bac5a6dae37d9e342d83b03eb8f59fd703081c23e1b86524ffe19cb2ca10ca5c4bbdcca022be6705343cfbad80f619d1050bbd194ce +AUX libvirtd.init-r18 1114 BLAKE2B a934bcacb8d3c041e9bd4f287bc137975b4ef73111e7012f5ebc6cc84250a7ac8f4388d2c0bff79a4254f2639623879d83d97d72f0d51101a05165b6bb9af522 SHA512 2f43d33b6eee2a571269c1a20cfbf0ce6a189522ca4b22826b6140991b4657869afca7800dab145a18583c39f101054a8d6258ca0a58a578dc65d16c7a993636 AUX libvirtd.service.conf 401 BLAKE2B edd74238f9639ead1d776142e6231d87f39cb6670e72cec9c1ac44f58fcfbc63e72944d2d243a1aabe48b9acc6bb1c52189161a79e3d42603c87a270027c42f8 SHA512 27adbd104ea87e51d423b057392a0c6726692ad8ee9723f73dc4bfe8eb54069725d64883434424ba810d36992d404d1ba4afe6bcefb866d3d3d92dfd161c2b32 AUX libvirtd.tmpfiles.conf 36 BLAKE2B fa0e1dac4117dcb2a2e826c82c4c63e20156db47abf4088167484f1f3149a4998840cf1aba745621851d7e2653df5c7f7268d8d61be3a3731ea053a88f35c13b SHA512 2b1c3c64dd6fa03d8c2ae24e7ce4aa7d754913214542a68a4e99f10fbc251fd23ee26e297a957d7b4b70eec8ef028c41fc915da3a85fbbd16143bb92d1de3aed AUX virtlockd.init-r1 563 BLAKE2B b8e1d2c29570480b477f14c25042f227093474710f1d9d445472e512415f73c574657a1eaddea892d15a838eb7fce2a0f0dc067dadfd393199640185606bff1f SHA512 524f33171cdbee8a36b341938bf5d45da88893452ed83fbe0fbcfd5191ea6127f3364fa36d6222c37dede1e0c3f195c3a68a30809fb6b11b5ce750ca297be629 AUX virtlogd.init-r1 562 BLAKE2B 52b0dce0d3dd856d6cbffbe37e721d8f053d53a4802ce3a1e83ab78a8e0920d66436d9cf5e6d6e4fde13debb90e0b61355befd9e67d6546967f19f8c26736dbd SHA512 98e705fbd08f0f8342d33762c98786ca0690f617be27ede5ddf2c5053eeae3f441403415f4c961a7f388dc844075d21515a8ffd62d1654d1049e06910bb1c7b9 -DIST libvirt-4.9.0.tar.xz 14744184 BLAKE2B 03ddefc8f505c8688ad506b81ea9b37ee085e4c9c429834c6b6f338981bfc3c6034a5455a79feca604fb36e658de766ee6104aeed690c682ae596d10eb5632a9 SHA512 3cfada940f9de6cc4b0504e089f41aa03d9986f0163344dd3b3ab8e6c4eb556a56996dc8f24bca913b036862c75b256628ea9ab7674ef0a57b87f47c58689e90 DIST libvirt-5.2.0.tar.xz 14992888 BLAKE2B d68aedb634a70063a116e112689f252d3fc2fe5369a4cdde8cacd392e806203bf277406bb10c751bae27f34f27a38355fde84573b6221fc4843393f9ae60ae5c SHA512 378dc1552263cce746117487abc0a1f3411e5be149331717158ba23825734ceae7ca474290264d71de798fdd089ad9672026bcb242fa5b3aef87294284d06f04 -EBUILD libvirt-4.9.0.ebuild 9502 BLAKE2B 8ac78022b1fad4a0c6767554e0ca82854b886e2d3c6e4644bdd947e81f2df14fd54dd166b37054edcf115bdb8be61607a12189aed0376a7a68528702934a1f71 SHA512 a9c22d7651dd75fc3d6dd1caf00c429aa1c7104094a9ac199283da5c7c8108cef83f0a5f74b2215706ffcc10a62b1a9396d5faa9c0ebbe21745cbeed195f1cee +DIST libvirt-5.4.0.tar.xz 12346896 BLAKE2B 28efa8ddc1b3262cf195bb114d3fad8307e7b4b4578a8dca05c03e36c85c7bffb4a4f6c73f89d156fc5b046f8ff7f27950dc5cadfd944e9f3c1b854ad03f328c SHA512 03fa932d041d147cab79eab200bb33f8db72579be72ec7cbff3305f4a8d574835a80f1b99936eddf67f83d21cc5567f45c86e555209de6cd702f43f91197cfd0 +DIST libvirt-5.5.0.tar.xz 12930224 BLAKE2B 4add0b727e4754bd1b2b4e9020942b17872533737e496ddf7976bf86a0fd3bcfbebd83387a8f3bab8dcc9afb05755b245e55682ed17d6094085d3dc96d94eefe SHA512 47923aaca605fb43a53238ac535abc1f88f73435336b8f3e88cb01df277ed205d99c586991e523aa32b50c832a0a7c949ab5f84dc78eb8d18a4951cfc791448d EBUILD libvirt-5.2.0-r2.ebuild 9781 BLAKE2B 0765e5f6de150cb2fbd9366c4178785219a869bb2f48f212e216cfdefb79a84465302d5a3a5ae7b9825d046cdc70a72c808d0b9914cd2458632332b0919e532d SHA512 b8345ace2a7828bb0e29e64e21edd6618ea96c3faa350209a8ebb37dc0093103c0e8d598a40cc9327a0c8714fea257fea1a5fd2442882ee4fef51744ed3a94ac -EBUILD libvirt-9999.ebuild 9732 BLAKE2B ce063a20315cdde7113a4af99ef50c8e00377968a337f34eae53e3f4aa065569cbb23e65e0cef97b140e01950b7896b4512ae985c974d1ae88d23b73ede26dbe SHA512 2ff9360b5c201dfeb776170207d68a88a4f7606d73f2b5a3cad96817c7690a2c6de73646fe9b26bb6f0d575a9ba91ff9661edac91ed572407aae01e0a114afe4 -MISC metadata.xml 3857 BLAKE2B bc5dc60897ca70f3a586c947784dec74cf7daa35909836955dc52a442668b08323398473f9df8be46f2819e762638dcfcb646a8fb7ee768210f27584fb91e3f6 SHA512 33274100068f99fe0c69546e81fb47517818adf2991529533b9bacfc6bcb23ee08ae00b9d0a7a7ff47cb920d2ff1e24b5fc788a3533a89ff477ab04dad0194fc +EBUILD libvirt-5.2.0-r3.ebuild 9774 BLAKE2B 099ab0dc39f879dc43d94eb82b093d1d41278b3781024dc1e9460adba80aaf444dbabee8b8f786dbb5ff584a6dd82c6d0ca8d775558e10084c70c2b45c6d4a81 SHA512 7900b0475f7efd1d333d5374d95af90ad8815ef29af93cbf0413b28193a877421e1f5be4b8adb3fdfd2485903d576590a59eddf31f829317844ec24ce54a6882 +EBUILD libvirt-5.4.0-r1.ebuild 9760 BLAKE2B 5763c8387ce0e146db256dd188c48d53f66798e7db48242000337c02b57956e43d8e48fedca3dca67cd0075f8b480b846a95be7146ea97fb2752b03b70341b82 SHA512 5158436ddebbb408d7bb654824cc23345f2e61db162ce1111703909916cd397d78ca3f559dc116dfc3230bb77ae6952b130cbd8966c3bd62c61651830d93bd3b +EBUILD libvirt-5.5.0-r1.ebuild 9507 BLAKE2B 60e4418bc396243692528015ffbb0a17b0056cc64894e276c467f54f199f9c4beb9a8b6b0315253766dfa7f8fc3faa684ab7d83109ac001a55d62751e04e9443 SHA512 b8f2e594168c69f2bd5dff93680ffdccfb33b5e1803e3a6bcf126dff36630be99c93b3e023b6d2d5777591b28283cf62ae48ae2d12147aa2689c9bb3c41730e5 +EBUILD libvirt-9999.ebuild 9507 BLAKE2B 60e4418bc396243692528015ffbb0a17b0056cc64894e276c467f54f199f9c4beb9a8b6b0315253766dfa7f8fc3faa684ab7d83109ac001a55d62751e04e9443 SHA512 b8f2e594168c69f2bd5dff93680ffdccfb33b5e1803e3a6bcf126dff36630be99c93b3e023b6d2d5777591b28283cf62ae48ae2d12147aa2689c9bb3c41730e5 +MISC metadata.xml 3858 BLAKE2B 7f1d686cbc66544ff5ab20db52cd8a77ebb92adb0c4d01c44012c720da2c3de8aa8a2ba0f125ab90e5994f7264a3cea619cb2eb6e56338645f1ba5debd9c4585 SHA512 e97d6beba9f2f6beed28c50d06b34508a841b3e916ebfd535350e2f0c22fed40098891b4d23f041f5935ca51f671f02d3488d9d0c675e2c98640a03ae30ddf88 diff --git a/app-emulation/libvirt/files/libvirt-3.10.0-r2-fix_paths_for_apparmor.patch b/app-emulation/libvirt/files/libvirt-3.10.0-r2-fix_paths_for_apparmor.patch deleted file mode 100644 index f1360ae4e4e9..000000000000 --- a/app-emulation/libvirt/files/libvirt-3.10.0-r2-fix_paths_for_apparmor.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/examples/Makefile.am b/examples/Makefile.am -index ef2f79db3..d8cdb9b3f 100644 ---- a/examples/Makefile.am -+++ b/examples/Makefile.am -@@ -23,7 +23,7 @@ EXTRA_DIST = \ - apparmor/TEMPLATE.lxc \ - apparmor/libvirt-qemu \ - apparmor/libvirt-lxc \ -- apparmor/usr.lib.libvirt.virt-aa-helper \ -+ apparmor/usr.libexec.virt-aa-helper \ - apparmor/usr.sbin.libvirtd \ - lxcconvert/virt-lxc-convert \ - polkit/libvirt-acl.rules \ -@@ -70,7 +70,7 @@ admin_logging_SOURCES = admin/logging.c - if WITH_APPARMOR_PROFILES - apparmordir = $(sysconfdir)/apparmor.d/ - apparmor_DATA = \ -- apparmor/usr.lib.libvirt.virt-aa-helper \ -+ apparmor/usr.libexec.virt-aa-helper \ - apparmor/usr.sbin.libvirtd \ - $(NULL) - -diff --git a/examples/apparmor/libvirt-qemu b/examples/apparmor/libvirt-qemu -index d4fad85a1..0b22009e5 100644 ---- a/examples/apparmor/libvirt-qemu -+++ b/examples/apparmor/libvirt-qemu -@@ -86,6 +86,8 @@ - /usr/share/AAVMF/** r, - /usr/share/qemu-efi/** r, - /usr/share/slof/** r, -+ /usr/share/seavgabios/** r, -+ /usr/share/edk2-ovmf/** r, - - # access PKI infrastructure - /etc/pki/libvirt-vnc/** r, -diff --git a/examples/apparmor/usr.lib.libvirt.virt-aa-helper b/examples/apparmor/usr.libexec.virt-aa-helper -similarity index 92% -rename from examples/apparmor/usr.lib.libvirt.virt-aa-helper -rename to examples/apparmor/usr.libexec.virt-aa-helper -index bd6181d00..4086f140a 100644 ---- a/examples/apparmor/usr.lib.libvirt.virt-aa-helper -+++ b/examples/apparmor/usr.libexec.virt-aa-helper -@@ -1,7 +1,7 @@ - # Last Modified: Mon Apr 5 15:10:27 2010 - #include - --profile virt-aa-helper /usr/{lib,lib64}/libvirt/virt-aa-helper { -+profile virt-aa-helper /usr/libexec/virt-aa-helper { - #include - - # needed for searching directories -@@ -32,7 +32,7 @@ profile virt-aa-helper /usr/{lib,lib64}/libvirt/virt-aa-helper { - deny /dev/mapper/ r, - deny /dev/mapper/* r, - -- /usr/{lib,lib64}/libvirt/virt-aa-helper mr, -+ /usr/libexec/virt-aa-helper mr, - /{usr/,}sbin/apparmor_parser Ux, - - /etc/apparmor.d/libvirt/* r, -diff --git a/examples/apparmor/usr.sbin.libvirtd b/examples/apparmor/usr.sbin.libvirtd -index 8d61d154e..656a5595b 100644 ---- a/examples/apparmor/usr.sbin.libvirtd -+++ b/examples/apparmor/usr.sbin.libvirtd -@@ -84,8 +84,10 @@ - audit deny /sys/kernel/security/apparmor/.* rwxl, - /sys/kernel/security/apparmor/profiles r, - /usr/{lib,lib64}/libvirt/* PUxr, -- /usr/{lib,lib64}/libvirt/libvirt_parthelper ix, -- /usr/{lib,lib64}/libvirt/libvirt_iohelper ix, -+ /usr/libexec/virt-aa-helper PUxr, -+ /usr/libexec/libvirt_lxc PUxr, -+ /usr/libexec/libvirt_parthelper ix, -+ /usr/libexec/libvirt_iohelper ix, - /etc/libvirt/hooks/** rmix, - /etc/xen/scripts/** rmix, - diff --git a/app-emulation/libvirt/files/libvirt-4.5.0-do_not_use_sysconf.patch b/app-emulation/libvirt/files/libvirt-4.5.0-do_not_use_sysconf.patch deleted file mode 100644 index 3e430cba1d2f..000000000000 --- a/app-emulation/libvirt/files/libvirt-4.5.0-do_not_use_sysconf.patch +++ /dev/null @@ -1,216 +0,0 @@ -From a365e2d5b4af1ab2be743773412fe265579a9a0b Mon Sep 17 00:00:00 2001 -Message-Id: -From: Michal Privoznik -Date: Tue, 26 Jun 2018 06:51:06 +0200 -Subject: [PATCH] gentoo: do not use sysconf - -Signed-off-by: Michal Privoznik ---- - src/Makefile.am | 29 ++++++----------------------- - src/locking/virtlockd.service.in | 3 +-- - src/logging/virtlogd.service.in | 3 +-- - src/remote/libvirtd.service.in | 3 +-- - tools/Makefile.am | 17 ++++------------- - tools/libvirt-guests.service.in | 2 +- - tools/libvirt-guests.sysconf | 7 +++++++ - 7 files changed, 21 insertions(+), 43 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index db8c8ebd1a..63d7a9ca46 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -757,23 +757,6 @@ endif WITH_SETUID_RPC_CLIENT - - EXTRA_DIST += $(SYSCONF_FILES) - --install-sysconfig: -- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig -- for f in $(SYSCONF_FILES:%.sysconf=%) ; \ -- do \ -- tgt=`basename $$f`; \ -- $(INSTALL_DATA) $(srcdir)/$$f.sysconf \ -- $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \ -- done -- --uninstall-sysconfig: -- for f in $(SYSCONF_FILES:%.sysconf=%) ; \ -- do \ -- tgt=`basename $$f`; \ -- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \ -- done -- rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : -- - SYSVINIT_FILES_IN += \ - locking/virtlockd.init.in \ - $(NULL) -@@ -814,14 +797,14 @@ uninstall-logrotate: - endif ! WITH_LIBVIRTD - - if LIBVIRT_INIT_SCRIPT_RED_HAT --install-init:: $(SYSVINIT_FILES) install-sysconfig -+install-init:: $(SYSVINIT_FILES) - $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d - for f in $(SYSVINIT_FILES:%.init=%) ; \ - do \ - $(INSTALL_SCRIPT) $$f.init $(DESTDIR)$(sysconfdir)/rc.d/init.d/$$f; \ - done - --uninstall-init:: uninstall-sysconfig -+uninstall-init:: - rm -f $(SYSVINIT_FILES:%.init=$(DESTDIR)$(sysconfdir)/rc.d/init.d/%) - rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || : - -@@ -859,14 +842,14 @@ SYSTEMD_UNIT_FILES = $(notdir $(SYSTEMD_UNIT_FILES_IN:%.in=%)) - BUILT_SOURCES += $(SYSTEMD_UNIT_FILES) - DISTCLEANFILES += $(SYSTEMD_UNIT_FILES) - --install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig -+install-systemd: $(SYSTEMD_UNIT_FILES) - $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) - for f in $(SYSTEMD_UNIT_FILES); \ - do \ - $(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \ - done - --uninstall-systemd: uninstall-sysconfig -+uninstall-systemd: - rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%) - rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || : - else ! LIBVIRT_INIT_SCRIPT_SYSTEMD -@@ -884,7 +867,7 @@ EXTRA_DIST += $(UPSTART_FILES) - if WITH_LIBVIRTD - if LIBVIRT_INIT_SCRIPT_UPSTART - --install-upstart: install-sysconfig -+install-upstart: - $(MKDIR_P) $(DESTDIR)$(sysconfdir)/event.d - for f in $(UPSTART_FILES:%.upstart=%); \ - do \ -@@ -893,7 +876,7 @@ install-upstart: install-sysconfig - $(DESTDIR)$(sysconfdir)/event.d/$$tgt ; \ - done - --uninstall-upstart: uninstall-sysconfig -+uninstall-upstart: - for f in $(UPSTART_FILES:%.upstart=%); \ - do \ - tgt=`basename $$f` ; \ -diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in -index 3c9d587032..2449b201d9 100644 ---- a/src/locking/virtlockd.service.in -+++ b/src/locking/virtlockd.service.in -@@ -7,8 +7,7 @@ Documentation=man:virtlockd(8) - Documentation=https://libvirt.org - - [Service] --EnvironmentFile=-/etc/sysconfig/virtlockd --ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS -+ExecStart=@sbindir@/virtlockd - ExecReload=/bin/kill -USR1 $MAINPID - # Loosing the locks is a really bad thing that will - # cause the machine to be fenced (rebooted), so make -diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in -index 3d9ae36150..43736191d5 100644 ---- a/src/logging/virtlogd.service.in -+++ b/src/logging/virtlogd.service.in -@@ -7,8 +7,7 @@ Documentation=man:virtlogd(8) - Documentation=https://libvirt.org - - [Service] --EnvironmentFile=-/etc/sysconfig/virtlogd --ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS -+ExecStart=@sbindir@/virtlogd - ExecReload=/bin/kill -USR1 $MAINPID - # Loosing the logs is a really bad thing that will - # cause the machine to be fenced (rebooted), so make -diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in -index 7f689e08a8..239beeced9 100644 ---- a/src/remote/libvirtd.service.in -+++ b/src/remote/libvirtd.service.in -@@ -22,8 +22,7 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-/etc/sysconfig/libvirtd --ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS -+ExecStart=@sbindir@/libvirtd - ExecReload=/bin/kill -HUP $MAINPID - KillMode=process - Restart=on-failure -diff --git a/tools/Makefile.am b/tools/Makefile.am -index 1452d984a0..cef08741cb 100644 ---- a/tools/Makefile.am -+++ b/tools/Makefile.am -@@ -336,15 +336,6 @@ install-data-local: install-init install-systemd install-nss \ - uninstall-local: uninstall-init uninstall-systemd uninstall-nss \ - uninstall-bash-completion - --install-sysconfig: -- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig -- $(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \ -- $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests -- --uninstall-sysconfig: -- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests -- rmdir $(DESTDIR)$(sysconfdir)/sysconfig ||: -- - EXTRA_DIST += libvirt-guests.sh.in libvirt-guests.init.in - - install-initscript: libvirt-guests.init -@@ -359,8 +350,8 @@ uninstall-initscript: - - if LIBVIRT_INIT_SCRIPT_RED_HAT - BUILT_SOURCES += libvirt-guests.init --install-init: install-sysconfig install-initscript --uninstall-init: uninstall-sysconfig uninstall-initscript -+install-init: install-initscript -+uninstall-init: uninstall-initscript - else ! LIBVIRT_INIT_SCRIPT_RED_HAT - install-init: - uninstall-init: -@@ -391,12 +382,12 @@ EXTRA_DIST += libvirt-guests.service.in - SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system - - if LIBVIRT_INIT_SCRIPT_SYSTEMD --install-systemd: libvirt-guests.service install-sysconfig libvirt-guests.sh -+install-systemd: libvirt-guests.service libvirt-guests.sh - $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) - $(INSTALL_DATA) libvirt-guests.service \ - $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service - --uninstall-systemd: uninstall-sysconfig -+uninstall-systemd: - rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service - rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) ||: - -diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in -index 491ca62138..f0f417bffb 100644 ---- a/tools/libvirt-guests.service.in -+++ b/tools/libvirt-guests.service.in -@@ -10,7 +10,7 @@ Documentation=man:libvirtd(8) - Documentation=https://libvirt.org - - [Service] --EnvironmentFile=-/etc/sysconfig/libvirt-guests -+EnvironmentFile=-/etc/libvirt/libvirt-guests.conf - # Hack just call traditional service until we factor - # out the code - ExecStart=@libexecdir@/libvirt-guests.sh start -diff --git a/tools/libvirt-guests.sysconf b/tools/libvirt-guests.sysconf -index 669b046507..45b0b9ea46 100644 ---- a/tools/libvirt-guests.sysconf -+++ b/tools/libvirt-guests.sysconf -@@ -1,3 +1,10 @@ -+# -+# Warning: This configuration file is only sourced by the systemd -+# libvirt-guests.service unit. The coresponding openrc facility is in -+# /etc/init.d/libvirtd and /etc/conf.d/libvirtd -+# -+ -+ - # URIs to check for running guests - # example: URIS='default xen:///system vbox+tcp://host/system lxc:///system' - #URIS=default --- -2.16.4 - diff --git a/app-emulation/libvirt/files/libvirt-5.0.0-fix-paths-for-apparmor.patch b/app-emulation/libvirt/files/libvirt-5.0.0-fix-paths-for-apparmor.patch index ca9f952a8234..866c6357b6e4 100644 --- a/app-emulation/libvirt/files/libvirt-5.0.0-fix-paths-for-apparmor.patch +++ b/app-emulation/libvirt/files/libvirt-5.0.0-fix-paths-for-apparmor.patch @@ -79,7 +79,7 @@ index de9436872c..99ab4ea527 100644 #include # needed for searching directories -@@ -33,7 +33,7 @@ profile virt-aa-helper /usr/{lib,lib64}/libvirt/virt-aa-helper { +@@ -36,7 +36,7 @@ deny /dev/mapper/ r, deny /dev/mapper/* r, @@ -88,6 +88,13 @@ index de9436872c..99ab4ea527 100644 /{usr/,}sbin/apparmor_parser Ux, /etc/apparmor.d/libvirt/* r, +@@ -66,5 +66,5 @@ + /**.[iI][sS][oO] r, + /**/disk{,.*} r, + +- #include ++ #include + } diff --git a/src/security/apparmor/usr.sbin.libvirtd b/src/security/apparmor/usr.sbin.libvirtd index f0ffc53008..8a402bd6ec 100644 --- a/src/security/apparmor/usr.sbin.libvirtd @@ -107,4 +114,3 @@ index f0ffc53008..8a402bd6ec 100644 -- 2.19.2 - diff --git a/app-emulation/libvirt/files/libvirt-5.2.0-fix-paths-for-apparmor.patch b/app-emulation/libvirt/files/libvirt-5.2.0-fix-paths-for-apparmor.patch new file mode 100644 index 000000000000..866c6357b6e4 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-5.2.0-fix-paths-for-apparmor.patch @@ -0,0 +1,116 @@ +From 563706143779166624812b3faf498d869f5dd383 Mon Sep 17 00:00:00 2001 +Message-Id: <563706143779166624812b3faf498d869f5dd383.1547196492.git.mprivozn@redhat.com> +From: Michal Privoznik +Date: Fri, 11 Jan 2019 09:41:06 +0100 +Subject: [PATCH] gentoo: fix paths for apparmor + +Signed-off-by: Michal Privoznik +--- + src/security/Makefile.inc.am | 10 +++++----- + src/security/apparmor/libvirt-qemu | 2 ++ + ...bvirt.virt-aa-helper => usr.libexec.virt-aa-helper} | 4 ++-- + src/security/apparmor/usr.sbin.libvirtd | 6 ++++-- + 4 files changed, 13 insertions(+), 9 deletions(-) + rename src/security/apparmor/{usr.lib.libvirt.virt-aa-helper => usr.libexec.virt-aa-helper} (93%) + +diff --git a/src/security/Makefile.inc.am b/src/security/Makefile.inc.am +index b24cdfd083..ae8e979b84 100644 +--- a/src/security/Makefile.inc.am ++++ b/src/security/Makefile.inc.am +@@ -36,7 +36,7 @@ EXTRA_DIST += \ + security/apparmor/TEMPLATE.lxc \ + security/apparmor/libvirt-qemu \ + security/apparmor/libvirt-lxc \ +- security/apparmor/usr.lib.libvirt.virt-aa-helper \ ++ security/apparmor/usr.libexec.virt-aa-helper \ + security/apparmor/usr.sbin.libvirtd \ + $(NULL) + +@@ -90,7 +90,7 @@ endif WITH_SECDRIVER_APPARMOR + if WITH_APPARMOR_PROFILES + apparmordir = $(sysconfdir)/apparmor.d/ + apparmor_DATA = \ +- security/apparmor/usr.lib.libvirt.virt-aa-helper \ ++ security/apparmor/usr.libexec.virt-aa-helper \ + security/apparmor/usr.sbin.libvirtd \ + $(NULL) + +@@ -110,11 +110,11 @@ APPARMOR_LOCAL_DIR = "$(DESTDIR)$(apparmordir)/local" + install-apparmor-local: + $(MKDIR_P) "$(APPARMOR_LOCAL_DIR)" + echo "# Site-specific additions and overrides for \ +- 'usr.lib.libvirt.virt-aa-helper'" \ +- >"$(APPARMOR_LOCAL_DIR)/usr.lib.libvirt.virt-aa-helper" ++ 'usr.libexec.virt-aa-helper'" \ ++ >"$(APPARMOR_LOCAL_DIR)/usr.libexec.virt-aa-helper" + + uninstall-apparmor-local: +- rm -f "$(APPARMOR_LOCAL_DIR)/usr.lib.libvirt.virt-aa-helper" ++ rm -f "$(APPARMOR_LOCAL_DIR)/usr.libexec.virt-aa-helper" + rmdir "$(APPARMOR_LOCAL_DIR)" || : + + INSTALL_DATA_LOCAL += install-apparmor-local +diff --git a/src/security/apparmor/libvirt-qemu b/src/security/apparmor/libvirt-qemu +index eaa5167525..9be50bbbe0 100644 +--- a/src/security/apparmor/libvirt-qemu ++++ b/src/security/apparmor/libvirt-qemu +@@ -87,6 +87,8 @@ + /usr/share/AAVMF/** r, + /usr/share/qemu-efi/** r, + /usr/share/slof/** r, ++ /usr/share/seavgabios/** r, ++ /usr/share/edk2-ovmf/** r, + + # pki for libvirt-vnc and libvirt-spice (LP: #901272, #1690140) + /etc/pki/CA/ r, +diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper b/src/security/apparmor/usr.libexec.virt-aa-helper +similarity index 93% +rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper +rename to src/security/apparmor/usr.libexec.virt-aa-helper +index de9436872c..99ab4ea527 100644 +--- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper ++++ b/src/security/apparmor/usr.libexec.virt-aa-helper +@@ -1,7 +1,7 @@ + # Last Modified: Mon Apr 5 15:10:27 2010 + #include + +-profile virt-aa-helper /usr/{lib,lib64}/libvirt/virt-aa-helper { ++profile virt-aa-helper /usr/libexec/virt-aa-helper { + #include + + # needed for searching directories +@@ -36,7 +36,7 @@ + deny /dev/mapper/ r, + deny /dev/mapper/* r, + +- /usr/{lib,lib64}/libvirt/virt-aa-helper mr, ++ /usr/libexec/virt-aa-helper mr, + /{usr/,}sbin/apparmor_parser Ux, + + /etc/apparmor.d/libvirt/* r, +@@ -66,5 +66,5 @@ + /**.[iI][sS][oO] r, + /**/disk{,.*} r, + +- #include ++ #include + } +diff --git a/src/security/apparmor/usr.sbin.libvirtd b/src/security/apparmor/usr.sbin.libvirtd +index f0ffc53008..8a402bd6ec 100644 +--- a/src/security/apparmor/usr.sbin.libvirtd ++++ b/src/security/apparmor/usr.sbin.libvirtd +@@ -98,8 +98,10 @@ + audit deny /sys/kernel/security/apparmor/.* rwxl, + /sys/kernel/security/apparmor/profiles r, + /usr/{lib,lib64}/libvirt/* PUxr, +- /usr/{lib,lib64}/libvirt/libvirt_parthelper ix, +- /usr/{lib,lib64}/libvirt/libvirt_iohelper ix, ++ /usr/libexec/virt-aa-helper PUxr, ++ /usr/libexec/libvirt_lxc PUxr, ++ /usr/libexec/libvirt_parthelper ix, ++ /usr/libexec/libvirt_iohelper ix, + /etc/libvirt/hooks/** rmix, + /etc/xen/scripts/** rmix, + +-- +2.19.2 diff --git a/app-emulation/libvirt/files/libvirt-guests.init-r4 b/app-emulation/libvirt/files/libvirt-guests.init-r4 new file mode 100644 index 000000000000..b29f04c24a54 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-guests.init-r4 @@ -0,0 +1,237 @@ +#!/sbin/openrc-run + +description="Virtual Machine Management (libvirt) Guests" + +depend() { + use libvirtd +} + +# set the default to QEMU +[ -z "${LIBVIRT_URIS}" ] && LIBVIRT_URIS="qemu:///system" + +# default to suspending the VM via managedsave +case "${LIBVIRT_SHUTDOWN}" in + managedsave|shutdown|destroy) ;; + *) LIBVIRT_SHUTDOWN="managedsave" ;; +esac + +# default to 500 seconds +[ -z ${LIBVIRT_MAXWAIT} ] && LIBVIRT_MAXWAIT=500 + +gueststatefile="/var/lib/libvirt/libvirt-guests.state" +netstatefile="/var/lib/libvirt/libvirt-net.state" + +do_virsh() { + local hvuri=$1 + shift + + # if unset, default to qemu + [ -z ${hvuri} ] && hvuri="qemu:///system" + # if only qemu was supplied then correct the value + [ "xqemu" = x${hvuri} ] && hvuri="qemu:///system" + + # Silence errors because virsh always throws an error about + # not finding the hypervisor version when connecting to libvirtd + # lastly strip the blank line at the end + LC_ALL=C virsh -c ${hvuri} "$@" 2>/dev/null | head -n -1 +} + +libvirtd_dom_list() { + # Only work with domains by their UUIDs + local hvuri=$1 + shift + + # The grep is to remove dom0 for xen domains. Otherwise we never hit 0 + do_virsh "${hvuri}" list --uuid $@ | grep -v 00000000-0000-0000-0000-000000000000 +} + +libvirtd_dom_count() { + local hvuri=$1 + shift + + libvirtd_dom_list "${hvuri}" $@ | wc -l +} + +libvirtd_net_list() { + # Only work with networks by their UUIDs + local hvuri=$1 + shift + + do_virsh "${hvuri}" net-list --uuid $@ +} + +libvirtd_net_count() { + local hvuri=$1 + shift + + libvirtd_net_list "${hvuri}" $@ | wc -l +} + +libvirtd_dom_stop() { + # stops all persistent or transient domains for a given URI + # $1 - uri + # $2 - persisent/transient + + local uri=$1 + local persist=$2 + local shutdown_type=${LIBVIRT_SHUTDOWN} + local counter=${LIBVIRT_MAXWAIT} + local dom_name= + local dom_as= + local dom_ids= + local uuid= + local dom_count= + + [ "${persist}" = "--transient" ] && shutdown_type="shutdown" + [ -n "${counter}" ] || counter=500 + + einfo " Shutting down domain(s) ..." + + # grab all persistent or transient domains running + dom_ids=$(libvirtd_dom_list ${uri} ${persist}) + + for uuid in ${dom_ids}; do + # Get the name + dom_name=$(do_virsh ${uri} domname ${uuid}) + einfo " ${dom_name}" + # Get autostart state + dom_as=$(do_virsh ${uri} dominfo ${uuid} | \ + awk '$1 == "Autostart:" { print $2 }') + + if [ "${persist}" = "--persistent" ]; then + # Save our running state only if LIBVIRT_IGNORE_AUTOSTART != yes + if [ "x${LIBVIRT_IGNORE_AUTOSTART}" = "xyes" ] && \ + [ ${dom_as} = "enabled" ]; then + : + else + echo "${uri} ${uuid}" >> ${gueststatefile} + fi + + fi + + # Now let's stop it + do_virsh "${uri}" ${shutdown_type} ${uuid} > /dev/null + + done + + dom_count="$(libvirtd_dom_count ${uri} ${persist})" + while [ ${dom_count} -gt 0 ] && [ ${counter} -gt 0 ] ; do + dom_count="$(libvirtd_dom_count ${uri} ${persist})" + sleep 1 + if [ "${shutdown_type}" = "shutdown" ]; then + counter=$((${counter} - 1)) + fi + printf "." + done + + if [ "${shutdown_type}" = "shutdown" ]; then + # grab all domains still running + dom_ids=$(libvirtd_dom_list ${uri} ${persist}) + for uuid in ${dom_ids}; do + dom_name=$(do_virsh ${uri} domname ${uuid}) + eerror " ${dom_name} forcibly stopped" + do_virsh "${uri}" destroy ${uuid} > /dev/null + done + fi +} + +libvirtd_net_stop() { + # stops all persistent or transient domains for a given URI + # $1 - uri + # $2 - persisent/transient + + local uri=$1 + local persist=$2 + local uuid= + local net_name= + + if [ "${LIBVIRT_NET_SHUTDOWN}" != "no" ]; then + + einfo " Shutting down network(s):" + for uuid in $(libvirtd_net_list ${uri} ${persist}); do + net_name=$(do_virsh ${uri} net-name ${uuid}) + einfo " ${net_name}" + + if [ "${persist}" = "--persistent" ]; then + # Save our running state + echo "${uri} ${uuid}" >> ${netstatefile} + + fi + + # Actually stop the network + do_virsh qemu net-destroy ${uuid} > /dev/null + done + + fi +} + +start() { + local uri= + local uuid= + local name= + + for uri in ${LIBVIRT_URIS}; do + do_virsh "${uri}" connect + if [ $? -ne 0 ]; then + eerror "Failed to connect to '${uri}'. Domains may not start." + fi + done + + [ ! -e "${netstatefile}" ] && touch "${netstatefile}" + [ ! -e "${gueststatefile}" ] && touch "${gueststatefile}" + + # if the user didn't want to start any guests up then respect their wish + [ "x${LIBVIRT_START}" = "xno" ] && return 0 + + # start networks + ebegin "Starting libvirt networks" + while read -r uri uuid + do + # ignore trash + [ -z "${uri}" ] || [ -z "${uuid}" ] && continue + + name=$(do_virsh "${uri}" net-name ${uuid}) + einfo " ${name}" + do_virsh "${uri}" net-start ${uuid} > /dev/null + done <"${netstatefile}" + eend 0 + + # start domains + ebegin "Starting libvirt domains" + while read -r uri uuid + do + # ignore trash + [ -z "${uri}" ] || [ -z "${uuid}" ] && continue + + name=$(do_virsh "${uri}" domname ${uuid}) + einfo " ${name}" + do_virsh "${uri}" start ${uuid} > /dev/null + do_virsh "${uri}" domtime --sync ${uuid} > /dev/null + done <"${gueststatefile}" + eend 0 +} + +stop() { + local counter= + local dom_name= + local net_name= + local dom_ids= + local uuid= + local dom_count= + + rm -f "${gueststatefile}" + [ $? -ne 0 ] && eerror "Unable to save domain state" + rm -f "${netstatefile}" + [ $? -ne 0 ] && eerror "Unable to save net state" + + for uri in ${LIBVIRT_URIS}; do + einfo "Stopping libvirt domains and networks for ${uri}" + + libvirtd_dom_stop "${uri}" "--persistent" + libvirtd_dom_stop "${uri}" "--transient" + libvirtd_net_stop "${uri}" "--persistent" + libvirtd_net_stop "${uri}" "--transient" + + einfo "Done stopping domains and networks for ${uri}" + done +} diff --git a/app-emulation/libvirt/files/libvirtd.init-r16 b/app-emulation/libvirt/files/libvirtd.init-r16 deleted file mode 100644 index 2a3fb52696ab..000000000000 --- a/app-emulation/libvirt/files/libvirtd.init-r16 +++ /dev/null @@ -1,34 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -description="Virtual Machine Management daemon (libvirt)" - -LIBVIRTD_OPTS=${LIBVIRTD_OPTS:-"${LIBVIRTD_OPTS}"} -LIBVIRTD_TIMEOUT=${LIBVIRTD_TERMTIMEOUT:-"TERM/25/KILL/5"} - -command="/usr/sbin/libvirtd" -command_args="-d ${LIBVIRTD_OPTS}" -start_stop_daemon_args="--env KRB5_KTNAME=/etc/libvirt/krb5.tab" -pidfile="/run/libvirtd.pid" -retry="${LIBVIRTD_TERMTIMEOUT}" - -depend() { - need virtlogd - use dbus virtlockd - after ntp-client ntpd nfs nfsmount portmap rpc.statd iptables ip6tables ebtables corosync sanlock cgconfig xenconsoled - USE_FLAG_FIREWALLD - USE_FLAG_AVAHI - USE_FLAG_ISCSI - USE_FLAG_RBD -} - -start_pre() { - # Test configuration directories in /etc/libvirt/ to be either not - # present or a directory, i.e. not a regular file, bug #532892 - - checkpath --directory /etc/libvirt/lxc || return 1 - checkpath --directory /etc/libvirt/nwfilter || return 1 - checkpath --directory /etc/libvirt/qemu || return 1 - checkpath --directory /etc/libvirt/storage || return 1 -} diff --git a/app-emulation/libvirt/files/libvirtd.init-r18 b/app-emulation/libvirt/files/libvirtd.init-r18 new file mode 100644 index 000000000000..5e9efc83e2f9 --- /dev/null +++ b/app-emulation/libvirt/files/libvirtd.init-r18 @@ -0,0 +1,33 @@ +#!/sbin/openrc-run +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Virtual Machine Management daemon (libvirt)" + +LIBVIRTD_OPTS=${LIBVIRTD_OPTS:-"${LIBVIRTD_OPTS}"} +LIBVIRTD_TIMEOUT=${LIBVIRTD_TERMTIMEOUT:-"TERM/25/KILL/5"} + +command="/usr/sbin/libvirtd" +command_args="-d ${LIBVIRTD_OPTS}" +start_stop_daemon_args="--env KRB5_KTNAME=/etc/libvirt/krb5.tab" +pidfile="/run/libvirtd.pid" +retry="${LIBVIRTD_TERMTIMEOUT}" + +depend() { + need virtlogd + use ceph dbus iscsid virtlockd + after cgconfig corosync ebtables iptables ip6tables nfs nfsmount ntp-client ntpdportmap rpc.statd sanlock xenconsoled + USE_FLAG_FIREWALLD +} + +start_pre() { + # Test configuration directories in /etc/libvirt/ to be either not + # present or a directory, i.e. not a regular file, bug #532892 + + checkpath --directory /etc/libvirt/lxc || return 1 + checkpath --directory /etc/libvirt/nwfilter || return 1 + [ -L /etc/libvirt/qemu ] || + checkpath --directory /etc/libvirt/qemu || return 1 + [ -L /etc/libvirt/storage ] || + checkpath --directory /etc/libvirt/storage || return 1 +} diff --git a/app-emulation/libvirt/libvirt-4.9.0.ebuild b/app-emulation/libvirt/libvirt-4.9.0.ebuild deleted file mode 100644 index 1e923491c2bd..000000000000 --- a/app-emulation/libvirt/libvirt-4.9.0.ebuild +++ /dev/null @@ -1,379 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python3_{5,6,7} ) - -inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd user - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" - SRC_URI="" - KEYWORDS="amd64 x86" - SLOT="0" -else - SRC_URI="https://libvirt.org/sources/${P}.tar.xz" - KEYWORDS="amd64 ~arm64 x86" - SLOT="0/${PV}" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="http://www.libvirt.org/" -LICENSE="LGPL-2.1" -IUSE=" - apparmor audit +caps +dbus firewalld fuse glusterfs iscsi iscsi-direct - +libvirtd lvm libssh lxc +macvtap nfs nls numa openvz parted pcap phyp - policykit +qemu rbd sasl selinux +udev uml +vepa virtualbox virt-network - wireshark-plugins xen zeroconf zfs -" - -REQUIRED_USE=" - firewalld? ( virt-network ) - libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - policykit? ( dbus ) - qemu? ( libvirtd ) - uml? ( libvirtd ) - vepa? ( macvtap ) - virt-network? ( libvirtd ) - virtualbox? ( libvirtd ) - xen? ( libvirtd )" - -# gettext.sh command is used by the libvirt command wrappers, and it's -# non-optional, so put it into RDEPEND. -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the -# package will use 3 by default. Since we don't have slot pinning in an API, -# we must go with the most recent -RDEPEND=" - app-misc/scrub - dev-libs/libgcrypt:0 - dev-libs/libnl:3 - >=dev-libs/libxml2-2.7.6 - >=net-analyzer/openbsd-netcat-1.105-r1 - >=net-libs/gnutls-1.0.25:0= - net-libs/libssh2 - net-libs/libtirpc - net-libs/rpcsvc-proto - >=net-misc/curl-7.18.0 - sys-apps/dmidecode - >=sys-apps/util-linux-2.17 - sys-devel/gettext - sys-libs/ncurses:0= - sys-libs/readline:= - apparmor? ( sys-libs/libapparmor ) - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap-ng ) - dbus? ( sys-apps/dbus ) - firewalld? ( net-firewall/firewalld ) - fuse? ( >=sys-fs/fuse-2.8.6:= ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) - iscsi? ( sys-block/open-iscsi ) - iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) - libssh? ( net-libs/libssh ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2[-device-mapper-only(-)] - ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - policykit? ( >=sys-auth/polkit-0.9 ) - qemu? ( - >=app-emulation/qemu-1.5.0 - dev-libs/yajl - ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - virt-network? ( - net-dns/dnsmasq[script] - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6] - net-misc/radvd - sys-apps/iproute2[-minimal] - ) - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) - wireshark-plugins? ( net-analyzer/wireshark:= ) - xen? ( - >=app-emulation/xen-4.6.0 - app-emulation/xen-tools:= - ) - udev? ( - virtual/udev - >=x11-libs/libpciaccess-0.10.9 - ) - zeroconf? ( >=net-dns/avahi-0.6[dbus] ) - zfs? ( sys-fs/zfs )" - -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-4.5.0-do_not_use_sysconf.patch - "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-3.10.0-r2-fix_paths_for_apparmor.patch -) - -pkg_setup() { - if use qemu; then - enewgroup qemu 77 - enewuser qemu 77 -1 -1 "qemu,kvm" - fi - - use policykit && enewgroup libvirt - - # Check kernel configuration: - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" - ~FUSE_FS" - - use lvm && CONFIG_CHECK+=" - ~BLK_DEV_DM - ~DM_MULTIPATH - ~DM_SNAPSHOT" - - use lxc && CONFIG_CHECK+=" - ~BLK_CGROUP - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_NET_PRIO - ~CGROUP_PERF - ~CGROUPS - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - ~NAMESPACES - ~NET_CLS_CGROUP - ~NET_NS - ~PID_NS - ~POSIX_MQUEUE - ~SECURITYFS - ~USER_NS - ~UTS_NS - ~VETH - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS" - - kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES" - - use macvtap && CONFIG_CHECK+=" - ~MACVTAP" - - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_MARK_T - ~BRIDGE_NF_EBTABLES - ~NETFILTER_ADVANCED - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK - ~NETFILTER_XT_TARGET_CHECKSUM" - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_T_NAT - ~IP_NF_TARGET_REJECT - ~NET_ACT_POLICE - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_SCH_HTB - ~NET_SCH_INGRESS - ~NET_SCH_SFQ" - - # Handle specific kernel versions for different features - kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" - if kernel_is ge 3 6; then - CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " - kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " - fi - - ERROR_USER_NS="Optional depending on LXC configuration." - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi -} - -src_prepare() { - touch "${S}/.mailmap" - - default - - if [[ ${PV} = *9999* ]]; then - # git checkouts require bootstrapping to create the configure script. - # Additionally the submodules must be cloned to the right locations - # bug #377279 - ./bootstrap || die "bootstrap failed" - ( - git submodule status | sed 's/^[ +-]//;s/ .*//' - git hash-object bootstrap.conf - ) >.git-module-status - fi - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ - -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ - -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" - - eautoreconf -} - -src_configure() { - local myeconfargs=( - $(use_with apparmor) - $(use_with apparmor apparmor-profiles) - $(use_with audit) - $(use_with caps capng) - $(use_with dbus) - $(use_with firewalld) - $(use_with fuse) - $(use_with glusterfs) - $(use_with glusterfs storage-gluster) - $(use_with iscsi storage-iscsi) - $(use_with iscsi-direct storage-iscsi-direct) - $(use_with libvirtd) - $(use_with libssh) - $(use_with lvm storage-lvm) - $(use_with lvm storage-mpath) - $(use_with lxc) - $(use_with macvtap) - $(use_enable nls) - $(use_with numa numactl) - $(use_with numa numad) - $(use_with openvz) - $(use_with parted storage-disk) - $(use_with pcap libpcap) - $(use_with phyp) - $(use_with policykit polkit) - $(use_with qemu) - $(use_with qemu yajl) - $(use_with rbd storage-rbd) - $(use_with sasl) - $(use_with selinux) - $(use_with udev) - $(use_with uml) - $(use_with vepa virtualport) - $(use_with virt-network network) - $(use_with wireshark-plugins wireshark-dissector) - $(use_with xen libxl) - $(use_with zeroconf avahi) - $(use_with zfs storage-zfs) - - --without-hal - --without-netcf - --without-sanlock - - --with-esx - --with-init-script=systemd - --with-qemu-group=$(usex caps qemu root) - --with-qemu-user=$(usex caps qemu root) - --with-remote - --with-storage-fs - --with-vmware - - --disable-static - --disable-werror - - --with-html-subdir=${PF}/html - --localstatedir=/var - ) - - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) - else - myeconfargs+=( $(use_with virtualbox vbox) ) - fi - - econf "${myeconfargs[@]}" - - if [[ ${PV} = *9999* ]]; then - # Restore gnulib's config.sub and config.guess - # bug #377279 - (cd .gnulib && git reset --hard > /dev/null) - fi -} - -src_test() { - cd "${BUILD_DIR}" - - # remove problematic tests, bug #591416, bug #591418 - sed -i -e 's#commandtest$(EXEEXT) # #' \ - -e 's#virfirewalltest$(EXEEXT) # #' \ - -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ - -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ - tests/Makefile - - export VIR_TEST_DEBUG=1 - HOME="${T}" emake check || die "tests failed" -} - -src_install() { - emake DESTDIR="${D}" \ - SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install - - find "${D}" -name '*.la' -delete || die - - # Remove bogus, empty directories. They are either not used, or - # libvirtd is able to create them on demand - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - systemd_install_serviced \ - "${FILESDIR}"/libvirtd.service.conf libvirtd.service - - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd || die - newinitd "${FILESDIR}/libvirt-guests.init-r3" libvirt-guests || die - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die - newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die - - newbashcomp "${S}/tools/bash-completion/vsh" vsh - bashcomp_alias vsh virsh virt-admin - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_preinst() { - # we only ever want to generate this once - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml - fi -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-5.2.0-r3.ebuild b/app-emulation/libvirt/libvirt-5.2.0-r3.ebuild new file mode 100644 index 000000000000..6eaa333934d9 --- /dev/null +++ b/app-emulation/libvirt/libvirt-5.2.0-r3.ebuild @@ -0,0 +1,388 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{5,6,7} ) + +inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd user + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" + SRC_URI="" + KEYWORDS="" + SLOT="0" +else + SRC_URI="https://libvirt.org/sources/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~x86" + SLOT="0/${PV}" +fi + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="http://www.libvirt.org/" +LICENSE="LGPL-2.1" +IUSE=" + apparmor audit +caps +dbus firewalld fuse glusterfs iscsi iscsi-direct + +libvirtd lvm libssh lxc +macvtap nfs nls numa openvz parted pcap phyp + policykit +qemu rbd sasl selinux +udev +vepa virtualbox virt-network + wireshark-plugins xen zeroconf zfs +" + +REQUIRED_USE=" + firewalld? ( virt-network ) + libvirtd? ( || ( lxc openvz qemu virtualbox xen ) ) + lxc? ( caps libvirtd ) + openvz? ( libvirtd ) + policykit? ( dbus ) + qemu? ( libvirtd ) + vepa? ( macvtap ) + virt-network? ( libvirtd ) + virtualbox? ( libvirtd ) + xen? ( libvirtd )" + +# gettext.sh command is used by the libvirt command wrappers, and it's +# non-optional, so put it into RDEPEND. +# We can use both libnl:1.1 and libnl:3, but if you have both installed, the +# package will use 3 by default. Since we don't have slot pinning in an API, +# we must go with the most recent +RDEPEND=" + app-misc/scrub + dev-libs/libgcrypt:0 + dev-libs/libnl:3 + >=dev-libs/libxml2-2.7.6 + >=net-analyzer/openbsd-netcat-1.105-r1 + >=net-libs/gnutls-1.0.25:0= + net-libs/libssh2 + net-libs/libtirpc + net-libs/rpcsvc-proto + >=net-misc/curl-7.18.0 + sys-apps/dmidecode + >=sys-apps/util-linux-2.17 + sys-devel/gettext + sys-libs/ncurses:0= + sys-libs/readline:= + apparmor? ( sys-libs/libapparmor ) + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap-ng ) + dbus? ( sys-apps/dbus ) + firewalld? ( >=net-firewall/firewalld-0.6.3 ) + fuse? ( >=sys-fs/fuse-2.8.6:= ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) + iscsi? ( sys-block/open-iscsi ) + iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) + libssh? ( net-libs/libssh ) + lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) + nfs? ( net-fs/nfs-utils ) + numa? ( + >sys-process/numactl-2.0.2 + sys-process/numad + ) + parted? ( + >=sys-block/parted-1.8[device-mapper] + sys-fs/lvm2[-device-mapper-only(-)] + ) + pcap? ( >=net-libs/libpcap-1.0.0 ) + policykit? ( >=sys-auth/polkit-0.9 ) + qemu? ( + >=app-emulation/qemu-1.5.0 + dev-libs/yajl + ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl ) + selinux? ( >=sys-libs/libselinux-2.0.85 ) + virt-network? ( + net-dns/dnsmasq[script] + net-firewall/ebtables + >=net-firewall/iptables-1.4.10[ipv6] + net-misc/radvd + sys-apps/iproute2[-minimal] + ) + virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) + wireshark-plugins? ( net-analyzer/wireshark:= ) + xen? ( + >=app-emulation/xen-4.6.0 + app-emulation/xen-tools:= + ) + udev? ( + virtual/udev + >=x11-libs/libpciaccess-0.10.9 + ) + zeroconf? ( >=net-dns/avahi-0.6[dbus] ) + zfs? ( sys-fs/zfs )" + +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-5.2.0-do-not-use-sysconf.patch + "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch + "${FILESDIR}"/${PN}-5.2.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-5.2.0-md-clear.patch +) + +pkg_setup() { + if use qemu; then + enewgroup qemu 77 + enewuser qemu 77 -1 -1 "qemu,kvm" + fi + + use policykit && enewgroup libvirt + + # Check kernel configuration: + CONFIG_CHECK="" + use fuse && CONFIG_CHECK+=" + ~FUSE_FS" + + use lvm && CONFIG_CHECK+=" + ~BLK_DEV_DM + ~DM_MULTIPATH + ~DM_SNAPSHOT" + + use lxc && CONFIG_CHECK+=" + ~BLK_CGROUP + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~CGROUP_NET_PRIO + ~CGROUP_PERF + ~CGROUPS + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + ~NAMESPACES + ~NET_CLS_CGROUP + ~NET_NS + ~PID_NS + ~POSIX_MQUEUE + ~SECURITYFS + ~USER_NS + ~UTS_NS + ~VETH + ~!GRKERNSEC_CHROOT_MOUNT + ~!GRKERNSEC_CHROOT_DOUBLE + ~!GRKERNSEC_CHROOT_PIVOT + ~!GRKERNSEC_CHROOT_CHMOD + ~!GRKERNSEC_CHROOT_CAPS" + + kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES" + + use macvtap && CONFIG_CHECK+=" + ~MACVTAP" + + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_MARK_T + ~BRIDGE_NF_EBTABLES + ~NETFILTER_ADVANCED + ~NETFILTER_XT_CONNMARK + ~NETFILTER_XT_MARK + ~NETFILTER_XT_TARGET_CHECKSUM + ~IP_NF_FILTER + ~IP_NF_MANGLE + ~IP_NF_NAT + ~IP_NF_TARGET_MASQUERADE + ~IP6_NF_FILTER + ~IP6_NF_MANGLE + ~IP6_NF_NAT" + # Bandwidth Limiting Support + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_T_NAT + ~IP_NF_TARGET_REJECT + ~NET_ACT_POLICE + ~NET_CLS_FW + ~NET_CLS_U32 + ~NET_SCH_HTB + ~NET_SCH_INGRESS + ~NET_SCH_SFQ" + + # Handle specific kernel versions for different features + kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" + if kernel_is ge 3 6; then + CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " + kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " + fi + + ERROR_USER_NS="Optional depending on LXC configuration." + + if [[ -n ${CONFIG_CHECK} ]]; then + linux-info_pkg_setup + fi +} + +src_prepare() { + touch "${S}/.mailmap" + + default + + if [[ ${PV} = *9999* ]]; then + # Reinitialize submodules as this is required for gnulib's bootstrap + git submodule init + # git checkouts require bootstrapping to create the configure script. + # Additionally the submodules must be cloned to the right locations + # bug #377279 + ./bootstrap || die "bootstrap failed" + ( + git submodule status .gnulib | awk '{ print $1 }' + git hash-object bootstrap.conf + git ls-tree -d HEAD gnulib/local | awk '{ print $3 }' + ) >.git-module-status + fi + + # Tweak the init script: + cp "${FILESDIR}/libvirtd.init-r17" "${S}/libvirtd.init" || die + sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ + -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ + -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ + -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ + -i "${S}/libvirtd.init" || die "sed failed" + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_with apparmor) + $(use_with apparmor apparmor-profiles) + $(use_with audit) + $(use_with caps capng) + $(use_with dbus) + $(use_with firewalld) + $(use_with fuse) + $(use_with glusterfs) + $(use_with glusterfs storage-gluster) + $(use_with iscsi storage-iscsi) + $(use_with iscsi-direct storage-iscsi-direct) + $(use_with libvirtd) + $(use_with libssh) + $(use_with lvm storage-lvm) + $(use_with lvm storage-mpath) + $(use_with lxc) + $(use_with macvtap) + $(use_enable nls) + $(use_with numa numactl) + $(use_with numa numad) + $(use_with openvz) + $(use_with parted storage-disk) + $(use_with pcap libpcap) + $(use_with phyp) + $(use_with policykit polkit) + $(use_with qemu) + $(use_with qemu yajl) + $(use_with rbd storage-rbd) + $(use_with sasl) + $(use_with selinux) + $(use_with udev) + $(use_with vepa virtualport) + $(use_with virt-network network) + $(use_with wireshark-plugins wireshark-dissector) + $(use_with xen libxl) + $(use_with zeroconf avahi) + $(use_with zfs storage-zfs) + + --without-hal + --without-netcf + --without-sanlock + + --with-esx + --with-init-script=systemd + --with-qemu-group=$(usex caps qemu root) + --with-qemu-user=$(usex caps qemu root) + --with-remote + --with-storage-fs + --with-vmware + + --disable-static + --disable-werror + + --with-html-subdir=${PF}/html + --localstatedir=/var + ) + + if use virtualbox && has_version app-emulation/virtualbox-ose; then + myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) + else + myeconfargs+=( $(use_with virtualbox vbox) ) + fi + + econf "${myeconfargs[@]}" + + if [[ ${PV} = *9999* ]]; then + # Restore gnulib's config.sub and config.guess + # bug #377279 + (cd .gnulib && git reset --hard > /dev/null) + fi +} + +src_test() { + cd "${BUILD_DIR}" + + # remove problematic tests, bug #591416, bug #591418 + sed -i -e 's#commandtest$(EXEEXT) # #' \ + -e 's#virfirewalltest$(EXEEXT) # #' \ + -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ + -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ + tests/Makefile + + export VIR_TEST_DEBUG=1 + HOME="${T}" emake check || die "tests failed" +} + +src_install() { + emake DESTDIR="${D}" \ + SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install + + find "${D}" -name '*.la' -delete || die + + # Remove bogus, empty directories. They are either not used, or + # libvirtd is able to create them on demand + rm -rf "${D}"/etc/sysconfig + rm -rf "${D}"/var + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + systemd_install_serviced \ + "${FILESDIR}"/libvirtd.service.conf libvirtd.service + + systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf + + newinitd "${S}/libvirtd.init" libvirtd || die + newinitd "${FILESDIR}/libvirt-guests.init-r3" libvirt-guests || die + newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die + newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die + + newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die + newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die + + newbashcomp "${S}/tools/bash-completion/vsh" virsh + bashcomp_alias virsh virt-admin + + DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_preinst() { + # we only ever want to generate this once + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml + fi +} + +pkg_postinst() { + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml + fi + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + readme.gentoo_print_elog +} diff --git a/app-emulation/libvirt/libvirt-5.4.0-r1.ebuild b/app-emulation/libvirt/libvirt-5.4.0-r1.ebuild new file mode 100644 index 000000000000..796ca2632a99 --- /dev/null +++ b/app-emulation/libvirt/libvirt-5.4.0-r1.ebuild @@ -0,0 +1,388 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{5,6,7} ) + +inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd user + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" + SRC_URI="" + KEYWORDS="" + SLOT="0" +else + SRC_URI="https://libvirt.org/sources/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~x86" + SLOT="0/${PV}" +fi + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="http://www.libvirt.org/" +LICENSE="LGPL-2.1" +IUSE=" + apparmor audit +caps +dbus dtrace firewalld fuse glusterfs iscsi + iscsi-direct +libvirtd lvm libssh lxc +macvtap nfs nls numa openvz + parted pcap phyp policykit +qemu rbd sasl selinux +udev +vepa + virtualbox virt-network wireshark-plugins xen zeroconf zfs +" + +REQUIRED_USE=" + firewalld? ( virt-network ) + libvirtd? ( || ( lxc openvz qemu virtualbox xen ) ) + lxc? ( caps libvirtd ) + openvz? ( libvirtd ) + policykit? ( dbus ) + qemu? ( libvirtd ) + vepa? ( macvtap ) + virt-network? ( libvirtd ) + virtualbox? ( libvirtd ) + xen? ( libvirtd )" + +# gettext.sh command is used by the libvirt command wrappers, and it's +# non-optional, so put it into RDEPEND. +# We can use both libnl:1.1 and libnl:3, but if you have both installed, the +# package will use 3 by default. Since we don't have slot pinning in an API, +# we must go with the most recent +RDEPEND=" + app-misc/scrub + dev-libs/libgcrypt:0 + dev-libs/libnl:3 + >=dev-libs/libxml2-2.7.6 + >=net-analyzer/openbsd-netcat-1.105-r1 + >=net-libs/gnutls-1.0.25:0= + net-libs/libssh2 + net-libs/libtirpc + net-libs/rpcsvc-proto + >=net-misc/curl-7.18.0 + sys-apps/dmidecode + >=sys-apps/util-linux-2.17 + sys-devel/gettext + sys-libs/ncurses:0= + sys-libs/readline:= + apparmor? ( sys-libs/libapparmor ) + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap-ng ) + dbus? ( sys-apps/dbus ) + dtrace? ( dev-util/systemtap ) + firewalld? ( >=net-firewall/firewalld-0.6.3 ) + fuse? ( >=sys-fs/fuse-2.8.6:= ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) + iscsi? ( sys-block/open-iscsi ) + iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) + libssh? ( net-libs/libssh ) + lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) + nfs? ( net-fs/nfs-utils ) + numa? ( + >sys-process/numactl-2.0.2 + sys-process/numad + ) + parted? ( + >=sys-block/parted-1.8[device-mapper] + sys-fs/lvm2[-device-mapper-only(-)] + ) + pcap? ( >=net-libs/libpcap-1.0.0 ) + policykit? ( >=sys-auth/polkit-0.9 ) + qemu? ( + >=app-emulation/qemu-1.5.0 + dev-libs/yajl + ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl ) + selinux? ( >=sys-libs/libselinux-2.0.85 ) + virt-network? ( + net-dns/dnsmasq[script] + net-firewall/ebtables + >=net-firewall/iptables-1.4.10[ipv6] + net-misc/radvd + sys-apps/iproute2[-minimal] + ) + virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) + wireshark-plugins? ( net-analyzer/wireshark:= ) + xen? ( + >=app-emulation/xen-4.6.0 + app-emulation/xen-tools:= + ) + udev? ( + virtual/udev + >=x11-libs/libpciaccess-0.10.9 + ) + zeroconf? ( >=net-dns/avahi-0.6[dbus] ) + zfs? ( sys-fs/zfs )" + +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-5.2.0-do-not-use-sysconf.patch + "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch + "${FILESDIR}"/${PN}-5.2.0-fix-paths-for-apparmor.patch +) + +pkg_setup() { + if use qemu; then + enewgroup qemu 77 + enewuser qemu 77 -1 -1 "qemu,kvm" + fi + + use policykit && enewgroup libvirt + + # Check kernel configuration: + CONFIG_CHECK="" + use fuse && CONFIG_CHECK+=" + ~FUSE_FS" + + use lvm && CONFIG_CHECK+=" + ~BLK_DEV_DM + ~DM_MULTIPATH + ~DM_SNAPSHOT" + + use lxc && CONFIG_CHECK+=" + ~BLK_CGROUP + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~CGROUP_NET_PRIO + ~CGROUP_PERF + ~CGROUPS + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + ~NAMESPACES + ~NET_CLS_CGROUP + ~NET_NS + ~PID_NS + ~POSIX_MQUEUE + ~SECURITYFS + ~USER_NS + ~UTS_NS + ~VETH + ~!GRKERNSEC_CHROOT_MOUNT + ~!GRKERNSEC_CHROOT_DOUBLE + ~!GRKERNSEC_CHROOT_PIVOT + ~!GRKERNSEC_CHROOT_CHMOD + ~!GRKERNSEC_CHROOT_CAPS" + + kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES" + + use macvtap && CONFIG_CHECK+=" + ~MACVTAP" + + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_MARK_T + ~BRIDGE_NF_EBTABLES + ~NETFILTER_ADVANCED + ~NETFILTER_XT_CONNMARK + ~NETFILTER_XT_MARK + ~NETFILTER_XT_TARGET_CHECKSUM + ~IP_NF_FILTER + ~IP_NF_MANGLE + ~IP_NF_NAT + ~IP_NF_TARGET_MASQUERADE + ~IP6_NF_FILTER + ~IP6_NF_MANGLE + ~IP6_NF_NAT" + # Bandwidth Limiting Support + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_T_NAT + ~IP_NF_TARGET_REJECT + ~NET_ACT_POLICE + ~NET_CLS_FW + ~NET_CLS_U32 + ~NET_SCH_HTB + ~NET_SCH_INGRESS + ~NET_SCH_SFQ" + + # Handle specific kernel versions for different features + kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" + if kernel_is ge 3 6; then + CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " + kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " + fi + + ERROR_USER_NS="Optional depending on LXC configuration." + + if [[ -n ${CONFIG_CHECK} ]]; then + linux-info_pkg_setup + fi +} + +src_prepare() { + touch "${S}/.mailmap" + + default + + if [[ ${PV} = *9999* ]]; then + # Reinitialize submodules as this is required for gnulib's bootstrap + git submodule init + # git checkouts require bootstrapping to create the configure script. + # Additionally the submodules must be cloned to the right locations + # bug #377279 + ./bootstrap || die "bootstrap failed" + ( + git submodule status .gnulib | awk '{ print $1 }' + git hash-object bootstrap.conf + git ls-tree -d HEAD gnulib/local | awk '{ print $3 }' + ) >.git-module-status + fi + + # Tweak the init script: + cp "${FILESDIR}/libvirtd.init-r17" "${S}/libvirtd.init" || die + sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ + -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ + -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ + -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ + -i "${S}/libvirtd.init" || die "sed failed" + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_with apparmor) + $(use_with apparmor apparmor-profiles) + $(use_with audit) + $(use_with caps capng) + $(use_with dbus) + $(use_with dtrace) + $(use_with firewalld) + $(use_with fuse) + $(use_with glusterfs) + $(use_with glusterfs storage-gluster) + $(use_with iscsi storage-iscsi) + $(use_with iscsi-direct storage-iscsi-direct) + $(use_with libvirtd) + $(use_with libssh) + $(use_with lvm storage-lvm) + $(use_with lvm storage-mpath) + $(use_with lxc) + $(use_with macvtap) + $(use_enable nls) + $(use_with numa numactl) + $(use_with numa numad) + $(use_with openvz) + $(use_with parted storage-disk) + $(use_with pcap libpcap) + $(use_with phyp) + $(use_with policykit polkit) + $(use_with qemu) + $(use_with qemu yajl) + $(use_with rbd storage-rbd) + $(use_with sasl) + $(use_with selinux) + $(use_with udev) + $(use_with vepa virtualport) + $(use_with virt-network network) + $(use_with wireshark-plugins wireshark-dissector) + $(use_with xen libxl) + $(use_with zeroconf avahi) + $(use_with zfs storage-zfs) + + --without-hal + --without-netcf + --without-sanlock + + --with-esx + --with-init-script=systemd + --with-qemu-group=$(usex caps qemu root) + --with-qemu-user=$(usex caps qemu root) + --with-remote + --with-storage-fs + --with-vmware + + --disable-static + --disable-werror + + --localstatedir=/var + ) + + if use virtualbox && has_version app-emulation/virtualbox-ose; then + myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) + else + myeconfargs+=( $(use_with virtualbox vbox) ) + fi + + econf "${myeconfargs[@]}" + + if [[ ${PV} = *9999* ]]; then + # Restore gnulib's config.sub and config.guess + # bug #377279 + (cd .gnulib && git reset --hard > /dev/null) + fi +} + +src_test() { + cd "${BUILD_DIR}" + + # remove problematic tests, bug #591416, bug #591418 + sed -i -e 's#commandtest$(EXEEXT) # #' \ + -e 's#virfirewalltest$(EXEEXT) # #' \ + -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ + -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ + tests/Makefile + + export VIR_TEST_DEBUG=1 + HOME="${T}" emake check || die "tests failed" +} + +src_install() { + emake DESTDIR="${D}" \ + SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install + + find "${D}" -name '*.la' -delete || die + + # Remove bogus, empty directories. They are either not used, or + # libvirtd is able to create them on demand + rm -rf "${D}"/etc/sysconfig + rm -rf "${D}"/var + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + systemd_install_serviced \ + "${FILESDIR}"/libvirtd.service.conf libvirtd.service + + systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf + + newinitd "${S}/libvirtd.init" libvirtd || die + newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests || die + newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die + newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die + + newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die + newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die + + newbashcomp "${S}/tools/bash-completion/vsh" virsh + bashcomp_alias virsh virt-admin + + DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_preinst() { + # we only ever want to generate this once + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml + fi +} + +pkg_postinst() { + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml + fi + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + readme.gentoo_print_elog +} diff --git a/app-emulation/libvirt/libvirt-5.5.0-r1.ebuild b/app-emulation/libvirt/libvirt-5.5.0-r1.ebuild new file mode 100644 index 000000000000..5cb42f7609c9 --- /dev/null +++ b/app-emulation/libvirt/libvirt-5.5.0-r1.ebuild @@ -0,0 +1,383 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{5,6,7} ) + +inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd user + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" + SRC_URI="" + KEYWORDS="" + SLOT="0" +else + SRC_URI="https://libvirt.org/sources/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~x86" + SLOT="0/${PV}" +fi + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="http://www.libvirt.org/" +LICENSE="LGPL-2.1" +IUSE=" + apparmor audit +caps +dbus dtrace firewalld fuse glusterfs iscsi + iscsi-direct +libvirtd lvm libssh lxc +macvtap nfs nls numa openvz + parted pcap phyp policykit +qemu rbd sasl selinux +udev +vepa + virtualbox virt-network wireshark-plugins xen zfs +" + +REQUIRED_USE=" + firewalld? ( virt-network ) + libvirtd? ( || ( lxc openvz qemu virtualbox xen ) ) + lxc? ( caps libvirtd ) + openvz? ( libvirtd ) + policykit? ( dbus ) + qemu? ( libvirtd ) + vepa? ( macvtap ) + virt-network? ( libvirtd ) + virtualbox? ( libvirtd ) + xen? ( libvirtd )" + +# gettext.sh command is used by the libvirt command wrappers, and it's +# non-optional, so put it into RDEPEND. +# We can use both libnl:1.1 and libnl:3, but if you have both installed, the +# package will use 3 by default. Since we don't have slot pinning in an API, +# we must go with the most recent +RDEPEND=" + app-misc/scrub + dev-libs/libgcrypt:0 + dev-libs/libnl:3 + >=dev-libs/libxml2-2.7.6 + >=net-analyzer/openbsd-netcat-1.105-r1 + >=net-libs/gnutls-1.0.25:0= + net-libs/libssh2 + net-libs/libtirpc + net-libs/rpcsvc-proto + >=net-misc/curl-7.18.0 + sys-apps/dmidecode + >=sys-apps/util-linux-2.17 + sys-devel/gettext + sys-libs/ncurses:0= + sys-libs/readline:= + apparmor? ( sys-libs/libapparmor ) + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap-ng ) + dbus? ( sys-apps/dbus ) + dtrace? ( dev-util/systemtap ) + firewalld? ( >=net-firewall/firewalld-0.6.3 ) + fuse? ( >=sys-fs/fuse-2.8.6:= ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) + iscsi? ( sys-block/open-iscsi ) + iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) + libssh? ( net-libs/libssh ) + lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) + nfs? ( net-fs/nfs-utils ) + numa? ( + >sys-process/numactl-2.0.2 + sys-process/numad + ) + parted? ( + >=sys-block/parted-1.8[device-mapper] + sys-fs/lvm2[-device-mapper-only(-)] + ) + pcap? ( >=net-libs/libpcap-1.0.0 ) + policykit? ( >=sys-auth/polkit-0.9 ) + qemu? ( + >=app-emulation/qemu-1.5.0 + dev-libs/yajl + ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl ) + selinux? ( >=sys-libs/libselinux-2.0.85 ) + virt-network? ( + net-dns/dnsmasq[script] + net-firewall/ebtables + >=net-firewall/iptables-1.4.10[ipv6] + net-misc/radvd + sys-apps/iproute2[-minimal] + ) + virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) + wireshark-plugins? ( net-analyzer/wireshark:= ) + xen? ( + >=app-emulation/xen-4.6.0 + app-emulation/xen-tools:= + ) + udev? ( + virtual/udev + >=x11-libs/libpciaccess-0.10.9 + ) + zfs? ( sys-fs/zfs )" + +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-5.2.0-do-not-use-sysconf.patch + "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch + "${FILESDIR}"/${PN}-5.2.0-fix-paths-for-apparmor.patch +) + +pkg_setup() { + if use qemu; then + enewgroup qemu 77 + enewuser qemu 77 -1 -1 "qemu,kvm" + fi + + use policykit && enewgroup libvirt + + # Check kernel configuration: + CONFIG_CHECK="" + use fuse && CONFIG_CHECK+=" + ~FUSE_FS" + + use lvm && CONFIG_CHECK+=" + ~BLK_DEV_DM + ~DM_MULTIPATH + ~DM_SNAPSHOT" + + use lxc && CONFIG_CHECK+=" + ~BLK_CGROUP + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~CGROUP_NET_PRIO + ~CGROUP_PERF + ~CGROUPS + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + ~NAMESPACES + ~NET_CLS_CGROUP + ~NET_NS + ~PID_NS + ~POSIX_MQUEUE + ~SECURITYFS + ~USER_NS + ~UTS_NS + ~VETH + ~!GRKERNSEC_CHROOT_MOUNT + ~!GRKERNSEC_CHROOT_DOUBLE + ~!GRKERNSEC_CHROOT_PIVOT + ~!GRKERNSEC_CHROOT_CHMOD + ~!GRKERNSEC_CHROOT_CAPS" + + kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES" + + use macvtap && CONFIG_CHECK+=" + ~MACVTAP" + + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_MARK_T + ~BRIDGE_NF_EBTABLES + ~NETFILTER_ADVANCED + ~NETFILTER_XT_CONNMARK + ~NETFILTER_XT_MARK + ~NETFILTER_XT_TARGET_CHECKSUM + ~IP_NF_FILTER + ~IP_NF_MANGLE + ~IP_NF_NAT + ~IP_NF_TARGET_MASQUERADE + ~IP6_NF_FILTER + ~IP6_NF_MANGLE + ~IP6_NF_NAT" + # Bandwidth Limiting Support + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_T_NAT + ~IP_NF_TARGET_REJECT + ~NET_ACT_POLICE + ~NET_CLS_FW + ~NET_CLS_U32 + ~NET_SCH_HTB + ~NET_SCH_INGRESS + ~NET_SCH_SFQ" + + # Handle specific kernel versions for different features + kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" + if kernel_is ge 3 6; then + CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " + kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " + fi + + ERROR_USER_NS="Optional depending on LXC configuration." + + if [[ -n ${CONFIG_CHECK} ]]; then + linux-info_pkg_setup + fi +} + +src_prepare() { + touch "${S}/.mailmap" + + default + + if [[ ${PV} = *9999* ]]; then + # Reinitialize submodules as this is required for gnulib's bootstrap + git submodule init + # git checkouts require bootstrapping to create the configure script. + # Additionally the submodules must be cloned to the right locations + # bug #377279 + ./bootstrap || die "bootstrap failed" + ( + git submodule status .gnulib | awk '{ print $1 }' + git hash-object bootstrap.conf + git ls-tree -d HEAD gnulib/local | awk '{ print $3 }' + ) >.git-module-status + fi + + # Tweak the init script: + cp "${FILESDIR}/libvirtd.init-r18" "${S}/libvirtd.init" || die + sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ + -i "${S}/libvirtd.init" || die "sed failed" + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_with apparmor) + $(use_with apparmor apparmor-profiles) + $(use_with audit) + $(use_with caps capng) + $(use_with dbus) + $(use_with dtrace) + $(use_with firewalld) + $(use_with fuse) + $(use_with glusterfs) + $(use_with glusterfs storage-gluster) + $(use_with iscsi storage-iscsi) + $(use_with iscsi-direct storage-iscsi-direct) + $(use_with libvirtd) + $(use_with libssh) + $(use_with lvm storage-lvm) + $(use_with lvm storage-mpath) + $(use_with lxc) + $(use_with macvtap) + $(use_enable nls) + $(use_with numa numactl) + $(use_with numa numad) + $(use_with openvz) + $(use_with parted storage-disk) + $(use_with pcap libpcap) + $(use_with phyp) + $(use_with policykit polkit) + $(use_with qemu) + $(use_with qemu yajl) + $(use_with rbd storage-rbd) + $(use_with sasl) + $(use_with selinux) + $(use_with udev) + $(use_with vepa virtualport) + $(use_with virt-network network) + $(use_with wireshark-plugins wireshark-dissector) + $(use_with xen libxl) + $(use_with zfs storage-zfs) + + --without-hal + --without-netcf + --without-sanlock + + --with-esx + --with-init-script=systemd + --with-qemu-group=$(usex caps qemu root) + --with-qemu-user=$(usex caps qemu root) + --with-remote + --with-storage-fs + --with-vmware + + --disable-static + --disable-werror + + --localstatedir=/var + ) + + if use virtualbox && has_version app-emulation/virtualbox-ose; then + myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) + else + myeconfargs+=( $(use_with virtualbox vbox) ) + fi + + econf "${myeconfargs[@]}" + + if [[ ${PV} = *9999* ]]; then + # Restore gnulib's config.sub and config.guess + # bug #377279 + (cd .gnulib && git reset --hard > /dev/null) + fi +} + +src_test() { + cd "${BUILD_DIR}" + + # remove problematic tests, bug #591416, bug #591418 + sed -i -e 's#commandtest$(EXEEXT) # #' \ + -e 's#virfirewalltest$(EXEEXT) # #' \ + -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ + -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ + tests/Makefile + + export VIR_TEST_DEBUG=1 + HOME="${T}" emake check || die "tests failed" +} + +src_install() { + emake DESTDIR="${D}" \ + SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install + + find "${D}" -name '*.la' -delete || die + + # Remove bogus, empty directories. They are either not used, or + # libvirtd is able to create them on demand + rm -rf "${D}"/etc/sysconfig + rm -rf "${D}"/var + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + systemd_install_serviced \ + "${FILESDIR}"/libvirtd.service.conf libvirtd.service + + systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf + + newinitd "${S}/libvirtd.init" libvirtd || die + newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests || die + newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die + newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die + + newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die + newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die + + newbashcomp "${S}/tools/bash-completion/vsh" virsh + bashcomp_alias virsh virt-admin + + DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_preinst() { + # we only ever want to generate this once + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml + fi +} + +pkg_postinst() { + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml + fi + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + readme.gentoo_print_elog +} diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index 4c2cd8eebffb..5cb42f7609c9 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -23,10 +23,10 @@ DESCRIPTION="C toolkit to manipulate virtual machines" HOMEPAGE="http://www.libvirt.org/" LICENSE="LGPL-2.1" IUSE=" - apparmor audit +caps +dbus firewalld fuse glusterfs iscsi iscsi-direct - +libvirtd lvm libssh lxc +macvtap nfs nls numa openvz parted pcap phyp - policykit +qemu rbd sasl selinux +udev +vepa virtualbox virt-network - wireshark-plugins xen zeroconf zfs + apparmor audit +caps +dbus dtrace firewalld fuse glusterfs iscsi + iscsi-direct +libvirtd lvm libssh lxc +macvtap nfs nls numa openvz + parted pcap phyp policykit +qemu rbd sasl selinux +udev +vepa + virtualbox virt-network wireshark-plugins xen zfs " REQUIRED_USE=" @@ -66,6 +66,7 @@ RDEPEND=" audit? ( sys-process/audit ) caps? ( sys-libs/libcap-ng ) dbus? ( sys-apps/dbus ) + dtrace? ( dev-util/systemtap ) firewalld? ( >=net-firewall/firewalld-0.6.3 ) fuse? ( >=sys-fs/fuse-2.8.6:= ) glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) @@ -108,7 +109,6 @@ RDEPEND=" virtual/udev >=x11-libs/libpciaccess-0.10.9 ) - zeroconf? ( >=net-dns/avahi-0.6[dbus] ) zfs? ( sys-fs/zfs )" DEPEND="${RDEPEND} @@ -122,7 +122,7 @@ DEPEND="${RDEPEND} PATCHES=( "${FILESDIR}"/${PN}-5.2.0-do-not-use-sysconf.patch "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-5.0.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-5.2.0-fix-paths-for-apparmor.patch ) pkg_setup() { @@ -235,11 +235,8 @@ src_prepare() { fi # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die + cp "${FILESDIR}/libvirtd.init-r18" "${S}/libvirtd.init" || die sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ - -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ - -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ -i "${S}/libvirtd.init" || die "sed failed" eautoreconf @@ -252,6 +249,7 @@ src_configure() { $(use_with audit) $(use_with caps capng) $(use_with dbus) + $(use_with dtrace) $(use_with firewalld) $(use_with fuse) $(use_with glusterfs) @@ -282,7 +280,6 @@ src_configure() { $(use_with virt-network network) $(use_with wireshark-plugins wireshark-dissector) $(use_with xen libxl) - $(use_with zeroconf avahi) $(use_with zfs storage-zfs) --without-hal @@ -300,7 +297,6 @@ src_configure() { --disable-static --disable-werror - --with-html-subdir=${PF}/html --localstatedir=/var ) @@ -353,7 +349,7 @@ src_install() { systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf newinitd "${S}/libvirtd.init" libvirtd || die - newinitd "${FILESDIR}/libvirt-guests.init-r3" libvirt-guests || die + newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests || die newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die diff --git a/app-emulation/libvirt/metadata.xml b/app-emulation/libvirt/metadata.xml index 63d0a74b30b4..870d636e83d2 100644 --- a/app-emulation/libvirt/metadata.xml +++ b/app-emulation/libvirt/metadata.xml @@ -38,9 +38,6 @@ Support management of OpenVZ virtualisation (openvz-sources) - - Support management of User Mode Linux virtualisation - Support management of QEMU virtualisation (app-emulation/qemu) @@ -56,6 +53,7 @@ Enable AppArmor support + Enable dtrace support via dev-util/systemtap Allow LXC to use sys-fs/fuse for mount points diff --git a/app-emulation/lxc-templates/Manifest b/app-emulation/lxc-templates/Manifest index a10fff1ae3bb..10fc66af090a 100644 --- a/app-emulation/lxc-templates/Manifest +++ b/app-emulation/lxc-templates/Manifest @@ -1,4 +1,4 @@ AUX lxc-templates-3.0.1-no-cache-dir.patch 241 BLAKE2B ba9fc4fe3d663384a64600977de1c5aba413e876e6ca43464b5f5986d21d5e01729c82eb1e6ea03b087644611b9fc7bf083436e467bc69e2b3779020ca287984 SHA512 504721074d9aa4c1d71e5fb5f59c8179cbb0247b6d56d7622a68a7c55a5fdd5fa25cb92199e5400457f1bf2e4bc8e2d91d5169fb02180688c7bbca655881bdb5 DIST lxc-templates-3.0.3.tar.gz 257085 BLAKE2B b53a057e1da23997318c2bcee095fbffb97c37b656eec9643e5a5ac2e7bdfeb9599710a8ccfb5d61aaf523d754f1dbbe7748c4cd1990205c6e28a17cd5e61ee0 SHA512 3e9d5304f5e06580eeb766570ddfebb0c80061c2d7e47c9ea37d834fe0cf4fabe7eedd667e4937df3f2451bc3e7aa1e98a1b386f3b19964dc218ff0e21011632 EBUILD lxc-templates-3.0.3.ebuild 517 BLAKE2B 1caf949f9631ad3a9d131d33a5e53e97a0015e9052f38c47ab44a470874543ce6f3af0c70658cb3a7733fab7eb98b195aefc1d6c11eff6e89df3f40127ebe21a SHA512 9a55e11c97768065397efa35377db21d2e929a4ec6cdd02ee762d7c3eb58a0c31c10fbcb7d49fa4cf2545ee9478c6604160a818601fe7b18de1213e20d57912b -MISC metadata.xml 446 BLAKE2B d0b14eed14b0882b35ddb982ba432f6a5a3b63fdf8bb1c926c9d0db7b9cf7757c78cccca1244cd039d0db7e52c360e99c3fc0a2e915653543d5416054fec62af SHA512 473e0a28d72d39643f91e17910481331b1732b07e4cd74bac024c8a5a933e40a838948d5a8b0bef808332eac751422f7f88ec91501f63b779763606b71696acc +MISC metadata.xml 363 BLAKE2B 51b326108ff85ddc7cd01c4348ac3d2117a97ffc9970da0de2843fe26a998a093d04d2faf80dc9600ef84f1e5539687abfb65aebb55be63ee9390f2096e57d75 SHA512 79e8e82f7f9596f2add9eed5c3bfb2b56a0902dc1af37710c63d06f34ce4d4359758547d7bc745238389612d44ca9052e0865a312e3e285d229d9ac1580f2ae4 diff --git a/app-emulation/lxc-templates/metadata.xml b/app-emulation/lxc-templates/metadata.xml index 17c33883e5bc..2cf03a0ac7ec 100644 --- a/app-emulation/lxc-templates/metadata.xml +++ b/app-emulation/lxc-templates/metadata.xml @@ -1,9 +1,6 @@ - - vdupras@gentoo.org - virtualization@gentoo.org Gentoo Virtualization Project diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest index db7f62a41d43..29e2f34a67e4 100644 --- a/app-emulation/lxc/Manifest +++ b/app-emulation/lxc/Manifest @@ -13,4 +13,4 @@ DIST lxc-3.1.0.tar.gz 1277877 BLAKE2B e114855659c8199378d14bc23f667ce1927bb32c55 EBUILD lxc-2.1.1-r1.ebuild 6813 BLAKE2B 71dde4ab097e5181ea3459933a89c438e8554f0dd8e4aa75bd901ae751744e93fc1dd23093cffa89d0b8164392ff9f0c8be44379614e5eaa145d928a9421d316 SHA512 fa4af7126f54534ae0f356273cb790e42aa5e444bb5ae5986754b686a82603413cf400a1147bd0fb7f8f01f35bf4295ae8ad02581bf42e4e122e8b7b17dae8fb EBUILD lxc-3.0.3.ebuild 5046 BLAKE2B 08d606673d5aa08f26b75ae398cb43801a864ac7175cf2d6935ca08362f441839a36294804e675b3954b517194a075726f69b1df6c183ac8bf018bea12c723b7 SHA512 a88d6b7e53a08822af7ae39e5f83ee1e725368524431bd436e510761d636ea5b937faf316810d6c631bdd9e48bcf79c193810f3466623d822a99315fb6813564 EBUILD lxc-3.1.0-r1.ebuild 4926 BLAKE2B 37e74e5569c388657982b9a7ea67f194dd1ae79dd4b472a69ba20a47efb33fd39ec9a26a8b779576b52457e140b6b5b7429cd5098df54ebc35c82af45bb11caf SHA512 56571d727c4c5574b1d5547692c5cc68565c6396acc7353b5916ee00b03cab0ded30c3e6b5b486f0d686a6fc3a59ab7af79cd55df69c54459a4d4a0c8765f616 -MISC metadata.xml 727 BLAKE2B f1f8eedf4986f221535eacc12429dadb73c25d07e67962d6676ca8f5303d971828df6bf781628fc0089ba29766136c73d164208f057bd59ca3789fab73ab7d47 SHA512 025b93960856b23bb9817b38fadb6ef9d6dfd2ab98f813de840634396fed8e577b8ff52c2d4698d21e0a18d3196d3233da0bf400bee4775cc1fa12b1014ec9f4 +MISC metadata.xml 644 BLAKE2B a8bb7f99e51e8380244f625feac1752536bbca7fe07a40afc47698e4a831f4d44ece2820c5e73e04a978cea7abcb5789df3d5898d55df0298d6787af1260ea96 SHA512 aa11f327c8ac4f98f7f5ac6357b7fc2eac18521507b27df531db5ae09d7608ae526917430afe00f110889f391a12d1bac110c7c7377bad6e9c07ff22020d97d9 diff --git a/app-emulation/lxc/metadata.xml b/app-emulation/lxc/metadata.xml index 7381f9b17681..c5f8986b9117 100644 --- a/app-emulation/lxc/metadata.xml +++ b/app-emulation/lxc/metadata.xml @@ -1,9 +1,6 @@ - - vdupras@gentoo.org - virtualization@gentoo.org Gentoo Virtualization Project diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index eea2851bd48d..22dfd3172d8a 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -3,10 +3,8 @@ AUX lxd.confd 538 BLAKE2B f020d83375bddc3e88f752d4be49c65893901893eaa572f212c655 AUX lxd.initd 853 BLAKE2B 0b48de1a596767db356850adcb5682c5c351e7477b0d49d81aebf857a01e4eb75067087d323ba4b5d6fbf8765a76cf161ad2cfaa0eba480fb86e91fdb95b0e79 SHA512 960aceb2845cc3b454b2f916c73273f4b1ec6f87e5d569c27c8c58e0db153c084e03addbdcc91dc8761fc6f0e306261d87db73f8610fda197e55f9ec6756fd56 AUX lxd.service 174 BLAKE2B 8686d57a79fbc3a9ec2e1a3197012599a5d6b81b62188e779cdb9a86f9f413fa485090c79dab8c4aa8891e0e35604b85fb1cdb1da313918b34a974b61699b24a SHA512 6f9d71d5c08c49653f28511bc793d1365604af6bf105789caea27f4685d721fbb283f888e3b7310997b73ff2fc5bb1a47e7500c4678cb3d39124cab723523140 AUX ptbr-translation-newline.patch 599 BLAKE2B a60e323bfcbdde55bb82f930165a56f0806975370ea090d30a2f40057445b7552b1ff368aac4518e3539f2a4f9b66bd474498f7797002c9bf92d0d837cb72246 SHA512 07c7682ac24b138da10e1a24da02b0cf6144d911200d89ae74d4a03c16fd2a75a22f5956902d071fb93ae1b9b74aacd4ad98e98764678881e19773ab64561581 -DIST lxd-3.10.tar.gz 27057432 BLAKE2B b5a5c3cd4f1045419c806510aab21c3bcde8c8687ede808b1b832e2a0caba0ff3af5d79367141b29e84c0bd3bcf6958d917bc813700220e238cd21933963009b SHA512 25ed7675af7b6861d754607b19485e329ae344befac06fe33f326e34030755359bea6f574c414849b85f034533fd5dccb95a326ae0ad9e44b8ea366f7ee44d04 -DIST lxd-3.11.tar.gz 27281796 BLAKE2B 640944cd929b69b7c6f935b7e3587e05b77ec71da8f20b988b831b837f86706b3cb3a81676f4ae456bf06594ea74e9ab44b87d22ddaa78209d4a0f6cbbba3483 SHA512 182a2fd6b69c8228760c26498d77f46c6bdda899018e1ab4470f2382202250582c66fc11f4c2d8d86598f19e3a62a1027dfe190342611c4a819a27ce6e39e78e DIST lxd-3.12.tar.gz 27365315 BLAKE2B 2b371ef4e9703a7a0494ca009b3c04a3051d76ba0bc87566b90871059cce04f80c5d941d639a53762b219f658379bbffb8ed844cee4271bb756aecb2742ce1d0 SHA512 fd56ee2a2114b338cfb8b575775530b34c7dcc978c95f9bc3b0dced91cf7f01558012c357eb3f8220bc6fa6aa5ecaca67d47b300b67c0d193f11c5088ce6330e -EBUILD lxd-3.10.ebuild 6891 BLAKE2B 91296155f7a1d53ae46e594a9171945fc371c5d03276b28734d180d3eeb4a6b1ef973cdf47abadfdc2d580b5879c1aab77d517c1a9034070b64f6c43aec1c55c SHA512 a3f8525e2da1cba2c1ce2ed4f05ec13f78faa7c76a90e08d11eea5d7d3840b34c2bd0f6e3edff6759cb037974ea7c9f9b9f527fef8bafad314995c42d64fbcd1 -EBUILD lxd-3.11.ebuild 6892 BLAKE2B 803831d6d665bddcc3c81d33764516b6c24f35cfe60ae69eb0e565e61fa6c2d11eef4493b6142473f86072ab8129030504d6d7c1a760d0bfd6e1c8378e9d9af6 SHA512 fc6b94e39829ec8a741963e61f7b9ea030feaf89cc6413f036586c8c683b53e629610d2907b673c04c22e50e6d349b006987b0b83e4969c5f4fc60e0719baa29 -EBUILD lxd-3.12.ebuild 6892 BLAKE2B 803831d6d665bddcc3c81d33764516b6c24f35cfe60ae69eb0e565e61fa6c2d11eef4493b6142473f86072ab8129030504d6d7c1a760d0bfd6e1c8378e9d9af6 SHA512 fc6b94e39829ec8a741963e61f7b9ea030feaf89cc6413f036586c8c683b53e629610d2907b673c04c22e50e6d349b006987b0b83e4969c5f4fc60e0719baa29 -MISC metadata.xml 1033 BLAKE2B d50b256487cc43a6d9e529edaafedb5f7f4eb1bb3ec4a8eb5f8ad892f865652e6dc100fe699a5b07a55cbfb5f32ed8127cbc2e9e68befc2a37f4e1d24afbfc78 SHA512 82684b99e51f524ed8201eb2439c4aaadd1a6403287be2febc908c16290f412930fe415d6a1a7e3712b9fbf64111991b01bc74beab07a745c78e4072698aa81c +DIST lxd-3.14.tar.gz 26141949 BLAKE2B 69004501012c9a873eef77a60df7e5dba25c692224d27b02cd2d2b27533012e71bd7562cb64a17920234746e8be2819bb773365c01422c0b776dd2b7c36b69fe SHA512 3d2d4e61298fc9fde49defad776a398fcccf7639485e810173c9c7f7d939c354a9ad8112a4a631b0850f6eb54435012d289236ff61839416caf95434eb23c8ff +EBUILD lxd-3.12.ebuild 6891 BLAKE2B 91296155f7a1d53ae46e594a9171945fc371c5d03276b28734d180d3eeb4a6b1ef973cdf47abadfdc2d580b5879c1aab77d517c1a9034070b64f6c43aec1c55c SHA512 a3f8525e2da1cba2c1ce2ed4f05ec13f78faa7c76a90e08d11eea5d7d3840b34c2bd0f6e3edff6759cb037974ea7c9f9b9f527fef8bafad314995c42d64fbcd1 +EBUILD lxd-3.14.ebuild 6839 BLAKE2B 939781e111424f59cee080925c822bd8574953c311a7a15906482eb69613e03ff161e85149890724191fe3b01eb4ef877ebb7440826155a9438bccbefd89cdf8 SHA512 13d4537a75ef22eb92a8da9053b46ec48ff033bec6a01bf7ee6b63b5c7dc611bd729b718b646b406c7c5de54dad06236ea9ae63afd304bb8baf6034627eebb03 +MISC metadata.xml 925 BLAKE2B 74a89f515bf441f62686a9a2fc2576ec8986705b681e52c9e8267acd6839b06fdafe82dd27df43c39b5e09bba87e63bbb27cc4da18ed31931393946b90add05b SHA512 e4fc6d70a790e164366349e4980f5161db0ca1b4d1996c1ce32223a75926a38ea46f8e08e6c708c6f41c2c81aebde3dbe0d0ce5c63f9340f7ae6f895b5fde144 diff --git a/app-emulation/lxd/lxd-3.10.ebuild b/app-emulation/lxd/lxd-3.10.ebuild deleted file mode 100644 index a330cfbac4e1..000000000000 --- a/app-emulation/lxd/lxd-3.10.ebuild +++ /dev/null @@ -1,241 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" - -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" -SLOT="0" -KEYWORDS="amd64" - -IUSE="+daemon +ipv6 +dnsmasq nls test tools" - -inherit autotools bash-completion-r1 linux-info systemd user - -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" - -DEPEND=" - dev-lang/tcl - >=dev-lang/go-1.9.4 - dev-libs/libuv - dev-libs/protobuf - nls? ( sys-devel/gettext ) - test? ( - app-misc/jq - net-misc/curl - sys-devel/gettext - ) -" - -RDEPEND=" - daemon? ( - app-arch/xz-utils - >=app-emulation/lxc-2.0.7[seccomp] - dev-libs/libuv - dev-libs/lzo - dev-util/xdelta:3 - dnsmasq? ( - net-dns/dnsmasq[dhcp,ipv6?] - ) - net-firewall/ebtables - net-firewall/iptables[ipv6?] - net-libs/libnfnetlink - net-libs/libnsl:0= - net-misc/rsync[xattr] - sys-apps/iproute2[ipv6?] - sys-fs/fuse - sys-fs/lxcfs - sys-fs/squashfs-tools - virtual/acl - ) -" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE_IPV4 - ~NF_NAT_MASQUERADE_IPV6 - ~VXLAN -" - -ERROR_BRIDGE="BRIDGE: needed for network commands" -ERROR_DUMMY="DUMMY: needed for network commands" -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_IPV6="IPV6: needed for network commands" -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_MACVLAN="MACVLAN: needed for network commands" -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" -ERROR_NET_IPIP="NET_IPIP: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" -ERROR_VXLAN="VXLAN: needed for network commands" - -EGO_PN="github.com/lxc/lxd" - -src_prepare() { - eapply_user - eapply "${FILESDIR}/de-translation-newline-1.patch" - eapply "${FILESDIR}/ptbr-translation-newline.patch" - - cd "${S}/dist/dqlite" || die "Can't cd to dqlite dir" - eautoreconf -} - -src_configure() { - export GOPATH="${S}/dist" - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" - econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd" - - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" - PKG_CONFIG_PATH="${GOPATH}/sqlite/" econf --libdir=${EPREFIX}/usr/lib/lxd -} - -src_compile() { - export GOPATH="${S}/dist" - - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" - emake - - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" - emake CFLAGS="-I${GOPATH}/sqlite" LDFLAGS="-L${GOPATH}/sqlite" - - # We don't use the Makefile here because it builds targets with the - # assumption that `pwd` is in a deep gopath namespace, which we're not. - # It's simpler to manually call "go install" than patching the Makefile. - cd "${S}" - go install -v -x ${EGO_PN}/lxc || die "Failed to build the client" - - if use daemon; then - - # LXD depends on a patched, bundled sqlite with replication - # capabilities. - export CGO_CFLAGS="-I${GOPATH}/sqlite/ -I${GOPATH}/dqlite/include/" - export CGO_LDFLAGS="-L${GOPATH}/sqlite/.libs/ -L${GOPATH}/dqlite/.libs/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" - export LD_LIBRARY_PATH="${GOPATH}/sqlite/.libs/:${GOPATH}/dqlite/.libs/" - - go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" - fi - - if use tools; then - go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift" - go install -v -x ${EGO_PN}/lxc-to-lxd || die "Failed to build lxc-to-lxd" - go install -v -x ${EGO_PN}/lxd-benchmark || die "Failed to build lxd-benchmark" - go install -v -x ${EGO_PN}/lxd-p2c || die "Failed to build lxd-p2c" - fi - - use nls && emake build-mo -} - -src_test() { - if use daemon; then - export GOPATH="${S}/dist" - # This is mostly a copy/paste from the Makefile's "check" rule, but - # patching the Makefile to work in a non "fully-qualified" go namespace - # was more complicated than this modest copy/paste. - # Also: sorry, for now a network connection is needed to run tests. - # Will properly bundle test dependencies later. - go get -v -x github.com/rogpeppe/godeps - go get -v -x github.com/remyoudompheng/go-misc/deadcode - go get -v -x github.com/golang/lint/golint - go test -v ${EGO_PN}/lxd - else - einfo "No tests to run for client-only builds" - fi -} - -src_install() { - local bindir="dist/bin" - dobin ${bindir}/lxc - if use daemon; then - - export GOPATH="${S}/dist" - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" - emake DESTDIR="${D}" install - - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" - emake DESTDIR="${D}" install - - # Must only install libs - rm "${D}/usr/bin/sqlite3" || die "Can't remove custom sqlite3 binary" - rm -r "${D}/usr/include" || die "Can't remove include directory" - - cd "${S}" || die "Can't cd to \${S}" - dosbin ${bindir}/lxd - fi - - if use tools; then - dobin ${bindir}/fuidshift - dobin ${bindir}/lxc-to-lxd - dobin ${bindir}/lxd-benchmark - dobin ${bindir}/lxd-p2c - fi - - if use nls; then - domo po/*.mo - fi - - if use daemon; then - newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd lxd - - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service - fi - - newbashcomp scripts/bash/lxd-client lxc - - dodoc AUTHORS doc/* -} - -pkg_postinst() { - elog - elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," - elog "including a Quick Start." - - # The messaging below only applies to daemon installs - use daemon || return 0 - - # The control socket will be owned by (and writeable by) this group. - enewgroup lxd - - # Ubuntu also defines an lxd user but it appears unused (the daemon - # must run as root) - - elog - elog "Though not strictly required, some features are enabled at run-time" - elog "when the relevant helper programs are detected:" - elog "- sys-apps/apparmor" - elog "- sys-fs/btrfs-progs" - elog "- sys-fs/lvm2" - elog "- sys-fs/zfs" - elog "- sys-process/criu" - elog - elog "Since these features can't be disabled at build-time they are" - elog "not USE-conditional." - elog - elog "Be sure to add your local user to the lxd group." - elog - elog "Networks with bridge.mode=fan are unsupported due to requiring" - elog "a patched kernel and iproute2." -} - -# TODO: -# - man page, I don't see cobra generating it -# - maybe implement LXD_CLUSTER_UPDATE per -# https://discuss.linuxcontainers.org/t/lxd-3-5-has-been-released/2656 -# EM I'm not convinced it's a good design. diff --git a/app-emulation/lxd/lxd-3.11.ebuild b/app-emulation/lxd/lxd-3.11.ebuild deleted file mode 100644 index 988a505aa241..000000000000 --- a/app-emulation/lxd/lxd-3.11.ebuild +++ /dev/null @@ -1,241 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" - -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64" - -IUSE="+daemon +ipv6 +dnsmasq nls test tools" - -inherit autotools bash-completion-r1 linux-info systemd user - -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" - -DEPEND=" - dev-lang/tcl - >=dev-lang/go-1.9.4 - dev-libs/libuv - dev-libs/protobuf - nls? ( sys-devel/gettext ) - test? ( - app-misc/jq - net-misc/curl - sys-devel/gettext - ) -" - -RDEPEND=" - daemon? ( - app-arch/xz-utils - >=app-emulation/lxc-2.0.7[seccomp] - dev-libs/libuv - dev-libs/lzo - dev-util/xdelta:3 - dnsmasq? ( - net-dns/dnsmasq[dhcp,ipv6?] - ) - net-firewall/ebtables - net-firewall/iptables[ipv6?] - net-libs/libnfnetlink - net-libs/libnsl:0= - net-misc/rsync[xattr] - sys-apps/iproute2[ipv6?] - sys-fs/fuse - sys-fs/lxcfs - sys-fs/squashfs-tools - virtual/acl - ) -" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE_IPV4 - ~NF_NAT_MASQUERADE_IPV6 - ~VXLAN -" - -ERROR_BRIDGE="BRIDGE: needed for network commands" -ERROR_DUMMY="DUMMY: needed for network commands" -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_IPV6="IPV6: needed for network commands" -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_MACVLAN="MACVLAN: needed for network commands" -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" -ERROR_NET_IPIP="NET_IPIP: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" -ERROR_VXLAN="VXLAN: needed for network commands" - -EGO_PN="github.com/lxc/lxd" - -src_prepare() { - eapply_user - eapply "${FILESDIR}/de-translation-newline-1.patch" - eapply "${FILESDIR}/ptbr-translation-newline.patch" - - cd "${S}/dist/dqlite" || die "Can't cd to dqlite dir" - eautoreconf -} - -src_configure() { - export GOPATH="${S}/dist" - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" - econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd" - - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" - PKG_CONFIG_PATH="${GOPATH}/sqlite/" econf --libdir=${EPREFIX}/usr/lib/lxd -} - -src_compile() { - export GOPATH="${S}/dist" - - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" - emake - - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" - emake CFLAGS="-I${GOPATH}/sqlite" LDFLAGS="-L${GOPATH}/sqlite" - - # We don't use the Makefile here because it builds targets with the - # assumption that `pwd` is in a deep gopath namespace, which we're not. - # It's simpler to manually call "go install" than patching the Makefile. - cd "${S}" - go install -v -x ${EGO_PN}/lxc || die "Failed to build the client" - - if use daemon; then - - # LXD depends on a patched, bundled sqlite with replication - # capabilities. - export CGO_CFLAGS="-I${GOPATH}/sqlite/ -I${GOPATH}/dqlite/include/" - export CGO_LDFLAGS="-L${GOPATH}/sqlite/.libs/ -L${GOPATH}/dqlite/.libs/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" - export LD_LIBRARY_PATH="${GOPATH}/sqlite/.libs/:${GOPATH}/dqlite/.libs/" - - go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" - fi - - if use tools; then - go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift" - go install -v -x ${EGO_PN}/lxc-to-lxd || die "Failed to build lxc-to-lxd" - go install -v -x ${EGO_PN}/lxd-benchmark || die "Failed to build lxd-benchmark" - go install -v -x ${EGO_PN}/lxd-p2c || die "Failed to build lxd-p2c" - fi - - use nls && emake build-mo -} - -src_test() { - if use daemon; then - export GOPATH="${S}/dist" - # This is mostly a copy/paste from the Makefile's "check" rule, but - # patching the Makefile to work in a non "fully-qualified" go namespace - # was more complicated than this modest copy/paste. - # Also: sorry, for now a network connection is needed to run tests. - # Will properly bundle test dependencies later. - go get -v -x github.com/rogpeppe/godeps - go get -v -x github.com/remyoudompheng/go-misc/deadcode - go get -v -x github.com/golang/lint/golint - go test -v ${EGO_PN}/lxd - else - einfo "No tests to run for client-only builds" - fi -} - -src_install() { - local bindir="dist/bin" - dobin ${bindir}/lxc - if use daemon; then - - export GOPATH="${S}/dist" - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" - emake DESTDIR="${D}" install - - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" - emake DESTDIR="${D}" install - - # Must only install libs - rm "${D}/usr/bin/sqlite3" || die "Can't remove custom sqlite3 binary" - rm -r "${D}/usr/include" || die "Can't remove include directory" - - cd "${S}" || die "Can't cd to \${S}" - dosbin ${bindir}/lxd - fi - - if use tools; then - dobin ${bindir}/fuidshift - dobin ${bindir}/lxc-to-lxd - dobin ${bindir}/lxd-benchmark - dobin ${bindir}/lxd-p2c - fi - - if use nls; then - domo po/*.mo - fi - - if use daemon; then - newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd lxd - - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service - fi - - newbashcomp scripts/bash/lxd-client lxc - - dodoc AUTHORS doc/* -} - -pkg_postinst() { - elog - elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," - elog "including a Quick Start." - - # The messaging below only applies to daemon installs - use daemon || return 0 - - # The control socket will be owned by (and writeable by) this group. - enewgroup lxd - - # Ubuntu also defines an lxd user but it appears unused (the daemon - # must run as root) - - elog - elog "Though not strictly required, some features are enabled at run-time" - elog "when the relevant helper programs are detected:" - elog "- sys-apps/apparmor" - elog "- sys-fs/btrfs-progs" - elog "- sys-fs/lvm2" - elog "- sys-fs/zfs" - elog "- sys-process/criu" - elog - elog "Since these features can't be disabled at build-time they are" - elog "not USE-conditional." - elog - elog "Be sure to add your local user to the lxd group." - elog - elog "Networks with bridge.mode=fan are unsupported due to requiring" - elog "a patched kernel and iproute2." -} - -# TODO: -# - man page, I don't see cobra generating it -# - maybe implement LXD_CLUSTER_UPDATE per -# https://discuss.linuxcontainers.org/t/lxd-3-5-has-been-released/2656 -# EM I'm not convinced it's a good design. diff --git a/app-emulation/lxd/lxd-3.12.ebuild b/app-emulation/lxd/lxd-3.12.ebuild index 988a505aa241..a330cfbac4e1 100644 --- a/app-emulation/lxd/lxd-3.12.ebuild +++ b/app-emulation/lxd/lxd-3.12.ebuild @@ -8,7 +8,7 @@ HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="+daemon +ipv6 +dnsmasq nls test tools" diff --git a/app-emulation/lxd/lxd-3.14.ebuild b/app-emulation/lxd/lxd-3.14.ebuild new file mode 100644 index 000000000000..80bccb3ac766 --- /dev/null +++ b/app-emulation/lxd/lxd-3.14.ebuild @@ -0,0 +1,240 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Fast, dense and secure container management" +HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" + +LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="+daemon +ipv6 +dnsmasq nls test tools" + +inherit autotools bash-completion-r1 linux-info systemd user + +SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" + +DEPEND=" + dev-lang/tcl + >=dev-lang/go-1.9.4 + dev-libs/libuv + dev-libs/protobuf + nls? ( sys-devel/gettext ) + test? ( + app-misc/jq + net-misc/curl + sys-devel/gettext + ) +" + +RDEPEND=" + daemon? ( + app-arch/xz-utils + >=app-emulation/lxc-2.0.7[seccomp] + dev-libs/libuv + dev-libs/lzo + dev-util/xdelta:3 + dnsmasq? ( + net-dns/dnsmasq[dhcp,ipv6?] + ) + net-firewall/ebtables + net-firewall/iptables[ipv6?] + net-libs/libnfnetlink + net-libs/libnsl:0= + net-misc/rsync[xattr] + sys-apps/iproute2[ipv6?] + sys-fs/fuse + sys-fs/lxcfs + sys-fs/squashfs-tools + virtual/acl + ) +" + +CONFIG_CHECK=" + ~BRIDGE + ~DUMMY + ~IP6_NF_NAT + ~IP6_NF_TARGET_MASQUERADE + ~IPV6 + ~IP_NF_NAT + ~IP_NF_TARGET_MASQUERADE + ~MACVLAN + ~NETFILTER_XT_MATCH_COMMENT + ~NET_IPGRE + ~NET_IPGRE_DEMUX + ~NET_IPIP + ~NF_NAT_MASQUERADE_IPV4 + ~NF_NAT_MASQUERADE_IPV6 + ~VXLAN +" + +ERROR_BRIDGE="BRIDGE: needed for network commands" +ERROR_DUMMY="DUMMY: needed for network commands" +ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" +ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" +ERROR_IPV6="IPV6: needed for network commands" +ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" +ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" +ERROR_MACVLAN="MACVLAN: needed for network commands" +ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" +ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" +ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" +ERROR_NET_IPIP="NET_IPIP: needed for network commands" +ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" +ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" +ERROR_VXLAN="VXLAN: needed for network commands" + +EGO_PN="github.com/lxc/lxd" + +src_prepare() { + eapply_user + eapply "${FILESDIR}/de-translation-newline-1.patch" + + cd "${S}/dist/dqlite" || die "Can't cd to dqlite dir" + eautoreconf +} + +src_configure() { + export GOPATH="${S}/dist" + cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" + econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd" + + cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" + PKG_CONFIG_PATH="${GOPATH}/sqlite/" econf --libdir=${EPREFIX}/usr/lib/lxd +} + +src_compile() { + export GOPATH="${S}/dist" + + cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" + emake + + cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" + emake CFLAGS="-I${GOPATH}/sqlite" LDFLAGS="-L${GOPATH}/sqlite" + + # We don't use the Makefile here because it builds targets with the + # assumption that `pwd` is in a deep gopath namespace, which we're not. + # It's simpler to manually call "go install" than patching the Makefile. + cd "${S}" + go install -v -x ${EGO_PN}/lxc || die "Failed to build the client" + + if use daemon; then + + # LXD depends on a patched, bundled sqlite with replication + # capabilities. + export CGO_CFLAGS="-I${GOPATH}/sqlite/ -I${GOPATH}/dqlite/include/" + export CGO_LDFLAGS="-L${GOPATH}/sqlite/.libs/ -L${GOPATH}/dqlite/.libs/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" + export LD_LIBRARY_PATH="${GOPATH}/sqlite/.libs/:${GOPATH}/dqlite/.libs/" + + go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" + fi + + if use tools; then + go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift" + go install -v -x ${EGO_PN}/lxc-to-lxd || die "Failed to build lxc-to-lxd" + go install -v -x ${EGO_PN}/lxd-benchmark || die "Failed to build lxd-benchmark" + go install -v -x ${EGO_PN}/lxd-p2c || die "Failed to build lxd-p2c" + fi + + use nls && emake build-mo +} + +src_test() { + if use daemon; then + export GOPATH="${S}/dist" + # This is mostly a copy/paste from the Makefile's "check" rule, but + # patching the Makefile to work in a non "fully-qualified" go namespace + # was more complicated than this modest copy/paste. + # Also: sorry, for now a network connection is needed to run tests. + # Will properly bundle test dependencies later. + go get -v -x github.com/rogpeppe/godeps + go get -v -x github.com/remyoudompheng/go-misc/deadcode + go get -v -x github.com/golang/lint/golint + go test -v ${EGO_PN}/lxd + else + einfo "No tests to run for client-only builds" + fi +} + +src_install() { + local bindir="dist/bin" + dobin ${bindir}/lxc + if use daemon; then + + export GOPATH="${S}/dist" + cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" + emake DESTDIR="${D}" install + + cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" + emake DESTDIR="${D}" install + + # Must only install libs + rm "${D}/usr/bin/sqlite3" || die "Can't remove custom sqlite3 binary" + rm -r "${D}/usr/include" || die "Can't remove include directory" + + cd "${S}" || die "Can't cd to \${S}" + dosbin ${bindir}/lxd + fi + + if use tools; then + dobin ${bindir}/fuidshift + dobin ${bindir}/lxc-to-lxd + dobin ${bindir}/lxd-benchmark + dobin ${bindir}/lxd-p2c + fi + + if use nls; then + domo po/*.mo + fi + + if use daemon; then + newinitd "${FILESDIR}"/${PN}.initd lxd + newconfd "${FILESDIR}"/${PN}.confd lxd + + systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service + fi + + newbashcomp scripts/bash/lxd-client lxc + + dodoc AUTHORS doc/* +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + + # The messaging below only applies to daemon installs + use daemon || return 0 + + # The control socket will be owned by (and writeable by) this group. + enewgroup lxd + + # Ubuntu also defines an lxd user but it appears unused (the daemon + # must run as root) + + elog + elog "Though not strictly required, some features are enabled at run-time" + elog "when the relevant helper programs are detected:" + elog "- sys-apps/apparmor" + elog "- sys-fs/btrfs-progs" + elog "- sys-fs/lvm2" + elog "- sys-fs/zfs" + elog "- sys-process/criu" + elog + elog "Since these features can't be disabled at build-time they are" + elog "not USE-conditional." + elog + elog "Be sure to add your local user to the lxd group." + elog + elog "Networks with bridge.mode=fan are unsupported due to requiring" + elog "a patched kernel and iproute2." +} + +# TODO: +# - man page, I don't see cobra generating it +# - maybe implement LXD_CLUSTER_UPDATE per +# https://discuss.linuxcontainers.org/t/lxd-3-5-has-been-released/2656 +# EM I'm not convinced it's a good design. diff --git a/app-emulation/lxd/metadata.xml b/app-emulation/lxd/metadata.xml index 3896143698f3..bc72b24a7262 100644 --- a/app-emulation/lxd/metadata.xml +++ b/app-emulation/lxd/metadata.xml @@ -5,10 +5,6 @@ stasibear@gentoo.org Erik Mackdanz - - vdupras@gentoo.org - Virgil Dupras - virtualization@gentoo.org Gentoo Virtualization Project diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 06a7c54e28b1..73721e187c5d 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -9,10 +9,7 @@ AUX qemu-4.0.0-mkdir_systemtap.patch 333 BLAKE2B e7e35e7fe510e7e1a86005f3d51384a AUX qemu-4.0.0-sanitize-interp_info.patch 930 BLAKE2B d555dedc493cfa1cf888cfa7ce2a4a7811f3fd12615fa5177f82c421ddd82c2d7ffcf2e5c28ca383aac1fff35d03cae6b4b6c5129c694d9b3986819aa1e12962 SHA512 7783acf1172c4fd935c2b8f5bd76e97cea6bbb3ee33a21b23a17f23933f6053b3a933f378c6eae184c2362cb090b6b2c1966f79f1f130cf7344205ef3df0178d AUX qemu-binfmt.initd.head 1442 BLAKE2B 23aa5338914aa7c47f9b1cc1d28291abd0ea037a33cca81f990decfafac2907c86c042350c9dd45591d16330846d4e11d2c8a2a409a68ad81656d9c2c51964c0 SHA512 3fec8946a37bfbd2089f5d95089ed5987a198fc0139ee7482d4bb38c2ffa0e165667a7853afcf2b458bc3e2a6540f172c929ca5a334a00db47e2d0f881382c0e AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 -DIST qemu-3.1.0-patches-r1.tar.xz 2292 BLAKE2B 0861dcf2eebd7f1f6dd495035fc39a14e44eb8e437127b22105ea2374e5068613c4c3f41227e97e0093062f9448ded2d956dc6c40ae6c64c7258c3dcf87c59c3 SHA512 6eca3f4ec6e62c7a24af15405147d266f8fb77462eb8797da8d7f9e40805160d9431478428baece5b5744fc1edecff988b44c512ae1fbf8f2cc3632ea14962cc -DIST qemu-3.1.0.tar.xz 36070104 BLAKE2B 9ed7d1b3256d84f2b73d61763e20f5e4bc5b47d56e4e0d56cf4c29cd25669457b0f08e90d7255589c9666400bb310df3dba3b9290232cad18057b20f08013a3b SHA512 7e8dae823937cfac2f0c60406bd3bdcb89df40313dab2a4bed327d5198f7fcc68ac8b31e44692caa09299cc71256ee0b8c17e4f49f78ada8043d424f5daf82fe DIST qemu-4.0.0.tar.xz 55628624 BLAKE2B 8afd1f54aa13d2e61fd36c4f4544b7c4ffb1a7eee5c69d3aa1d40a432ca296ad8abe6cb83d7c66ac4045ca624d2a00e737f51e4e62ed46fef9766ef71f43b98b SHA512 952e94194ce9e64c15388c59035cb31fb9f761d30095c2fb9441012b609c18c9976285727b93bf37b95e15675802d73f8e1c4619ebecd23606675bb503646b13 -EBUILD qemu-3.1.0-r4.ebuild 23873 BLAKE2B a16ea397f5da2d3e36edaee9d584fe99366e2b85afe21d83eb906aac58c946ba85789c3430fab4913b8fd9008e2e13fcd13822bf643932988ac999e527311442 SHA512 158917bb98ac88f9d635e928b6397409051ea00269749751d5b0c5aa9d0bb539e7bb50573131e2eba0b6748ddee34a6ffd366c7aa180b2094553bb7b01193223 -EBUILD qemu-4.0.0-r3.ebuild 23896 BLAKE2B 7017b7230d82fe0be70c7e58c39728bd347cdb88398fdd5919103d4b47dab1036acc94229d8cd26bf9994b2759c0fd97237cf293a50e4c26c72b21471fdd7403 SHA512 24db550748e80d5e624ac9d154471fcafe74a77a592e2366423461c3b80b0521d44fa3693eace4382760fc86329245f0301dd93d5b836945c5fce33807853fea -EBUILD qemu-9999.ebuild 23822 BLAKE2B 3579d3d62c9c8c5566e3130e4b9acd6d5344e51e02e9947441e68feb9492857ec6c5cd95644af7cec02038a4a37ca56a2af7c176f5b54bf6ed058b2884448240 SHA512 216f54fecf55fde9f0f87221d519e24ddc218c07ea4da9d0ab6b4179133312baea64cbf055c33195d4133cad2a74d944e94ea44249e1e3c3cb6af68f5587f476 +EBUILD qemu-4.0.0-r3.ebuild 23888 BLAKE2B 7fab4d70b537066924393744bace5041fb4367aa33374ac7bdab518a7f1604bde19c2231590e26221522dd99dca562e2203565832432825f1e4a3e19a571f4e6 SHA512 d941e187e5e5dbc5d885a2ccd6247c249583c12947615cab6f33e3aaa95bbd8d1eb93e5c608d5ad6efbeffa85d4a353010e4e1a917d9dc4ab1838d4fecb734f2 +EBUILD qemu-9999.ebuild 23795 BLAKE2B 936e3f5658304f3243aeda62640be6543a595cc9296c2adbcaf130d1e68dde041c3b795c7a34a5dc7cdbef545c6016693ef997fe3fdabf02df779418c3b54983 SHA512 8aa3054a37afd58f83c989fe964f526088617482f3ec9e66277f903aa36aedd0bb70c07fb815a62cb2890a9dcf3f02cab734ed8e88450907075cc3f3c848f534 MISC metadata.xml 3903 BLAKE2B 47538d32d79321c208037c95184ab68dbbcaa2331a561142bbadc01fbc2b7973cc5ae76ac6dfa7faf1c3aa31d1d0b5dfd6a46211e94c17c5a8939b0ae99b227b SHA512 d501ede1f3182e635db02c8bac4381906ac47b8d6db4bb6b0fdeb91b35b440a2a59a5dd23b06462f1d49a6b64ae2f2bcf1f81fd0a898c8f4b67a40ccf2c58341 diff --git a/app-emulation/qemu/qemu-3.1.0-r4.ebuild b/app-emulation/qemu/qemu-3.1.0-r4.ebuild deleted file mode 100644 index 086555e1bbeb..000000000000 --- a/app-emulation/qemu/qemu-3.1.0-r4.ebuild +++ /dev/null @@ -1,813 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} ) -PYTHON_REQ_USE="ncurses,readline" - -PLOCALES="bg de_DE fr_FR hu it tr zh_CN" - -FIRMWARE_ABI_VERSION="2.11.1-r50" - -inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ - user udev fcaps readme.gentoo-r1 pax-utils l10n - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="git://git.qemu.org/qemu.git" - inherit git-r3 - SRC_URI="" -else - SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.xz" - KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd" - - # Gentoo specific patchsets: - SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r1.tar.xz" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" -IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug - +fdt glusterfs gnutls gtk infiniband iscsi +jpeg kernel_linux - kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png - pulseaudio python rbd sasl +seccomp sdl selinux smartcard snappy - spice ssh static static-user systemtap tci test usb usbredir vde - +vhost-net virgl virtfs +vnc vte xattr xen xfs" - -RESTRICT=strip - -COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel - mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x - sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} - lm32 moxie tricore unicore32" -IUSE_USER_TARGETS="${COMMON_TARGETS} - aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus - tilegx" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - static? ( static-user !alsa !gtk !opengl !pulseaudio !snappy ) - virtfs? ( xattr ) - vte? ( gtk )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - >=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-util/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - dev-libs/libxml2[static-libs(+)] - x11-libs/libxkbcommon[static-libs(+)] - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:= ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - dev-libs/nettle:=[static-libs(+)] - >=net-libs/gnutls-3.0:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( - sys-fabric/libibumad:=[static-libs(+)] - sys-fabric/libibverbs:=[static-libs(+)] - sys-fabric/librdmacm:=[static-libs(+)] - ) - iscsi? ( net-libs/libiscsi ) - jpeg? ( virtual/jpeg:0=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - ncurses? ( - sys-libs/ncurses:0=[unicode] - sys-libs/ncurses:0=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl,gbm] - ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - pulseaudio? ( media-sound/pulseaudio ) - rbd? ( sys-cluster/ceph[static-libs(+)] ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[X] - media-libs/libsdl2[static-libs(+)] - ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.12.3 - >=app-emulation/spice-0.12.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] )" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-ovmf-2017_p20180211[binary] - ~sys-firmware/ipxe-1.0.0_p20180211[binary] - ~sys-firmware/seabios-1.11.0[binary,seavgabios] - ~sys-firmware/sgabios-0.1_pre8[binary] - ) - !pin-upstream-blobs? ( - sys-firmware/edk2-ovmf - sys-firmware/ipxe - >=sys-firmware/seabios-1.10.2[seavgabios] - sys-firmware/sgabios - )" -PPC64_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-1.11.0[binary,seavgabios] - ) - !pin-upstream-blobs? ( - >=sys-firmware/seabios-1.10.2[seavgabios] - ) -" - -BDEPEND=" - ${PYTHON_DEPS} - dev-lang/perl - sys-apps/texinfo - virtual/pkgconfig - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - ) -" -CDEPEND=" - !static? ( - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) -" -DEPEND="${CDEPEND} - ${PYTHON_DEPS} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static? ( - ${ALL_DEPEND} - ${SOFTMMU_TOOLS_DEPEND} - ) - static-user? ( ${ALL_DEPEND} )" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-qemu )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.5.0-cflags.patch - "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch - "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch - "${WORKDIR}"/patches -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500" - -QA_WX_LOAD="usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-ppc64abi32 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requres a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -pkg_setup() { - enewgroup kvm 78 -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/default-configs >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -handle_locales() { - # Make sure locale list is kept up-to-date. - local detected sorted - detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) - sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "PLOCALES: ${sorted}" - eerror " po/*.po: ${detected}" - die "sync PLOCALES" - fi - - # Deal with selective install of locales. - if use nls ; then - # Delete locales the user does not want. #577814 - rm_loc() { rm po/$1.po || die; } - l10n_for_each_disabled_locale_do rm_loc - else - # Cheap hack to disable gettext .mo generation. - rm -f po/*.po - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - # Alter target makefiles to accept CFLAGS set via flag-o - sed -i -r \ - -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \ - Makefile Makefile.target || die - - default - - # Fix ld and objcopy being called directly - tc-export AR LD OBJCOPY - - # Verbose builds - MAKEOPTS+=" V=1" - - # Run after we've applied all patches. - handle_locales - - # Remove bundled copy of libfdt - rm -r dtc || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --libdir=/usr/$(get_libdir) - --docdir=/usr/share/doc/${PF}/html - --disable-bsd-user - --disable-guest-agent - --disable-strip - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - --enable-docs - $(use_enable tci tcg-interpreter) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - conf_opts+=( - --disable-bluez - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser caps cap-ng) - $(conf_notuser curl) - $(conf_notuser fdt) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser lzo) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser png vnc-png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_notuser seccomp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh2) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_notuser virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - $(conf_notuser xfs xfsctl) - ) - - if [[ ${buildtype} == "user" ]] ; then - conf_opts+=( --disable-libxml2 ) - else - conf_opts+=( --enable-libxml2 ) - fi - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts="oss" - use alsa && audio_opts="alsa,${audio_opts}" - use sdl && audio_opts="sdl,${audio_opts}" - use pulseaudio && audio_opts="pa,${audio_opts}" - conf_opts+=( - --audio-drv-list="${audio_opts}" - ) - use sdl && conf_opts+=( --with-sdlabi=2.0 ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-blobs - --disable-tools - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - ) - local static_flag="static" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --disable-blobs - --enable-tools - ) - local static_flag="static" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTAP - use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" - - # FreeBSD's kernel does not support QEMU assigning/grabbing - # host USB devices yet - use kernel_FreeBSD && \ - sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi - - cd "${S}/tools-build" - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - pax-mark m */qemu-system-* #515550 - emake -j1 check - emake -j1 check-report.html - fi -} - -qemu_python_install() { - python_domodule "${S}/scripts/qmp/qmp.py" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - if [[ -e check-report.html ]]; then - docinto html - dodoc check-report.html - fi - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" - emake DESTDIR="${ED}" install - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - rm "${ED}/usr/share/qemu/bios-256k.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - # PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - rm "${ED}/usr/share/qemu/sgabios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - rm "${ED}"/usr/share/qemu/pxe-*.rom - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - ewarn " $(best_version sys-firmware/edk2-ovmf)" - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/seabios)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - echo " $(best_version sys-firmware/edk2-ovmf)" - if has_version 'sys-firmware/edk2-ovmf[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/seabios)" - if has_version 'sys-firmware/seabios[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/sgabios)" -} diff --git a/app-emulation/qemu/qemu-4.0.0-r3.ebuild b/app-emulation/qemu/qemu-4.0.0-r3.ebuild index bd09a33e9d46..49fcec6ba3fe 100644 --- a/app-emulation/qemu/qemu-4.0.0-r3.ebuild +++ b/app-emulation/qemu/qemu-4.0.0-r3.ebuild @@ -169,7 +169,7 @@ PPC64_FIRMWARE_DEPEND=" " BDEPEND=" - ${PYTHON_DEPS} + $(python_gen_impl_dep) dev-lang/perl sys-apps/texinfo virtual/pkgconfig @@ -190,7 +190,6 @@ CDEPEND=" qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) " DEPEND="${CDEPEND} - ${PYTHON_DEPS} kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) static? ( ${ALL_DEPEND} diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index 3e7962a76402..8d1410fd8d2d 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -169,9 +169,8 @@ PPC64_FIRMWARE_DEPEND=" " BDEPEND=" - ${PYTHON_DEPS} + $(python_gen_impl_dep) dev-lang/perl - dev-python/sphinx sys-apps/texinfo virtual/pkgconfig doc? ( dev-python/sphinx ) @@ -191,7 +190,6 @@ CDEPEND=" qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) " DEPEND="${CDEPEND} - ${PYTHON_DEPS} kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) static? ( ${ALL_DEPEND} diff --git a/app-emulation/runc/Manifest b/app-emulation/runc/Manifest index 7d75dd0bd785..00b1e42995ae 100644 --- a/app-emulation/runc/Manifest +++ b/app-emulation/runc/Manifest @@ -1,13 +1,3 @@ -AUX runc-fix-cve.patch 8949 BLAKE2B b968b811c139a15d39daf78bbffac35aad583f1ca1cfe4c24ecf150588269d757329cc64643084a869593faae8c1a8e56b998985be7b94c7a4a98679292aab03 SHA512 51c87fc5d3584c86d6a9f92ffd2c9f66c2d9b9f0373370e910069e778f9acd10bfb4ae450b0ec1722f80d601810057402884992d9f8b7608f13e3bf9c007a28a -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 -EBUILD runc-1.0.0_rc5_p20180509-r1.ebuild 1408 BLAKE2B c5dde23793e7966a4d89a58d14b086e2d4a93825ac4385638b58739b583cceacd557cffb053f87de4029c55adf8ae982b1a761f7f1688fe3b49a16e94446bf34 SHA512 0cbe830942bee1b4e8dd229c29ace4a5f41244a6b1c1be1ca9e12d69bbecfb9179d7119f52fb0ec9cfbf74940f58bee57a5ae4ee0cf795fa969f5c925694a869 -EBUILD runc-1.0.0_rc6_p20181203-r1.ebuild 1534 BLAKE2B d907412e7df715865af6a5208f78b83134e2130fc00a29397b5881a74622cc9f4a0a396f7b132245840e2dccb0ffc41ceaa597070a2a8f6b66168fc4e41c2c3b SHA512 bb21bdbb24cf9ccc62c99a378efd6fe15f71587abdc487ee556e155fa33d041e3ea8e3cabca7a8c3af6154884bbc2508d9cf978c1c786bb87661bb266d93cd82 -EBUILD runc-1.0.0_rc6_p20190216.ebuild 1487 BLAKE2B 5278f4adff5f9a5610a4eae511b7cb7722dcc0cab7948242e8db8ef6b02c61e2d0580476d43b52c73f4bead100a23b3392ba00d7a71c6076dc6670ce116cf3e6 SHA512 f6c90f8953c53973dfb2ef5b4c4ecf6b8adc8276518f0444c1efc3b3a85b678f4b17fdc0fd90c19868ec545858319f84b1cb0e82a35b4568d2ccf5dced5a1d12 -EBUILD runc-1.0.0_rc7.ebuild 1487 BLAKE2B 1429ba16ac35ba55d68ba622bba187457ca81719f015637a9c5e268f5214014cd718545b39772262921546db2f6a99aa5679a213350784ec103e10831e506ce1 SHA512 6c38c601fcbf4098daf674adef49e993c64721f865aa5bb93fbedde90838e753aa5ae9d9865454639c4bf5db62e1eb116e55b27215fd62b35c9a9148decc0b41 EBUILD runc-1.0.0_rc8.ebuild 1487 BLAKE2B 5a3ad59b6d6f8582f8f86d3f5887294bbacc9db973e0f3b0090a085dacb07b993a68a5f6da40824c99312534d033da03ec3e1e7230bf1d459f9025bbfd691d6d SHA512 41e23944c8bce42d7043d0fd4a6ea01096431c73d5636bd1f0b6a68452cb70aea7aa69d91588be7091d103a227375ca1dec3f4e10e96d8108f4591494cb6f816 -EBUILD runc-9999.ebuild 1080 BLAKE2B 09034744e5842eb2a340b3095ee3098c58b0853d81ee899b2b8e84c15ffe59638bfc6fb89d158edd4271f1e630c97dafdb4cbe7fb9286049dfe2bbf5eef213ed SHA512 b026b5cbfd44e110a2c2cd72125c757c6b957137fe9491b85e1f25014b564226a3e76c23ea463fd4d7ad742228b2b7bc533aa6b2539b43ca5c37aa2dd07218e3 MISC metadata.xml 870 BLAKE2B e7fdbbe8bd178b4781f9a1345cb3473b9b2371db7f824ec3351a117d8c07c4dfa208eb1d1ef946576a6aa972bb055eba03c934f2388538998bee0e742e31151f SHA512 090b4cdf0cf933ad782e9b68df78aec48265222083a17c5f8e387943b9b535fe3d3ba751629f5c3978987572a2f1e821514e54a7f5327164f0ee8f5ce48efcdd diff --git a/app-emulation/runc/files/runc-fix-cve.patch b/app-emulation/runc/files/runc-fix-cve.patch deleted file mode 100644 index fa85cb0444f3..000000000000 --- a/app-emulation/runc/files/runc-fix-cve.patch +++ /dev/null @@ -1,334 +0,0 @@ -From 0a8e4117e7f715d5fbeef398405813ce8e88558b Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -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 -Signed-off-by: Aleksa Sarai ---- - 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 -+ * 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 -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* 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 . */ -+# 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 . */ -+#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); - diff --git a/app-emulation/runc/runc-1.0.0_rc5_p20180509-r1.ebuild b/app-emulation/runc/runc-1.0.0_rc5_p20180509-r1.ebuild deleted file mode 100644 index 992fdf609d60..000000000000 --- a/app-emulation/runc/runc-1.0.0_rc5_p20180509-r1.ebuild +++ /dev/null @@ -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 -} diff --git a/app-emulation/runc/runc-1.0.0_rc6_p20181203-r1.ebuild b/app-emulation/runc/runc-1.0.0_rc6_p20181203-r1.ebuild deleted file mode 100644 index 893c249793a5..000000000000 --- a/app-emulation/runc/runc-1.0.0_rc6_p20181203-r1.ebuild +++ /dev/null @@ -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 -} diff --git a/app-emulation/runc/runc-1.0.0_rc6_p20190216.ebuild b/app-emulation/runc/runc-1.0.0_rc6_p20190216.ebuild deleted file mode 100644 index d1e688e0dd66..000000000000 --- a/app-emulation/runc/runc-1.0.0_rc6_p20190216.ebuild +++ /dev/null @@ -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 -} diff --git a/app-emulation/runc/runc-1.0.0_rc7.ebuild b/app-emulation/runc/runc-1.0.0_rc7.ebuild deleted file mode 100644 index 9a9686fa4afe..000000000000 --- a/app-emulation/runc/runc-1.0.0_rc7.ebuild +++ /dev/null @@ -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 -} diff --git a/app-emulation/runc/runc-9999.ebuild b/app-emulation/runc/runc-9999.ebuild deleted file mode 100644 index 8973c7491259..000000000000 --- a/app-emulation/runc/runc-9999.ebuild +++ /dev/null @@ -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 -} diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest index c403173c3e0a..6fae1cf168af 100644 --- a/app-emulation/virt-manager/Manifest +++ b/app-emulation/virt-manager/Manifest @@ -1,8 +1,6 @@ -DIST virt-manager-1.4.3.tar.gz 2765924 BLAKE2B fa888dc78bb8ab27ff5a507829c5ace5d0e82b7840c9d4ec1857dfd2e62f39172abf116ca3f4d99f4a2c4366f06695a52561e6c816969928df79e623fb4ce9bf SHA512 007f125503fc2c774beefc8047ca2c36aa7177af40d9bc78fa3448fd50d4d35abd4a1dbbf761a8cd538fdf6541eba46c2cd019ba3ff0c7e29b1944d873b74274 -DIST virt-manager-1.5.1.tar.gz 2796831 BLAKE2B 0fc8b266e7dd2ac3f337e3f95f4328ece930ff66605a444bd728183ffb8fb497204f5e73409f42e3d19ccaa009195a552864dc09f9d78efda7c04f4c5292dbf5 SHA512 e0da3b879ea33a8c394c33df85cadac4fbb9cfed65f9a904c5d9bf07232e29f8c96b5242e3f94cae390b7b5d7a20e1c25c3867962f0a39de40e71dc00013d32b DIST virt-manager-2.0.0.tar.gz 2629465 BLAKE2B 8795985afb8805fdb4f1ee94c7344361a7d09d3e62e361f3126859c4d1b1077286b720de7629fd876e5bff10500cc6cea6f1d4afbba5c2c83fd61b137c40a3a7 SHA512 5d0eb65dceb5c913973edaa52414b1665d1ed9cd3f226e28a592decddec2acd8fdb589f60736edf9b7d95830893812f9aecca2cbdd715033ca7ea53a95472876 -EBUILD virt-manager-1.4.3-r1.ebuild 2385 BLAKE2B 1361cdbb0b185ff6dd6430e94c2416a9981ce360cbcd6330cde5f519989af3f9f85b98d194a23c2d6fe0f9fd9ccb701bf09f1fbae32d1906d1fa22ed30250bd3 SHA512 3a864d2802a1f61b3153c84c0cd1c91241d9003331aa749035133a06d21c06fbd094a9c7a5058b69f9a560961069611465b9054cfd57b7ce64299c83cf0fb183 -EBUILD virt-manager-1.5.1-r1.ebuild 2403 BLAKE2B 2e30a3cb3debac21490fb97a3bbc02bd7f24d5ebabe989340fe94ecc2dfbe30d9f7774fab428ca9d237e554f18863466359a6ab2f7c9e82f2dfa6a9dbf7f4e1c SHA512 952a3bb8d6f4e239b933e2b011db72dcb2d23ea34da193fcc58b755e44cb9acebaa3caceffff565c8db752188abba8d677858e96b76bdd801c8cdf54bedbb3d9 +DIST virt-manager-2.2.0.tar.gz 2628726 BLAKE2B d2f6bc7a7bcf8b220109702b7cd65dd9484c197252cf96e4748c27921a45749c476ed9d03eadac6ef3053df01ceb267c4756b0c602fad431ad9de0035d4ed5d5 SHA512 09975f7628ee302687eb6572b5f35797b4710aaae60c17542ee9edd72c65e80e93d7bbc7a2050667a9280effdbab28272886ae155b3ba73c104153ae3c048d99 EBUILD virt-manager-2.0.0.ebuild 2292 BLAKE2B 2d0b799a31fae20e1819f4d30bdac38cee7656d2512ff1f2898771e905bb73d362022e2166ba4d1d809aab505e7d5fc5c5d8338c857812da0601f04d663f96b3 SHA512 cae9b2fa3e29a34796f6b098c09a513bd3af6b13f63d4cdcd0429f3d5573bc0c5c9bf1070d1a7c988dbb0d720bafd0d07a765f2704e642faff9067e178d311c8 -EBUILD virt-manager-9999.ebuild 2285 BLAKE2B 4d02aeeae699fe9cc3f77f20f0edb8c68d0ee9a6bcbb3b294752f4683d9a1728ea8281ac713f82b1c54fe55914f68af48b83c535fcc102db25efef7d7c72d04b SHA512 12678fd1dd2dd2eb7ca5b0245c78f4223fc40a32147ff89810975b523e8faaba574b20b25d6be99f95b258e245c6cef851d844f617c452e87f77781e1dc91fe0 +EBUILD virt-manager-2.2.0.ebuild 2363 BLAKE2B 5581b1a92df41c5d9a281851ca5e70a70cb4dd935d65f5167689fca2133bf60c69cb5a913e39009568dcf65c823f5608a97249c3889a2728ef96a8ec685e7555 SHA512 637503f90f4a5a211d94ebd3c385ab20f6f9787a13c0e8efdfc32719dbb551f4bf4bf1e288f994a3168a11ade788ee8f819b30f978ff0f2e17fc754983878933 +EBUILD virt-manager-9999.ebuild 2363 BLAKE2B 5581b1a92df41c5d9a281851ca5e70a70cb4dd935d65f5167689fca2133bf60c69cb5a913e39009568dcf65c823f5608a97249c3889a2728ef96a8ec685e7555 SHA512 637503f90f4a5a211d94ebd3c385ab20f6f9787a13c0e8efdfc32719dbb551f4bf4bf1e288f994a3168a11ade788ee8f819b30f978ff0f2e17fc754983878933 MISC metadata.xml 662 BLAKE2B 4ddc8ee05f0679380316f8c175194b325d931967c9faee576f042fa42e0c7d6f8aa6b688464c1a839b8b20e184646d6e356095ffad136141c6c1fc7aa5d4f4f6 SHA512 7aaac81b00bb77562616d6ba9442c2e37d7cdd1142af090e3fe07be36315b5179bdb9cf78073c3f901e9a924c089ba00474e3c7121d785b6622b60be1fce682a diff --git a/app-emulation/virt-manager/virt-manager-1.4.3-r1.ebuild b/app-emulation/virt-manager/virt-manager-1.4.3-r1.ebuild deleted file mode 100644 index c931037ed2b2..000000000000 --- a/app-emulation/virt-manager/virt-manager-1.4.3-r1.ebuild +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -DISTUTILS_SINGLE_IMPL=1 - -inherit gnome2 distutils-r1 - -DESCRIPTION="A graphical tool for administering virtual machines" -HOMEPAGE="http://virt-manager.org" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - SRC_URI="" - KEYWORDS="amd64 x86" - EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git" -else - SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" - KEYWORDS="amd64 x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="gnome-keyring gtk policykit sasl" - -RDEPEND="!app-emulation/virtinst - dev-python/libvirt-python[${PYTHON_USEDEP}] - >=app-emulation/libvirt-glib-1.0.0[introspection] - ${PYTHON_DEPS} - dev-libs/libxml2[python,${PYTHON_USEDEP}] - dev-python/ipaddr[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - >=sys-libs/libosinfo-0.2.10[introspection] - gtk? ( - x11-libs/gtk+:3[introspection] - gnome-base/dconf - >=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection] - net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?] - net-misc/x11-ssh-askpass - x11-libs/vte:2.91[introspection] - gnome-keyring? ( gnome-base/libgnome-keyring ) - policykit? ( sys-auth/polkit[introspection] ) - ) -" -DEPEND="${RDEPEND} - dev-lang/perl - dev-util/intltool -" - -DOCS=( README.md NEWS.md ) - -src_prepare() { - distutils-r1_src_prepare -} - -distutils-r1_python_compile() { - local defgraphics= - - esetup.py configure \ - --qemu-user=qemu \ - --default-graphics=spice -} - -src_install() { - local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) - - distutils-r1_src_install - - python_fix_shebang \ - "${ED}"/usr/share/virt-manager/virt-{clone,convert,install,manager} -} - -pkg_preinst() { - if use gtk; then - gnome2_pkg_preinst - - cd "${ED}" - export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) - else - rm -rf "${ED}/usr/share/virt-manager/virtManager" - rm -f "${ED}/usr/share/virt-manager/virt-manager" - rm -rf "${ED}/usr/share/virt-manager/ui/" - rm -rf "${ED}/usr/share/virt-manager/icons/" - rm -rf "${ED}/usr/share/man/man1/virt-manager.1*" - rm -rf "${ED}/usr/share/icons/" - rm -rf "${ED}/usr/share/applications/virt-manager.desktop" - rm -rf "${ED}/usr/bin/virt-manager" - fi -} - -pkg_postinst() { - use gtk && gnome2_pkg_postinst -} diff --git a/app-emulation/virt-manager/virt-manager-1.5.1-r1.ebuild b/app-emulation/virt-manager/virt-manager-1.5.1-r1.ebuild deleted file mode 100644 index 9258899fd29b..000000000000 --- a/app-emulation/virt-manager/virt-manager-1.5.1-r1.ebuild +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -DISTUTILS_SINGLE_IMPL=1 - -inherit gnome2 distutils-r1 - -DESCRIPTION="A graphical tool for administering virtual machines" -HOMEPAGE="http://virt-manager.org" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - SRC_URI="" - KEYWORDS="amd64 x86" - EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git" -else - SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" - KEYWORDS="amd64 x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="gnome-keyring gtk policykit sasl" - -RDEPEND="!app-emulation/virtinst - ${PYTHON_DEPS} - app-cdr/cdrtools - >=app-emulation/libvirt-glib-1.0.0[introspection] - dev-libs/libxml2[python,${PYTHON_USEDEP}] - dev-python/ipaddr[${PYTHON_USEDEP}] - dev-python/libvirt-python[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - >=sys-libs/libosinfo-0.2.10[introspection] - gtk? ( - gnome-base/dconf - >=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection] - net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?] - net-misc/x11-ssh-askpass - x11-libs/gtk+:3[introspection] - x11-libs/vte:2.91[introspection] - gnome-keyring? ( gnome-base/libgnome-keyring ) - policykit? ( sys-auth/polkit[introspection] ) - ) -" -DEPEND="${RDEPEND} - dev-lang/perl - dev-util/intltool -" - -DOCS=( README.md NEWS.md ) - -src_prepare() { - distutils-r1_src_prepare -} - -distutils-r1_python_compile() { - local defgraphics= - - esetup.py configure \ - --qemu-user=qemu \ - --default-graphics=spice -} - -src_install() { - local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) - - distutils-r1_src_install - - python_fix_shebang \ - "${ED}"/usr/share/virt-manager/virt-{clone,convert,install,manager} -} - -pkg_preinst() { - if use gtk; then - gnome2_pkg_preinst - - cd "${ED}" - export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) - else - rm -rf "${ED}/usr/share/virt-manager/virtManager" - rm -f "${ED}/usr/share/virt-manager/virt-manager" - rm -rf "${ED}/usr/share/virt-manager/ui/" - rm -rf "${ED}/usr/share/virt-manager/icons/" - rm -rf "${ED}/usr/share/man/man1/virt-manager.1*" - rm -rf "${ED}/usr/share/icons/" - rm -rf "${ED}/usr/share/applications/virt-manager.desktop" - rm -rf "${ED}/usr/bin/virt-manager" - fi -} - -pkg_postinst() { - use gtk && gnome2_pkg_postinst -} diff --git a/app-emulation/virt-manager/virt-manager-2.2.0.ebuild b/app-emulation/virt-manager/virt-manager-2.2.0.ebuild new file mode 100644 index 000000000000..0cf20e4a304c --- /dev/null +++ b/app-emulation/virt-manager/virt-manager-2.2.0.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python3_{5,6,7} ) +DISTUTILS_SINGLE_IMPL=1 + +inherit gnome2 distutils-r1 + +DESCRIPTION="A graphical tool for administering virtual machines" +HOMEPAGE="http://virt-manager.org" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + SRC_URI="" + KEYWORDS="" + EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git" +else + SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="gnome-keyring gtk policykit sasl" + +RDEPEND="!app-emulation/virtinst + ${PYTHON_DEPS} + app-cdr/cdrtools + >=app-emulation/libvirt-glib-1.0.0[introspection] + dev-libs/libxml2[python,${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/libvirt-python[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + >=sys-libs/libosinfo-0.2.10[introspection] + gtk? ( + gnome-base/dconf + >=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection] + net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?] + net-misc/x11-ssh-askpass + x11-libs/gtk+:3[introspection] + x11-libs/gtksourceview:4 + x11-libs/vte:2.91[introspection] + gnome-keyring? ( gnome-base/libgnome-keyring ) + policykit? ( sys-auth/polkit[introspection] ) + ) +" +DEPEND="${RDEPEND} + dev-lang/perl + dev-util/intltool +" + +DOCS=( README.md NEWS.md ) + +src_prepare() { + distutils-r1_src_prepare +} + +distutils-r1_python_compile() { + local defgraphics= + + esetup.py configure \ + --default-graphics=spice +} + +src_install() { + local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) + distutils-r1_src_install + + python_fix_shebang "${ED}"/usr/share/virt-manager +} + +pkg_preinst() { + if use gtk; then + gnome2_pkg_preinst + + cd "${ED}" + export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) + else + rm -rf "${ED}/usr/share/virt-manager/virtManager" + rm -f "${ED}/usr/share/virt-manager/virt-manager" + rm -rf "${ED}/usr/share/virt-manager/ui/" + rm -rf "${ED}/usr/share/virt-manager/icons/" + rm -rf "${ED}/usr/share/man/man1/virt-manager.1*" + rm -rf "${ED}/usr/share/icons/" + rm -rf "${ED}/usr/share/applications/virt-manager.desktop" + rm -rf "${ED}/usr/bin/virt-manager" + fi +} + +pkg_postinst() { + use gtk && gnome2_pkg_postinst +} diff --git a/app-emulation/virt-manager/virt-manager-9999.ebuild b/app-emulation/virt-manager/virt-manager-9999.ebuild index 3c5a08763dc3..0cf20e4a304c 100644 --- a/app-emulation/virt-manager/virt-manager-9999.ebuild +++ b/app-emulation/virt-manager/virt-manager-9999.ebuild @@ -41,6 +41,7 @@ RDEPEND="!app-emulation/virtinst net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?] net-misc/x11-ssh-askpass x11-libs/gtk+:3[introspection] + x11-libs/gtksourceview:4 x11-libs/vte:2.91[introspection] gnome-keyring? ( gnome-base/libgnome-keyring ) policykit? ( sys-auth/polkit[introspection] ) @@ -66,8 +67,9 @@ distutils-r1_python_compile() { src_install() { local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) - distutils-r1_src_install + + python_fix_shebang "${ED}"/usr/share/virt-manager } pkg_preinst() { diff --git a/app-emulation/virt-viewer/Manifest b/app-emulation/virt-viewer/Manifest index 2500bf10e036..d7533eb6a5ee 100644 --- a/app-emulation/virt-viewer/Manifest +++ b/app-emulation/virt-viewer/Manifest @@ -1,5 +1,5 @@ -DIST virt-viewer-6.0.tar.gz 922916 BLAKE2B 1c2246369474d06188dc2191b9756dbe69cff2d5f997ffb58bdab1143a0e4d6cda0e43b4b082d7921125caa4348635762070fa8e6686ccf7728a90e4e6fc3a18 SHA512 656d48f8ab387d025c406cb5f56164d79104c6c377fae37d9c524b90e512fe873d5d1d6c435d4ea95e71468b7d3384b89789495075cafb1a9e67f583f7d49ec2 DIST virt-viewer-7.0.tar.gz 924475 BLAKE2B 003efaf88445ec6f523e678459ed1e11562d0cd87fb4811105df9ac1e3129f4a97170c5b783f1d504d157055ae51ac8dc23ffa8f3f79dd6cd55707d962e1d9ad SHA512 e0558c9138877f546add6a3df9721e100cadb6953815be82b2376b0521b82cf14052bdc29c42bb03b198b6e9d129a55d33531a153207d7f29b5c1c3402ebc904 -EBUILD virt-viewer-6.0-r1.ebuild 916 BLAKE2B c43af1747c961f6e90bfc6d472047ba056ba60417a8252adbadc89d3cf15438efda23bc98da745fa26d4e3fc779821d7fc6aa756623e6ed6e84266245f51f6f9 SHA512 995db1ae9baad0d2fa3407c85da1d278706ad04a6a7d5d2dd2ad0e046b465242a31921e52e7712875cd582d0c7abccc111ad11be5b344ce1b89e7364fef571e7 +DIST virt-viewer-8.0.tar.gz 937457 BLAKE2B 107a5f77d0e272665561e22c950416275c939d000fbb522401a954e6836bbd9e9399e768bc4363a1ea3110dd3229fe33738560563271774c3054278b2399cab8 SHA512 73317048949b6c49c28aab4685e3fb6533945b12c47078b522429b3e178423fcec5758c970d5048c8f65fee2b92a629b7e067cffa79c968292c73fd36133b918 EBUILD virt-viewer-7.0.ebuild 913 BLAKE2B 0b6dfcfe940c93c9d1cb2feaa5b2b67b710fe35b75dde82066b4f133ce060933742aea8dc437f394a1492d1ff579ad13f0f45acfebb5db80ed665aafdc050be1 SHA512 3d219e4c9aab912f6fdd0fe4b0fce8d7959d103305069629ce95a5baea8209b707e5bb51eeb87e2fc6f85178acdb8bc811baa9293bb6a256ac6ce8a4d9b4d47c +EBUILD virt-viewer-8.0.ebuild 915 BLAKE2B fcc75de702cfd583e8ccc1c698a41e68eb0e4ac0eed643e5b21ef33743dcf08714c8df33ea652ba4b98432da28bad9d78ab51fa9fe866df28f933180aa24b70d SHA512 e411557c687fd162f56c4331c1c1a7730b9348d36da1634f7a533b2509e5ebf09420e2e87d37d74a80deb2232e8a85ac8063d532780e4a06abe68d89c962ab81 MISC metadata.xml 452 BLAKE2B cb307dd6593ae8c96ca9c6925783e0b26335f1d1b11c21ccbf7e54003ef2e9e32701304464380afea75a642914e2334c053417aa5e18de5737443b2b60f65d0d SHA512 c97651a4477db1452310d3b53efec56c596963827d1b13385bdbaee5bd8725774b40edc88dc5389b5c0a4ac50f9801de5f649d8f941d315f1e28b6ebf1c9cb79 diff --git a/app-emulation/virt-viewer/virt-viewer-6.0-r1.ebuild b/app-emulation/virt-viewer/virt-viewer-6.0-r1.ebuild deleted file mode 100644 index 5e7f75d9859a..000000000000 --- a/app-emulation/virt-viewer/virt-viewer-6.0-r1.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit gnome2 - -DESCRIPTION="Graphical console client for connecting to virtual machines" -HOMEPAGE="http://virt-manager.org/" -SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="sasl +spice +vnc" - -RDEPEND=">=app-emulation/libvirt-0.10.0[sasl?] - app-emulation/libvirt-glib - >=dev-libs/libxml2-2.6 - x11-libs/gtk+:3 - spice? ( >=net-misc/spice-gtk-0.33[sasl?,gtk3] ) - vnc? ( >=net-libs/gtk-vnc-0.5.0[sasl?,gtk3(+)] )" -DEPEND="${RDEPEND} - dev-lang/perl - >=dev-util/intltool-0.35.0 - virtual/pkgconfig - spice? ( >=app-emulation/spice-protocol-0.12.10 )" - -REQUIRED_USE="|| ( spice vnc )" - -src_configure() { - gnome2_src_configure \ - --disable-update-mimedb \ - --without-ovirt \ - $(use_with vnc gtk-vnc) \ - $(use_with spice spice-gtk) -} diff --git a/app-emulation/virt-viewer/virt-viewer-8.0.ebuild b/app-emulation/virt-viewer/virt-viewer-8.0.ebuild new file mode 100644 index 000000000000..bff9034cfbdb --- /dev/null +++ b/app-emulation/virt-viewer/virt-viewer-8.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit gnome2 + +DESCRIPTION="Graphical console client for connecting to virtual machines" +HOMEPAGE="http://virt-manager.org/" +SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="sasl +spice +vnc" + +RDEPEND=">=app-emulation/libvirt-0.10.0[sasl?] + app-emulation/libvirt-glib + >=dev-libs/libxml2-2.6 + x11-libs/gtk+:3 + spice? ( >=net-misc/spice-gtk-0.35[sasl?,gtk3] ) + vnc? ( >=net-libs/gtk-vnc-0.5.0[sasl?,gtk3(+)] )" +DEPEND="${RDEPEND} + dev-lang/perl + >=dev-util/intltool-0.35.0 + virtual/pkgconfig + spice? ( >=app-emulation/spice-protocol-0.12.10 )" + +REQUIRED_USE="|| ( spice vnc )" + +src_configure() { + gnome2_src_configure \ + --disable-update-mimedb \ + --without-ovirt \ + $(use_with vnc gtk-vnc) \ + $(use_with spice spice-gtk) +} diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest index 59845e8a37d8..2dc3a975083b 100644 --- a/app-emulation/wine-staging/Manifest +++ b/app-emulation/wine-staging/Manifest @@ -1,15 +1,15 @@ DIST gentoo-wine-patches-20190511.tar.xz 58996 BLAKE2B 571c30d94341f567261893f884345b39eab42adc8b5c306a30d03943fd770055e070ae01e41e5add5b873063d3aaa69641faf81b16ac6039970d8a22b177dd7e SHA512 ccd74d0d6acecc7b24dc89466f93099bd6991d607a4fe89d68637d1fa82e02ebd76b532fe1afd8ab8de8ef3f2d49fe8d71f797796a9434f4b0f7a8183c084969 DIST wine-4.10.tar.xz 22109948 BLAKE2B 60e627d1e88eaa71c08ab15f093b1b11a8ce619f6b4bde08ccabc6b28bfaa44822f407e14b78c67680e00eec01fa01ba8cd851faa73dd42fb77f394a8556ab7d SHA512 cafc1d268719f723091429d9d8787044719f0936b00d47c6d01cef4d9c141fed7ba5b9776c1c63c68934a0a1071fb74daa0440aa52e77c4e42aca894163d6f54 DIST wine-4.11.tar.xz 22098508 BLAKE2B dee7ec74808b365cfa9087cadc29721af2f17663da760ae8d3f506e8ebd897aeeba0728eb57d1afa386b181b18f0861538b5c245841f9ce5e43470029ae4ef0b SHA512 df4e636959f6044f92aca16dce9cb392fd6c513ccc5a19585d3de8cd7fe0a9d21b05fcfa538172f94721d0356d9ec1470b7da810fcfa70d3aae9054a48d4700b -DIST wine-4.8.tar.xz 22024100 BLAKE2B cf87407a5fca83660c866a17ebeec62a97404c1eeb1d7b34a0995510e04aec2fe0350b644870a3d4817177b002cf07e69cd6761593122c93c22bda50bb8aec0b SHA512 ad91c31aad86b9932777a1c5a84760f41c63cfbb5d79f1a8afd132a8948667283f85e081a454cfc0904544394eaabb00fb986eba15efd8a8409db38e793f3dab +DIST wine-4.12.1.tar.xz 22125544 BLAKE2B 7a3b221e2bf3af91feff529b5af3926956cbcbce020439c7aa4f464f78d8c93ed1686eabdfee080dd0946e378645667ddb19c67a6449f1b171f1660127ecc05d SHA512 5d226aa4f24c59949c88d377d8f3d38839179e473b7e5bbf029af8142dfa23fd046ca919b63c8c8fc7e1a46077a860d3dab9d2e040f0367c85c8d386707222c1 DIST wine-4.9.tar.xz 22077528 BLAKE2B 98cf186152abc8379275b353e3934efc285cc386f33188a283e3568f803090057bcc90da6dd6c6c1e9d7dbbcf61fbe4a2316107ff129a7d7baa174982f9dcf26 SHA512 bf750af9569b0c564cd9581b9de8c399f6e42227eb6e79338ec6ba70f135fe3388b0792ff013add97341c488ed906227cdf93cc275e362ba232df78afaaab66d DIST wine-staging-4.10.tar.gz 9924803 BLAKE2B 91812a8004a96d859c43b2bf00d38e0cae425429070b0892ca7051a6aa07aae3142e6f49086713a1042efa9a7376742a9cff4e50dd050b0dbff28f774b75f4c6 SHA512 f65ed761d9cbfb58aef19ea8a90c049996855a49de747f1858703e765292532dc7bb487ecfe50eb2e7e87c673507a5e287f6f80aa2d50aabe9066314809c1f03 DIST wine-staging-4.11.tar.gz 9919887 BLAKE2B 70e1b07c1d574806f3c74be6a545493e119a3a3a5b6d0f9da0b6dd2135a7e58a60a83dfb3f309cbc9b4a4b0e50bec11f626958817e00e7f3b0a81972f1099f2b SHA512 384866aa5b2636804825ceb36b999bc1d5dd4d4693cef1b3004d9c8252dea393a02c65227d9e7b665021f19fd087025349ad720f4bbf0f061887ba5abcb74b24 -DIST wine-staging-4.8.tar.gz 9926681 BLAKE2B c5b5017c9675b3124f647d099755a997626a0c9f969a0d024473cb7cf52d2bb6b58f6ce427b86a13531d53b6172a3d3d62096926b6ffe013c9b15fc03ae11470 SHA512 f2e7fbe1ed0f77bd307185d0f7aa9e837e64f86ae98828db25e05c998ec07a9dd57dc9f3e6b093310c95ff2a517825d36420d7bd9fc9028d11bc29321ac3559e +DIST wine-staging-4.12.1.tar.gz 9920469 BLAKE2B e76f1efe205fea913c8ae50e290f271a07f46ae5a9fe4a521d9e96a8834ff7eb70aa0d42a6d308ca081b14628bbb85e1c638dcfe7fa732a5e25a3a20e07b0b67 SHA512 804e99567632326f5ea55fd86c4ed236da3b3636b0aaf5dbf4427694b0786326bd048fbb119b37fc66d4072dacec9ac354b804ad372cad69cbf086360eaedc38 DIST wine-staging-4.9.tar.gz 9926386 BLAKE2B 17030134343da1971075f0397b56442d4cb459b491f0751c9f21dd4061d5110ab2c5c44cc984d43b8ad3480f735df3e6b9246868aec4984cc1c8be56072c44c1 SHA512 9676f54833a424f965af7591c40aa40cd3fb3b36062484de56585a631dafa68a9a545f00153350c067a0d73146f9f169a678041bb141f7562f9df6e31ec4e2d5 EBUILD wine-staging-4.10.ebuild 20352 BLAKE2B 9921f23eaf2e7590872f24a432022f53e2d4d9003eb3073eadc1956b28c6024e15dff28ed27766b907a90d28e1ece074c100262891f81700820c1e0997717b9b SHA512 9c22b4ed04fe7eb3ce48a72a91f9ccf456867b6d2114f7692132e0ce6760d33ec8ab9fe90ea75d25ae241a8d5d4efd936d09ad598b1059e71453c04a62cfb36b EBUILD wine-staging-4.11.ebuild 20352 BLAKE2B 9a66ac87c5e8d7cb023ebf07cd9e717218e80110f91470612f6360f03a1c28eea272a5148e4e56480544ebc7b9d2d4f056b239745cca69011d994f562a336898 SHA512 ad4d0bb599d01b0e867a1d373be6c4db817e5956f3b6d3134e77f96a9f3697a2f664a28030d8c2cc559a21a879b53a23d4b7d2c29d3f717b9ebff5db2b0931b6 -EBUILD wine-staging-4.8.ebuild 20347 BLAKE2B 8a0cf4b66164c7131f642b6a92605aec55ceba26589c7b6cdb2130ca7f6b93782d115e45ffe1cde8cf9a9870bdbf22482bb5d1aabc5296127aebdfa5d5bc5d1a SHA512 f0b1fc084f792086c127b48f77420b0d9fb2c3f759a126945c0212237b94de4740aabd7f85649e2680c10e27383095d6a2610ea73676cca79ac61668aba35bfe +EBUILD wine-staging-4.12.1.ebuild 20352 BLAKE2B 9a66ac87c5e8d7cb023ebf07cd9e717218e80110f91470612f6360f03a1c28eea272a5148e4e56480544ebc7b9d2d4f056b239745cca69011d994f562a336898 SHA512 ad4d0bb599d01b0e867a1d373be6c4db817e5956f3b6d3134e77f96a9f3697a2f664a28030d8c2cc559a21a879b53a23d4b7d2c29d3f717b9ebff5db2b0931b6 EBUILD wine-staging-4.9.ebuild 20347 BLAKE2B 8a0cf4b66164c7131f642b6a92605aec55ceba26589c7b6cdb2130ca7f6b93782d115e45ffe1cde8cf9a9870bdbf22482bb5d1aabc5296127aebdfa5d5bc5d1a SHA512 f0b1fc084f792086c127b48f77420b0d9fb2c3f759a126945c0212237b94de4740aabd7f85649e2680c10e27383095d6a2610ea73676cca79ac61668aba35bfe EBUILD wine-staging-9999.ebuild 20352 BLAKE2B 9a66ac87c5e8d7cb023ebf07cd9e717218e80110f91470612f6360f03a1c28eea272a5148e4e56480544ebc7b9d2d4f056b239745cca69011d994f562a336898 SHA512 ad4d0bb599d01b0e867a1d373be6c4db817e5956f3b6d3134e77f96a9f3697a2f664a28030d8c2cc559a21a879b53a23d4b7d2c29d3f717b9ebff5db2b0931b6 MISC metadata.xml 3712 BLAKE2B e42b36bfa8f6d0f4c9b2538c04bb0b7650c411b621a1be5cba58ca8f6f64a1bc68517eeef385351461ef72e33152b05df14775777de14e848802ee8eb4980909 SHA512 1a904083074cad42013d9a8798ea32898332fa0697f79a1a11e6a0f5b6dcf35cb42dbb52a3b5baaeb3fe2012f80dfbbafbd874df4eef783e8a151b13b98afe77 diff --git a/app-emulation/wine-staging/wine-staging-4.12.1.ebuild b/app-emulation/wine-staging/wine-staging-4.12.1.ebuild new file mode 100644 index 000000000000..0804c00c2432 --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-4.12.1.ebuild @@ -0,0 +1,618 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +fi +S="${WORKDIR}/${MY_P}" + +STAGING_P="wine-staging-${PV}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" +GWP_V="20190511" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +if [[ ${PV} == "9999" ]] ; then + STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" +else + SRC_URI="${SRC_URI} + staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio ffmpeg +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + ffmpeg? ( staging ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + ffmpeg? ( >=media-video/ffmpeg-4:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + themes? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:4.9.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-4.8-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-4.7-memset-O3.patch" #480508 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${pn_live_val} ]]; then + if use staging; then + eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" + eerror "cannot be used to set the commit. Instead, you may use the" + eerror "environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi + fi + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + if use staging; then + local CURRENT_WINE_COMMIT=${EGIT_VERSION} + + EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack + + local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die + + if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then + einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." + einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." + einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" + fi + fi + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + if use staging; then + ewarn "Applying the Wine-Staging patchset. Any bug reports to the" + ewarn "Wine bugzilla should explicitly state that staging was used." + + local STAGING_EXCLUDE="" + use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" + use faudio && STAGING_EXCLUDE="${STAGING_EXCLUDE} -W xaudio2-revert -W xaudio2_CommitChanges -W xaudio2_7-WMA_support -W xaudio2_7-CreateFX-FXEcho" + + # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches + ebegin "Running Wine-Staging patch installer" + ( + set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} + cd "${STAGING_DIR}/patches" + source "${STAGING_DIR}/patches/patchinstall.sh" + ) + eend $? || die "Failed to apply Wine-Staging patches" + fi + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir=/etc/wine + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with ffmpeg) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + use staging && myconf+=( + --with-xattr + $(use_with themes gtk3) + $(use_with vaapi va) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${D%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + else + if use staging; then + eselect wine register --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + else + if use staging; then + eselect wine deregister --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-staging/wine-staging-4.8.ebuild b/app-emulation/wine-staging/wine-staging-4.8.ebuild deleted file mode 100644 index fa474a55dcfa..000000000000 --- a/app-emulation/wine-staging/wine-staging-4.8.ebuild +++ /dev/null @@ -1,618 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" -fi -S="${WORKDIR}/${MY_P}" - -STAGING_P="wine-staging-${PV}" -STAGING_DIR="${WORKDIR}/${STAGING_P}" -GWP_V="20190511" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -if [[ ${PV} == "9999" ]] ; then - STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" -else - SRC_URI="${SRC_URI} - staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" -fi - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio ffmpeg +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - ffmpeg? ( staging ) - osmesa? ( opengl ) - pipelight? ( staging ) - test? ( abi_x86_32 ) - themes? ( staging ) - vaapi? ( staging ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - ffmpeg? ( >=media-video/ffmpeg-4:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - themes? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - x11-libs/gtk+:3[${MULTILIB_USEDEP}] - ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:4.8.3 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - staging? ( - dev-lang/perl - dev-perl/XML-Simple - ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-4.8-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-4.7-memset-O3.patch" #480508 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${pn_live_val} ]]; then - if use staging; then - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" - eerror "cannot be used to set the commit. Instead, you may use the" - eerror "environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi - fi - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - if use staging; then - local CURRENT_WINE_COMMIT=${EGIT_VERSION} - - EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack - - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die - - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." - einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" - fi - fi - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - if use staging; then - ewarn "Applying the Wine-Staging patchset. Any bug reports to the" - ewarn "Wine bugzilla should explicitly state that staging was used." - - local STAGING_EXCLUDE="" - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" - use faudio && STAGING_EXCLUDE="${STAGING_EXCLUDE} -W xaudio2-revert -W xaudio2_CommitChanges -W xaudio2_7-WMA_support -W xaudio2_7-CreateFX-FXEcho" - - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches - ebegin "Running Wine-Staging patch installer" - ( - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} - cd "${STAGING_DIR}/patches" - source "${STAGING_DIR}/patches/patchinstall.sh" - ) - eend $? || die "Failed to apply Wine-Staging patches" - fi - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir=/etc/wine - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with ffmpeg) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with v4l) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - use staging && myconf+=( - --with-xattr - $(use_with themes gtk3) - $(use_with vaapi va) - ) - - local PKG_CONFIG AR RANLIB - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - # set AR and RANLIB to make QA scripts happy; #483342 - tc-export PKG_CONFIG AR RANLIB - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${D%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - else - if use staging; then - eselect wine register --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - else - if use staging; then - eselect wine deregister --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 0c6fa67eb5e0..8e00e0ea26ef 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -4,13 +4,13 @@ DIST wine-4.0.1.tar.xz 21665840 BLAKE2B b33b5ce8b4624dfbbbf473a88ed8c52d5e53855f DIST wine-4.0.tar.xz 21644692 BLAKE2B 9c426ef2249c16e908a3617c2844d8b12a2df843721338b1cfb69459815b902cfa0ddf3d74c09dc900fb2ceb003e54d97a7c0afaac51a9caab7d21beb82e26c3 SHA512 7607fa7a3d5f7bcd3d8c4c9e7bb6e1987466110bbfc672782ebe57c6d9da348c58e76abf40b0a70c725dfd703163db6e194ee0e3db11a47b6b60e225163308dd DIST wine-4.10.tar.xz 22109948 BLAKE2B 60e627d1e88eaa71c08ab15f093b1b11a8ce619f6b4bde08ccabc6b28bfaa44822f407e14b78c67680e00eec01fa01ba8cd851faa73dd42fb77f394a8556ab7d SHA512 cafc1d268719f723091429d9d8787044719f0936b00d47c6d01cef4d9c141fed7ba5b9776c1c63c68934a0a1071fb74daa0440aa52e77c4e42aca894163d6f54 DIST wine-4.11.tar.xz 22098508 BLAKE2B dee7ec74808b365cfa9087cadc29721af2f17663da760ae8d3f506e8ebd897aeeba0728eb57d1afa386b181b18f0861538b5c245841f9ce5e43470029ae4ef0b SHA512 df4e636959f6044f92aca16dce9cb392fd6c513ccc5a19585d3de8cd7fe0a9d21b05fcfa538172f94721d0356d9ec1470b7da810fcfa70d3aae9054a48d4700b -DIST wine-4.8.tar.xz 22024100 BLAKE2B cf87407a5fca83660c866a17ebeec62a97404c1eeb1d7b34a0995510e04aec2fe0350b644870a3d4817177b002cf07e69cd6761593122c93c22bda50bb8aec0b SHA512 ad91c31aad86b9932777a1c5a84760f41c63cfbb5d79f1a8afd132a8948667283f85e081a454cfc0904544394eaabb00fb986eba15efd8a8409db38e793f3dab +DIST wine-4.12.1.tar.xz 22125544 BLAKE2B 7a3b221e2bf3af91feff529b5af3926956cbcbce020439c7aa4f464f78d8c93ed1686eabdfee080dd0946e378645667ddb19c67a6449f1b171f1660127ecc05d SHA512 5d226aa4f24c59949c88d377d8f3d38839179e473b7e5bbf029af8142dfa23fd046ca919b63c8c8fc7e1a46077a860d3dab9d2e040f0367c85c8d386707222c1 DIST wine-4.9.tar.xz 22077528 BLAKE2B 98cf186152abc8379275b353e3934efc285cc386f33188a283e3568f803090057bcc90da6dd6c6c1e9d7dbbcf61fbe4a2316107ff129a7d7baa174982f9dcf26 SHA512 bf750af9569b0c564cd9581b9de8c399f6e42227eb6e79338ec6ba70f135fe3388b0792ff013add97341c488ed906227cdf93cc275e362ba232df78afaaab66d -EBUILD wine-vanilla-4.0.1.ebuild 17351 BLAKE2B 3758ae9bf9177acd98e82d97f47653d75e14d8b7c4263b8e2d9b9cd75a50dfd937059764be24f8b3fb8df975844db03dfbe5ee1481a5b7d3dbd222c9fe565df4 SHA512 bbcb9a513b89dba7b6afbbcd3207ecbe2ad7a34d6b86e040aa7203483f5c78a1f004760f3815466be9db56495118faa2927e70aef5a91cd22f6348c7c697a140 +EBUILD wine-vanilla-4.0.1.ebuild 17350 BLAKE2B e73f6ad7af996ce6b0a7f05ffab5464ad807595c0c2bdb514beaf8482bb7025c4aada844ebb804f34f703439f68d9fb6f840a945c1f56b98889292444d01a39b SHA512 1f7d16a03f65a8a7238cd96ee84f662f25757592d1462694f1bb7d58edc93c82dc6de1868466e955252d3a9a63de91b256949ec9b79eab46606f6bceee695c05 EBUILD wine-vanilla-4.0.ebuild 17340 BLAKE2B 44d7b71fec5fd62ad3403f881da67b2f6bbd7eb21cfb5e766fd6542967f88aa8dd42e9c4e2760ffb2e209ad45f7e7c64e522cfd0a01101765867f7e8260c9a08 SHA512 fc2eb099e3687cabb2f3a361760c5261f06e858f8046e2298df82c51b9b1541ed4c00a48709ff89674f48ad466ba409fa8e1702d1949d69ea86770079ffcc9cd EBUILD wine-vanilla-4.10.ebuild 17462 BLAKE2B 8fa2dfd719b20b255fc04b4fd46bf94bb544aaf17ef4bec28956a27228ed48af7757dfeea484d3645d94f89f8cec8131de029a6563e72b37c80990323d8de4cb SHA512 2cef158b81b101de8cd449b955321d72e6b0e99b5320f0ccdc13858384e4f4c520ade77d08813cf94cfa3b45921d1119eb07187cc5de4c31390ed21cd4ce6d31 EBUILD wine-vanilla-4.11.ebuild 17462 BLAKE2B cf23d7b119dc4fac1e4e89ffacbf68a046815640687fa10f0b32219eebc6eeb47ec5eb743e947dbcc063f60ebf86820a74a255b1c66dc78c8ada12b70185b4a1 SHA512 f897c430a44dfbf14f539ce3de2140f68076c2c878d42cd178baf07ea5aa31a2fa5eef5afca80ea6f874a6dbc7bc851e869b57b954fbc3529dc8c10a8c6661e0 -EBUILD wine-vanilla-4.8.ebuild 17457 BLAKE2B fff97c3b2b1e4b34d9cc3f7704d642330a026c8e3a2fa95724a063d4d3ad735c096171b41735c6dc068c26fbdd3f9da2c64fdd6fa68718c73de31c33481cc95f SHA512 3a3b8d73f8467640e236113120eda2e80b45378a6b9b4c9644d6abb320bc6064eece3163ea4c8da6f643adffac9d317518c34e98bc8571fa121fa8b1bdaebe86 +EBUILD wine-vanilla-4.12.1.ebuild 17462 BLAKE2B cf23d7b119dc4fac1e4e89ffacbf68a046815640687fa10f0b32219eebc6eeb47ec5eb743e947dbcc063f60ebf86820a74a255b1c66dc78c8ada12b70185b4a1 SHA512 f897c430a44dfbf14f539ce3de2140f68076c2c878d42cd178baf07ea5aa31a2fa5eef5afca80ea6f874a6dbc7bc851e869b57b954fbc3529dc8c10a8c6661e0 EBUILD wine-vanilla-4.9.ebuild 17457 BLAKE2B fff97c3b2b1e4b34d9cc3f7704d642330a026c8e3a2fa95724a063d4d3ad735c096171b41735c6dc068c26fbdd3f9da2c64fdd6fa68718c73de31c33481cc95f SHA512 3a3b8d73f8467640e236113120eda2e80b45378a6b9b4c9644d6abb320bc6064eece3163ea4c8da6f643adffac9d317518c34e98bc8571fa121fa8b1bdaebe86 EBUILD wine-vanilla-9999.ebuild 17462 BLAKE2B cf23d7b119dc4fac1e4e89ffacbf68a046815640687fa10f0b32219eebc6eeb47ec5eb743e947dbcc063f60ebf86820a74a255b1c66dc78c8ada12b70185b4a1 SHA512 f897c430a44dfbf14f539ce3de2140f68076c2c878d42cd178baf07ea5aa31a2fa5eef5afca80ea6f874a6dbc7bc851e869b57b954fbc3529dc8c10a8c6661e0 MISC metadata.xml 3259 BLAKE2B b750a29db90841c9fa04e19ce9e5811945bb1d1d3b6a3b4a071087bf73f9386706ab28b7af29e7e89afcff2e1b68ca79944546e5f68c0d0f248b95fb1a5ac2fc SHA512 84fb94a9a9e4c9e8bf59391c9c1414e55994f80df0b264fdff77f43defa13ef0becdfc24316ef9eb3d824ea8edca5af3aed0586224a96b25fc3e90d7dfc32394 diff --git a/app-emulation/wine-vanilla/wine-vanilla-4.0.1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-4.0.1.ebuild index 863092d891a1..a65f9b99a504 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-4.0.1.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-4.0.1.ebuild @@ -21,7 +21,7 @@ else MAJOR_V=$(ver_cut 1) MINOR_V=$(ver_cut 2) SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz" - KEYWORDS="-* amd64 ~x86 ~x86-fbsd" + KEYWORDS="-* amd64 x86 ~x86-fbsd" fi S="${WORKDIR}/${MY_P}" diff --git a/app-emulation/wine-vanilla/wine-vanilla-4.12.1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-4.12.1.ebuild new file mode 100644 index 000000000000..2c4c919612cd --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-4.12.1.ebuild @@ -0,0 +1,535 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +fi +S="${WORKDIR}/${MY_P}" + +GWP_V="20190511" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + test? ( abi_x86_32 ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:4.9.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-4.8-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-4.7-memset-O3.patch" #480508 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "EGIT_OVERRIDE_COMMIT_WINE" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir=/etc/wine + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${D%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-vanilla/wine-vanilla-4.8.ebuild b/app-emulation/wine-vanilla/wine-vanilla-4.8.ebuild deleted file mode 100644 index 70c9c99fce97..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-4.8.ebuild +++ /dev/null @@ -1,535 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" -fi -S="${WORKDIR}/${MY_P}" - -GWP_V="20190511" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - test? ( abi_x86_32 ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:4.8.3 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-4.8-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-4.7-memset-O3.patch" #480508 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environmental variables" - eerror "EGIT_OVERRIDE_COMMIT_WINE" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir=/etc/wine - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with v4l) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - local PKG_CONFIG AR RANLIB - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - # set AR and RANLIB to make QA scripts happy; #483342 - tc-export PKG_CONFIG AR RANLIB - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${D%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/xen-pvgrub/Manifest b/app-emulation/xen-pvgrub/Manifest index 9e6b16195307..35e076bd8b2f 100644 --- a/app-emulation/xen-pvgrub/Manifest +++ b/app-emulation/xen-pvgrub/Manifest @@ -12,6 +12,6 @@ DIST xen-4.11.1.tar.gz 25152217 BLAKE2B a8dfbeb3d490787725c589e1ce82dcbbcd0be7fb DIST xen-4.12.0.tar.gz 26949697 BLAKE2B 9175cc9054e4a2b5c34df89a4efd667f86b4861bef9c3310bf431d041f710a7cb265b4d34a76ab18a17a3121392942d2e5d76c5044eb9b957d4255af889fe69a SHA512 0ce366dcac607c9b592c5e9c0f40652eef743913b246bed4b0c380b8d59ac23a6adcd05befec37fc799a61476f47df76d4911cbf1da6ceb51441c546bf2464de DIST zlib-1.2.3.tar.gz 496597 BLAKE2B 603020b70cd52b83e48bde420b86e2acfd29d69bf7476eecbeeb07d1b8bcab703d2cbd3eab77772990bddb8c268f13594592ce985798d49e2d6ba25104d49f22 SHA512 021b958fcd0d346c4ba761bcf0cc40f3522de6186cf5a0a6ea34a70504ce9622b1c2626fce40675bc8282cf5f5ade18473656abc38050f72f5d6480507a2106e EBUILD xen-pvgrub-4.10.3.ebuild 5043 BLAKE2B f3a0b8b7e2f1ed974273191c962d1c8889002f4edaa1a0eb173e8b78775fb2ef8792b7861298d7d525323b5e098f46a90e7eaab4f34f9dfc481f427dd80eb45e SHA512 5d10c9a3558291613b431d8a11e1cddcedb30dbe7c98cddcfcdfa51b2784b79a86f91cf5dc4894d1802ca0683614bb35af1605eb95d4b6bc57074980e8dba8e8 -EBUILD xen-pvgrub-4.11.1.ebuild 5107 BLAKE2B c98717b0f5ed5ace6a7cda445e82a320386705345c23a94a144764bf1f761a0690b4ce504b2a1cb9359a73613a7237e423acacc75080230a8373493c82ebddd1 SHA512 f0396d9659565fc65280f0977e5b8ecdd96844c1438d1289f6e4a183972b94fc5b953f290d6a79e3b75190739117a0911ddec5fa6c3ef7bf702e087fdf8d3453 +EBUILD xen-pvgrub-4.11.1.ebuild 5106 BLAKE2B 611e4797e596f5e7c5117fa284e7841319119bdf2745a63bdd743da993140225fa5e1dd026c8966dedec0a976bcd1c8419b7cac08f5efbad5d3243ac5653a7c5 SHA512 1dc318e1179a8e8bee5212c323ff887fd991b39f5803499cb8472d2d963eb7928ecb676fec674aedad34bd07a82d9188f1759e1a6751c5223eb52a703b410977 EBUILD xen-pvgrub-4.12.0.ebuild 5108 BLAKE2B 2e88a5833f1b58b4e3aabb9f7479bfac4e3f2b5308ebc6bc5579fd48208bc26a1039e87b5b083ac55919c375fb1967efbabf52d74b2498e189e8395c9dbc6794 SHA512 a4135ffbd9e8fb167bfc81f3d500d770c0b08ff3dd7b525629428fa19d3cf84abee03fd43827c363c456bc8a16744bc1dfd04a934ff1382edda227663fd7bb72 MISC metadata.xml 245 BLAKE2B 2bf2c7848c8c513915aaad9305b6146cf46201bbcf3ffa040c943b7188d2d2a9fe27e2b5ecde84ed2099dceadd4b057856df01ac603a6aceca0f7b7f466174c7 SHA512 3f646ec3197e46d25dde4f698b571fb85b040198f4cba7508c8d38405b4d9d0fc31dbd5ae6242aea8c2acd613aabe0486cb347a1db4811fa807b861148661f8b diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.11.1.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.11.1.ebuild index 040ef1895ced..b9022166805e 100644 --- a/app-emulation/xen-pvgrub/xen-pvgrub-4.11.1.ebuild +++ b/app-emulation/xen-pvgrub/xen-pvgrub-4.11.1.ebuild @@ -33,7 +33,7 @@ DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest HOMEPAGE="https://www.xenproject.org" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="custom-cflags" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest index ddb597e60c75..27b11c546e91 100644 --- a/app-emulation/xen-tools/Manifest +++ b/app-emulation/xen-tools/Manifest @@ -31,6 +31,6 @@ DIST xen-gentoo-patches-17.tar.xz 15688 BLAKE2B d5e3bdb15e182c5f0c21adfa5cb5b88e DIST xen-gentoo-patches-18.tar.xz 16840 BLAKE2B 7243b363c78250ae1928d75813cfd6035a87ca03f1605cbe02233e009a19105a0712711d622eef8606f3e7e1a5db5203342e56a1b00496d5ce37ddc4ffb9e4ea SHA512 328d7b1a57ab6bf9c7200b934aeb241f6d4fecccc600130d1c80460540212eb658cb74ae0502c008e040fdb2d95db20c2a3d71a8e73fd1361070d70adeab6e30 DIST xen-ovmf-patches-3.tar.xz 4208 BLAKE2B 0df8f85667a33c91cbfd86c59aec2ae65eca892b45d66eed76f793a52e2748989bc2785861f8bfdf94235ef7a6c0be6572c6e6cce9695469e40f0facd0ce3947 SHA512 abe001053ca702138bbcdd6bea14e2daae5c785f862d6a15001ca894c8ed8617f0c5dc439c6f54a41433b988acf57c71911af1db074aa76732c39d98622a3b5b EBUILD xen-tools-4.10.3-r2.ebuild 14270 BLAKE2B 9d3452ce90498bb4db604d8813d6be2ad5989b7a0d9719868cdbe83ff2ea3b79b23bbea316bb2473f52e2d7cc9c14eea78426be02c13f7a1510deba938729516 SHA512 2a795d0296edd20b52d95f96d8c3d0fa5dc8110cf8b106d5d26a2c91c3311b9fa38f08dbf162a6452a21ba2a5530ac9b8b69b59d056d251720b555181a25b960 -EBUILD xen-tools-4.11.1-r5.ebuild 14498 BLAKE2B 0bf6371540385313abb1ee7d95d6d4dda14f6dbe77b5e007781bca02bb8024f985fd36fec712d213d21cc1199de1e0dd8fcea463f3f45a2c59451493cbc0c442 SHA512 6ec13809c203a37848e7c1c5fa421a634d3934fb383923ce0bcf1ac1e5b275da44fa25cd393131cc396a1434c944ca0b2a1483e5113df48d4c1c5a62a63b167c -EBUILD xen-tools-4.12.0-r3.ebuild 15206 BLAKE2B 5882535287fe38420b3ea1238c04c1774835543868475c713dedde87602abf8386bcaccb8c6ad3434cb187fc4d66dd4977a15d8fb892e3506ea221b381adb248 SHA512 1446616a548eb26571c119abe5fd7328e7219372f5c010933d52a58d16ce6d667b2b63884b98fd36904a1a9f4f54039df545bbcf8e46544f309e0a28b110fcec +EBUILD xen-tools-4.11.1-r5.ebuild 14523 BLAKE2B 88e1e3e2be8e81bb6c3ec861e12395b7c3a0edbff91a2c40883a68b5e473d32625d49ec2317b67c744b1e490451184dcc8d9052a09b3a6c970de60424e2f5a3d SHA512 46dcb33fa4e80a893f28ddf03f3aceb1c05646733e9547a61c4cf89624e5cfd518514baa9193fc3b06ad2c95d8425c2975170f7618b165828e97ea6da162dfeb +EBUILD xen-tools-4.12.0-r3.ebuild 15249 BLAKE2B 40b475c4453ad02f0531d28d0f2fcf93ca23c47c4403388542579e051c8459eac6079077c17c28ff5e8da71b75feb598d6ac416f7dd7e82fad03a7c37d172672 SHA512 338262410e02698431132a1e110bf00acc44609815dfc20300e5bae301461178188ee76344fc1276dc57cf1711e98d4b7987506f5e0d4a5b8e5c441e9a70d310 MISC metadata.xml 1479 BLAKE2B 1b994f8dcaa5cf67f588af6ce9533467816f7c4726e412566640138e631427decaf890856fa255b516580502c97c2e29c21bb84b4888df7603a9491a012381a5 SHA512 d125649737e0b34407fb32b67b741feca60d100454fdbc84b07305849295f134e1b657f5e13b6e74a90d25d7b408880316d470ee94447b7a6f99abd75eb82a83 diff --git a/app-emulation/xen-tools/xen-tools-4.11.1-r5.ebuild b/app-emulation/xen-tools/xen-tools-4.11.1-r5.ebuild index 60ad3cc9964e..d481f3025a94 100644 --- a/app-emulation/xen-tools/xen-tools-4.11.1-r5.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.11.1-r5.ebuild @@ -16,7 +16,7 @@ if [[ $PV == *9999 ]]; then EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" S="${WORKDIR}/${REPO}" else - KEYWORDS="amd64 ~arm ~arm64 ~x86" + KEYWORDS="amd64 ~arm ~arm64 x86" UPSTREAM_VER=2 SECURITY_VER= # xen-tools's gentoo patches tarball @@ -83,6 +83,7 @@ DEPEND="${COMMON_DEPEND} >=sys-kernel/linux-headers-4.11 dev-python/lxml[${PYTHON_USEDEP}] x86? ( sys-devel/dev86 + sys-firmware/ipxe[qemu] sys-power/iasl ) pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) api? ( dev-libs/libxml2 diff --git a/app-emulation/xen-tools/xen-tools-4.12.0-r3.ebuild b/app-emulation/xen-tools/xen-tools-4.12.0-r3.ebuild index ccd98499ae3e..b0d104e17f79 100644 --- a/app-emulation/xen-tools/xen-tools-4.12.0-r3.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.12.0-r3.ebuild @@ -89,6 +89,7 @@ DEPEND="${COMMON_DEPEND} >=sys-kernel/linux-headers-4.11 dev-python/lxml[${PYTHON_USEDEP}] x86? ( sys-devel/dev86 + system-ipxe? ( sys-firmware/ipxe[qemu] ) sys-power/iasl ) pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) api? ( dev-libs/libxml2 -- cgit v1.2.3