From 6abbf81ef2f298e3221ff5e67a1f3c5f23958212 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 14 Dec 2020 13:26:14 +0000 Subject: gentoo resync : 14.12.2020 --- app-emulation/Manifest.gz | Bin 20511 -> 20370 bytes app-emulation/containerd/Manifest | 2 + app-emulation/containerd/containerd-1.3.9.ebuild | 84 ++ app-emulation/docker-compose/Manifest | 14 +- .../docker-compose/docker-compose-1.25.5.ebuild | 68 -- .../docker-compose/docker-compose-1.26.2.ebuild | 72 -- .../docker-compose/docker-compose-1.27.2.ebuild | 73 -- .../docker-compose/docker-compose-1.27.3.ebuild | 73 -- .../docker-compose-1.28.0_rc1.ebuild | 73 ++ .../files/docker-compose-1.25.2-setup-py.patch | 71 -- .../files/docker-compose-1.26.2-setup-py.patch | 77 -- app-emulation/docker-compose/metadata.xml | 1 + app-emulation/docker-proxy/Manifest | 2 + .../docker-proxy-0.8.0_p20201105.ebuild | 35 + app-emulation/docker/Manifest | 2 + app-emulation/docker/docker-19.03.14.ebuild | 333 ++++++++ app-emulation/dynamips/Manifest | 2 +- app-emulation/dynamips/metadata.xml | 5 +- app-emulation/glean/Manifest | 2 +- app-emulation/glean/metadata.xml | 1 - app-emulation/kompose/Manifest | 4 - app-emulation/kompose/kompose-1.16.0.ebuild | 30 - app-emulation/kompose/kompose-1.19.0.ebuild | 30 - app-emulation/libguestfs/Manifest | 7 +- app-emulation/libguestfs/libguestfs-1.36.13.ebuild | 2 +- app-emulation/libguestfs/libguestfs-1.36.15.ebuild | 2 +- .../libguestfs/libguestfs-1.38.6-r100.ebuild | 181 +++++ app-emulation/libguestfs/libguestfs-1.38.6.ebuild | 2 +- app-emulation/libvirt/Manifest | 6 +- ...10.0-Fix-segfault-when-parsing-mdev-types.patch | 61 ++ ...rly-handle-libpcap-if-it-s-explicitly-dis.patch | 56 ++ app-emulation/libvirt/libvirt-6.10.0-r2.ebuild | 329 ++++++++ app-emulation/libvirt/libvirt-6.8.0-r1.ebuild | 345 --------- app-emulation/libvirt/libvirt-6.8.0-r2.ebuild | 346 +++++++++ app-emulation/lxd/Manifest | 2 +- app-emulation/lxd/lxd-4.0.4-r1.ebuild | 2 +- app-emulation/pcem/Manifest | 3 + .../pcem/files/pcem-17-respect-cflags.patch | 13 + app-emulation/pcem/pcem-17.ebuild | 77 ++ app-emulation/qemu/Manifest | 11 +- .../qemu/files/qemu-5.2.0-cleaner-werror.patch | 40 + .../qemu/files/qemu-5.2.0-disable-keymap.patch | 25 + app-emulation/qemu/files/qemu-5.2.0-strings.patch | 23 + app-emulation/qemu/qemu-5.1.0-r2.ebuild | 4 +- app-emulation/qemu/qemu-5.1.0-r3.ebuild | 4 +- app-emulation/qemu/qemu-5.2.0-r1.ebuild | 856 +++++++++++++++++++++ app-emulation/qemu/qemu-9999.ebuild | 66 +- app-emulation/rex-client/Manifest | 2 - app-emulation/rex-client/metadata.xml | 5 - app-emulation/rex-client/rex-client-9999.ebuild | 45 -- app-emulation/virt-manager/Manifest | 2 + .../virt-manager/virt-manager-3.2.0.ebuild | 99 +++ app-emulation/virtualbox-additions/Manifest | 8 +- .../virtualbox-additions-6.0.24-r1.ebuild | 34 + .../virtualbox-additions-6.0.24.ebuild | 34 - .../virtualbox-additions-6.1.12.ebuild | 34 - .../virtualbox-additions-6.1.14.ebuild | 34 - .../virtualbox-additions-6.1.16-r1.ebuild | 34 + .../virtualbox-additions-6.1.16.ebuild | 34 - app-emulation/virtualbox-extpack-oracle/Manifest | 8 +- ...rtualbox-extpack-oracle-6.0.24.139119-r1.ebuild | 43 ++ .../virtualbox-extpack-oracle-6.0.24.139119.ebuild | 43 -- .../virtualbox-extpack-oracle-6.1.12.139181.ebuild | 43 -- .../virtualbox-extpack-oracle-6.1.14.140239.ebuild | 43 -- ...rtualbox-extpack-oracle-6.1.16.140961-r1.ebuild | 43 ++ .../virtualbox-extpack-oracle-6.1.16.140961.ebuild | 43 -- app-emulation/virtualbox-guest-additions/Manifest | 8 +- .../virtualbox-guest-additions-6.0.24-r1.ebuild | 218 ------ .../virtualbox-guest-additions-6.0.24-r2.ebuild | 218 ++++++ .../virtualbox-guest-additions-6.1.12a-r1.ebuild | 221 ------ .../virtualbox-guest-additions-6.1.14a.ebuild | 221 ------ .../virtualbox-guest-additions-6.1.16-r1.ebuild | 221 ++++++ .../virtualbox-guest-additions-6.1.16.ebuild | 221 ------ app-emulation/virtualbox-modules/Manifest | 9 +- ...les-6.1.16-linux-5.10-r0drv-memobj-fix-r0.patch | 96 +++ .../virtualbox-modules-6.0.24-r1.ebuild | 55 -- .../virtualbox-modules-6.0.24-r2.ebuild | 55 ++ .../virtualbox-modules-6.1.12-r1.ebuild | 55 -- .../virtualbox-modules-6.1.14.ebuild | 55 -- .../virtualbox-modules-6.1.16-r1.ebuild | 59 ++ .../virtualbox-modules-6.1.16.ebuild | 55 -- app-emulation/virtualbox/Manifest | 8 +- .../virtualbox/virtualbox-6.0.24-r1.ebuild | 510 ++++++++++++ app-emulation/virtualbox/virtualbox-6.0.24.ebuild | 510 ------------ app-emulation/virtualbox/virtualbox-6.1.12a.ebuild | 512 ------------ app-emulation/virtualbox/virtualbox-6.1.14a.ebuild | 512 ------------ .../virtualbox/virtualbox-6.1.16-r1.ebuild | 512 ++++++++++++ app-emulation/virtualbox/virtualbox-6.1.16.ebuild | 512 ------------ app-emulation/wine-gecko/Manifest | 3 + app-emulation/wine-gecko/wine-gecko-2.47.2.ebuild | 26 + app-emulation/wine-staging/Manifest | 5 +- .../wine-staging/wine-staging-5.22-r1.ebuild | 650 ---------------- .../wine-staging/wine-staging-5.22-r2.ebuild | 659 ++++++++++++++++ .../wine-staging/wine-staging-5.22.ebuild | 621 --------------- .../wine-staging/wine-staging-9999.ebuild | 23 +- app-emulation/wine-vanilla/Manifest | 6 +- .../wine-vanilla/wine-vanilla-5.0.3-r1.ebuild | 540 +++++++++++++ .../wine-vanilla/wine-vanilla-5.22-r1.ebuild | 568 -------------- .../wine-vanilla/wine-vanilla-5.22-r2.ebuild | 577 ++++++++++++++ .../wine-vanilla/wine-vanilla-5.22.ebuild | 539 ------------- .../wine-vanilla/wine-vanilla-9999.ebuild | 23 +- app-emulation/xen/Manifest | 4 +- app-emulation/xen/xen-4.13.2-r1.ebuild | 165 ---- app-emulation/xen/xen-4.13.2-r2.ebuild | 2 +- 104 files changed, 6383 insertions(+), 7019 deletions(-) create mode 100644 app-emulation/containerd/containerd-1.3.9.ebuild delete mode 100644 app-emulation/docker-compose/docker-compose-1.25.5.ebuild delete mode 100644 app-emulation/docker-compose/docker-compose-1.26.2.ebuild delete mode 100644 app-emulation/docker-compose/docker-compose-1.27.2.ebuild delete mode 100644 app-emulation/docker-compose/docker-compose-1.27.3.ebuild create mode 100644 app-emulation/docker-compose/docker-compose-1.28.0_rc1.ebuild delete mode 100644 app-emulation/docker-compose/files/docker-compose-1.25.2-setup-py.patch delete mode 100644 app-emulation/docker-compose/files/docker-compose-1.26.2-setup-py.patch create mode 100644 app-emulation/docker-proxy/docker-proxy-0.8.0_p20201105.ebuild create mode 100644 app-emulation/docker/docker-19.03.14.ebuild delete mode 100644 app-emulation/kompose/kompose-1.16.0.ebuild delete mode 100644 app-emulation/kompose/kompose-1.19.0.ebuild create mode 100644 app-emulation/libguestfs/libguestfs-1.38.6-r100.ebuild create mode 100644 app-emulation/libvirt/files/libvirt-6.10.0-Fix-segfault-when-parsing-mdev-types.patch create mode 100644 app-emulation/libvirt/files/libvirt-6.8.0-meson-properly-handle-libpcap-if-it-s-explicitly-dis.patch create mode 100644 app-emulation/libvirt/libvirt-6.10.0-r2.ebuild delete mode 100644 app-emulation/libvirt/libvirt-6.8.0-r1.ebuild create mode 100644 app-emulation/libvirt/libvirt-6.8.0-r2.ebuild create mode 100644 app-emulation/pcem/files/pcem-17-respect-cflags.patch create mode 100644 app-emulation/pcem/pcem-17.ebuild create mode 100644 app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch create mode 100644 app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch create mode 100644 app-emulation/qemu/files/qemu-5.2.0-strings.patch create mode 100644 app-emulation/qemu/qemu-5.2.0-r1.ebuild delete mode 100644 app-emulation/rex-client/Manifest delete mode 100644 app-emulation/rex-client/metadata.xml delete mode 100644 app-emulation/rex-client/rex-client-9999.ebuild create mode 100644 app-emulation/virt-manager/virt-manager-3.2.0.ebuild create mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.0.24-r1.ebuild delete mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.0.24.ebuild delete mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.1.12.ebuild delete mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.1.14.ebuild create mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.1.16-r1.ebuild delete mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.1.16.ebuild create mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119-r1.ebuild delete mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119.ebuild delete mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.12.139181.ebuild delete mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.14.140239.ebuild create mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961-r1.ebuild delete mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r1.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r2.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.12a-r1.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.14a.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16-r1.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16.ebuild create mode 100644 app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.16-linux-5.10-r0drv-memobj-fix-r0.patch delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r1.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r2.ebuild delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.12-r1.ebuild delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.14.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.16-r1.ebuild delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.16.ebuild create mode 100644 app-emulation/virtualbox/virtualbox-6.0.24-r1.ebuild delete mode 100644 app-emulation/virtualbox/virtualbox-6.0.24.ebuild delete mode 100644 app-emulation/virtualbox/virtualbox-6.1.12a.ebuild delete mode 100644 app-emulation/virtualbox/virtualbox-6.1.14a.ebuild create mode 100644 app-emulation/virtualbox/virtualbox-6.1.16-r1.ebuild delete mode 100644 app-emulation/virtualbox/virtualbox-6.1.16.ebuild create mode 100644 app-emulation/wine-gecko/wine-gecko-2.47.2.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-5.22-r1.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-5.22-r2.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-5.22.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.0.3-r1.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.22-r1.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.22-r2.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.22.ebuild delete mode 100644 app-emulation/xen/xen-4.13.2-r1.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index aa27809cdc9f..1bf7d3d1f7fa 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 e089edc0b297..99e79795bfdf 100644 --- a/app-emulation/containerd/Manifest +++ b/app-emulation/containerd/Manifest @@ -1,4 +1,6 @@ AUX containerd.initd 766 BLAKE2B 07b323c35f9cafa156969644ccab7c618baf60a82ad8037538ae23562c5663742a7453e00412eeafa72129a4806f3610f3f77865c7ebf3e58223a7286c9f712e SHA512 b70abb44d6bc0cdd8115104ef1fbb5099a270c29040351ceff738b9b6ff796a802f92dbbe2c49e04ae058043546bbe6a854e25044f5c07bea7bf6b6fc4f66018 DIST containerd-1.3.7.tar.gz 5709989 BLAKE2B 0cfa6f5bcd41c1591e64f41dbba2720bed5f25d61625b6d09be19df56fe74b61532b627c35a830e1e4937333f790f7ff8a5fad18b8869a679a6fec18daf238d3 SHA512 7c6de27b6529e3fb3f924ec67a260a51bc45186d69baa4cae6720a08e5c3b74aeb43d236c0a4739f297b2863233bde7d2246a597c9e17713c48bec767c6bbfee +DIST containerd-1.3.9.tar.gz 5717856 BLAKE2B f6b9741f7d793a18b44813453d185cb9e8f4742fbb2987521445104fb44bca913571d6b4f6386ea048084d6565d41759c6ec95ac4591bd9b2101b40bbaafd8fa SHA512 79e0baab72169f84b8661b77f54d0a906a380cd00cbabd00bfec6c10d71a13fc4dd81c7b5e1c3ce184f91d3f68d6df9b735f13e6e04d494792bf7374058d43aa EBUILD containerd-1.3.7.ebuild 1974 BLAKE2B 40e9d21e8bfc04de4931748ce962897a62353faaaf400b1f66ac625b24cd1f0aa8ed74ed808b3c5e97ebc0f4649126f9b9d806974a1103772f91537e89ec03f5 SHA512 6fe127a926c668b3c47ab90b82f56335125084dacfc75bc75a7af3d63adb8b7ade4fa5baaf437a80ef55f3383834e25d320106ca02ca3af106fbfdf92c54e8fe +EBUILD containerd-1.3.9.ebuild 1941 BLAKE2B 4902047b9a87daf7aa960d4472fb7c0483515a8aea5cdba86970a408dd43b805cc0ca7cf69d45fea51fa47dfe5a4157016145293a083750d35af411db10e7fea SHA512 8bcecd9396a51ba28eb4a1008362e05f6bce203edeb97ab4b52f89f22bc5be67e8bbe05c8a27a330048feaab616c9660cdc91982d5de5bf90c2c56d27fdc976d MISC metadata.xml 1175 BLAKE2B ee2c3165391688c6e20b0ecb35ccb59a5b621624b0dbfe72d8311ea3d0c1fc17894870f4be00282c9e50c7f931889b8d5f9667fd925eba98756f7b4fbf98cd20 SHA512 68dcef07630bd32f06360c0afd5742a7e3ad75645cfa77ef56a6d0236634ed0c8e69b517c53114d95fab5dbc6cae37f306d3328289b1e562a0a335a36596d19e diff --git a/app-emulation/containerd/containerd-1.3.9.ebuild b/app-emulation/containerd/containerd-1.3.9.ebuild new file mode 100644 index 000000000000..7c664edf94cd --- /dev/null +++ b/app-emulation/containerd/containerd-1.3.9.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# update on bump, look for https://github.com/docker\ +# docker-ce/blob//components/engine/hack/dockerfile/install/containerd.installer +CONTAINERD_COMMIT="ea765ab" +EGO_PN="github.com/containerd/${PN}" + +inherit golang-vcs-snapshot toolchain-funcs + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.io/" +SRC_URI="https://github.com/containerd/${PN}/archive/${CONTAINERD_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ppc64 ~x86" +IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +RDEPEND=" + ${DEPEND} + ~app-emulation/runc-1.0.0_rc10 +" + +BDEPEND=" + dev-go/go-md2man + virtual/pkgconfig + test? ( "${RDEPEND}" ) +" + +# tests require root or docker +# upstream does not recommend stripping binary +RESTRICT+=" strip test" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +src_prepare() { + default + sed -i -e "s/git describe --match.*$/echo ${PV})/"\ + -e "s/git rev-parse HEAD.*$/echo ${CONTAINERD_COMMIT})/"\ + -e "s/-s -w//" \ + Makefile || die +} + +src_compile() { + local options=( + $(usev apparmor) + $(usex btrfs "" "no_btrfs") + $(usex cri "" "no_cri") + $(usex device-mapper "" "no_devmapper") + $(usev seccomp) + $(usev selinux) + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + DESTDIR="${ED}" + LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') + ) + + export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor + export GOFLAGS="-v -x -mod=vendor" + emake "${myemakeargs[@]}" all man +} + +src_install() { + dobin bin/* + doman man/* + newinitd "${FILESDIR}"/${PN}.initd "${PN}" + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -rf docs/man || die + local DOCS=( README.md PLUGINS.md docs/. ) + einstalldocs +} diff --git a/app-emulation/docker-compose/Manifest b/app-emulation/docker-compose/Manifest index d4c554ebaa3a..3f6113b6fd50 100644 --- a/app-emulation/docker-compose/Manifest +++ b/app-emulation/docker-compose/Manifest @@ -1,14 +1,6 @@ -AUX docker-compose-1.25.2-setup-py.patch 2209 BLAKE2B 24cb97379440c94c4f18d999806dc0ffb23a5ec09915ff1e421a0135189955cbe6e67bb8f535071bfa1dfd2d7153af3e9c5e634e4de0699a8e740f6c407f233a SHA512 e9987469d46f10bfa97a6b6a65e089a6f8c86451154668e7db0ba1cd564acaad798d1aa189b458166517f19e604aee2e309941df9296be1d5e8e730252f273d8 -AUX docker-compose-1.26.2-setup-py.patch 2411 BLAKE2B 76e6c2037148a08c46ac1758d58cdaf10785d4b06cd70afc850d30792b49ca7c1d38a305b2d5023eafe64f7271c6f4639aaf008a951b949ade555fc0b48974d1 SHA512 225dbbca638fead6fd0b87da6a185388e3045bee0643337c93686e19b2d3a92996033c5af4c989d60e98b79b68c45ef6aa683b5183ebf9de7468cd210d831c89 AUX docker-compose-1.27.0_rc3-setup-py.patch 1840 BLAKE2B 15269cc09ad609008afbf2d61beabc5242d63f2e3c6cfb8c65c1768de3aea559dd99e6ab7ff6acd1b93420402d0a176fdb1390c5477c7820e3173b0ff2d39853 SHA512 12a1b996a8d37289991ea979ddf1a303241217f43b26df5b7d2a1241006c7de38234c11ed0b9e99ca92348159d0681c3316e3413a4d639c13fa29acb0ae8cf23 -DIST docker-compose-1.25.5.tar.gz 308569 BLAKE2B 5d5d1fd60f9bcb87f7e9628dbe10b275996f9af38fb8488a547f4cb5427e6f7aaac09a98a421a0c35a7c2c863713e5de9a490ad21adf080f74a7c3bc4336559b SHA512 efe59bd5e82e12e63c82341ccf5ca11eaebd47c8154a50b40d39bc98ec48c37532919335172a5667f036bab4e884df950ebc4b4ccab8174200cc7ea6683bbbd7 -DIST docker-compose-1.26.2.tar.gz 313494 BLAKE2B 656bac181547a3484c45d0ede7111384007db8109aaf3673a06b848bb9b27059cfb8b2cd583e6bc7acd0ebbd90d40e485251d473eefe56a6493abe187132e520 SHA512 4cb8a2f5e25f17eb842e36dea96fae8862df099d706ec590e6fc0790c7a814bed3bb60ec00207e4afc15bf8ad4ca37075320fd28ee0bea5bbec1646f3aed681f -DIST docker-compose-1.27.2.tar.gz 309004 BLAKE2B 1017016989b25afa812d2e7251c6dbf45922867d66ef0c69292889a5de8f31908c8d2f418b2c29c319fbd7d0ba4e213d932665e7128b61164295105f35b23579 SHA512 2156a2b283d0ace6a8bfb0d6bbe93bfca7cd651c30fdeea4e1fa2acc6a85790d34a869d4625ef83ad11e9ecc1fbc1e9acac6f40eb8ef5225ccc36bab2ddcf847 -DIST docker-compose-1.27.3.tar.gz 309220 BLAKE2B eaf066f24bfff893e515a460be9abba79a59e5112a3a34a9002870babefd93950cf92ef66db469102c37e781d7fb986de069eef3fa09e4041b3a43d8bf1a3d30 SHA512 43e34760574d1ec009faa7a1fa09d621a2708f01f05819b46c67fe7ebf280807f97d9a5867cbfe75e9af6f097cd3f7c8c8fee66aa5392a4c62cdf44c7fb38075 DIST docker-compose-1.27.4.tar.gz 309308 BLAKE2B 098af5e0308de4fe72f8f7d5c9cbdb285ec1cb6fbd492baef8a4223f93591321c585ebabd4c7e4a40d7a1bce3ab2d7ccf4cee1d0a15e7f59bb80eb4df5b6c8d6 SHA512 b41b7cf88b1380021a30f9becb7567d1e154ef875c42b37483673b5107f1a26dae6868b92c6a61f695001eb63759b25f3729e6783272eb784047717cafea3b80 -EBUILD docker-compose-1.25.5.ebuild 1935 BLAKE2B 1290c12b6cad7e41f6450c68a5284f17acfa505fa3d0dbc1a7489a0d07d960fd1624c273f3fe57ded1c8098b1f69020d8eb3f1c2babff8f63f2b9ba008600579 SHA512 9ceb962c7acb6beaf2a2c5005380be0b2685c6a802cd00795f734034b5a8a43e9272ed665c7d11184ad5247f4d9d76a20f49fe724e901f4d735524c0f1938930 -EBUILD docker-compose-1.26.2.ebuild 2075 BLAKE2B c8e6bcdd6a79366828d9c4a0993398b56c95681ad61e5114d31065a222005ec53bb2d8afa00ccca215d9e1e46c3ac3e728719f2867dfd5c907913c68aa577a1d SHA512 56c3ef2e46b5b48d691989a424e91cb16d6ba2397254da61e358faa6173c1572bb72c83b2fae78c14c9a5e81672819f09b07551b32d39f59ef4cf06ea0c0a8be -EBUILD docker-compose-1.27.2.ebuild 2112 BLAKE2B 3a483383fd0b410fc4f2675a8df27ca2e5f1e61363abffc5cb180e8744973c40265027776c02e76063e7422e8c92131f5817f6898aec0ef72bbd552668de06ce SHA512 2ecef6032c24a4c7dc226dee463a3d0d1651a8f3f6f261f4c8aef682a6e4c217608def560055bfb88287eb9ccec6784944e56e72c701f98cfaf999e3a7a74425 -EBUILD docker-compose-1.27.3.ebuild 2112 BLAKE2B 3a483383fd0b410fc4f2675a8df27ca2e5f1e61363abffc5cb180e8744973c40265027776c02e76063e7422e8c92131f5817f6898aec0ef72bbd552668de06ce SHA512 2ecef6032c24a4c7dc226dee463a3d0d1651a8f3f6f261f4c8aef682a6e4c217608def560055bfb88287eb9ccec6784944e56e72c701f98cfaf999e3a7a74425 +DIST docker-compose-1.28.0_rc1.tar.gz 313984 BLAKE2B 3307aab3ec842d21de73ab282905016f6b0934a2ce9d1dde474ea1e7c5894cea028363c03ec9f597cb3e9b2910e9286b2ffb3070885b20787f28767fec909a73 SHA512 87704f16bd2d6551fed0b3d38264e10cf12604f40a68637ac9dacc3aebe618872f54a890aa6bb1412143055021751bcba1b542d51b252e78b0b8948e2b8cc8fd EBUILD docker-compose-1.27.4.ebuild 2110 BLAKE2B be9b90255ec650ca4abf0331e440e08bff51cfa73df3650db71ca8c0e39727072521678cfa0e5183e0301c26191da00fa627fafa3c70a0faf049acbfa3c701cd SHA512 6074b7b0ec6b634f265bfcb7d89f249396108e9f8aeee5d833913780513a2734931da3586e8e728b6512c1c549a3853bfa88b7a3ec0009877bfda2fa9e7182f5 -MISC metadata.xml 326 BLAKE2B 264e99e7fdc551ca2a29d4295d21fb587cb1eeb0bf995b9df63e63015b01b22a51db9254b3a6cb3eb76b8a4eb9e8bf3a1a4c6a936212690fa996e7edf20167dd SHA512 0c50efc71462eb8b312b5bab5b5de85450478f3b7a548c7f3725a4be5514078fb125305f277d14b5fa082027c805171e640367b6094668c05660d426c65043fc +EBUILD docker-compose-1.28.0_rc1.ebuild 2112 BLAKE2B 3a483383fd0b410fc4f2675a8df27ca2e5f1e61363abffc5cb180e8744973c40265027776c02e76063e7422e8c92131f5817f6898aec0ef72bbd552668de06ce SHA512 2ecef6032c24a4c7dc226dee463a3d0d1651a8f3f6f261f4c8aef682a6e4c217608def560055bfb88287eb9ccec6784944e56e72c701f98cfaf999e3a7a74425 +MISC metadata.xml 380 BLAKE2B 00c5a74fedd97fdd6dd3274523d134991e50dfb8dcf798027c00049d52cb431c8d06237dd06e48b4793cd14c879eb7a22a95dff01d9ad285cfa4d75e45a19e99 SHA512 04599c73f5b724749979b44f2eb3bcfdc071dc56d06a37c22eedfe7e9b85fee511bc5a0ad5553b96b0e86c054579dab538f2a519bcc21e96b8dbe79b27b95d0e diff --git a/app-emulation/docker-compose/docker-compose-1.25.5.ebuild b/app-emulation/docker-compose/docker-compose-1.25.5.ebuild deleted file mode 100644 index 92e8455fcfac..000000000000 --- a/app-emulation/docker-compose/docker-compose-1.25.5.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright 2018-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7} ) -DISTUTILS_USE_SETUPTOOLS=rdepend - -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" -RESTRICT="!test? ( test )" - -RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}] - >=dev-python/docker-py-3.7.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/paramiko[${PYTHON_USEDEP}] - >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}] - >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] - >=dev-python/requests-2.20.0[${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}]" - -DEPEND="${RDEPEND} - test? ( - >=dev-python/pytest-5[${PYTHON_USEDEP}] - dev-python/ddt[${PYTHON_USEDEP}] - )" - -S="${WORKDIR}/compose-${PV}" - -PATCHES=( - # Bug #679968 -- https://bugs.gentoo.org/679968 - # Bug #681002 -- https://bugs.gentoo.org/681002 - "${FILESDIR}"/${PN}-1.25.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.26.2.ebuild b/app-emulation/docker-compose/docker-compose-1.26.2.ebuild deleted file mode 100644 index 352afa3a5dc2..000000000000 --- a/app-emulation/docker-compose/docker-compose-1.26.2.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 2018-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7} ) -DISTUTILS_USE_SETUPTOOLS=rdepend - -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" -RESTRICT="!test? ( test )" - -RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}] - >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] - >=dev-python/docker-py-4.2.2[${PYTHON_USEDEP}] - >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] - >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] - >=dev-python/python-dotenv-0.13.0[${PYTHON_USEDEP}] - >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] - dev-python/paramiko[${PYTHON_USEDEP}] - >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}] - >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] - >=dev-python/requests-2.20.0[${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}]" - -DEPEND="${RDEPEND} - test? ( - >=dev-python/pytest-5[${PYTHON_USEDEP}] - >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}] - )" - -S="${WORKDIR}/compose-${PV}" - -PATCHES=( - # Bug #679968 -- https://bugs.gentoo.org/679968 - # Bug #681002 -- https://bugs.gentoo.org/681002 - "${FILESDIR}"/${PN}-1.26.2-setup-py.patch -) - -DOCS=( CHANGELOG.md README.md ) - -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.27.2.ebuild b/app-emulation/docker-compose/docker-compose-1.27.2.ebuild deleted file mode 100644 index 21b5b42471fc..000000000000 --- a/app-emulation/docker-compose/docker-compose-1.27.2.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2018-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8,9} ) -DISTUTILS_USE_SETUPTOOLS=rdepend - -inherit bash-completion-r1 distutils-r1 - -MY_PV=${PV/_/-} -DESCRIPTION="Multi-container orchestration for Docker" -HOMEPAGE="https://github.com/docker/compose" -SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}] - >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] - >=dev-python/docker-py-4.3.1[${PYTHON_USEDEP}] - >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] - >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] - >=dev-python/python-dotenv-0.13.0[${PYTHON_USEDEP}] - >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] - dev-python/paramiko[${PYTHON_USEDEP}] - >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}] - >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] - >=dev-python/requests-2.20.0[${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}]" - -DEPEND="${RDEPEND} - test? ( - >=dev-python/pytest-5[${PYTHON_USEDEP}] - >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}] - )" - -S="${WORKDIR}/compose-${MY_PV}" - -PATCHES=( - # Bug #679968 -- https://bugs.gentoo.org/679968 - # Bug #681002 -- https://bugs.gentoo.org/681002 - "${FILESDIR}"/${PN}-1.27.0_rc3-setup-py.patch -) - -DOCS=( CHANGELOG.md README.md ) - -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.27.3.ebuild b/app-emulation/docker-compose/docker-compose-1.27.3.ebuild deleted file mode 100644 index 21b5b42471fc..000000000000 --- a/app-emulation/docker-compose/docker-compose-1.27.3.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2018-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8,9} ) -DISTUTILS_USE_SETUPTOOLS=rdepend - -inherit bash-completion-r1 distutils-r1 - -MY_PV=${PV/_/-} -DESCRIPTION="Multi-container orchestration for Docker" -HOMEPAGE="https://github.com/docker/compose" -SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}] - >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] - >=dev-python/docker-py-4.3.1[${PYTHON_USEDEP}] - >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] - >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] - >=dev-python/python-dotenv-0.13.0[${PYTHON_USEDEP}] - >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] - dev-python/paramiko[${PYTHON_USEDEP}] - >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}] - >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] - >=dev-python/requests-2.20.0[${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}]" - -DEPEND="${RDEPEND} - test? ( - >=dev-python/pytest-5[${PYTHON_USEDEP}] - >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}] - )" - -S="${WORKDIR}/compose-${MY_PV}" - -PATCHES=( - # Bug #679968 -- https://bugs.gentoo.org/679968 - # Bug #681002 -- https://bugs.gentoo.org/681002 - "${FILESDIR}"/${PN}-1.27.0_rc3-setup-py.patch -) - -DOCS=( CHANGELOG.md README.md ) - -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.28.0_rc1.ebuild b/app-emulation/docker-compose/docker-compose-1.28.0_rc1.ebuild new file mode 100644 index 000000000000..21b5b42471fc --- /dev/null +++ b/app-emulation/docker-compose/docker-compose-1.28.0_rc1.ebuild @@ -0,0 +1,73 @@ +# Copyright 2018-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9} ) +DISTUTILS_USE_SETUPTOOLS=rdepend + +inherit bash-completion-r1 distutils-r1 + +MY_PV=${PV/_/-} +DESCRIPTION="Multi-container orchestration for Docker" +HOMEPAGE="https://github.com/docker/compose" +SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}] + >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] + >=dev-python/docker-py-4.3.1[${PYTHON_USEDEP}] + >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] + >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] + >=dev-python/python-dotenv-0.13.0[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] + dev-python/paramiko[${PYTHON_USEDEP}] + >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] + >=dev-python/requests-2.20.0[${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}]" + +DEPEND="${RDEPEND} + test? ( + >=dev-python/pytest-5[${PYTHON_USEDEP}] + >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}] + )" + +S="${WORKDIR}/compose-${MY_PV}" + +PATCHES=( + # Bug #679968 -- https://bugs.gentoo.org/679968 + # Bug #681002 -- https://bugs.gentoo.org/681002 + "${FILESDIR}"/${PN}-1.27.0_rc3-setup-py.patch +) + +DOCS=( CHANGELOG.md README.md ) + +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/files/docker-compose-1.25.2-setup-py.patch b/app-emulation/docker-compose/files/docker-compose-1.25.2-setup-py.patch deleted file mode 100644 index 3af8d2de06e6..000000000000 --- a/app-emulation/docker-compose/files/docker-compose-1.25.2-setup-py.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 19d9b58b97127f24e2280e3119e420393e7d239f Mon Sep 17 00:00:00 2001 -From: Sebastian Pipping -Date: Mon, 20 Jan 2020 19:27:46 +0100 -Subject: [PATCH] setup.py: Drop generic upper version boundaries - ---- - setup.py | 38 +++++++++++++++++++------------------- - 1 file changed, 19 insertions(+), 19 deletions(-) - -diff --git a/setup.py b/setup.py -index 110441d..3f6a46f 100644 ---- a/setup.py -+++ b/setup.py -@@ -30,35 +30,35 @@ def find_version(*file_paths): - - - install_requires = [ -- 'cached-property >= 1.2.0, < 2', -- 'docopt >= 0.6.1, < 1', -- 'PyYAML >= 3.10, < 6', -- 'requests >= 2.20.0, < 3', -- 'texttable >= 0.9.0, < 2', -- 'websocket-client >= 0.32.0, < 1', -- 'docker[ssh] >= 3.7.0, < 5', -- 'dockerpty >= 0.4.1, < 1', -- 'six >= 1.3.0, < 2', -- 'jsonschema >= 2.5.1, < 4', -+ 'cached-property >= 1.2.0', -+ 'docopt >= 0.6.1', -+ 'PyYAML >= 3.10', -+ 'requests >= 2.20.0', -+ 'texttable >= 0.9.0', -+ 'websocket-client >= 0.32.0', -+ 'docker[ssh] >= 3.7.0', -+ 'dockerpty >= 0.4.1', -+ 'six >= 1.3.0', -+ 'jsonschema >= 2.5.1', - ] - - - tests_require = [ -- 'pytest < 6', -+ 'pytest', - ] - - - if sys.version_info[:2] < (3, 4): -- tests_require.append('mock >= 1.0.1, < 4') -+ tests_require.append('mock >= 1.0.1') - - extras_require = { -- ':python_version < "3.2"': ['subprocess32 >= 3.5.4, < 4'], -- ':python_version < "3.4"': ['enum34 >= 1.0.4, < 2'], -- ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5, < 4'], -- ':python_version < "3.3"': ['backports.shutil_get_terminal_size == 1.0.0', -- 'ipaddress >= 1.0.16, < 2'], -- ':sys_platform == "win32"': ['colorama >= 0.4, < 1'], -- 'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'], -+ ':python_version < "3.2"': ['subprocess32 >= 3.5.4'], -+ ':python_version < "3.4"': ['enum34 >= 1.0.4'], -+ ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5'], -+ ':python_version < "3.3"': ['backports.shutil_get_terminal_size >= 1.0.0', -+ 'ipaddress >= 1.0.16'], -+ ':sys_platform == "win32"': ['colorama >= 0.4'], -+ 'socks': ['PySocks >= 1.5.6, != 1.5.7'], - } - - --- -2.24.1 - diff --git a/app-emulation/docker-compose/files/docker-compose-1.26.2-setup-py.patch b/app-emulation/docker-compose/files/docker-compose-1.26.2-setup-py.patch deleted file mode 100644 index 6c678326952c..000000000000 --- a/app-emulation/docker-compose/files/docker-compose-1.26.2-setup-py.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 067109b44ae049c3f6d72c6dc80e387ff8750b17 Mon Sep 17 00:00:00 2001 -From: Sebastian Pipping -Date: Tue, 30 Jun 2020 21:00:28 +0200 -Subject: [PATCH] setup.py: Drop generic upper version boundaries - ---- - setup.py | 44 ++++++++++++++++++++++---------------------- - 1 file changed, 22 insertions(+), 22 deletions(-) - -diff --git a/setup.py b/setup.py -index ac55ce4..dd69bba 100644 ---- a/setup.py -+++ b/setup.py -@@ -30,38 +30,38 @@ def find_version(*file_paths): - - - install_requires = [ -- 'cached-property >= 1.2.0, < 2', -- 'docopt >= 0.6.1, < 1', -- 'PyYAML >= 3.10, < 6', -- 'requests >= 2.20.0, < 3', -- 'texttable >= 0.9.0, < 2', -- 'websocket-client >= 0.32.0, < 1', -- 'distro >= 1.5.0, < 2', -- 'docker[ssh] >= 4.2.2, < 5', -- 'dockerpty >= 0.4.1, < 1', -- 'six >= 1.3.0, < 2', -- 'jsonschema >= 2.5.1, < 4', -- 'python-dotenv >= 0.13.0, < 1', -+ 'cached-property >= 1.2.0', -+ 'docopt >= 0.6.1', -+ 'PyYAML >= 3.10', -+ 'requests >= 2.20.0', -+ 'texttable >= 0.9.0', -+ 'websocket-client >= 0.32.0', -+ 'distro >= 1.5.0', -+ 'docker[ssh] >= 4.2.2', -+ 'dockerpty >= 0.4.1', -+ 'six >= 1.3.0', -+ 'jsonschema >= 2.5.1', -+ 'python-dotenv >= 0.13.0', - ] - - - tests_require = [ -- 'ddt >= 1.2.2, < 2', -- 'pytest < 6', -+ 'ddt >= 1.2.2', -+ 'pytest', - ] - - - if sys.version_info[:2] < (3, 4): -- tests_require.append('mock >= 1.0.1, < 4') -+ tests_require.append('mock >= 1.0.1') - - extras_require = { -- ':python_version < "3.2"': ['subprocess32 >= 3.5.4, < 4'], -- ':python_version < "3.4"': ['enum34 >= 1.0.4, < 2'], -- ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5, < 4'], -- ':python_version < "3.3"': ['backports.shutil_get_terminal_size == 1.0.0', -- 'ipaddress >= 1.0.16, < 2'], -- ':sys_platform == "win32"': ['colorama >= 0.4, < 1'], -- 'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'], -+ ':python_version < "3.2"': ['subprocess32 >= 3.5.4'], -+ ':python_version < "3.4"': ['enum34 >= 1.0.4'], -+ ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5'], -+ ':python_version < "3.3"': ['backports.shutil_get_terminal_size >= 1.0.0', -+ 'ipaddress >= 1.0.16'], -+ ':sys_platform == "win32"': ['colorama >= 0.4'], -+ 'socks': ['PySocks >= 1.5.6, != 1.5.7'], - 'tests': tests_require, - } - --- -2.26.2 - diff --git a/app-emulation/docker-compose/metadata.xml b/app-emulation/docker-compose/metadata.xml index e8aeb1e23f1e..a501de3afddc 100644 --- a/app-emulation/docker-compose/metadata.xml +++ b/app-emulation/docker-compose/metadata.xml @@ -7,5 +7,6 @@ docker-compose + docker/compose diff --git a/app-emulation/docker-proxy/Manifest b/app-emulation/docker-proxy/Manifest index 80de40eaed71..27042f8a246d 100644 --- a/app-emulation/docker-proxy/Manifest +++ b/app-emulation/docker-proxy/Manifest @@ -1,3 +1,5 @@ DIST docker-proxy-0.8.0_p20200617.tar.gz 3386043 BLAKE2B b32c3b6ef97f656414fdf026307f4054d4dd11cc91dc44a235eb5e5dc9f5f3da0cc4b001eaa28387b79f8f79f0124e6c01b8aab56d5c9e37d777e21cc186cb9c SHA512 fe8644611e975c051ee6e7ad4871624fb45862d9b4a2fd62ea4283e76ad9804d91d585e2165915b09356f11f9dfb31c40dd9ce6a66d63c5032c8c62354960538 +DIST docker-proxy-0.8.0_p20201105.tar.gz 3386010 BLAKE2B 414c3d37cfe2f36dbb5cfafc6047ee0aa299ba2aeb9c5c51da308285b1e2cc0a32e83557628e0de4817651331fbcfd6b430a88fd5a0f97bb7483a8fb10ae0791 SHA512 3d81ba20a91517e14da7e75a24d4e2eeb04c1dcb9c1bfe1115247982dbdb55d2fd72d0130093e9597363b742a20f2647f229c870da9a1cbdefc69aef65f02250 EBUILD docker-proxy-0.8.0_p20200617.ebuild 772 BLAKE2B df0bec6f5cb6556af0b2ce0b06b93d2fdd324d746175c897cd21aacd6b4700e9c77690230a107ed6d2b0ac5bad501206269c3ed4c98e75ec3e7945c964617729 SHA512 42a76db8d1205e28db64dd95eab6b6020131c35fe6216be247da9a70c8a3ee28350fda47e310927f85e02e6b9270c18bc79053ba695652c7f79e30d8d745e7d3 +EBUILD docker-proxy-0.8.0_p20201105.ebuild 772 BLAKE2B 66ee164b2e0bc59d9166a041a8a5cc447ed3d4d7dae1ae165c593dd5755dbd97e96c758f86f5a423e6483606c03dd6081b194398e3bb17653a6f437d93f91e27 SHA512 5dedd4dca31623dbd715975ede6a22f945bd07c04d3600e9bdf368c9d48d494162e43dc3cbab2dbba61545295dc61bed8aa299611e6732be056504da0e443a8c MISC metadata.xml 549 BLAKE2B 7e18ea0a99b0943c8d275ca674f97f82fae990dbe778a662c414dbae3eb84f29dce92b4ab7b1d7e623a79544c3c2ed0f6b1815a25be21cedce54a3e710e789f8 SHA512 3d0fbb5922dee2dc482f67b193c55a77e9eeba0380b1cc9d89a00c5a3b167d72ae37a35f13c87ddc9ea6abe12aed59f1ae755dd16ca146bcc9d7392374832a0d diff --git a/app-emulation/docker-proxy/docker-proxy-0.8.0_p20201105.ebuild b/app-emulation/docker-proxy/docker-proxy-0.8.0_p20201105.ebuild new file mode 100644 index 000000000000..feb57a0f2c36 --- /dev/null +++ b/app-emulation/docker-proxy/docker-proxy-0.8.0_p20201105.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +EGO_PN="github.com/docker/libnetwork" + +if [[ ${PV} == *9999 ]]; then + inherit golang-vcs +else + EGIT_COMMIT="55e924b8a84231a065879156c0de95aefc5f5435" + SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm arm64 ppc64 ~x86" + 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} + +# needs dockerd +RESTRICT="test" + +src_compile() { + GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die +} + +src_install() { + dodoc README.md CHANGELOG.md + dobin bin/docker-proxy +} diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest index bff22f315d2a..47bc01a68220 100644 --- a/app-emulation/docker/Manifest +++ b/app-emulation/docker/Manifest @@ -1,3 +1,5 @@ DIST docker-19.03.13.tar.gz 18242693 BLAKE2B c19afed62694274298b42fc9af3b36c4cc6429b40f7e5447a996b87636a0d2e916476875652e20abd7aeab4e5e0e1cf887a04dcade1de03ded549fc36d911ac4 SHA512 5f34a14ef0b36a309d4a08926ac482ca82d24cdd873aa359c5ba7c65473cbb2e987fe615c38c1bc1c50135284da78a7eb98a8a0106d7d073aeda0cd8f1c31873 +DIST docker-19.03.14.tar.gz 18278132 BLAKE2B 5e32cb482fdc40531aa4ba79dd447093859f568b3d8b5c3ed584c78d5709fabf2a1e05e82af2686cd87462e1abd899bd3f0a746f97937b7d16950f5e94264dff SHA512 5e48185a7787d5637fc11f43f6af604d56a5fa4367fd5a558bb3a5ef3c0d767f1c7f83ecef369453696b68eed81e49520453f267fbe8c2b840b3f62d35f25c28 EBUILD docker-19.03.13-r2.ebuild 9208 BLAKE2B e0fdb980ed5a99cef22fa76160634f0caca5251982a724ef5714a9282a06512f98fb7c88bf18fc7b0ff2da5cb16d243f5390b37f0bcd17ba60d199dff9ee0adb SHA512 5682caacdaaaa8ed1cb068957415d2b770bc75aa5000742249ae4741f9733fa1d533c9bd614bdd9450cbfedac4b6bcf7d587b7a8e063998eb25d6a4a88c02955 +EBUILD docker-19.03.14.ebuild 9207 BLAKE2B e5bbea70b2dc25438365f456acd4c090268ffe3dfd4a754eb9be302f4db020d39d966bf387416233198c679c59e8c85351dac3fa5068573b26817930964fdcbc SHA512 e0151c90a66de719d2149365e3badde2d5b49f4edc3881b288f6a83dc9a037724266341fef36f5d802b982f9bc21fa1bb9ff1922870e746b634cc83558ae0a85 MISC metadata.xml 1480 BLAKE2B d55259087f20646d81686efc1def000be31b841eb450b16b41de984955688282c541dbf127d3638cabc1219f22d2dad77c6c0431a374148329f73f0ab91f8ca7 SHA512 2ca140b93f15f63d3e07989f4ff1e702b61e4ef62d199564e1fd91f995750740c08f28aafe35f0a0945fa588bc6240e3f02aa84aa06c6be7944ad5f5d2764bfa diff --git a/app-emulation/docker/docker-19.03.14.ebuild b/app-emulation/docker/docker-19.03.14.ebuild new file mode 100644 index 000000000000..fa355dcabb81 --- /dev/null +++ b/app-emulation/docker/docker-19.03.14.ebuild @@ -0,0 +1,333 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGO_PN="github.com/docker/docker-ce" + +if [[ ${PV} = *9999* ]]; then + # Docker cannot be fetched via "go get", thanks to autogenerated code + EGIT_REPO_URI="https://${EGO_PN}.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}" + inherit git-r3 +else + DOCKER_GITCOMMIT="5eb3275" + MY_PV=${PV/_/-} + SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm arm64 ppc64 ~x86" + [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!" + inherit golang-vcs-snapshot +fi +inherit bash-completion-r1 golang-base linux-info systemd udev + +DESCRIPTION="The core functions you need to create Docker images and run Docker containers" +HOMEPAGE="https://www.docker.com/" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="apparmor aufs btrfs +container-init device-mapper hardened overlay seccomp selinux" + +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies +BDEPEND=" + >=dev-lang/go-1.13.12 + dev-go/go-md2man + virtual/pkgconfig +" + +DEPEND=" + acct-group/docker + >=dev-db/sqlite-3.7.9:3 + apparmor? ( sys-libs/libapparmor ) + btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) + device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] ) + seccomp? ( >=sys-libs/libseccomp-2.2.1 ) +" + +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies +# https://github.com/docker/docker-ce/tree/master/components/engine/hack/dockerfile/install +# make sure containerd, docker-proxy, runc and tini pinned to exact versions from ^, +# for appropriate brachch/version of course +RDEPEND=" + ${DEPEND} + !sys-apps/systemd[-cgroup-hybrid(+)] + >=net-firewall/iptables-1.4 + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + dev-libs/libltdl + ~app-emulation/containerd-1.3.9[apparmor?,btrfs?,device-mapper?,seccomp?,selinux?] + ~app-emulation/runc-1.0.0_rc10[apparmor?,seccomp?,selinux(-)?] + ~app-emulation/docker-proxy-0.8.0_p20201105 + container-init? ( >=sys-process/tini-0.18.0[static] ) +" + +RESTRICT="installsources strip" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +# see "contrib/check-config.sh" from upstream's sources +CONFIG_CHECK=" + ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS + ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG + ~KEYS + ~VETH ~BRIDGE ~BRIDGE_NETFILTER + ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE + ~NETFILTER_NETLINK ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS + ~IP_NF_NAT ~NF_NAT + ~POSIX_MQUEUE + + ~USER_NS + ~SECCOMP + ~CGROUP_PIDS + ~MEMCG_SWAP + + ~BLK_CGROUP ~BLK_DEV_THROTTLING + ~CGROUP_PERF + ~CGROUP_HUGETLB + ~NET_CLS_CGROUP + ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED + ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR + + ~VXLAN + ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER + ~IPVLAN + ~MACVLAN ~DUMMY + + ~OVERLAY_FS ~!OVERLAY_FS_REDIRECT_DIR + ~EXT4_FS_SECURITY + ~EXT4_FS_POSIX_ACL +" + +ERROR_KEYS="CONFIG_KEYS: is mandatory" +ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" +ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" + +ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering" +ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering" +ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" +ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" +ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks" +ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks" + +pkg_setup() { + if kernel_is lt 3 10; then + ewarn "" + ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported." + ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies" + fi + + if kernel_is le 3 18; then + CONFIG_CHECK+=" + ~RESOURCE_COUNTERS + " + fi + + if kernel_is le 3 13; then + CONFIG_CHECK+=" + ~NETPRIO_CGROUP + " + else + CONFIG_CHECK+=" + ~CGROUP_NET_PRIO + " + fi + + if kernel_is lt 4 5; then + CONFIG_CHECK+=" + ~MEMCG_KMEM + " + ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional" + fi + + if kernel_is lt 4 7; then + CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES + " + fi + + if kernel_is lt 5 1; then + CONFIG_CHECK+=" + ~NF_NAT_IPV4 + ~IOSCHED_CFQ + ~CFQ_GROUP_IOSCHED + " + fi + + if kernel_is lt 5 2; then + CONFIG_CHECK+=" + ~NF_NAT_NEEDED + " + fi + + if kernel_is lt 5 8; then + CONFIG_CHECK+=" + ~MEMCG_SWAP_ENABLED + " + fi + + if use aufs; then + CONFIG_CHECK+=" + ~AUFS_FS + ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3" + fi + + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + ~BTRFS_FS_POSIX_ACL + " + fi + + if use device-mapper; then + CONFIG_CHECK+=" + ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + fi + + linux-info_pkg_setup +} + +src_compile() { + export GOPATH="${WORKDIR}/${P}" + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + export CGO_CFLAGS="-I${ROOT}/usr/include" + export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)" + + # if we're building from a tarball, we need the GITCOMMIT value + [[ ${DOCKER_GITCOMMIT} ]] && export DOCKER_GITCOMMIT + + # fake golang layout + ln -s docker-ce/components/engine ../docker || die + ln -s docker-ce/components/cli ../cli || die + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in aufs btrfs device-mapper overlay; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + for tag in apparmor seccomp selinux; do + if use $tag; then + DOCKER_BUILDTAGS+=" $tag" + fi + done + + pushd components/engine || die + + if use hardened; then + sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die + grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' + sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \ + -i hack/make/dynbinary-daemon || die + grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed' + fi + + # build daemon + VERSION="$(cat ../../VERSION)" \ + ./hack/make.sh dynbinary || die 'dynbinary failed' + + popd || die # components/engine + + pushd components/cli || die + + # build cli + DISABLE_WARN_OUTSIDE_CONTAINER=1 emake \ + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \ + VERSION="$(cat ../../VERSION)" \ + GITCOMMIT="${DOCKER_GITCOMMIT}" \ + dynbinary + + # build man pages + go build -o gen-manpages github.com/docker/cli/man || die + ./gen-manpages --root . --target ./man/man1 || die + ./man/md2man-all.sh -q || die + rm gen-manpages || die + # see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man) + + popd || die # components/cli +} + +src_install() { + dosym containerd /usr/bin/docker-containerd + dosym containerd-shim /usr/bin/docker-containerd-shim + dosym runc /usr/bin/docker-runc + use container-init && dosym tini /usr/bin/docker-init + + pushd components/engine || die + newbin bundles/dynbinary-daemon/dockerd-${PV} dockerd + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + udev_dorules contrib/udev/*.rules + + dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md + dodoc -r docs/* + + insinto /usr/share/vim/vimfiles + doins -r contrib/syntax/vim/ftdetect + doins -r contrib/syntax/vim/syntax + + # note: intentionally not using "doins" so that we preserve +x bits + dodir /usr/share/${PN}/contrib + cp -R contrib/* "${ED}/usr/share/${PN}/contrib" + popd || die # components/engine + + pushd components/cli || die + + newbin build/docker-* docker + + doman man/man*/* + + sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die + dobashcomp contrib/completion/bash/* + bashcomp_alias docker dockerd + insinto /usr/share/fish/vendor_completions.d/ + doins contrib/completion/fish/docker.fish + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/_* + popd || die # components/cli +} + +pkg_postinst() { + udev_reload + + elog + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot:" + if systemd_is_booted || has_version sys-apps/systemd; then + elog " systemctl enable docker.service" + else + elog " rc-update add docker default" + fi + elog + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog ' usermod -aG docker ' + elog + + if use device-mapper; then + elog " Devicemapper storage driver has been deprecated" + elog " It will be removed in a future release" + elog + fi + + if use overlay; then + elog " Overlay storage driver/USEflag has been deprecated" + elog " in favor of overlay2 (enabled unconditionally)" + elog + fi + + if has_version sys-fs/zfs; then + elog " ZFS storage driver is available" + elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info" + elog + fi +} diff --git a/app-emulation/dynamips/Manifest b/app-emulation/dynamips/Manifest index df4681bc6eb5..ae69e0bdb360 100644 --- a/app-emulation/dynamips/Manifest +++ b/app-emulation/dynamips/Manifest @@ -3,4 +3,4 @@ DIST dynamips-0.2.18.tar.gz 833554 BLAKE2B 8152b436e8fc43061c5603a44ceae8feebdd4 DIST dynamips-0.2.21.tar.gz 833863 BLAKE2B a3162de26839a4c99fd1f147fe0a12e04f4b225b6539aa1599550c40c6a9e21deed950b47f7afbbc1cfbe2f61a351a4185a18f56c4b63c191eccc7122e2c0115 SHA512 c7251963897b65ed5696f47f03be727cea79fe2245850c86fa6b4d8718afa10002b1e39bccefe1c7f2ba86fe6b8f52fe8663ee34f72ca3d9f846522b9b9b4d29 EBUILD dynamips-0.2.18.ebuild 821 BLAKE2B 86ec42ec88cbbca52f6f50d9b703ad366452b730cf165714bcaf3a5a135c49872220e8fa6cc61b4d0ba0ce824fd0a100795a2f0493715e6080db1ec12ecce375 SHA512 a2a7ca16bb46b48ec1ef4e50bfabb0c6c420bb0baa43289dfeb83c11680f6a7f14be5957dcdedb8e48248192a8a054edeafb0a42135921d09168e9884b1248c0 EBUILD dynamips-0.2.21.ebuild 835 BLAKE2B 523bbd9cf0edacd2993cfc30aefef3e86386545a9b6fad62ac038ec8ec0079be1144e4a4ba49c6599aaa5c6174a0f6a8f101327553eae93ea4287f109b3ce5a1 SHA512 9ebeac76aac14954daf3e01122aab5012ac81685c5b1d472df5bed6a3e35c0d9832128098ac531e3acdec9c5bc4be640d8c1bfd4366202f7ef12db807378d9aa -MISC metadata.xml 375 BLAKE2B a7dbd13035f1fe8d48565d2bebe923992d8d8f8eac145a504ca13e416a30af978b836d29a58b0d80fb63190b6ebf511f3f6f8eba42aded724c5c6a1c61ee97c4 SHA512 e3917a92fba07b5e811a27425504ecb1c9a460ef9882fb9041cc5aa0a5fa5fc448f3906f431d7b8ac8bba134e6c0f669bf404872db8d6ef74a862e22149e90d2 +MISC metadata.xml 295 BLAKE2B 8620855399c33f332681337e77731ab41e62ffbf7cc3b4393b6eed9a00878275ee595696b0f2732722c8f1fc95a54e9a4960882b6adf198134ee3982b6958a9c SHA512 ff501b29ad43a5fedf38374c038c4682f1bc43a2a0b5ab90f56ee0ffaf899ebd90409af29803cc8c7c35b7d1033196d621243129144710eaad02f8b25e436d6c diff --git a/app-emulation/dynamips/metadata.xml b/app-emulation/dynamips/metadata.xml index 2f5d95978a96..bd4be58c8f43 100644 --- a/app-emulation/dynamips/metadata.xml +++ b/app-emulation/dynamips/metadata.xml @@ -1,10 +1,7 @@ - - pinkbyte@gentoo.org - Sergey Popov - + gns-3 GNS3/dynamips diff --git a/app-emulation/glean/Manifest b/app-emulation/glean/Manifest index 13ca94c3603b..ceb6cc8d76c1 100644 --- a/app-emulation/glean/Manifest +++ b/app-emulation/glean/Manifest @@ -1,4 +1,4 @@ AUX glean.initd 241 BLAKE2B ea451713203da8dd61eef5155e2ab2d5fa7be5d9cd210ce2d0ce890fe54af05b461671702d1a2b60b8e6b8e0cb0f4d12f90ff2884409e9f2a3dcc380ba48bb60 SHA512 a5af77b16e1864158dfe858f932dd4eecb5633bd71fbdd00085863e56bd1862d7eba4500d0f4ac8c692b06750fcfe3f9f5b2bb7a4ca6a4ba72dbc43bb12856c5 DIST glean-1.17.0.tar.gz 62791 BLAKE2B 6429bd721655499732f84dc8db4bd31bdb128289956ab65fab78ea5461cf7945ced893fd832ac6a3cdcedb331f3885004eaa530be1ee4fcc4168870b5c345dd3 SHA512 55c8ceae941296c038acff3f40cf4d6b783d7c6530ebd6fbd6d87938de11a1be1403741a559802c9135d3fc4d904b1936319dcf7a0179f95ac3f909667f5622c EBUILD glean-1.17.0.ebuild 601 BLAKE2B 3a5617fb56bebf2a70759a2733f8fd0a80806cd743a93411ddf9d668604a40398ac6e30d1910f271f2f66a1952f96f62114a37c414a03986c31db948d083a974 SHA512 9f3aedbd1db0d2a2598d5279cdc78f1184d51e415fa042b967aa33463f04cc9788c48d52ada6a6366d32636463a92825543b8822d77ad7960a69fb54de145a7a -MISC metadata.xml 641 BLAKE2B ee81e3a785b2622805b1d30e1283daf523d5c6577c313aa970c8745f870e5058af90a46c11a954a3f641b93b7ece772336be4330f7f1e77625ec9869053342bd SHA512 28e64d8afd054e05b0155773b4b35c8b03b1488be4aba776c0b6b23397e2e8ac35330be8da668c57239a0826c5af00d93a17ba4d00936829e9b67d4d53ee3c7a +MISC metadata.xml 582 BLAKE2B 5681b71af4146a409d76188e969fe422028352bb5a4b43371c5f94da2f13597877d228f0b5d721efd6e7df649b5ffa8f1b9348e99e92683092070a765143abe0 SHA512 af37ef6171ada6d7480f7fb6c5514dd2ac3b0d551c88673f024f94b7737cd2b42696785b9152d688e1b48620d560f065e20ac9998ffd8edf9f621dc96ef0df4f diff --git a/app-emulation/glean/metadata.xml b/app-emulation/glean/metadata.xml index 5f29d506900e..04eb5e5e3c1b 100644 --- a/app-emulation/glean/metadata.xml +++ b/app-emulation/glean/metadata.xml @@ -14,6 +14,5 @@ glean - openstack-dev/glean diff --git a/app-emulation/kompose/Manifest b/app-emulation/kompose/Manifest index 262d7e62ec77..eb2078aabaf5 100644 --- a/app-emulation/kompose/Manifest +++ b/app-emulation/kompose/Manifest @@ -532,8 +532,6 @@ DIST k8s.io%2Fklog%2Fv2%2F@v%2Fv2.2.0.mod 71 BLAKE2B 5379c4cfec1c33cee99fc39e4c3 DIST k8s.io%2Fklog%2Fv2%2F@v%2Fv2.2.0.zip 45140 BLAKE2B c7271958036e25fcaebf47cba48efd18029563731e8648cf0e52247e538b9fec5b3afe74c1b3d071927b3cee29553c8a891dcc1cb920a3a3b17e1cacc8887bbf SHA512 f4adb771c1131f778d2b3f9154e8f855f5ad3882f1a932afc7b4457f9413fa43340e993e6a80cb930019a8e712d40fb62542efb524a2688635b6445f8f9dcb1e DIST k8s.io%2Fkube-openapi%2F@v%2Fv0.0.0-20200427153329-656914f816f9.mod 1576 BLAKE2B cf5c64b8ea229cfa89dea8ded6e26d5669f0cafcd0265436060e9fad534df273e44f246bd28203613796e5503bcd245d94a0e70c82d7a1c797abd0170caae2cc SHA512 66bcaee932ce76200d93cacc3f17cc654fb5bf6ab75da30850b9899c3e6b2d000839eef5f33cb257f6a13494dbb69b940c800b6bd31ea7542a69b60276269251 DIST k8s.io%2Fkubernetes%2F@v%2Fv1.13.0.mod 25 BLAKE2B 4060536d51fac9854215957b1108a158adb0b3aeb8bfc659eca1140efdcf79cffe378db6f3cb1f4a4b68aa36468b7d5631e993d5a089eb839bd03b6b608496be SHA512 2349b7dbe8409836cc70d97c5b336f518b809f5731baf05ce68d957c9970895a9b7f89caf09763794cf13824ee29410b3a6e431b2da7f64610895c44b86c4d2d -DIST kompose-1.16.0.tar.gz 5241785 BLAKE2B 9958b200827b70c94a499981880cc7a5d8137354205d96657d854aefebbd877e332ac3047f59e13b62dd6b9a9235d1ed83bb8b8de973d59f81906b3f376176a0 SHA512 267601ba51f5cfcbb95b9fbf52bbb99f9c810de8edb301b635a50936d7a714dc8410352ff3a4aa8819de1659a45cbb42caf5e552023cfa594a0eb8e99db57522 -DIST kompose-1.19.0.tar.gz 5314491 BLAKE2B c03f7ece6dc91979a147bb1689525318b7c31b22242e6fbf5387469d3196dfc569178235b5a52ccdd9647ceb626be313017484451f149e375edf3b48da063328 SHA512 571c5f23a19ba1f7a403e2369d74a5f6ba051c5e9c27b79bf5ab05f8dfc9abd523862dad7da3cd0d503e4de2e76666cd1eea8d8921b0bbe79db81f11a23fbe64 DIST kompose-1.22.0.tar.gz 321371 BLAKE2B 6a692c4ff4afc835ec6a3319e266849c6a9d2fda50828586eacc1b3b07c743acef7d3427fc3413af6e6ca8e435fd1e4ecfaef588d9be7091a08e45e4b8e4b053 SHA512 09c2520b759dcc452f6d55b171d9c002ccdab96cf01cd9b67be33070c8b3faff0a189ca30731376386d214002e2c44ffe27715aa74039a8adbae946d2b03d1d0 DIST rsc.io%2Fbinaryregexp%2F@v%2Fv0.2.0.mod 36 BLAKE2B 61110bed2b9e99e0250cf6e8b842257202c89b3462edf9368b73cab29f9dbd4dcc66c3e290a1d6329b7d62321eecc52082a8c4c0797eac743a29a8a00910a93f SHA512 db50ff677b0bdccbc1a1ad3df7c5cc76f2fcccf3ab99d08d1c2868440eb9b893fe89452f4286f7d42f2f16abf0f4acda67fe86e174dcfa730a743aafcc166774 DIST sigs.k8s.io%2Fstructured-merge-diff%2Fv3%2F@v%2Fv3.0.0-20200116222232-67a7b8c61874.mod 298 BLAKE2B c8069652ef0558d03282ef0f8444222d09708f1dcdc1ab19ed698d7acfb8d3421d9d9c9d053f3060848673d3dd30befd94c09b075ced36f79bef28940e7b351b SHA512 d153dd32bc1485e17771bad3142f576d967e0986702050431a656eb990af3bbfe809542745ac7752c0d72e6beee78bf3c285a4b41b37b8ebef50ecd7b3f53f8d @@ -542,7 +540,5 @@ DIST sigs.k8s.io%2Fstructured-merge-diff%2Fv3%2F@v%2Fv3.0.1-0.20200706213357-43c DIST sigs.k8s.io%2Fyaml%2F@v%2Fv1.1.0.mod 24 BLAKE2B d33080dbc62b185d029eb43f75d66328dbfa7c463a3117b3efd5419ab8e1e52cc6f5d5a288d553421025c785ec6948b3aa68588cae19bd325f6acc0d043bb5fb SHA512 78f6402daccb04510f4ef35ee457ee13e4f447fba8e6aa33b4d32aa666e925861bf3b3f22c5ba9573871ec7e830f99e4caae0969724a54eadf40e6a7ed7931a0 DIST sigs.k8s.io%2Fyaml%2F@v%2Fv1.2.0.mod 106 BLAKE2B bd5d8af6c5046c6de9b171ea2915c308de08e9696a8c82b3831bf5dc01f8aefc21b13b5b9a210f24ff8782909308137c25363074753427109e009889b7860f5f SHA512 712a936d07bfe4c2e67a4f199346d7e96db35486a0f051365c4636ddbc6505cf540995bc67e6a03b1b58e1e4816ece573418f23bf9ce93fcdc141a05f922f527 DIST sigs.k8s.io%2Fyaml%2F@v%2Fv1.2.0.zip 20937 BLAKE2B 1bc20da34d11c6704b2d34eb93b06fd376d1b0932626c7dcbdaf43df8c8eb14e07529e84e028576bb67ce1961c3c86d0303d375d8d0aa372ded259c3561b9291 SHA512 52a52b3d380ae6e2cbe1b2c849d3089f74aa876fb3fadfbd02eada97446e0f2cf387f10ddb527f2dfefd57dccba8c82b0b349efbecaa0e6e3d00dc2b5d4fc21e -EBUILD kompose-1.16.0.ebuild 914 BLAKE2B 135028b699263569332cc9e7e1d9559ac448ddcae5517505bf170a17b591a581b3513eb9d29deda4d103a93b556ddc2bc77f052b80ab4f786f7f4003254f63e6 SHA512 ad339be916fe398edd62cab08a67c47b83eb91cd91603402520609e9e3dc4218d3ed5d206f386cad75c8b0b0b0a63efc13cf1514166b1eacab9b63663a2e6231 -EBUILD kompose-1.19.0.ebuild 903 BLAKE2B d1f5a72ecb852fbb2e9f3467fa694b643787e65aba01b828f6ef2df55f8e75f803004d333fa24a78e40490373dfbbbcb2b053dc1039e85a749814f54bd3dfc10 SHA512 6fa7d0d3f2e22595ca8ba8f8b7912743202705707698caf190a97f1e678a01d5f803b353c15867109f7de94b6611af5cc1d0d8c9879370e1399ec81673eb0708 EBUILD kompose-1.22.0.ebuild 30385 BLAKE2B 098889371342d949e80d6262d81122215a58c4030c62dfffe00cbc50ed0a2ef892b8a1c04195c0a40710e64df43f700d1b7d76700a00b9944573cef4b0e4c930 SHA512 d06d603405cf721b6c7dad0ff2d63f8ee79f599a5bfc0b04ab921e52b66cc6ef421f183d00517753d9d4908da818eb243b11a65ac5f33106dba5d2c3589737a8 MISC metadata.xml 335 BLAKE2B 24f92508398ec5fab539588946b82ddecb9a073de978de961831e2b46b93a47bcbac1ae00ce294f55502d505759fd314dfa00b6bf74752a307d580cf20814fe0 SHA512 832f3b172a918d44aeff813522d1a377f81faadc9c7218011dd832a6cd743d3d1b9bb4e88710fb678527f134b7263854703504143a23331c319237041b45b893 diff --git a/app-emulation/kompose/kompose-1.16.0.ebuild b/app-emulation/kompose/kompose-1.16.0.ebuild deleted file mode 100644 index 8804d097f4eb..000000000000 --- a/app-emulation/kompose/kompose-1.16.0.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit golang-build golang-vcs-snapshot - -EGO_PN="github.com/kubernetes/kompose" -EGIT_COMMIT="v${PV}" -GIT_COMMIT="0c01309fe899c587e8cb02e9c31196ee66ab5093" -ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~amd64" - -DESCRIPTION="Tool to move from docker-compose to Kubernetes" -HOMEPAGE="https://github.com/kubernetes/kompose https://kompose.io" -SRC_URI="${ARCHIVE_URI}" -LICENSE="Apache-2.0" -SLOT="0" -IUSE="hardened" - -RESTRICT="test" - -src_compile() { - export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" - GOPATH="${S}" go build -v -ldflags="-X github.com/kubernetes/kompose/cmd.GITCOMMIT=${GIT_COMMIT}" -o bin/kompose src/${EGO_PN}/main.go || die -} - -src_install() { - dobin bin/* - dodoc -r src/${EGO_PN}/{docs,{README,RELEASE,ROADMAP,CHANGELOG,CONTRIBUTING}.md} -} diff --git a/app-emulation/kompose/kompose-1.19.0.ebuild b/app-emulation/kompose/kompose-1.19.0.ebuild deleted file mode 100644 index d6b2bc22f6a7..000000000000 --- a/app-emulation/kompose/kompose-1.19.0.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit golang-build golang-vcs-snapshot - -EGO_PN="github.com/kubernetes/kompose" -EGIT_COMMIT="v${PV}" -GIT_COMMIT="f63a961ca7972cb243507755c69cd066aa792289" -ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~amd64" - -DESCRIPTION="Tool to move from docker-compose to Kubernetes" -HOMEPAGE="https://github.com/kubernetes/kompose https://kompose.io" -SRC_URI="${ARCHIVE_URI}" -LICENSE="Apache-2.0" -SLOT="0" -IUSE="hardened" - -RESTRICT="test" - -src_compile() { - export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" - GOPATH="${S}" go build -v -ldflags="-X github.com/kubernetes/kompose/cmd.GITCOMMIT=${GIT_COMMIT}" -o bin/kompose src/${EGO_PN}/main.go || die -} - -src_install() { - dobin bin/* - dodoc -r src/${EGO_PN}/{docs,{README,RELEASE,CHANGELOG,CONTRIBUTING}.md} -} diff --git a/app-emulation/libguestfs/Manifest b/app-emulation/libguestfs/Manifest index 03afa63a8078..8a827f323225 100644 --- a/app-emulation/libguestfs/Manifest +++ b/app-emulation/libguestfs/Manifest @@ -13,7 +13,8 @@ AUX 1.38/0002-Loosen-build-time-requirement-on-bash-completion.patch 1920 BLAKE2 DIST libguestfs-1.36.13.tar.gz 22886310 BLAKE2B b0961cc6b941f1b68bba23af72e8b5478ed33da6f343e453f90decd7454cfc6a94cf67a81ad59c443df744727afa9bd4e98c77411efc4134e3422eaae59ffff5 SHA512 7c9799d5d563ffd8296f70a8402582aba85f3bf3c0dcaa18c44ecff5b7f771a3bc3f297aa85a4056351758298c79752d456a4b46e41924ff9acf196c992d51fb DIST libguestfs-1.36.15.tar.gz 22256729 BLAKE2B 7ed9c0010ffe6b904b055068e86544f12a884ff52f1f3322a3014574310de9a69077d1865e641ad8304149d1a2eb0d0fbc5e107c93a9790135dc543592da68a6 SHA512 a918bc886b60340d748093bdcca3a048ed26b31508ba256cd7903b76798816e54f836446d9286f7c452fa0d4fa82c0c1216606d01fce2ada9d7386fa463857c7 DIST libguestfs-1.38.6.tar.gz 23284845 BLAKE2B 005aaef731e1711dc5f4552dbecff80f2c7a79fd8a13f6b79675b0a381dcd7b9ad16867ed0dda73a9f20ab0a7e03892b5ebffa5436b870613233fbd2024ca846 SHA512 20a254f1d6a4628a11f42c08947d1165430a020030da7e6ee7b22859b552245e8f3822a2d86c60055878ca00d8f17d346a0ad8274e8f0bb03ef4a9410b9630f1 -EBUILD libguestfs-1.36.13.ebuild 4168 BLAKE2B 4d34e2fb52fbdde82cc940ff8d87338ac0cf396b85eeff56779d9d4b12936401ec58b0c3ad37db5401656b8bb2b3cbe12d0dff6ad08683ab5d593e3f02dda1e6 SHA512 0fcb20ebd3d01b75596e52030e4446fe20802fb531f9f92c1d31b006dec8472c469f2341629adcb783213e45b4a119e128c675931efa78f6a6415bbdd61e47b8 -EBUILD libguestfs-1.36.15.ebuild 4372 BLAKE2B 85b8c472797be8c59dfed1d05e5f426b3fd653ddb4f7fdc96793680e7f43bcc090f673b678d28267ed46029600d08ae5aafb1f0f595f6d995d03661ed8f2e9e7 SHA512 70ee6b3ec17a9b18c30d2f33ce69ba704d42e271efdd1499a4b1705538ae470e0976618560ddbd0830cabd8c530983dc5b60a9d4ef135eb62c56bc9b0456e3ff -EBUILD libguestfs-1.38.6.ebuild 4107 BLAKE2B 610925898f712f1eb42cdfdea89f7fbe39fc1945daadf524074d6099942358ddee5069728ef92f154c52903a0d3adbaa9d1bd71a936c0f64ed698768d56e92e2 SHA512 bf98c75ccf61b03a1acc1388a6542d58f2d9ed989419c106201e5e1bae1882fb67e94ae655f5b19bcec42020f6ef7ccc3baf6e6d241fa27223cbf755c41319c0 +EBUILD libguestfs-1.36.13.ebuild 4169 BLAKE2B 653bd435a28ae1fb1d31d5b41441f1b397795392a7e5ffc9bd3f6dc7c2b1092913a9d87e8eeb9d9aaed14c0790c336b3706c265b78c653c7acfebb69040d71df SHA512 eabf43897b781557e3dd9cacd95f6e1d219ff9c2c5190aa43b7744fb802c8f09e354c3c3e88d9753747996b31706df11cfcadcd73f17eb24b50795690d1642d0 +EBUILD libguestfs-1.36.15.ebuild 4373 BLAKE2B 568051405020f0e4f14364c13ad7d02c82f7b904652f5c85ed25fb285cffa03ee6a608cbfd4d2249c8b26639fdb6205e78e362c10fe6fd32ff27af5da3a1164a SHA512 5cc73e4bc948fccf00b19c3fc874aad22ca4e128dfb6d705bb0593d99de11f5060d34a194f1611ca029906d9c0034da60b8e3035faafb9c85e4c86bc4daa43b7 +EBUILD libguestfs-1.38.6-r100.ebuild 4346 BLAKE2B a55350a00df69723758b5e597ac5d5451d61bf07ce285c61464626dba64f7e7df82d617ed5c89e618a4c2d7d00ada45bdf7936032dda59b9be0ac5ace8a6c17a SHA512 fc61ec2a70964510ceb4b8f42750dc6ba8a10d5ae4ee6abb2537a18848d95855b1dcf30e114bb1723252abc091f094671d84ac4cd921f5cab46c9a641e79484c +EBUILD libguestfs-1.38.6.ebuild 4108 BLAKE2B 3a771d3ad03b10698b9bec292aa90f079e046abd66555f35e59cce3cbb8619a3bca15d6250fb8d3782a171347fa6844f30001e2d474641993abbb0cf7948d9b4 SHA512 ce75e3702715d6a3deaa0cc561b9d5a65de5f77fb22c23ef43ab135d20007a0112681071b4de061423ba5098aa6c98479bbc8aefc0bd3a721ac90971dcce0fd1 MISC metadata.xml 845 BLAKE2B 002345b189789a28d74b674c9f32cd5b6793cd84e50fa3f54212c0d05ba6463ffcf75629f2459979dd20a85312018054325660b16d4df04e87222b5ce9ac95c9 SHA512 c32515f853783a1935a2285305e1b54e7309be52b6ac3cd4084a26b28f2b53c4378faa95ae3e24e6b0349ed1e84c46df0a5337c258e3726870aa7d45e3ed5366 diff --git a/app-emulation/libguestfs/libguestfs-1.36.13.ebuild b/app-emulation/libguestfs/libguestfs-1.36.13.ebuild index 21857f1bb62d..7d1a1bbe48bb 100644 --- a/app-emulation/libguestfs/libguestfs-1.36.13.ebuild +++ b/app-emulation/libguestfs/libguestfs-1.36.13.ebuild @@ -85,7 +85,7 @@ COMMON_DEPEND=" ) virtual/acl sys-libs/libcap - lua? ( dev-lang/lua:* ) + lua? ( dev-lang/lua:0= ) >=app-shells/bash-completion-2.0 >=dev-libs/yajl-2.0.4 gtk? ( diff --git a/app-emulation/libguestfs/libguestfs-1.36.15.ebuild b/app-emulation/libguestfs/libguestfs-1.36.15.ebuild index e2ae26f43a8f..8ec3e24990bf 100644 --- a/app-emulation/libguestfs/libguestfs-1.36.15.ebuild +++ b/app-emulation/libguestfs/libguestfs-1.36.15.ebuild @@ -83,7 +83,7 @@ COMMON_DEPEND=" ) virtual/acl sys-libs/libcap - lua? ( dev-lang/lua:* ) + lua? ( dev-lang/lua:0= ) >=dev-libs/yajl-2.0.4 gtk? ( sys-apps/dbus diff --git a/app-emulation/libguestfs/libguestfs-1.38.6-r100.ebuild b/app-emulation/libguestfs/libguestfs-1.38.6-r100.ebuild new file mode 100644 index 000000000000..833f7102526c --- /dev/null +++ b/app-emulation/libguestfs/libguestfs-1.38.6-r100.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-1 ) +PYTHON_COMPAT=( python3_6 ) + +inherit autotools bash-completion-r1 l10n linux-info lua-single perl-functions python-single-r1 xdg-utils + +MY_PV_1="$(ver_cut 1-2)" +MY_PV_2="$(ver_cut 2)" +[[ $(( ${MY_PV_2} % 2 )) -eq 0 ]] && SD="stable" || SD="development" + +DESCRIPTION="Tools for accessing, inspect and modifying virtual machine (VM) disk images" +HOMEPAGE="https://libguestfs.org/" +SRC_URI="https://libguestfs.org/download/${MY_PV_1}-${SD}/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2" +SLOT="0/"${MY_PV_1}"" + +KEYWORDS="~amd64" +IUSE="doc erlang +fuse gtk inspect-icons introspection libvirt lua ocaml +perl python ruby selinux static-libs systemtap test" +RESTRICT="!test? ( test )" + +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} )" + +# Failures - doc + +# FIXME: selinux support is automagic +COMMON_DEPEND=" + sys-libs/ncurses:0= + sys-devel/gettext + >=app-misc/hivex-1.3.1 + dev-libs/libpcre:3 + app-arch/cpio + dev-lang/perl:= + virtual/cdrtools + >=app-emulation/qemu-2.0[qemu_softmmu_targets_x86_64,systemtap?,selinux?,filecaps] + sys-apps/fakeroot + sys-apps/file + libvirt? ( app-emulation/libvirt ) + dev-libs/libxml2:2 + >=sys-apps/fakechroot-2.8 + >=app-admin/augeas-1.8.0 + sys-fs/squashfs-tools:* + dev-libs/libconfig + sys-libs/readline:0= + >=sys-libs/db-4.6:* + app-arch/xz-utils + app-arch/lzma + app-crypt/gnupg + app-arch/unzip[natspec] + perl? ( + virtual/perl-ExtUtils-MakeMaker + >=dev-perl/Sys-Virt-0.2.4 + virtual/perl-Getopt-Long + virtual/perl-Data-Dumper + dev-perl/libintl-perl + >=app-misc/hivex-1.3.1[perl?] + dev-perl/String-ShellQuote + ) + python? ( ${PYTHON_DEPS} ) + fuse? ( sys-fs/fuse:= ) + introspection? ( + >=dev-libs/glib-2.26:2 + >=dev-libs/gobject-introspection-1.30.0:= + ) + selinux? ( + sys-libs/libselinux + sys-libs/libsemanage + ) + systemtap? ( dev-util/systemtap ) + ocaml? ( >=dev-lang/ocaml-4.03[ocamlopt] ) + erlang? ( dev-lang/erlang ) + inspect-icons? ( + media-libs/netpbm + media-gfx/icoutils + ) + virtual/acl + sys-libs/libcap + lua? ( ${LUA_DEPS} ) + >=dev-libs/yajl-2.0.4 + gtk? ( + sys-apps/dbus + x11-libs/gtk+:3 + ) + net-libs/libtirpc + sys-libs/libxcrypt + " +DEPEND="${COMMON_DEPEND} + dev-util/gperf + >=dev-lang/ocaml-4.03[ocamlopt] + dev-ml/findlib[ocamlopt] + dev-ml/ocaml-gettext + >=dev-ml/ounit-2 + doc? ( app-text/po4a ) + ruby? ( dev-lang/ruby virtual/rubygems dev-ruby/rake ) + test? ( introspection? ( dev-libs/gjs ) ) + " +RDEPEND="${COMMON_DEPEND} + app-emulation/libguestfs-appliance + " +# Upstream build scripts compile and install Lua bindings for the ABI version +# obtained by running 'lua' on the build host +BDEPEND="lua? ( ${LUA_DEPS} )" + +DOCS=( AUTHORS BUGS ChangeLog HACKING README TODO ) + +PATCHES=( + "${FILESDIR}"/${MY_PV_1}/ +) + +pkg_setup() { + CONFIG_CHECK="~KVM ~VIRTIO" + [ -n "${CONFIG_CHECK}" ] && check_extra_config; + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + xdg_environment_reset + eautoreconf +} + +src_configure() { + # Disable feature test for kvm for more reason + # i.e: not loaded module in __build__ time, + # build server not supported kvm, etc. ... + # + # In fact, this feature is virtio support and requires + # configured kernel. + export vmchannel_test=no + + econf \ + --with-bashcompletiondir="$(get_bashcompdir)" \ + $(use_with libvirt) \ + --disable-appliance \ + --disable-daemon \ + --with-extra="-gentoo" \ + --with-readline \ + --disable-php \ + $(use_enable python) \ + --without-java \ + $(use_enable perl) \ + $(use_enable fuse) \ + $(use_enable ocaml) \ + $(use_enable ruby) \ + --disable-haskell \ + --disable-golang \ + $(use_enable introspection gobject) \ + $(use_enable introspection) \ + $(use_enable erlang) \ + $(use_enable static-libs static) \ + $(use_enable systemtap probes) \ + $(use_enable lua) \ + --with-gtk=$(usex gtk 3 no) \ + $(usex doc '' PO4A=no) +} + +src_install() { + strip-linguas -i po + emake DESTDIR="${D}" install "LINGUAS=""${LINGUAS}""" + find "${ED}" -name '*.la' -delete || die + use perl && perl_delete_localpod +} + +pkg_postinst() { + if ! use gtk ; then + einfo "virt-p2v NOT installed" + fi + if ! use ocaml ; then + einfo "Ocaml based tools and bindings (sysprep, ...) NOT installed" + fi + if ! use perl ; then + einfo "Perl based tools NOT build" + fi +} diff --git a/app-emulation/libguestfs/libguestfs-1.38.6.ebuild b/app-emulation/libguestfs/libguestfs-1.38.6.ebuild index 13777175b45e..15cebc77a632 100644 --- a/app-emulation/libguestfs/libguestfs-1.38.6.ebuild +++ b/app-emulation/libguestfs/libguestfs-1.38.6.ebuild @@ -78,7 +78,7 @@ COMMON_DEPEND=" ) virtual/acl sys-libs/libcap - lua? ( dev-lang/lua:* ) + lua? ( dev-lang/lua:0= ) >=dev-libs/yajl-2.0.4 gtk? ( sys-apps/dbus diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index 1f6eeaa4a55b..e3877b895cfd 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -1,9 +1,11 @@ AUX README.gentoo-r3 2062 BLAKE2B bf45e0f63182dbff31982581045389c5510d5c3e648de34982ea9861923833a024681072ecf4f76b2ca025da30ed4a5a0f1273c85b4c0beb08189f80ce54de3e SHA512 6c54bd70a8521fcfe7eb21df87466c1df0026c569700f3d1b14c76cef4c1e68a56aa13d66b5214ae35a4c24bca58350d07d3e54ca3204ad336be618f51b00984 AUX libvirt-6.0.0-fix_paths_in_libvirt-guests_sh.patch 1281 BLAKE2B 631f813ad29db29a6eb537ecd7b9d12aed097c5e0e01c07161adac1dec8a6f129bc098172fe6de4e78a2fbe5e67052005a7c5d1d17cbbb63ad27025662b9fa34 SHA512 dc80c9fc459207dd1ff77548054ea5a51c41a2d36e1b8917eca5f69293a86168af3da47466d8ff954a8b2e0ead9f28ed7d6c2c3671cf67d0ebb4039003a0dde2 +AUX libvirt-6.10.0-Fix-segfault-when-parsing-mdev-types.patch 4415 BLAKE2B 0bac886d57267eee37b78b146f68dbbd487a7d4a6c72a7ce27a328ba7077fe344dbd1930e5111439fdfb616a997e73e2a6f4c91f18a2a6f5518e37fe3c9f637c SHA512 8bd69463dc8ee705a64626203b3b05ad68dc8042e7d5ae9a7545a7597c7858633bb122a4dc3529c80de68367da24db5a106f632c9a52b178f44a448525030cc2 AUX libvirt-6.7.0-do-not-use-sysconfig.patch 5001 BLAKE2B 65e6dfacc598ba771fccc1c45c504aadcc83d0d8df211e70721dd0d7e3653c2c4d44a892ece19ee7e22d95552950e21f9d9e0a4ff960d66ebd2f9999c4cd52d1 SHA512 7dd3e4cf03dd8351a644a1669be70fcc6397b27983c0ec7b716dde61c92cf7dc9c46fc841cead5ae616897d9ed60209b03d5d78a4247215f4e79d11282da91ad AUX libvirt-6.7.0-doc-path.patch 468 BLAKE2B 2438dcccd20faa9bf32734b7a043ca7a9981d37f32d7c867c5ab31a0904f6d57f5bdb4817296506e65e40b3013eef6a978b1d22e3a204b2989f6b766a4f18877 SHA512 401ae495e8aaef1fdea02fc0e05562f3d2f29e286ea493a2eab0f874d1d89053580ff15110ab484a2f39b0546bdc82135e6e1561545ceff6fa7341b875dd54ad AUX libvirt-6.7.0-fix-paths-for-apparmor.patch 1974 BLAKE2B b5e9a151aa6bfbccf76ef0d6638b00cfbc3f8c4d5a722ba83699d29a32ef2f9a7d9eb678c1f61a128b0fee958a3349a4b843be08cec940f7d1e22757bc66bb95 SHA512 f81627e9c3d6c117e76a7a30af162a8ff8fafa191313155ceecf39bae2c457417152a0380d06cd3a4958b52a6ba410730cf66cd912072f7ec951b507c0a83f96 AUX libvirt-6.8.0-fix-libvirt-lxc-dbus.patch 1035 BLAKE2B 33beb95638fb97322ec811a887f45c27316e228a08359d4d9f0fae1f8224d6aa8a4c31fbe92b08076c6dd9dd413f7d2dd2058dd78aff3531363348096e10d591 SHA512 b8945a448c201121a791a08d8a7b17b8db27156e5ba568e2b2349cdb504521a5dde1d1425bfd280b7b344eb58bc8b40321e26932474caddfc4cf035804c1d40a +AUX libvirt-6.8.0-meson-properly-handle-libpcap-if-it-s-explicitly-dis.patch 2059 BLAKE2B f9613928e3c59df0401da9574865e2c44770c62257ea39b354312a4dc8b05d7b4eb7d7501b212ea80089bd64396fa7f79d5e22ec4857d79cad2656c574a6c573 SHA512 c6769fa48ab684666d9c9df58d348c31b78520764cb0135ef0f635c04e986507d400beb961b18dd35ded2eb865307bbd9a34af711e790c36f08721c9bc239000 AUX libvirt-guests.confd 2430 BLAKE2B 9d56477c9377e02503782e6d653579c6d149b292c43f37926f4646374e8aae05ca812b6a3a561811482861f8fe67dfdbe63851963326ddbbf2f4644c85411120 SHA512 78f419a89de7aabaad860903c24f1c070786fc1296d987e61dd537705b0e7f71a46c315888028f3826c3417e42861ca8471788be4ec5695e98427c5f18ae63fc AUX libvirt-guests.init-r4 5591 BLAKE2B e745692a7ea706c8367cdb7ee2114565770bda5be5675ba3a541555659d17875f7996ff7028bf415224d095b49b71205a3d77f420464d5579ccc189def5e434d SHA512 ec2bc46d72afa61513983b777e2d49da618a35a4687bc75674b3a49ababd4e2e387661010d342fee86c7a73d259644985a263a6c2976e29a436d88921bb040b0 AUX libvirtd.confd-r5 740 BLAKE2B 74a069f4902dd1352f06029c886200615a35870ff88496c91956d23a3172db0789086622422f545498e92b7f8de41225022185fe291dd580cbacdeb783163f4b SHA512 98f935589dbc5f2a99329f77fdf84c563fa0dc99404b7476603679478d68ce8dbea2c88645251d3c28f59e7bcae124ae632972146e8a8c3e0e9fcbfb27296f91 @@ -11,11 +13,13 @@ AUX libvirtd.init-r19 1114 BLAKE2B a69f5a07e0b946a3167ac4509611d08a8b848e7337677 AUX libvirtd.tmpfiles.conf 36 BLAKE2B fa0e1dac4117dcb2a2e826c82c4c63e20156db47abf4088167484f1f3149a4998840cf1aba745621851d7e2653df5c7f7268d8d61be3a3731ea053a88f35c13b SHA512 2b1c3c64dd6fa03d8c2ae24e7ce4aa7d754913214542a68a4e99f10fbc251fd23ee26e297a957d7b4b70eec8ef028c41fc915da3a85fbbd16143bb92d1de3aed AUX virtlockd.init-r2 573 BLAKE2B 83bbd228bd59fa29f1d974bc5eec8af0b701328a0a64bbb9e2d9cb918d5d0b3c0d5e791afa18f47ffa2c429082083912fda3f2401c3c5b3d8d85ea8b7cacf440 SHA512 11bf7208e8da8cf7b907049100d095f4d6b5d215a0955fa620e50d6d541d3ecd9d779a7903c64feb25d17545c45491d52441e14a04f2c793f3b03dee7784c482 AUX virtlogd.init-r2 572 BLAKE2B e6a86e34eda78fc032df17e1bd94095e357770f4036e19fff895266b58df7e31774f6004fec56fad9e69bf7d1afa5d898bdebe018013877f8844d05b3a46d509 SHA512 d5d83edee8a4bdf0dac79abc129ff7ec11573aa580e32963d7c7d47133e276a4427d8653683fc8b0a6c1c2aba631e5875c73454d6fef3bcac6dcaca542e69f34 +DIST libvirt-6.10.0.tar.xz 8462796 BLAKE2B f1188cc869768682bdcb7ab763465705413ebc4fe418e37d4f5ef6a861507c4104a1844cd533fce905e24847918eba6e4e4f054f66b112e9fb54ee19a3653dfc SHA512 42e77a3542e9f15c3aeaab1639a80ee6539cb0f09a1e8324aa0059a8f6041acf20263a9556ac65c9a7a14693b0756020231085e4556ff54cf8329110018a2485 DIST libvirt-6.7.0.tar.xz 8362140 BLAKE2B d0afe33fcdaab3cc0f2ea8c552e7550bcece018b049a3b58e5c05ee85b39e2b3ebf42fa1b70ddb1d2a541d1114b6b49734f23a889b3589397a30a672f27a3a56 SHA512 cabfb6aa65a3a1412b0111654ad3a7d0a6dfc63399a892c540ca39ab4e56f87626a067037e4480bb55418a371d2b5e9ac74862c92a3cdea69822ec3d158d769f DIST libvirt-6.8.0.tar.xz 8412092 BLAKE2B c118ca6b263054bb6941c62f3d1415f7ed1a3f29a35294272d04bc726643247ee5691e0310a1bf013faeba856d7aadd00a90fe8dbdca6ff4c7eb480e94d92fa2 SHA512 9b69f3dcceb5e40470a78908654faf51b643f6793e556f3115daa4bfe08743af290882dd51f15eb27c38d589eb210d495de7c44a40b363420ab4f4d3a6393cc9 DIST libvirt-6.9.0.tar.xz 8432360 BLAKE2B 5cf577017158bab3ec5ad55e8e5944f4efd88cb3eb5460355ad0bfc1a30dba5c607b5b3523b8f9095552c494129ccb19bb89a6a0791469d5d47052c2375fa940 SHA512 ca9aed93589e91d383f9a5bddf5ba9fa20b849ba3b302017d625ba4910a0f942d1531006ddeaaa2622d121808105dec6e9bcb0c867f62e2fc546ce043675e175 +EBUILD libvirt-6.10.0-r2.ebuild 8233 BLAKE2B e02e58b17295af39f93714c9ae3339eb3da784afed7a816e4c0e482df579d6ec69406440a19453a2cf195851e3bb51b99f13965cec1b338c7e3b1750f7e6b25b SHA512 e4f5c22c750be1286902e0d6870d12130e55c196ae3726d73be6f18d65022d53c4ce9f834144bbd3fe4ae8f1b13daf6c7a53272a8fc1800863fbd344a0364503 EBUILD libvirt-6.7.0.ebuild 8629 BLAKE2B cf0058a6e48a2e47f300bb677ed876c9ea6b93cd0feb1fbc94d50036fdea0f4d47a9b23465f12bfaf911a3807b7c7ec1c86a0a18da70024a40f771162c4cf616 SHA512 9b4768af296ac97193d7230a0da95afd59eeb500b1b18e881b6d9974b073617167adafd34c70b5f3aa5b68099533835555299dddfab0d7626f8553d43badc65e -EBUILD libvirt-6.8.0-r1.ebuild 8683 BLAKE2B 7772088918cfacbde706741813b4a41d5ae4be43e0a9db43f285688f520018191ebb1fcdcd106184f291db65f19ebcfbaa6734b14f17fc2f4dbead865c47fe71 SHA512 53bec05caed3c16bc02b57043ec1404ef6d0697a3d828e32b8b738200d3f5441683bf93c0aa03cf225bc2d60bd4411404fd3e7b83c600ad25bb278b32e364450 +EBUILD libvirt-6.8.0-r2.ebuild 8769 BLAKE2B 5d425a9f6b776869b2d4a886100ed30730ea504b619d76ac24f823583697ea88b0fa039db1cfd927c82351abe0bea97601eb06cdb5c0ecf40bc42d65521767d9 SHA512 76a636969fb6b11c9def8cfac402762fa35a474f925beecc40b4bec2b841981a235eaf3bfa272ec63e907275dce332aa03bae8f72f033ed7f2adfae987796e09 EBUILD libvirt-6.9.0-r1.ebuild 8685 BLAKE2B 469fa6996995f038297721b54a5f10e51bdd39d54545a419214875d46628acd06f566d1780a52a87f92f52836441b0f96d42ed5830afaf8a2b2bef90abd6dc15 SHA512 2fbc8c8aa73839a515c0c52be1a27731d6269b1b31149542feb0430220ad32e960b09107d094c04fa91b79804a1b262a4a1a55a8d788e69a26da808ea980c762 EBUILD libvirt-9999.ebuild 8479 BLAKE2B 2904b27b77891240cb2c5eddd0b379b1ccb648d788eb30ccaeec1ec3136f541434ab5961ca8a0478a3ae02189b10f97015cd2e0338cbffd509926c621c6d5f36 SHA512 0f15123b538ffad3bc19b69fef888685016a74f31418de809edf1d1bced61d371a36f22c83025478b578d0ce4d7c3580eb55b6ee230b0a186ebe13764e6a84d7 MISC metadata.xml 3568 BLAKE2B ea4e03121fbc3aca8af2d8e12b42fefc9954e8e38fd83b1014353dd83bceeae4e1ba65329b42fb19fc0d6a9aae7c9d16cf88817d4ea7cfe767c7ef5734b291f6 SHA512 4d691fecee1ddd161a67e3b18a6071d1f0f6e1dcc6ae8deb1a63d73ca9c6d86f5a879d8ab9e43397b7988d66a7df9be6f556a52ebfe8d886b1f03e89614cf073 diff --git a/app-emulation/libvirt/files/libvirt-6.10.0-Fix-segfault-when-parsing-mdev-types.patch b/app-emulation/libvirt/files/libvirt-6.10.0-Fix-segfault-when-parsing-mdev-types.patch new file mode 100644 index 000000000000..207cc20ba091 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-6.10.0-Fix-segfault-when-parsing-mdev-types.patch @@ -0,0 +1,61 @@ +From 4c4d0e2da07b5a035b26a0ff13ec27070f7c7b1a Mon Sep 17 00:00:00 2001 +Message-Id: <4c4d0e2da07b5a035b26a0ff13ec27070f7c7b1a.1607416232.git.mprivozn@redhat.com> +From: Jonathon Jongsma +Date: Wed, 2 Dec 2020 11:52:39 -0600 +Subject: [PATCH] conf: Fix segfault when parsing mdev types +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit f1b0890 introduced a potential crash due to incorrect operator +precedence when accessing an element from a pointer to an array. + +Backtrace below: + + #0 virNodeDeviceGetMdevTypesCaps (sysfspath=0x7fff801661e0 "/sys/devices/pci0000:00/0000:00:02.0", mdev_types=0x7fff801c9b40, nmdev_types=0x7fff801c9b48) at ../src/conf/node_device_conf.c:2676 + #1 0x00007ffff7caf53d in virNodeDeviceGetPCIDynamicCaps (sysfsPath=0x7fff801661e0 "/sys/devices/pci0000:00/0000:00:02.0", pci_dev=0x7fff801c9ac8) at ../src/conf/node_device_conf.c:2705 + #2 0x00007ffff7cae38f in virNodeDeviceUpdateCaps (def=0x7fff80168a10) at ../src/conf/node_device_conf.c:2342 + #3 0x00007ffff7cb11c0 in virNodeDeviceObjMatch (obj=0x7fff84002e50, flags=0) at ../src/conf/virnodedeviceobj.c:850 + #4 0x00007ffff7cb153d in virNodeDeviceObjListExportCallback (payload=0x7fff84002e50, name=0x7fff801cbc20 "pci_0000_00_02_0", opaque=0x7fffe2ffc6a0) at ../src/conf/virnodedeviceobj.c:909 + #5 0x00007ffff7b69146 in virHashForEach (table=0x7fff9814b700 = {...}, iter=0x7ffff7cb149e , opaque=0x7fffe2ffc6a0) at ../src/util/virhash.c:394 + #6 0x00007ffff7cb1694 in virNodeDeviceObjListExport (conn=0x7fff98013170, devs=0x7fff98154430, devices=0x7fffe2ffc798, filter=0x7ffff7cf47a1 , flags=0) + at ../src/conf/virnodedeviceobj.c:943 + #7 0x00007fffe00694b2 in nodeConnectListAllNodeDevices (conn=0x7fff98013170, devices=0x7fffe2ffc798, flags=0) at ../src/node_device/node_device_driver.c:228 + #8 0x00007ffff7e703aa in virConnectListAllNodeDevices (conn=0x7fff98013170, devices=0x7fffe2ffc798, flags=0) at ../src/libvirt-nodedev.c:130 + #9 0x000055555557f796 in remoteDispatchConnectListAllNodeDevices (server=0x555555627080, client=0x5555556bf050, msg=0x5555556c0000, rerr=0x7fffe2ffc8a0, args=0x7fffd4008470, ret=0x7fffd40084e0) + at src/remote/remote_daemon_dispatch_stubs.h:1613 + #10 0x000055555557f6f9 in remoteDispatchConnectListAllNodeDevicesHelper (server=0x555555627080, client=0x5555556bf050, msg=0x5555556c0000, rerr=0x7fffe2ffc8a0, args=0x7fffd4008470, ret=0x7fffd40084e0) + at src/remote/remote_daemon_dispatch_stubs.h:1591 + #11 0x00007ffff7ce9542 in virNetServerProgramDispatchCall (prog=0x555555690c10, server=0x555555627080, client=0x5555556bf050, msg=0x5555556c0000) at ../src/rpc/virnetserverprogram.c:428 + #12 0x00007ffff7ce90bd in virNetServerProgramDispatch (prog=0x555555690c10, server=0x555555627080, client=0x5555556bf050, msg=0x5555556c0000) at ../src/rpc/virnetserverprogram.c:302 + #13 0x00007ffff7cf042b in virNetServerProcessMsg (srv=0x555555627080, client=0x5555556bf050, prog=0x555555690c10, msg=0x5555556c0000) at ../src/rpc/virnetserver.c:137 + #14 0x00007ffff7cf04eb in virNetServerHandleJob (jobOpaque=0x5555556b66b0, opaque=0x555555627080) at ../src/rpc/virnetserver.c:154 + #15 0x00007ffff7bd912f in virThreadPoolWorker (opaque=0x55555562bc70) at ../src/util/virthreadpool.c:163 + #16 0x00007ffff7bd8645 in virThreadHelper (data=0x55555562bc90) at ../src/util/virthread.c:233 + #17 0x00007ffff6d90432 in start_thread () at /lib64/libpthread.so.0 + #18 0x00007ffff75c5913 in clone () at /lib64/libc.so.6 + +Signed-off-by: Jonathon Jongsma +Reviewed-by: Ján Tomko +Signed-off-by: Ján Tomko +Signed-off-by: Michal Privoznik +--- + src/conf/node_device_conf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c +index 4e2837c1cd..cac4243b50 100644 +--- a/src/conf/node_device_conf.c ++++ b/src/conf/node_device_conf.c +@@ -2673,7 +2673,7 @@ virNodeDeviceGetMdevTypesCaps(const char *sysfspath, + + /* this could be a refresh, so clear out the old data */ + for (i = 0; i < *nmdev_types; i++) +- virMediatedDeviceTypeFree(*mdev_types[i]); ++ virMediatedDeviceTypeFree((*mdev_types)[i]); + VIR_FREE(*mdev_types); + *nmdev_types = 0; + +-- +2.26.2 + diff --git a/app-emulation/libvirt/files/libvirt-6.8.0-meson-properly-handle-libpcap-if-it-s-explicitly-dis.patch b/app-emulation/libvirt/files/libvirt-6.8.0-meson-properly-handle-libpcap-if-it-s-explicitly-dis.patch new file mode 100644 index 000000000000..46da07afdf00 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-6.8.0-meson-properly-handle-libpcap-if-it-s-explicitly-dis.patch @@ -0,0 +1,56 @@ +From c8be9ccc36a32cc756d05b2c0838c43a57be15f7 Mon Sep 17 00:00:00 2001 +Message-Id: +From: Pavel Hrdina +Date: Thu, 8 Oct 2020 13:09:45 +0200 +Subject: [PATCH] meson: properly handle libpcap if it's explicitly disabled + +If libpcap is detected using pkg-config it would ignore the libpcap +option. + +Signed-off-by: Pavel Hrdina +Reviewed-by: Andrea Bolognani +Signed-off-by: Michal Privoznik +--- + meson.build | 25 +++++++++++++++---------- + 1 file changed, 15 insertions(+), 10 deletions(-) + +diff --git a/meson.build b/meson.build +index e5a8316668..ec252ddf39 100644 +--- a/meson.build ++++ b/meson.build +@@ -1101,17 +1101,22 @@ if libparted_dep.found() + endif + + libpcap_version = '1.5.0' +-libpcap_dep = dependency('libpcap', version: '>=' + libpcap_version, required: false) +-if not libpcap_dep.found() +- pcap_config_prog = find_program('pcap-config', required: get_option('libpcap')) +- if pcap_config_prog.found() +- pcap_args = run_command(pcap_config_prog, '--cflags').stdout().strip().split() +- pcap_libs = run_command(pcap_config_prog, '--libs').stdout().strip().split() +- libpcap_dep = declare_dependency( +- compile_args: pcap_args, +- link_args: pcap_libs, +- ) ++if not get_option('libpcap').disabled() ++ libpcap_dep = dependency('libpcap', version: '>=' + libpcap_version, required: false) ++ ++ if not libpcap_dep.found() ++ pcap_config_prog = find_program('pcap-config', required: get_option('libpcap')) ++ if pcap_config_prog.found() ++ pcap_args = run_command(pcap_config_prog, '--cflags').stdout().strip().split() ++ pcap_libs = run_command(pcap_config_prog, '--libs').stdout().strip().split() ++ libpcap_dep = declare_dependency( ++ compile_args: pcap_args, ++ link_args: pcap_libs, ++ ) ++ endif + endif ++else ++ libpcap_dep = dependency('', required: false) + endif + if libpcap_dep.found() + conf.set('WITH_LIBPCAP', 1) +-- +2.26.2 + diff --git a/app-emulation/libvirt/libvirt-6.10.0-r2.ebuild b/app-emulation/libvirt/libvirt-6.10.0-r2.ebuild new file mode 100644 index 000000000000..0662672e8ae2 --- /dev/null +++ b/app-emulation/libvirt/libvirt-6.10.0-r2.ebuild @@ -0,0 +1,329 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit meson bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git" + SRC_URI="" + SLOT="0" +else + SRC_URI="https://libvirt.org/sources/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + SLOT="0/${PV}" +fi + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="https://www.libvirt.org/" +LICENSE="LGPL-2.1" +IUSE=" + apparmor audit +caps dtrace firewalld fuse glusterfs iscsi + iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz + parted pcap policykit +qemu rbd sasl selinux +udev + virtualbox +virt-network wireshark-plugins xen zfs +" + +REQUIRED_USE=" + firewalld? ( virt-network ) + libvirtd? ( || ( lxc openvz qemu virtualbox xen ) ) + lxc? ( caps libvirtd ) + openvz? ( libvirtd ) + qemu? ( libvirtd ) + virt-network? ( libvirtd ) + virtualbox? ( libvirtd ) + xen? ( libvirtd )" + +BDEPEND=" + acct-user/qemu + policykit? ( acct-group/libvirt ) + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + dev-python/docutils + virtual/pkgconfig" + +# 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/glib-2.48.0 + 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/dbus + sys-apps/dmidecode + sys-devel/gettext + sys-libs/ncurses:0= + sys-libs/readline:= + apparmor? ( sys-libs/libapparmor ) + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap-ng ) + dtrace? ( dev-util/systemtap ) + firewalld? ( >=net-firewall/firewalld-0.6.3 ) + fuse? ( sys-fs/fuse:0= ) + 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] + ) + wireshark-plugins? ( net-analyzer/wireshark:= ) + xen? ( + >=app-emulation/xen-4.6.0 + app-emulation/xen-tools:= + ) + udev? ( + virtual/libudev + >=x11-libs/libpciaccess-0.10.9 + ) + zfs? ( sys-fs/zfs )" + +DEPEND="${BDEPEND} + ${RDEPEND} + ${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch + "${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch + "${FILESDIR}"/${PN}-6.7.0-doc-path.patch + "${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-6.10.0-Fix-segfault-when-parsing-mdev-types.patch +) + +pkg_setup() { + # 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 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" || die + + default + + # Tweak the init script: + cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die + sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ + -i "${S}/libvirtd.init" || die "sed failed" +} + +src_configure() { + local emesonargs=( + $(meson_feature apparmor) + $(meson_use apparmor apparmor_profiles) + $(meson_feature audit) + $(meson_feature caps capng) + $(meson_feature dtrace) + $(meson_feature firewalld) + $(meson_feature fuse) + $(meson_feature glusterfs) + $(meson_feature glusterfs storage_gluster) + $(meson_feature iscsi storage_iscsi) + $(meson_feature iscsi-direct storage_iscsi_direct) + $(meson_feature libvirtd driver_libvirtd) + $(meson_feature libssh) + $(meson_feature lvm storage_lvm) + $(meson_feature lvm storage_mpath) + $(meson_feature lxc driver_lxc) + $(meson_feature nls) + $(meson_feature numa numactl) + $(meson_feature numa numad) + $(meson_feature openvz driver_openvz) + $(meson_feature parted storage_disk) + $(meson_feature pcap libpcap) + $(meson_feature policykit polkit) + $(meson_feature qemu driver_qemu) + $(meson_feature qemu yajl) + $(meson_feature rbd storage_rbd) + $(meson_feature sasl) + $(meson_feature selinux) + $(meson_feature udev) + $(meson_feature virt-network driver_network) + $(meson_feature virtualbox driver_vbox) + $(meson_feature wireshark-plugins wireshark_dissector) + $(meson_feature xen driver_libxl) + $(meson_feature zfs storage_zfs) + + -Dnetcf=disabled + -Dsanlock=disabled + + -Ddriver_esx=enabled + -Dinit_script=systemd + -Dqemu_user=$(usex caps qemu root) + -Dqemu_group=$(usex caps qemu root) + -Ddriver_remote=enabled + -Dstorage_fs=enabled + -Ddriver_vmware=enabled + + --localstatedir="${EPREFIX}/var" + -Drunstatedir="${EPREFIX}/run" + ) + + meson_src_configure +} + +src_test() { + export VIR_TEST_DEBUG=1 + meson_src_test +} + +src_install() { + meson_src_install + + # Remove bogus, empty directories. They are either not used, or + # libvirtd is able to create them on demand + rm -rf "${D}"/etc/sysconfig || die + rm -rf "${D}"/var || die + rm -rf "${D}"/run || die + + newbashcomp "${S}/tools/bash-completion/vsh" virsh + bashcomp_alias virsh virt-admin + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf + + newinitd "${S}/libvirtd.init" libvirtd + newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests + newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd + newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd + + newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd + newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests + + DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3") + 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 || die + fi +} + +pkg_postinst() { + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die + fi + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + readme.gentoo_print_elog +} diff --git a/app-emulation/libvirt/libvirt-6.8.0-r1.ebuild b/app-emulation/libvirt/libvirt-6.8.0-r1.ebuild deleted file mode 100644 index 4de73f27c9f8..000000000000 --- a/app-emulation/libvirt/libvirt-6.8.0-r1.ebuild +++ /dev/null @@ -1,345 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8,9} ) - -inherit meson bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git" - SRC_URI="" - SLOT="0" -else - SRC_URI="https://libvirt.org/sources/${P}.tar.xz" - KEYWORDS="amd64 ~arm64 ~ppc64 x86" - SLOT="0/${PV}" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="https://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 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 )" - -BDEPEND=" - acct-user/qemu - policykit? ( acct-group/libvirt ) - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - dev-python/docutils - virtual/pkgconfig" - -# 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/glib-2.48.0 - 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-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:0= ) - 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] - ) - wireshark-plugins? ( net-analyzer/wireshark:= ) - xen? ( - >=app-emulation/xen-4.6.0 - app-emulation/xen-tools:= - ) - udev? ( - virtual/libudev - >=x11-libs/libpciaccess-0.10.9 - ) - zfs? ( sys-fs/zfs )" - -DEPEND="${BDEPEND} - ${RDEPEND} - ${PYTHON_DEPS}" - -PATCHES=( - "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch - "${FILESDIR}"/${PN}-6.7.0-doc-path.patch - "${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch - "${FILESDIR}"/${PN}-6.8.0-fix-libvirt-lxc-dbus.patch -) - -pkg_setup() { - # 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" || die - - default - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" -} - -src_configure() { - local emesonargs=( - $(meson_feature apparmor) - $(meson_use apparmor apparmor_profiles) - $(meson_feature audit) - $(meson_feature caps capng) - $(meson_feature dbus) - $(meson_feature dtrace) - $(meson_feature firewalld) - $(meson_feature fuse) - $(meson_feature glusterfs) - $(meson_feature glusterfs storage_gluster) - $(meson_feature iscsi storage_iscsi) - $(meson_feature iscsi-direct storage_iscsi_direct) - $(meson_feature libvirtd driver_libvirtd) - $(meson_feature libssh) - $(meson_feature lvm storage_lvm) - $(meson_feature lvm storage_mpath) - $(meson_feature lxc driver_lxc) - $(meson_feature macvtap) - $(meson_feature nls) - $(meson_feature numa numactl) - $(meson_feature numa numad) - $(meson_feature openvz driver_openvz) - $(meson_feature parted storage_disk) - $(meson_feature pcap libpcap) - $(meson_feature policykit polkit) - $(meson_feature qemu driver_qemu) - $(meson_feature qemu yajl) - $(meson_feature rbd storage_rbd) - $(meson_feature sasl) - $(meson_feature selinux) - $(meson_feature udev) - $(meson_feature vepa virtualport) - $(meson_feature virt-network driver_network) - $(meson_feature virtualbox driver_vbox) - $(meson_feature wireshark-plugins wireshark_dissector) - $(meson_feature xen driver_libxl) - $(meson_feature zfs storage_zfs) - - -Dhal=disabled - -Dnetcf=disabled - -Dsanlock=disabled - - -Ddriver_esx=enabled - -Dinit_script=systemd - -Dqemu_user=$(usex caps qemu root) - -Dqemu_group=$(usex caps qemu root) - -Ddriver_remote=enabled - -Dstorage_fs=enabled - -Ddriver_vmware=enabled - - --localstatedir="${EPREFIX}/var" - -Drunstatedir="${EPREFIX}/run" - ) - - meson_src_configure -} - -src_test() { - # 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 - meson_src_test -} - -src_install() { - meson_src_install - - # Remove bogus, empty directories. They are either not used, or - # libvirtd is able to create them on demand - rm -rf "${D}"/etc/sysconfig || die - rm -rf "${D}"/var || die - rm -rf "${D}"/run || die - - newbashcomp "${S}/tools/bash-completion/vsh" virsh - bashcomp_alias virsh virt-admin - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd - newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests - newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd - newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3") - 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 || die - fi -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-6.8.0-r2.ebuild b/app-emulation/libvirt/libvirt-6.8.0-r2.ebuild new file mode 100644 index 000000000000..2e07035bce72 --- /dev/null +++ b/app-emulation/libvirt/libvirt-6.8.0-r2.ebuild @@ -0,0 +1,346 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit meson bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git" + SRC_URI="" + SLOT="0" +else + SRC_URI="https://libvirt.org/sources/${P}.tar.xz" + KEYWORDS="amd64 ~arm64 ~ppc64 x86" + SLOT="0/${PV}" +fi + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="https://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 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 )" + +BDEPEND=" + acct-user/qemu + policykit? ( acct-group/libvirt ) + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + dev-python/docutils + virtual/pkgconfig" + +# 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/glib-2.48.0 + 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-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:0= ) + 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] + ) + wireshark-plugins? ( net-analyzer/wireshark:= ) + xen? ( + >=app-emulation/xen-4.6.0 + app-emulation/xen-tools:= + ) + udev? ( + virtual/libudev + >=x11-libs/libpciaccess-0.10.9 + ) + zfs? ( sys-fs/zfs )" + +DEPEND="${BDEPEND} + ${RDEPEND} + ${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch + "${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch + "${FILESDIR}"/${PN}-6.7.0-doc-path.patch + "${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-6.8.0-fix-libvirt-lxc-dbus.patch + "${FILESDIR}"/${PN}-6.8.0-meson-properly-handle-libpcap-if-it-s-explicitly-dis.patch +) + +pkg_setup() { + # 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" || die + + default + + # Tweak the init script: + cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die + sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ + -i "${S}/libvirtd.init" || die "sed failed" +} + +src_configure() { + local emesonargs=( + $(meson_feature apparmor) + $(meson_use apparmor apparmor_profiles) + $(meson_feature audit) + $(meson_feature caps capng) + $(meson_feature dbus) + $(meson_feature dtrace) + $(meson_feature firewalld) + $(meson_feature fuse) + $(meson_feature glusterfs) + $(meson_feature glusterfs storage_gluster) + $(meson_feature iscsi storage_iscsi) + $(meson_feature iscsi-direct storage_iscsi_direct) + $(meson_feature libvirtd driver_libvirtd) + $(meson_feature libssh) + $(meson_feature lvm storage_lvm) + $(meson_feature lvm storage_mpath) + $(meson_feature lxc driver_lxc) + $(meson_feature macvtap) + $(meson_feature nls) + $(meson_feature numa numactl) + $(meson_feature numa numad) + $(meson_feature openvz driver_openvz) + $(meson_feature parted storage_disk) + $(meson_feature pcap libpcap) + $(meson_feature policykit polkit) + $(meson_feature qemu driver_qemu) + $(meson_feature qemu yajl) + $(meson_feature rbd storage_rbd) + $(meson_feature sasl) + $(meson_feature selinux) + $(meson_feature udev) + $(meson_feature vepa virtualport) + $(meson_feature virt-network driver_network) + $(meson_feature virtualbox driver_vbox) + $(meson_feature wireshark-plugins wireshark_dissector) + $(meson_feature xen driver_libxl) + $(meson_feature zfs storage_zfs) + + -Dhal=disabled + -Dnetcf=disabled + -Dsanlock=disabled + + -Ddriver_esx=enabled + -Dinit_script=systemd + -Dqemu_user=$(usex caps qemu root) + -Dqemu_group=$(usex caps qemu root) + -Ddriver_remote=enabled + -Dstorage_fs=enabled + -Ddriver_vmware=enabled + + --localstatedir="${EPREFIX}/var" + -Drunstatedir="${EPREFIX}/run" + ) + + meson_src_configure +} + +src_test() { + # 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 + meson_src_test +} + +src_install() { + meson_src_install + + # Remove bogus, empty directories. They are either not used, or + # libvirtd is able to create them on demand + rm -rf "${D}"/etc/sysconfig || die + rm -rf "${D}"/var || die + rm -rf "${D}"/run || die + + newbashcomp "${S}/tools/bash-completion/vsh" virsh + bashcomp_alias virsh virt-admin + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf + + newinitd "${S}/libvirtd.init" libvirtd + newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests + newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd + newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd + + newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd + newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests + + DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3") + 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 || die + fi +} + +pkg_postinst() { + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die + fi + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + readme.gentoo_print_elog +} diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index 977ca0c30f64..ad70d2c8ca9b 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -9,5 +9,5 @@ DIST lxd-4.0.3.tar.gz.asc 833 BLAKE2B b889b7c3a85f325a4c47319b45c4828c4fc0cac2ba DIST lxd-4.0.4.tar.gz 14166577 BLAKE2B 5a04efa1bf70d416b328f5f85379a7c697667978a2b7571c05f8d834ccea51c65ce3df447787ccad5c0a9cc524bc396eb5c90b26b92d6252fc07a5be0157e0ea SHA512 800768b923de920e04d676d9c87beedd2ddd164661799c429616f6fa00b36f23ae1d9cff56f2ed16172585b9b3c058ee955eb3e5f8d98c84109c4405c5aae23f DIST lxd-4.0.4.tar.gz.asc 833 BLAKE2B bac0b63fc7fe61290bd399ef09eaf0bae12ac962b1188c49fa94c9132b002c278dcdb271d35a1784848591a315a8e88eab823c1c653ef814d454a0af607e461b SHA512 7fc9b9b27305d7637efeaf4024a8a26e2f891599fe50fa22e2f9defa6d451a015d74d068f63a9547fce312ed5fb5da82b99be9dc13601f807695cf1b675baf15 EBUILD lxd-4.0.3-r2.ebuild 6216 BLAKE2B a27e6e7fd7299cc7b6ec7a388d34dcca5b511f09908332ae75e161fe30ee3597880abc8b1eeb9e45e0b922fc5e3a2895563372864c6ddc6721478d82d76c46e8 SHA512 dcdf83c6cad0b3ad373b855d997fb57a5848ab689eb84ca9dedf82b738c79219499315f32ee6e3fbbf989b03c5008d10d0124dc9dd03161aac59b955cdfd8b6c -EBUILD lxd-4.0.4-r1.ebuild 3512 BLAKE2B 7ffd9d4eaf676675de38ff6f509646b81c7457b164bb632b2c25fb603eb8a83fb5686a936707cfbd854fe0de14a0fb001c183aa55d158934d97519f5a5b66add SHA512 ad15daa6273f48c6c3c2bb7dcf2ef0507e67fad842c756c9c8c6694d074d78710412fc5e1eef4f7f1334781d0379d9c79365788262d19594e4731a2bc8c0c2bc +EBUILD lxd-4.0.4-r1.ebuild 3511 BLAKE2B 8dabc47cc1b4ae2b165d5e1f4027816a31a7c7bf1069f198a90859c0b68b94ff9b3f273345a58156cd6771860a4c4eac96d364ade2efeda71dcd1a7ca459d474 SHA512 8a60709dbc465933c2de7c7097dc06e131b3a69b1535fb1af90dd9fbb2ffb05fa524e458bd80394437ad652138c07be9cde45f602f69d85930f3322433020889 MISC metadata.xml 776 BLAKE2B 5f8e6d2639982bf6564567a9775e55b777d4bd9cb01818770b5089071262ceda815e5d94e853b7c08a470234729c08e313685610b3da457a23bb7edbf5b3ff52 SHA512 050d500629b4331f2f8bd2fa5cbcabadc988d737c891edb66ad8b2ee2fd378690b2fee4c70e0b380c2579cb9a39453768242d7acbead4c5390c7f01131b939c0 diff --git a/app-emulation/lxd/lxd-4.0.4-r1.ebuild b/app-emulation/lxd/lxd-4.0.4-r1.ebuild index e287cc4458a8..81f45b82b6a7 100644 --- a/app-emulation/lxd/lxd-4.0.4-r1.ebuild +++ b/app-emulation/lxd/lxd-4.0.4-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz # Needs to include licenses for all bundled programs and libraries. LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="apparmor ipv6 nls verify-sig" DEPEND="app-arch/xz-utils diff --git a/app-emulation/pcem/Manifest b/app-emulation/pcem/Manifest index 089eda497358..be8d0cc823f2 100644 --- a/app-emulation/pcem/Manifest +++ b/app-emulation/pcem/Manifest @@ -1,4 +1,7 @@ AUX pcem-15-respect-cflags.patch 300 BLAKE2B 4531829e43d43501fe889b34381fc056ffa2734ca499686558cf39ef245f3808e6488c32d6938487d018175ab8a370a28e491cc957406ea6e430a9afff44dae2 SHA512 7800d9056fc1ab4b38f97a6021da7288b990ab9c562846be1ae4ec6636c888fd444c635076f070c50f39681202995a41575823a225c77017d389638feaf1a93c +AUX pcem-17-respect-cflags.patch 273 BLAKE2B 5c6bb6335677a1784b7fe99de3ebfc47351ab1c849d03f656e5428fd309256c46736ce6faf709aa379279c52ebdc7b46ea2e15ab1aa60a43dbdfc91fa09581af SHA512 4b83837f623971ccb91f525cee9bace2b9fd6b3a776a7d6907ec8e8796a021d8d68e665fc0dff7db083c7e068d6e07d3d61049ee2d9209c5b3d59a0fca388064 DIST PCemV16Linux.tar.gz 1859892 BLAKE2B e388031e661b9320cc783e6400bdb7c191a2f946d9c207d9a58daa9270115b32ed55ac6a0b87227b51d10168e7d161bb03811eb83f5405ed1a71f7bfc6fd8aa5 SHA512 97d33ae1c4b59f281abe553ed4297c0d6c3956cf32b44474bfd5773700dd5c4ea6c209c679b9add5d4a7cba61748ee9794afa3c59af3230fa2a15812e13fd1c5 +DIST PCemV17Linux.tar.gz 1880868 BLAKE2B 64068f0f98e8fe3e9bfe42a04f462375a7ee0cb8259b103237f3b0542f54ad13ed625a55c8379e2c54a87348ed504496a6b163419855ceeda8e4f18e1ea5dcd9 SHA512 6d84c8cbe9b6116f6439f542ac08139cfc5652a34b615a1ed841a6f8c227e77f1d26573ec35d57511b9a69e7472fbe51f2abb9307f8f8c1207c74fbe8107cadd EBUILD pcem-16-r1.ebuild 1633 BLAKE2B 735440b0bda54c7433fda65d0147c201ce0afa98f138afaa2f5837ee1fffdbb2613996b15ddeb97f0c529db498336a58225b1647c1d760c41c8a21a0dbe79cce SHA512 6896184bbdb47b3e112abffe1296c147f67b07fe56ecb5bff7a399ee8de4dd42d2642eec936c0ceb08e45d8142fba1879a66fc658bf151f961a3fc42033548a2 +EBUILD pcem-17.ebuild 1664 BLAKE2B d43817f2f4f7cde340a081d4f9d740bad55d776d6926bdebe167aceaee72f2f3852734e51514fa093f7d7011ac0578286411f6c4c35294b8aae013bf6fa0aa50 SHA512 ddd6634df57c85ec406ac1147707b61c2035c59a56bc85ddafe85f16eee8ca36626f45d3bd642fd4a26f3c7eb25034b250f7496621cf2566fa0503d739d4cd41 MISC metadata.xml 857 BLAKE2B c678e4578dca5c14416690cf8a421d4d1d8887237a4600580aad48d1d4ea6b641cc3c1f47c6c00be44344b760aa87c2b9bbded7625e0ccaedd0c8c2cb14dd057 SHA512 e610d16662365ae271fab8a2364e5781ba4be7a841d36759bc4e319b7f87a589c02131aeea83f194eabf940c0c4439459127468c0a65a72e3e2e91c74c0d409d diff --git a/app-emulation/pcem/files/pcem-17-respect-cflags.patch b/app-emulation/pcem/files/pcem-17-respect-cflags.patch new file mode 100644 index 000000000000..73cac4541bf1 --- /dev/null +++ b/app-emulation/pcem/files/pcem-17-respect-cflags.patch @@ -0,0 +1,13 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -31,8 +31,8 @@ + CXXFLAGS="-Wall -O0 -g -D_DEBUG -fcommon" + AC_MSG_RESULT([yes]) + else +- CFLAGS="-O3 -fcommon" +- CXXFLAGS="-O3 -fcommon" ++ CFLAGS?="-O3 -fcommon" ++ CXXFLAGS?="-O3 -fcommon" + AC_MSG_RESULT([no]) + fi + diff --git a/app-emulation/pcem/pcem-17.ebuild b/app-emulation/pcem/pcem-17.ebuild new file mode 100644 index 000000000000..825619a6ac61 --- /dev/null +++ b/app-emulation/pcem/pcem-17.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools desktop flag-o-matic wxwidgets + +WX_GTK_VER="3.0-gtk3" + +DESCRIPTION="A PC emulator that specializes in running old operating systems and software" +HOMEPAGE=" + https://pcem-emulator.co.uk/ + https://github.com/sarah-walker-pcem/pcem/ +" +SRC_URI="https://pcem-emulator.co.uk/files/PCemV${PV}Linux.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="alsa networking" + +S="${WORKDIR}" + +RDEPEND=" + alsa? ( media-libs/alsa-lib ) + media-libs/libsdl2 + media-libs/openal + x11-libs/wxGTK:${WX_GTK_VER}[tiff,X] +" + +DEPEND="${DEPEND}" + +BDEPEND="virtual/pkgconfig" + +DOCS=( "README.md" "TESTED.md" ) + +PATCHES=( "${FILESDIR}/${PN}-17-respect-cflags.patch" ) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + # Does not compile with -fno-common. + # See https://pcem-emulator.co.uk/phpBB3/viewtopic.php?f=3&t=3443 + append-cflags -fcommon + + local myeconfargs=( + --enable-release-build + $(use_enable alsa) + $(use_enable networking) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + insinto /usr/share/pcem + doins -r configs nvr roms + + newicon src/icons/32x32/motherboard.png pcem.png + make_desktop_entry "pcem" "PCem" pcem "Development;Utility" + + einstalldocs +} + +pkg_postinst() { + elog "In order to use PCem, you will need some roms for various emulated systems." + elog "You can either install globally for all users or locally for yourself." + elog "" + elog "To install globally, put your ROM files into '${ROOT}/usr/share/pcem/roms/'." + elog "To install locally, put your ROM files into '~/.pcem/roms/'." +} diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index b587c3bf4787..495741daa4ad 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -6,10 +6,15 @@ AUX qemu-4.2.0-cflags.patch 508 BLAKE2B 86724caca22a4bd2b21db306d04d8c0f6a542a15 AUX qemu-5.1.0-pixman-for-vhost-user-gpu.patch 1788 BLAKE2B 9eddc15909cac5eb3357eb4e16921b8b51ba1107eaf272ce48e6f89705fa246ad3a8cd02abc534329671de3849f83a8515d22c39437961b5de25459f697d4600 SHA512 8df97af001e9d5c671da7ba1d651fae7ddca2f16337741ffa551227ae86bc627b6cbf37332beb0a6c9ee2444b7f40474804c4a7b79140d3e2b1dfe310a0b2502 AUX qemu-5.1.0-usb-host-workaround-libusb-bug.patch 2625 BLAKE2B 273ba203e765866d91c592388eee695163c947b4b2f077354985e0ce18206ce018e3c223cc0eee5d02b8867e5615817979854039d472da958da2dd9df3e6bbe7 SHA512 b2143cf0c62db0462ceb0d2e5e9210706f27ac9216e2ee7e0a96ec66818e5a425e68463b3a0d167128b10e5bb4f04b16576c4ae050520690bda268de295b74f0 AUX qemu-5.1.0-usb-oob-CVE-2020-14364.patch 3210 BLAKE2B f812f4bb18e540ebafeb9bf7e95423b48696b639c26525244e7d783eb5ef46453b263831b325b78b90bbb86a585e4f90a3b8ee9c379d52051a2c051891566363 SHA512 08f6fedba9e30eb00a31a0b73a6a7fe11dd215692064330bed5f5701479e1ef63a374460d04b843175b216aee0ca9fc25d8f52987f0680f244583dd8ad75b538 +AUX qemu-5.2.0-cleaner-werror.patch 884 BLAKE2B 95404f78f5559f5725c1978e7ef619675817bbe308cd636d6cd9fc43c5ed7440d826c4cb89165fbb275dae3840026b6391e8040b0d21d65120c34b7e41f844e7 SHA512 bdaf7c433c0f10a3666b4f06b680122e4a9bcf41382e50b3f3cb7b236134860ce91864d305282707068763f1521d61d47277579acdf778d6bd4312884eb04d43 +AUX qemu-5.2.0-disable-keymap.patch 884 BLAKE2B dbbe245a52615f8894cbac1c94ce3fee2051b1c54def32ec6ad43dedfe8190d02937c28ce93d93eeb13fe82f2ac2df52bec375501e83af53624d8292f8208fe3 SHA512 f84c6f37ce742201b63b308bef5fdaf1dc50e77e0dcf164e85284e338ed7bd861fc0e147fb88668b056ab0f15b4e6cbefbfb2cd2bafeb002c281ae88d08f9703 +AUX qemu-5.2.0-strings.patch 799 BLAKE2B 8f249a647714a4a677d1aca5d8d5c19b27a0e1933877a286017928e01ec23d82e41dc1d196a50ba38bcf4ec8b71fd89c89e41b7c9673faf13935188eebaf4a56 SHA512 481917c8ec9c5089c210f80e719f5a65af1193323ccda4d68bec6afaab0d0e6407cee1d05cd1f3b1bfbd7b7a5f9d2cdb42dd12123813f2c3c51116e999c09288 AUX qemu-binfmt.initd.head 1442 BLAKE2B 23aa5338914aa7c47f9b1cc1d28291abd0ea037a33cca81f990decfafac2907c86c042350c9dd45591d16330846d4e11d2c8a2a409a68ad81656d9c2c51964c0 SHA512 3fec8946a37bfbd2089f5d95089ed5987a198fc0139ee7482d4bb38c2ffa0e165667a7853afcf2b458bc3e2a6540f172c929ca5a334a00db47e2d0f881382c0e AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 DIST qemu-5.1.0.tar.xz 62911540 BLAKE2B 6a3ecbda2d9274f2736ffbc88d2006be31f153e7687e1425c1a297975f0e828cd2eafc11d11b589991acda87a489dd256ccf5a8947f91bb9431e515e979d8f29 SHA512 e213edb71d93d5167ddce7546220ecb7b52a7778586a4f476f65bd1e510c9cfc6d1876238a7b501d9cc3fd31cc2ae4b7fb9e753bc3f12cc17cd16dfce2a96ba3 -EBUILD qemu-5.1.0-r2.ebuild 25351 BLAKE2B c3624676180d440ec6393a90448df6b19c7b8cd5c31ecd306aec08855db631eaf32a23b2ca0e8d754ba910579dd7ed127b5d34cc98032a7bd1bdb2603b46702f SHA512 cede20b3a6e7b2777a1bc11eccb66bc407b2ec5476826c952e98f431939b3ba90d2a409409e422dfb1cc036584ac2a6d8ee820a11ffc02d72366f1a003b965af -EBUILD qemu-5.1.0-r3.ebuild 25427 BLAKE2B 467d899116d0ae97a06a07087b6b46b79062ad6e355748dbe3370ea9b1f0aed83ebab72dc0bec07daa3698256253c5dfe2faea6613ced5e8bdd0a464fb028627 SHA512 fd4296097c84d76747a9dd86717bdf6264cfded314c05fff57f253abad430d4d627e3ad4acaf9a717669177adfdbf63e96d065af9625f572ac33337d7bc3c570 -EBUILD qemu-9999.ebuild 25343 BLAKE2B 0d52b5cbed012cf93359a2395eb4f250909d4e0475f0422ca5e8554eadab5212b5b4518a081ec8afcdafada119a08ff4d73334bd42ea3f96abcee730ab89d676 SHA512 759677892efee099ee8f64a0af464bfa4959e6aa185a70af509ad9c4b3f0908d3c8f159d303bc95e165b4aefbce2dc25d74f3983c4b200cbbf56e432e02b132d +DIST qemu-5.2.0.tar.xz 106902800 BLAKE2B 4413d5591cbabf80faba5b0b7347ee7749ff0a71af44bdf7f64b1995e17ecf1f3df539fa8e63959e0d50cd0502a41a2921e60cc6d078ed8ab5b09ab4b86d4ed7 SHA512 bddd633ce111471ebc651e03080251515178808556b49a308a724909e55dac0be0cc0c79c536ac12d239678ae94c60100dc124be9b9d9538340c03a2f27177f3 +EBUILD qemu-5.1.0-r2.ebuild 25362 BLAKE2B fb87a664b35972a7da2ad8bf73c0f67051cbd0bec154cf3f74d9e6f4339f833aded63323799982a5ae34e05daee981a3511112320572635beeb953838677e732 SHA512 f25ce8c1fe9ad7d6e098bfff7e94ce49b0cc2c00d25997bb33f22763c1ba5fb6ae4be9149187be9493c82d9329b620298a271bfc3bb5e154493fa4c006ee5545 +EBUILD qemu-5.1.0-r3.ebuild 25438 BLAKE2B a023caadb2b30e53d68e661ecfa780a88eb2d35bd34d76f88705618e723051fe03c7d86a3be98ed66d7c5f4149c10828bbd738aeeeb1af0faad87e24a78f90c0 SHA512 566da034ace7591f735a3943c81c7e47c28c42ab73f3eaa432418e1bcb6f7eff43b5d9378f7fa3a1815716bb3011bbd98938024c04526829c8374ae9e1c18ab4 +EBUILD qemu-5.2.0-r1.ebuild 25150 BLAKE2B a99105b89fc0b6dd01681c7c64927d138ca49224b8bcc0939d56b710d527b96375b094cd6ff73ff71d567ae65704ac537b36ee8688ab40da21b0593c0bd61c0e SHA512 153f82f7988c248d4c3f74af35ee20ce8948f0862db711c002e0890ba2fb949cfeef0165456bb50347dd85b9f5f341ec963aba22d2ed880afc11ed4f2b4b091e +EBUILD qemu-9999.ebuild 25054 BLAKE2B ebf3e591a99bdbf91b8c600a09946542eddf14edf179c224ca0f9db842ffeae1033b8fef9ece14b8d03216b729bd71583e72e6071276e903f9364d55fd610050 SHA512 00ce262e208a39c34888767be788979cadbcd6d46056440e3c6f146d03bd987c793410757ae862597974b38ab0a28515a2b819b6ebb72e7a170284a28590c5ec MISC metadata.xml 4458 BLAKE2B 521a9c7b7c3371ca4352decbaf2324ef22822a176bf22b4f26761dfc40535cb4a6d6438f39ae6803804fdac8891bd2ded0f972279eec9076b80803826946f954 SHA512 9ba9e2805b6fa423fad3da849f57fdc328e8d6276a0a3d15a8970fc117d8174a76a20be96cf9eaa2a92149de922aa0c9b807cd4f2412f335375088dc32a79b61 diff --git a/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch b/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch new file mode 100644 index 000000000000..33115f1df480 --- /dev/null +++ b/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch @@ -0,0 +1,40 @@ +-Wall -Wextra compains about unused arguments, +causes safe-stack to be mis-detected. +--- a/configure ++++ b/configure +@@ -2293,7 +2293,7 @@ fi + cat > $TMPC << EOF + #include + #include +-int main(int argc, char *argv[]) { ++int main(void) { + return printf("%zu", SIZE_MAX); + } + EOF +@@ -4911,7 +4911,7 @@ fi + + if test "$safe_stack" = "yes"; then + cat > $TMPC << EOF +-int main(int argc, char *argv[]) ++int main(void) + { + #if ! __has_feature(safe_stack) + #error SafeStack Disabled +@@ -4933,7 +4933,7 @@ EOF + fi + else + cat > $TMPC << EOF +-int main(int argc, char *argv[]) ++int main(void) + { + #if defined(__has_feature) + #if __has_feature(safe_stack) +@@ -5283,7 +5283,7 @@ static const int Z = 1; + #define TAUT(X) ((X) == Z) + #define PAREN(X, Y) (X == Y) + #define ID(X) (X) +-int main(int argc, char *argv[]) ++int main(void) + { + int x = 0, y = 0; + x = ID(x); diff --git a/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch b/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch new file mode 100644 index 000000000000..4b5676be4d29 --- /dev/null +++ b/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch @@ -0,0 +1,25 @@ +Do not use system's 'qemu-keymap' in native case. +--- a/meson.build ++++ b/meson.build +@@ -337,6 +337,8 @@ if 'CONFIG_LIBCAP_NG' in config_host + endif + if get_option('xkbcommon').auto() and not have_system and not have_tools + xkbcommon = not_found ++elif get_option('xkbcommon').disabled() ++ xkbcommon = not_found + else + xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'), + method: 'pkg-config', static: enable_static) +--- a/pc-bios/keymaps/meson.build ++++ b/pc-bios/keymaps/meson.build +@@ -33,7 +33,9 @@ keymaps = { + 'tr': '-l tr', + } + +-if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host ++if meson.is_cross_build() + native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true) ++elif get_option('xkbcommon').disabled() ++ native_qemu_keymap = not_found + else + native_qemu_keymap = qemu_keymap diff --git a/app-emulation/qemu/files/qemu-5.2.0-strings.patch b/app-emulation/qemu/files/qemu-5.2.0-strings.patch new file mode 100644 index 000000000000..0b3dcdce78c9 --- /dev/null +++ b/app-emulation/qemu/files/qemu-5.2.0-strings.patch @@ -0,0 +1,23 @@ +https://bugs.gentoo.org/759310 +--- a/configure ++++ b/configure +@@ -521,6 +521,7 @@ ld="${LD-${cross_prefix}ld}" + ranlib="${RANLIB-${cross_prefix}ranlib}" + nm="${NM-${cross_prefix}nm}" + strip="${STRIP-${cross_prefix}strip}" ++strings="${STRINGS-${cross_prefix}strings}" + windres="${WINDRES-${cross_prefix}windres}" + pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}" + query_pkg_config() { +@@ -2265,9 +2266,9 @@ int main(int argc, char *argv[]) { + EOF + + if compile_object ; then +- if strings -a $TMPO | grep -q BiGeNdIaN ; then ++ if $strings -a $TMPO | grep -q BiGeNdIaN ; then + bigendian="yes" +- elif strings -a $TMPO | grep -q LiTtLeEnDiAn ; then ++ elif $strings -a $TMPO | grep -q LiTtLeEnDiAn ; then + bigendian="no" + else + echo big/little test failed diff --git a/app-emulation/qemu/qemu-5.1.0-r2.ebuild b/app-emulation/qemu/qemu-5.1.0-r2.ebuild index 65945dedff58..03c6f9d091e0 100644 --- a/app-emulation/qemu/qemu-5.1.0-r2.ebuild +++ b/app-emulation/qemu/qemu-5.1.0-r2.ebuild @@ -170,13 +170,13 @@ SOFTMMU_TOOLS_DEPEND=" X86_FIRMWARE_DEPEND=" pin-upstream-blobs? ( ~sys-firmware/edk2-ovmf-201905[binary] - ~sys-firmware/ipxe-1.0.0_p20190728[binary] + ~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu] ~sys-firmware/seabios-1.12.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf - sys-firmware/ipxe + sys-firmware/ipxe[qemu] >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios )" diff --git a/app-emulation/qemu/qemu-5.1.0-r3.ebuild b/app-emulation/qemu/qemu-5.1.0-r3.ebuild index c273d6d0b851..a0db186f9839 100644 --- a/app-emulation/qemu/qemu-5.1.0-r3.ebuild +++ b/app-emulation/qemu/qemu-5.1.0-r3.ebuild @@ -170,13 +170,13 @@ SOFTMMU_TOOLS_DEPEND=" X86_FIRMWARE_DEPEND=" pin-upstream-blobs? ( ~sys-firmware/edk2-ovmf-201905[binary] - ~sys-firmware/ipxe-1.0.0_p20190728[binary] + ~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu] ~sys-firmware/seabios-1.12.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf - sys-firmware/ipxe + sys-firmware/ipxe[qemu] >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios )" diff --git a/app-emulation/qemu/qemu-5.2.0-r1.ebuild b/app-emulation/qemu/qemu-5.2.0-r1.ebuild new file mode 100644 index 000000000000..1e1391ca41b8 --- /dev/null +++ b/app-emulation/qemu/qemu-5.2.0-r1.ebuild @@ -0,0 +1,856 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{6,7,8,9} ) +PYTHON_REQ_USE="ncurses,readline" + +FIRMWARE_ABI_VERSION="4.0.0-r50" + +inherit eutils linux-info toolchain-funcs multilib python-r1 \ + udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" + EGIT_SUBMODULES=( + meson + tests/fp/berkeley-softfloat-3 + tests/fp/berkeley-testfloat-3 + ui/keycodemapdb + ) + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://download.qemu.org/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" +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 doc + +fdt glusterfs gnutls gtk infiniband iscsi io-uring + jack jemalloc +jpeg kernel_linux + kernel_FreeBSD lzo multipath + ncurses nfs nls numa opengl +oss +pin-upstream-blobs + plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + +slirp + smartcard snappy spice ssh static static-user systemtap test udev usb + usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen + xfs zstd" + +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} + avr lm32 moxie rx 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}" + +RESTRICT="!test? ( test )" +# 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 !jack !opengl !pulseaudio !plugins !rbd !snappy ) + static-user? ( !plugins ) + vhost-user-fs? ( caps seccomp ) + virtfs? ( caps xattr ) + vte? ( gtk ) + plugins? ( !static !static-user ) +" + +# 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/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.5.0[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 ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) + 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 ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + media-libs/libsdl2[video] + media-libs/libsdl2[static-libs(+)] + ) + sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + slirp? ( net-libs/libslirp[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/libssh-0.8.6[static-libs(+)] ) + udev? ( virtual/libudev[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(+)] ) + zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) +" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-201905[binary] + ~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu] + ~sys-firmware/seabios-1.12.0[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre8[binary] + ) + !pin-upstream-blobs? ( + sys-firmware/edk2-ovmf + sys-firmware/ipxe[qemu] + >=sys-firmware/seabios-1.10.2[seavgabios] + sys-firmware/sgabios + )" +PPC64_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-1.12.0[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-1.10.2[seavgabios] + ) +" + +BDEPEND=" + $(python_gen_impl_dep) + dev-lang/perl + sys-apps/texinfo + virtual/pkgconfig + doc? ( dev-python/sphinx ) + 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} + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} )" +RDEPEND="${CDEPEND} + acct-group/kvm + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch + "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch + "${FILESDIR}"/${PN}-5.2.0-strings.patch +) + +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/opensbi-riscv64-generic-fw_dynamic.elf + usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf + 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 requires 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 +} + +# 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/targets/ >/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 +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + default + + # Use correct toolchain to fix cross-compiling + tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS + export WINDRES=${CHOST}-windres + + # Verbose builds + MAKEOPTS+=" V=1" + + # 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 + --bindir=/usr/bin + --libdir=/usr/$(get_libdir) + --datadir=/usr/share + --docdir=/usr/share/doc/${PF}/html + --mandir=/usr/share/man + --localstatedir=/var + --disable-bsd-user + --disable-containers # bug #732972 + --disable-guest-agent + --disable-strip + + # bug #746752: TCG interpreter has a few limitations: + # - it does not support FPU + # - it's generally slower on non-self-modifying code + # It's advantage is support for host architectures + # where native codegeneration is not implemented. + # Gentoo has qemu keyworded only on targets with + # native code generation available. Avoid the interpreter. + --disable-tcg-interpreter + + --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) + $(use_enable doc docs) + $(use_enable nls gettext) + $(use_enable plugins) + $(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 + } + # Enable option only for softmmu build, but not 'user' or 'tools' + conf_softmmu() { + if [[ ${buildtype} == "softmmu" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + # Enable option only for tools build, but not 'user' or 'softmmu' + conf_tools() { + if [[ ${buildtype} == "tools" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + conf_opts+=( + $(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 io-uring linux-io-uring) + $(conf_notuser jemalloc jemalloc) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser multipath mpath) + $(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_softmmu sdl-image) + $(conf_notuser seccomp) + $(conf_notuser slirp slirp system) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh) + $(conf_notuser udev libudev) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser vhost-user-fs) + $(conf_tools vhost-user-fs virtiofsd) + $(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) + # use prebuilt keymaps, bug #759604 + --disable-xkbcommon + $(conf_notuser zstd) + ) + + if [[ ${buildtype} == "user" ]] ; then + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts=( + # Note: backend order matters here: #716202 + # We iterate from higher-level to lower level. + $(usex pulseaudio pa "") + $(usev jack) + $(usev sdl) + $(usev alsa) + $(usev oss) + ) + conf_opts+=( + --audio-drv-list=$(printf "%s," "${audio_opts[@]}") + ) + 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 + + # Plumb through equivalent of EXTRA_ECONF to allow experiments + # like bug #747928. + conf_opts+=( ${EXTRA_CONF_QEMU} ) + + 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 check + fi +} + +qemu_python_install() { + python_domodule "${S}/python/qemu" + + 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 + [[ -e check-report.html ]] && dodoc check-report.html + + 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 MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + # Disallow stripping of prebuilt firmware files. + dostrip -x ${QA_PREBUILT} + + 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 + + xdg_icon_cache_update + + [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ + fcaps cap_net_admin ${EROOT}/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)" +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index 700a2c1abe08..d9b98ce0aa0e 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -6,8 +6,6 @@ EAPI="7" PYTHON_COMPAT=( python3_{6,7,8,9} ) PYTHON_REQ_USE="ncurses,readline" -PLOCALES="bg de_DE fr_FR hu it sv tr zh_CN" - FIRMWARE_ABI_VERSION="4.0.0-r50" inherit eutils linux-info toolchain-funcs multilib python-r1 \ @@ -41,9 +39,9 @@ IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc ncurses nfs nls numa opengl +oss +pin-upstream-blobs plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux +slirp - smartcard snappy spice ssh static static-user systemtap test usb + smartcard snappy spice ssh static static-user systemtap test udev usb usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen - xfs +xkb zstd" + xfs zstd" COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x @@ -71,6 +69,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} qemu_softmmu_targets_riscv64? ( fdt ) static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy ) static-user? ( !plugins ) + vhost-user-fs? ( caps seccomp ) virtfs? ( caps xattr ) vte? ( gtk ) plugins? ( !static !static-user ) @@ -95,7 +94,6 @@ ALL_DEPEND=" # softmmu targets (qemu-system-*). SOFTMMU_TOOLS_DEPEND=" dev-libs/libxml2[static-libs(+)] - xkb? ( x11-libs/libxkbcommon[static-libs(+)] ) >=x11-libs/pixman-0.28.0[static-libs(+)] accessibility? ( app-accessibility/brltty[api] @@ -159,6 +157,7 @@ SOFTMMU_TOOLS_DEPEND=" >=app-emulation/spice-0.12.0[static-libs(+)] ) ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + udev? ( virtual/libudev[static-libs(+)] ) usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) vde? ( net-misc/vde[static-libs(+)] ) @@ -172,13 +171,13 @@ SOFTMMU_TOOLS_DEPEND=" X86_FIRMWARE_DEPEND=" pin-upstream-blobs? ( ~sys-firmware/edk2-ovmf-201905[binary] - ~sys-firmware/ipxe-1.0.0_p20190728[binary] + ~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu] ~sys-firmware/seabios-1.12.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf - sys-firmware/ipxe + sys-firmware/ipxe[qemu] >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios )" @@ -225,6 +224,7 @@ RDEPEND="${CDEPEND} PATCHES=( "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${PN}-5.2.0-strings.patch ) QA_PREBUILT=" @@ -232,10 +232,13 @@ QA_PREBUILT=" usr/share/qemu/openbios-ppc usr/share/qemu/openbios-sparc64 usr/share/qemu/openbios-sparc32 + usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf + usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf usr/share/qemu/palcode-clipper usr/share/qemu/s390-ccw.img usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500" + usr/share/qemu/u-boot.e500 +" QA_WX_LOAD="usr/bin/qemu-i386 usr/bin/qemu-x86_64 @@ -258,7 +261,8 @@ QA_WX_LOAD="usr/bin/qemu-i386 usr/bin/qemu-armeb usr/bin/qemu-sparc32plus usr/bin/qemu-s390x - usr/bin/qemu-unicore32" + 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 @@ -348,29 +352,6 @@ check_targets() { 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 @@ -378,15 +359,12 @@ src_prepare() { default # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB + tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS export WINDRES=${CHOST}-windres # Verbose builds MAKEOPTS+=" V=1" - # Run after we've applied all patches. - handle_locales - # Remove bundled copy of libfdt rm -r dtc || die } @@ -439,6 +417,7 @@ qemu_src_configure() { $(use_enable debug debug-info) $(use_enable debug debug-tcg) $(use_enable doc docs) + $(use_enable nls gettext) $(use_enable plugins) $(use_enable xattr attr) ) @@ -460,6 +439,14 @@ qemu_src_configure() { echo "--disable-${2:-$1}" fi } + # Enable option only for tools build, but not 'user' or 'softmmu' + conf_tools() { + if [[ ${buildtype} == "tools" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } conf_opts+=( $(conf_notuser accessibility brlapi) $(conf_notuser aio linux-aio) @@ -495,11 +482,13 @@ qemu_src_configure() { $(conf_notuser snappy) $(conf_notuser spice) $(conf_notuser ssh libssh) + $(conf_notuser udev libudev) $(conf_notuser usb libusb) $(conf_notuser usbredir usb-redir) $(conf_notuser vde) $(conf_notuser vhost-net) $(conf_notuser vhost-user-fs) + $(conf_tools vhost-user-fs virtiofsd) $(conf_notuser virgl virglrenderer) $(conf_notuser virtfs) $(conf_notuser vnc) @@ -507,7 +496,8 @@ qemu_src_configure() { $(conf_notuser xen) $(conf_notuser xen xen-pci-passthrough) $(conf_notuser xfs xfsctl) - $(conf_notuser xkb xkbcommon) + # use prebuilt keymaps, bug #759604 + --disable-xkbcommon $(conf_notuser zstd) ) @@ -748,7 +738,7 @@ src_install() { doins "${FILESDIR}/bridge.conf" cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt + dodoc MAINTAINERS docs/specs/pci-ids.txt newdoc pc-bios/README README.pc-bios # Disallow stripping of prebuilt firmware files. diff --git a/app-emulation/rex-client/Manifest b/app-emulation/rex-client/Manifest deleted file mode 100644 index 471e03f736f2..000000000000 --- a/app-emulation/rex-client/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -EBUILD rex-client-9999.ebuild 799 BLAKE2B fcaef591d7814eb8c1bd749c0c4360642b641a264a05e921d0c882b27142056af6400190e968e577918fe68a3ef83ffe973efba81a2c01c740eef5dc3217b8f2 SHA512 5fc207897713719ff42f9f0c77ad761566b3eefaaab9898f1f7e7c45480b1777f3219e48ada96363533fcee8805be25073d9f8720e0a056b92bf87bead9dbe57 -MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 diff --git a/app-emulation/rex-client/metadata.xml b/app-emulation/rex-client/metadata.xml deleted file mode 100644 index 6f49eba8f496..000000000000 --- a/app-emulation/rex-client/metadata.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app-emulation/rex-client/rex-client-9999.ebuild b/app-emulation/rex-client/rex-client-9999.ebuild deleted file mode 100644 index 4b6505b6105d..000000000000 --- a/app-emulation/rex-client/rex-client-9999.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -DESCRIPTION="Remote EXexcution agent" -HOMEPAGE="http://mduft.github.io/rex/" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/mduft/rex.git" -else - SRC_URI="" - KEYWORDS="~x86-linux" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="" - -REX_EXE=( - "client/rex-exec.sh" - "client/rex-register.sh" - "client/rex-paths.sh" - "client/rex-remote-pconv.sh" - "client/winpath2unix" - "client/unixpath2win" - ) - -src_prepare() { - for x in ${REX_EXE[@]}; do - sed \ - -e "s,\. \${HOME}/rex-config.sh,\. ${EPREFIX}/etc/rex.conf,g" \ - -i "${x}" || die - done -} - -src_install() { - for x in ${REX_EXE[@]}; do - dobin "${S}"/${x} - done - - insinto /etc - newins client/rex-config.sh rex.conf -} diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest index b1d623d84ffd..70cc8bb9196e 100644 --- a/app-emulation/virt-manager/Manifest +++ b/app-emulation/virt-manager/Manifest @@ -1,6 +1,8 @@ DIST virt-manager-2.2.1.tar.gz 2623754 BLAKE2B c81e730f2d685152bd0ef0a0327a74a70c50bff91e80ed0e3de92d0b848183c4bc092be333f2f0785c6a0b39f0b6d6abbd1f38c902f52ba4af7c56d64ee9b026 SHA512 aa97af52b3552c087beab8701762c21e8e6d818c9787d5376ed4e1ae40a34d5e8870c4c00fda9cb17a2340d1dff5b17e853182df720cdd9ea4c91cf01502a33a DIST virt-manager-3.1.0.tar.gz 2848420 BLAKE2B 729a16ee419cfc9f118e4a59336e961f17f38908ab3aaa3598c83bff3e8bca75b150f0f38b021c5ccb839a7c43e87f071859f68c2a81425715e236e14d0a7929 SHA512 185e34d8ebb2f9755bf9732bdafdbe9d0924d8c3b69758947252cce5deeac2042f473ba63673eea2bf36beb1f216a856938650f86e2c86eb5618e8f8522df53d +DIST virt-manager-3.2.0.tar.gz 2858909 BLAKE2B 83bd8589fb7d9c855300e06689fdeeeee575e354f9349b5bc63ff1da1a8b578a842f6f60d95a8b8fa53ed007c090d37f706f50fb8dcbcee83c08e27853a150cc SHA512 90cd98fe6b269007cd30f628490c65df440abe39b4925c65dc80667e7d80d059752695353ccf6ac3e2436206da311bc402eda50df31874d82ef8fe115966e1ec EBUILD virt-manager-2.2.1-r3.ebuild 2397 BLAKE2B 7fc787ffdb0ffe89164586233bb919856481a032069d51fc5265e22b9b9baca093abb20c161d79f88ec98d927b48b7823079e24afb3569331c90314d2db45bc5 SHA512 f6c77b03078942b912170c0bf3c68dc5110e22c0d67875d9e210eaa57fb440ed1352614aca0e7e14b2af9aa623deab5af7e20a9ffa48408a41665334f5956219 EBUILD virt-manager-3.1.0.ebuild 2456 BLAKE2B 110ee94b161bfadd8367f1574098b97d3d755ee11d6b20f866166d4f0a83dff4c2d3556f7d247f36d25684c1ddccfae699f351bf5607f4fcd90567a47e23aa77 SHA512 3d43df5c16a024799a0ce6eb0e82aa4ba3ab9685336f2e648d04a46c35fe4d1bc231fba0cc39850d19b4969df12cd89b3fb92f23a291d7346c2fd00750a6fb81 +EBUILD virt-manager-3.2.0.ebuild 2456 BLAKE2B 110ee94b161bfadd8367f1574098b97d3d755ee11d6b20f866166d4f0a83dff4c2d3556f7d247f36d25684c1ddccfae699f351bf5607f4fcd90567a47e23aa77 SHA512 3d43df5c16a024799a0ce6eb0e82aa4ba3ab9685336f2e648d04a46c35fe4d1bc231fba0cc39850d19b4969df12cd89b3fb92f23a291d7346c2fd00750a6fb81 EBUILD virt-manager-9999.ebuild 2434 BLAKE2B 4f5e12f6726c14147184892fc51bbdd9e7c75fb3b09019b9281b62c3979366c1f7a01b018ce0b6d5e0b1f15de1fc8f4fb40c7e90ab4acbfaf34d72c43210c5a4 SHA512 a85c25a122a6bc53c91b976eb10782bacb1bdbc25c1b97d7d36a43680925408bca8d5e55041605aee124a478e169f161da0d8426c8b551eeeaedf3272eefdbb5 MISC metadata.xml 662 BLAKE2B 4ddc8ee05f0679380316f8c175194b325d931967c9faee576f042fa42e0c7d6f8aa6b688464c1a839b8b20e184646d6e356095ffad136141c6c1fc7aa5d4f4f6 SHA512 7aaac81b00bb77562616d6ba9442c2e37d7cdd1142af090e3fe07be36315b5179bdb9cf78073c3f901e9a924c089ba00474e3c7121d785b6622b60be1fce682a diff --git a/app-emulation/virt-manager/virt-manager-3.2.0.ebuild b/app-emulation/virt-manager/virt-manager-3.2.0.ebuild new file mode 100644 index 000000000000..cb575dc4df60 --- /dev/null +++ b/app-emulation/virt-manager/virt-manager-3.2.0.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python3_{7,8,9} ) +DISTUTILS_SINGLE_IMPL=1 + +DISTUTILS_USE_SETUPTOOLS=no +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 arm64 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 ~arm64 ~ppc64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="gtk policykit sasl" + +RDEPEND="!app-emulation/virtinst + ${PYTHON_DEPS} + app-cdr/cdrtools + >=app-emulation/libvirt-glib-1.0.0[introspection] + $(python_gen_cond_dep ' + dev-libs/libxml2[python,${PYTHON_MULTI_USEDEP}] + dev-python/argcomplete[${PYTHON_MULTI_USEDEP}] + dev-python/libvirt-python[${PYTHON_MULTI_USEDEP}] + dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}] + dev-python/requests[${PYTHON_MULTI_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[introspection] + x11-libs/vte:2.91[introspection] + policykit? ( sys-auth/polkit[introspection] ) + ) +" +DEPEND="${RDEPEND} + dev-python/docutils + dev-util/intltool +" + +DOCS=( README.md NEWS.md ) + +src_prepare() { + distutils-r1_src_prepare +} + +python_configure() { + esetup.py configure \ + --default-graphics=spice +} + +python_install() { + esetup.py install +} + +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/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest index b0f0938918ec..6b431a43937c 100644 --- a/app-emulation/virtualbox-additions/Manifest +++ b/app-emulation/virtualbox-additions/Manifest @@ -1,9 +1,5 @@ DIST VBoxGuestAdditions_6.0.24.iso 77355008 BLAKE2B 3bb611323ba41ad94a75d5d28198aaf732bd7c36965abc65755c0ffeec29bd378cf4351b838675667958086e499f5791b942a8e3877c1ed815a22c4d564147a1 SHA512 aea64aff216a0cfa3535d2215ec74dd46243f9aba0c1b95f476bb8f0b3d561994f4fc8cc7d454f03482e1cec9a227014f10045e75756767bd8006e8beb9aaade -DIST VBoxGuestAdditions_6.1.12.iso 60626944 BLAKE2B cb16f72f9c010e7e97e6ae5d86d02c81bbae2593fd502a3e6d911e794fa15254b631e37587f7ba636686e8897fe27a05f8dee58870200cbb50e2fbbe57142cc3 SHA512 dd0a7705477620205529090e37965a09906e864d3d293405414ba09c951c33d9586ac6f5e1f35e35ece1e2bae0919cc7740b21e302f9c5e2160e5458168372c0 -DIST VBoxGuestAdditions_6.1.14.iso 60981248 BLAKE2B df4e6159e4f0f1b7bb1a92dfbfdadc30aaa6499f5cb4bf80c783e9ef26dfc2d07f9198c3b20677064d1533ecb9a58100da52975478396bbec918268a7ad14e5d SHA512 51c9e128626bf1a02b4467c85829fa694dc46a469852e4effb768fdb56d1a61e28488a887920c7a8e51128370664ca50c883c590297d8c5182980fc2c176c187 DIST VBoxGuestAdditions_6.1.16.iso 60987392 BLAKE2B d4452f43c72ab8c49633f717f7a49257e14a8c6c7b60c6d61ee65ae5e4bcce00c30e19ba78d6f28fb85dfbc95ca6139aec2c7069e5afecae145dffc6ff38793a SHA512 e7606fba6e7490318b7dbadff52578040e4370bbe81fa67e6653e798176eb929ed37e363792647ab3c6626ee9e32af40f63167521997af7b446c25173ff60280 -EBUILD virtualbox-additions-6.0.24.ebuild 766 BLAKE2B 1712f7ae655a1b7d654deec536b557e20fb84c28ff9e587e067d9aa0c9ed1b9e05d63a5d861a545cc1dd3a1461338a2b1eb466bb6b10f66dc796471b7bb8ca0c SHA512 0197679dc4dfc7a39bb641c0f6f3327b45852e774c9a9ed2a6add2510e3f1a859f252da3a5447ff1f4be0a062ae1a8787a83ebc96dae0733f3b45a7bd4f09e9c -EBUILD virtualbox-additions-6.1.12.ebuild 763 BLAKE2B c57b3c6b7602771dc32a940bd3c770407809cd5acb5b02e80c0f9c2e5cbacd000e267a2cf4081f19ea17a4744b2e0eb7e40dde9662fc2ef00f478a83522b3dfa SHA512 eeb8c4d8333f2044e41eb908463b37508fa31a74cd4eefa09ec9da7def8790d71a9f55c7404c9d2355480b5547adcf0f5438fa35a0b0c9513307f26cf46b8ff5 -EBUILD virtualbox-additions-6.1.14.ebuild 763 BLAKE2B c57b3c6b7602771dc32a940bd3c770407809cd5acb5b02e80c0f9c2e5cbacd000e267a2cf4081f19ea17a4744b2e0eb7e40dde9662fc2ef00f478a83522b3dfa SHA512 eeb8c4d8333f2044e41eb908463b37508fa31a74cd4eefa09ec9da7def8790d71a9f55c7404c9d2355480b5547adcf0f5438fa35a0b0c9513307f26cf46b8ff5 -EBUILD virtualbox-additions-6.1.16.ebuild 763 BLAKE2B c57b3c6b7602771dc32a940bd3c770407809cd5acb5b02e80c0f9c2e5cbacd000e267a2cf4081f19ea17a4744b2e0eb7e40dde9662fc2ef00f478a83522b3dfa SHA512 eeb8c4d8333f2044e41eb908463b37508fa31a74cd4eefa09ec9da7def8790d71a9f55c7404c9d2355480b5547adcf0f5438fa35a0b0c9513307f26cf46b8ff5 +EBUILD virtualbox-additions-6.0.24-r1.ebuild 781 BLAKE2B fbda6311a77ff20cabf4075c35e682f143a7e267f907ea63e948f66e2370c773f9831bb407b7607bfc9a006c9548b93f6d66142f1da49ead9c4488f42a9a2dcf SHA512 b7be1bcbcc119214c8e293f997031abf84ab19920c859e488660d5c8a5c1146ce6ef87b558886f0be633dde8090cd71d27f72ee9ac34f057ba5dc6b5d14460a9 +EBUILD virtualbox-additions-6.1.16-r1.ebuild 778 BLAKE2B a735cdf919f7faeef219b23f35917ad2a6d56293ef77345f9cb37fc13a508d03cf4ffe254b395d53a3bf95641b9a30db19ade39d4b4e7b3d87cb4645fe2cec2c SHA512 31fbc1321579db09b745e137872162741dba1ec352b43092e48c1a6ce78fae17011d3a897610e94b49ff991adda4c27bb01ea5da045e88ecd33630f65d440892 MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.0.24-r1.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.0.24-r1.ebuild new file mode 100644 index 000000000000..feae0de326e4 --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.0.24-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PN=VBoxGuestAdditions +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}_${MY_PV} + +DESCRIPTION="CD image containing guest additions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" + +LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="amd64 x86" +IUSE="" +RESTRICT="mirror" + +RDEPEND="!app-emulation/virtualbox-bin + !=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +src_unpack() { + return 0 +} + +src_install() { + insinto /usr/share/${PN/-additions} + newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso +} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.0.24.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.0.24.ebuild deleted file mode 100644 index 97dc656fbe72..000000000000 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.0.24.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PN=VBoxGuestAdditions -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}_${MY_PV} - -DESCRIPTION="CD image containing guest additions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" - -LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64 x86" -IUSE="" -RESTRICT="mirror" - -RDEPEND="!app-emulation/virtualbox-bin - !=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -src_unpack() { - return 0 -} - -src_install() { - insinto /usr/share/${PN/-additions} - newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso -} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.12.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.12.ebuild deleted file mode 100644 index 97264897ea7d..000000000000 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.12.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PN=VBoxGuestAdditions -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}_${MY_PV} - -DESCRIPTION="CD image containing guest additions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" - -LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror" - -RDEPEND="!app-emulation/virtualbox-bin - !=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -src_unpack() { - return 0 -} - -src_install() { - insinto /usr/share/${PN/-additions} - newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso -} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.14.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.14.ebuild deleted file mode 100644 index 97264897ea7d..000000000000 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.14.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PN=VBoxGuestAdditions -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}_${MY_PV} - -DESCRIPTION="CD image containing guest additions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" - -LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror" - -RDEPEND="!app-emulation/virtualbox-bin - !=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -src_unpack() { - return 0 -} - -src_install() { - insinto /usr/share/${PN/-additions} - newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso -} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.16-r1.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.16-r1.ebuild new file mode 100644 index 000000000000..9ef18440687e --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.16-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PN=VBoxGuestAdditions +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}_${MY_PV} + +DESCRIPTION="CD image containing guest additions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" + +LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="" +RESTRICT="mirror" + +RDEPEND="!app-emulation/virtualbox-bin + !=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +src_unpack() { + return 0 +} + +src_install() { + insinto /usr/share/${PN/-additions} + newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso +} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.16.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.16.ebuild deleted file mode 100644 index 97264897ea7d..000000000000 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.16.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PN=VBoxGuestAdditions -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}_${MY_PV} - -DESCRIPTION="CD image containing guest additions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" - -LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror" - -RDEPEND="!app-emulation/virtualbox-bin - !=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -src_unpack() { - return 0 -} - -src_install() { - insinto /usr/share/${PN/-additions} - newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso -} diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest index 6b7e4cff5520..65c863d0e388 100644 --- a/app-emulation/virtualbox-extpack-oracle/Manifest +++ b/app-emulation/virtualbox-extpack-oracle/Manifest @@ -1,9 +1,5 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.24-139119.tar.gz 23238486 BLAKE2B cad4e6822b51db05fb0b919f4c44ace1743a9d2b5ebcc0da6fe3c9ec43612ec6079614f5d3a9423c320e65b5438089aeef42f331946eb74093e3f8b1ef137300 SHA512 4be76fffb8508dda561e74daf68c71641a0903e554ecdf6b102f3fe35af03883bc88c2ac3cbdae2b3ddfb7ee5c9bdfa8df670662eef139f2a894dea4aa6f2e18 -DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.12-139181.tar.gz 11141691 BLAKE2B ac4cae428d15fa503b47337c5d2bab3e21197b82192fa2009216e438d06b867b17a62890c7525d232919751a5eec770f0ecd835c93aa3e67bcbf13b94d8d5344 SHA512 2abc9f6aaadfd6b0bb65df7eb9c45155ea2ec0d215aedd7589a76753b7323fef47c4799322ed973ef92baf1d64835dc813a235001be2cf4e166e474d5b6e2afc -DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.14-140239.tar.gz 11145475 BLAKE2B fe64288068cfeb17da5b7583b5218de74dade2f3a994ef46e43bf7811cfeabae3d48f6bb200882892205d5a10294c38296e51e31c900af4cffd402030a85e3b3 SHA512 436ed94cec32365b9b19fe170323519543d18fcdad28eac09438c2238d68e452b25a415d69f244fd26b4c117fc5e2b33c8bd2fb63b31805f62ed9d59500eb304 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.16-140961.tar.gz 11145670 BLAKE2B 86e620ebaea9803b9bf633990a39d9e2828fbe70cdc98cbb6ba98accc374e0ea2300a7135cae0f0ec8d13184ccc8e0ff075ca1f81132ed97206f14c20adeb3bc SHA512 89b9c709da1c4b8268c4c1849e074f4d8dc76a36663b401c9ea63f02422bec50e2b77056289144bb161b1dd226b78687379d6ab86281112a71561c1777f525fb -EBUILD virtualbox-extpack-oracle-6.0.24.139119.ebuild 1071 BLAKE2B b447f928fdd75266ccd1bf355ffed36f11e429cfbb254121e33ae86530bcee8dca45d5b98392ae9e091a5d0c56bb31b182599de569654759c424ce941d67cb3b SHA512 e098621114081e18f0fafa64ed0037fcf6f4ca6125949db97e88579007772158c39c23da37375628e14937c6a9461686be0cf404bb471cf1e81ffdce7925e158 -EBUILD virtualbox-extpack-oracle-6.1.12.139181.ebuild 1069 BLAKE2B 1dbace4c1b88337c04a09a89c32533a36b88d4ba82e00ff239220efb12160f7326f412e62d6db72e9f6c36f8008071f9fb23496dabde8ffb3e30979c078dec38 SHA512 64a1dd45b2981757e7e2f43b16ea88f885f1de58291e49d8d70ac1a3aa0a82e608475f9cc47a097160ef7fa3b37d346fdae826a589c786b6ad496892db154dc1 -EBUILD virtualbox-extpack-oracle-6.1.14.140239.ebuild 1069 BLAKE2B 1dbace4c1b88337c04a09a89c32533a36b88d4ba82e00ff239220efb12160f7326f412e62d6db72e9f6c36f8008071f9fb23496dabde8ffb3e30979c078dec38 SHA512 64a1dd45b2981757e7e2f43b16ea88f885f1de58291e49d8d70ac1a3aa0a82e608475f9cc47a097160ef7fa3b37d346fdae826a589c786b6ad496892db154dc1 -EBUILD virtualbox-extpack-oracle-6.1.16.140961.ebuild 1069 BLAKE2B 1dbace4c1b88337c04a09a89c32533a36b88d4ba82e00ff239220efb12160f7326f412e62d6db72e9f6c36f8008071f9fb23496dabde8ffb3e30979c078dec38 SHA512 64a1dd45b2981757e7e2f43b16ea88f885f1de58291e49d8d70ac1a3aa0a82e608475f9cc47a097160ef7fa3b37d346fdae826a589c786b6ad496892db154dc1 +EBUILD virtualbox-extpack-oracle-6.0.24.139119-r1.ebuild 1086 BLAKE2B 99cdee4d3ad71bb23128613cf34977c565910add5e74cec1e3eb7d93f479b9b458888eaa050fa6e014ba62953f05533c10d2e74b98f0e7125705bb173a79f198 SHA512 85cb99d4f621df810805994132b939079986b6959e49889d4d34fa9d1bc62630c79d4bcb8914807450f137112330520553982735929ca7c7db95c789b6c923f2 +EBUILD virtualbox-extpack-oracle-6.1.16.140961-r1.ebuild 1084 BLAKE2B 5152d6e203afeaa7e95e43f03b1a4e4b33a386acd1100de2155b5a1b32354e12751d6065686fcc522e0da919410ea2f8e0acee5c68aa1409213a7c1c6cdfa5d9 SHA512 f6ae69ff1fd9e99875bb6a88b9af22b1491734e2fb4f9195e8dad7a92001d7d8a315e5c286f7d6dd0f2e3be758cf0449aefc75fce70efc09bd3b02e9b7c126bd MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119-r1.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119-r1.ebuild new file mode 100644 index 000000000000..1ced8bb1016c --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5-6)" + DEP_PV="${MY_PV}" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" + DEP_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(ver_cut 4)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" + +DESCRIPTION="PUEL extensions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" + +LICENSE="PUEL" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="amd64 x86" +IUSE="" +RESTRICT="bindist mirror strip" + +RDEPEND="~app-emulation/virtualbox-${DEP_PV}" + +S="${WORKDIR}" + +QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" + +src_install() { + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom +} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119.ebuild deleted file mode 100644 index e963a7a5ca90..000000000000 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - DEP_PV="${MY_PV}" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - DEP_PV="${MAIN_PV}" -fi -VBOX_BUILD_ID="$(ver_cut 4)" -MY_PN="Oracle_VM_VirtualBox_Extension_Pack" -MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" - -DESCRIPTION="PUEL extensions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" - -LICENSE="PUEL" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64 x86" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="~app-emulation/virtualbox-${DEP_PV}" - -S="${WORKDIR}" - -QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" - -src_install() { - insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom -} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.12.139181.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.12.139181.ebuild deleted file mode 100644 index 292f61b0055b..000000000000 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.12.139181.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - DEP_PV="${MY_PV}" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - DEP_PV="${MAIN_PV}" -fi -VBOX_BUILD_ID="$(ver_cut 4)" -MY_PN="Oracle_VM_VirtualBox_Extension_Pack" -MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" - -DESCRIPTION="PUEL extensions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" - -LICENSE="PUEL" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="=app-emulation/virtualbox-${DEP_PV}*" - -S="${WORKDIR}" - -QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" - -src_install() { - insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom -} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.14.140239.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.14.140239.ebuild deleted file mode 100644 index 292f61b0055b..000000000000 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.14.140239.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - DEP_PV="${MY_PV}" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - DEP_PV="${MAIN_PV}" -fi -VBOX_BUILD_ID="$(ver_cut 4)" -MY_PN="Oracle_VM_VirtualBox_Extension_Pack" -MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" - -DESCRIPTION="PUEL extensions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" - -LICENSE="PUEL" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="=app-emulation/virtualbox-${DEP_PV}*" - -S="${WORKDIR}" - -QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" - -src_install() { - insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom -} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961-r1.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961-r1.ebuild new file mode 100644 index 000000000000..6e11f5652823 --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5-6)" + DEP_PV="${MY_PV}" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" + DEP_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(ver_cut 4)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" + +DESCRIPTION="PUEL extensions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" + +LICENSE="PUEL" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="" +RESTRICT="bindist mirror strip" + +RDEPEND="=app-emulation/virtualbox-${DEP_PV}*" + +S="${WORKDIR}" + +QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" + +src_install() { + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom +} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961.ebuild deleted file mode 100644 index 292f61b0055b..000000000000 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - DEP_PV="${MY_PV}" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - DEP_PV="${MAIN_PV}" -fi -VBOX_BUILD_ID="$(ver_cut 4)" -MY_PN="Oracle_VM_VirtualBox_Extension_Pack" -MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" - -DESCRIPTION="PUEL extensions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" - -LICENSE="PUEL" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="=app-emulation/virtualbox-${DEP_PV}*" - -S="${WORKDIR}" - -QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" - -src_install() { - insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom -} diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 9516184c64ff..6a2a46717ffe 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -5,13 +5,9 @@ AUX virtualbox-guest-additions-8.initd 538 BLAKE2B f720a0f9de10c5240f1ac8a590c4e AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9fdc1e0c8a1440ac87674dad44a1493a9347e6e2b351ae2b71e050ba06ae9848168220d62981a9e0c984ea68bf48ea06b485 SHA512 b6226146f3591a778551e94ae2661e2ae3c6b761d20600d741eaaa03f43f0a2b841d2a44d9eec3a3768edb23b021cee94c7849d998ee4104ad60dad2df88df83 AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038babb62a40bd5b2de2dc5b228cabe55612d92a522e6ae92aa7ff4ff2ab26772c3b54ce95ebac4e7fc5a SHA512 ac2b14970dc6667ceec2dbdae52bc92cbad4aff020898ede156454e8a8a703354f15c7e19cfbd2bdd15e251493fd05cacfe814cabee0f9b4cf155e44860ed4c9 DIST VirtualBox-6.0.24.tar.bz2 159833756 BLAKE2B 321f7988a5b55a794e2d51937a0752d96eaefb376c12e2fb23be08dff81b164153e19a7d5963a0404f630fb38d6047b9d954a67923f26b2aa16d861a0c6a1b63 SHA512 e6f98d0036cdebc52c78c5ddbce369d9ef0a036c366647b299060e1ccf6942f6b6f899201dfa08c410a039f353b767a41a0d14579c741dc5c034a035cb16c534 -DIST VirtualBox-6.1.12a.tar.bz2 165246721 BLAKE2B e9ee7c10d92b151ab10833c68d0c71a09419bba4dbf86f21401263a98273f5ad5cf628347215d641e80e11d8e77bafeda606822cdd4d02344490fca6b95814ef SHA512 27fe66daf7fa254d9fc4a2cca4a8bbcfbfe6c3387a9f4a740c8ac1297587b5083bccbeef97dcc4e482c4974c843450212e02415b4952eb38b82e179615741193 -DIST VirtualBox-6.1.14a.tar.bz2 165962245 BLAKE2B 7f064ea58f7e4f36a0cda9badc7d16d5e95246de923ab9d179688c7f2f020625efa89c592aceec59d54f1c48934b20674594cc6a63f3f42e9fef39cfd5803027 SHA512 7bdf248b53c517923afc46998e46f63271f71ee73fa6826f367828128944895b2d672d7fc4d05f222e6d45897269fe699f7360ee1534c96450e2cc7bc14c0f13 DIST VirtualBox-6.1.16.tar.bz2 165470821 BLAKE2B 13376322d0ce2ea3ed826c61816ff19c8ce1f022f6cb1f1b0c291d72354cbe574a01589a6dcc39de10080ba32d5961ca980e75fe11c7401736bf8f7e5443d166 SHA512 4373eb35934f894e419e1441f6368e646e4a84b963a0ecf1e5c71bbf0231de0b0e52f4c4377b8cd2d956bc7a11346a9da2285988bf1e4c743971c413c6529421 DIST virtualbox-6.0.24-patches-01.tar.xz 3640 BLAKE2B e55c30395978471edd0f291cd34ecb772cce2f27bea88c6fe348e83046777638be9bdd36bf3a2fd1967357ea7ff53936398cd94ee74d8e55d31c1896069404ff SHA512 b8d9395083769a641a5d7f78ac734a86220fec817e3e49461208f8e72ef7d11c19fe4507e6766fe7c8c815c9888f793fd66f3fae36d6e3a217e53620b5d95029 DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123 -EBUILD virtualbox-guest-additions-6.0.24-r1.ebuild 6093 BLAKE2B 52471bc74eb29afda0a2a535b9a58d39b67e2a6129dfe7b25cbc629a12d64961999160ac9068c10dd5670af0ff56298a694a1bbfb1bd33a97ad49169f9abf409 SHA512 ecb7f99c729384941eceab5a233de5fd222ab0204639c9b0df065dabcab3bb891692b577c47f23c4d24a0d0a114d7315da2a4ec91fed1d1fa9341d68f66faed7 -EBUILD virtualbox-guest-additions-6.1.12a-r1.ebuild 6189 BLAKE2B 3b87e29e0f2b91213f8288ab026f9f7d7d9bb3b5a48d7e6a7547ce1e841c45644f801075a4e30fdd3d5834a6e62c39f3135c56ba9558a11dba9de8469164e29d SHA512 95a3ba85b89173a4950741acde4c9eeb081d7825a93fd0859f614ec263c6058fe14c3730fd5ef0e3fb5488d99bea60ae4b7696f6763086a886889d9eabe9ddc2 -EBUILD virtualbox-guest-additions-6.1.14a.ebuild 6189 BLAKE2B 3b87e29e0f2b91213f8288ab026f9f7d7d9bb3b5a48d7e6a7547ce1e841c45644f801075a4e30fdd3d5834a6e62c39f3135c56ba9558a11dba9de8469164e29d SHA512 95a3ba85b89173a4950741acde4c9eeb081d7825a93fd0859f614ec263c6058fe14c3730fd5ef0e3fb5488d99bea60ae4b7696f6763086a886889d9eabe9ddc2 -EBUILD virtualbox-guest-additions-6.1.16.ebuild 6189 BLAKE2B 3b87e29e0f2b91213f8288ab026f9f7d7d9bb3b5a48d7e6a7547ce1e841c45644f801075a4e30fdd3d5834a6e62c39f3135c56ba9558a11dba9de8469164e29d SHA512 95a3ba85b89173a4950741acde4c9eeb081d7825a93fd0859f614ec263c6058fe14c3730fd5ef0e3fb5488d99bea60ae4b7696f6763086a886889d9eabe9ddc2 +EBUILD virtualbox-guest-additions-6.0.24-r2.ebuild 6108 BLAKE2B 0d096d671de70e69d37bb5bead993413b5f6dbe6ea3d95ca491907341ff6e546ca0c0676e85f79840c2e666b537f2b25976f44aa419873931a0875fd538ddfb3 SHA512 4753a3d1ab46464e4047d8d88bab548bea5ebdfed21f79039a065b02d4ea0d34f9a4d49bed368a9dd9e5002d8530652231def7902a7fa68ef965be12e6f1f6ac +EBUILD virtualbox-guest-additions-6.1.16-r1.ebuild 6204 BLAKE2B 59101364bc6c6684b260ccc6758d0e046ee7d64f5b08697742e38abd646899063febc44beaf236c7c81d976b5f54de738f4af38aa834165079ae8ce44b1a5906 SHA512 87aeaf57def24ee1d8c4f0ef25ead340520b2caa714c42bb815eab7082161f1a43f2b6ca6a90bba18dfa4558fb363680ad3686b8a709bf5327ce180e8c9ec9cd MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r1.ebuild deleted file mode 100644 index 43d5a64becc6..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r1.ebuild +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd toolchain-funcs - -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="VirtualBox-${MY_PV}" -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.24-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64 x86" -IUSE="X" - -# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist -RDEPEND=" - acct-group/vboxguest - acct-group/vboxsf - acct-user/vboxguest - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_P}" -VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) - vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Provide kernel sources - pushd src/VBox/Additions &>/dev/null || die - ebegin "Extracting guest kernel module sources" - kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die - eend - popd &>/dev/null || die - - # PaX fixes (see bug #298988) - pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r2.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r2.ebuild new file mode 100644 index 000000000000..8a69b30c9df7 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r2.ebuild @@ -0,0 +1,218 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-mod systemd toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="VirtualBox-${MY_PV}" +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.24-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="amd64 x86" +IUSE="X" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" +VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) + vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die + eend + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.12a-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.12a-r1.ebuild deleted file mode 100644 index 24c3f7e1b184..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.12a-r1.ebuild +++ /dev/null @@ -1,221 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd toolchain-funcs - -MY_PN="VirtualBox" -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="${MY_PN}-${MY_PV}" -[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" - -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="X" - -# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist -RDEPEND=" - acct-group/vboxguest - acct-group/vboxsf - acct-user/vboxguest - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}" -VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) - vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Provide kernel sources - pushd src/VBox/Additions &>/dev/null || die - ebegin "Extracting guest kernel module sources" - kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die - eend - popd &>/dev/null || die - - # PaX fixes (see bug #298988) - pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.14a.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.14a.ebuild deleted file mode 100644 index 24c3f7e1b184..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.14a.ebuild +++ /dev/null @@ -1,221 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd toolchain-funcs - -MY_PN="VirtualBox" -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="${MY_PN}-${MY_PV}" -[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" - -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="X" - -# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist -RDEPEND=" - acct-group/vboxguest - acct-group/vboxsf - acct-user/vboxguest - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}" -VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) - vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Provide kernel sources - pushd src/VBox/Additions &>/dev/null || die - ebegin "Extracting guest kernel module sources" - kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die - eend - popd &>/dev/null || die - - # PaX fixes (see bug #298988) - pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16-r1.ebuild new file mode 100644 index 000000000000..bfe310a7db9d --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16-r1.ebuild @@ -0,0 +1,221 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-mod systemd toolchain-funcs + +MY_PN="VirtualBox" +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="${MY_PN}-${MY_PV}" +[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" + +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="X" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}" +VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) + vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die + eend + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16.ebuild deleted file mode 100644 index 24c3f7e1b184..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16.ebuild +++ /dev/null @@ -1,221 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd toolchain-funcs - -MY_PN="VirtualBox" -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="${MY_PN}-${MY_PV}" -[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" - -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="X" - -# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist -RDEPEND=" - acct-group/vboxguest - acct-group/vboxsf - acct-user/vboxguest - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}" -VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) - vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Provide kernel sources - pushd src/VBox/Additions &>/dev/null || die - ebegin "Extracting guest kernel module sources" - kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die - eend - popd &>/dev/null || die - - # PaX fixes (see bug #298988) - pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index 2fcf3a044f01..dfc064270bc2 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -1,13 +1,10 @@ AUX create_vbox_modules_tarball.sh 896 BLAKE2B 4153a8fa67cd8fe7187f3c4232691b1ded8e51315f41292f9fcc0adb294e9b235b0c2f1e91f6f728076ab85f687ea1ba2877dc44b511eaceb24e7d6e71a8bbd4 SHA512 c3154a13550817c581fa142e24081edfbdbc145315d34cc4569d12ad87a518fa0bf1443c053b50fdfdea6915bda1325ad973455ee85079294b83a49fd53f4771 AUX virtualbox-modules-5.2.8-pax-const.patch 1728 BLAKE2B 1a2e8c5946af5abcf443c8cea08a6dbe78f75dd89aa072ac2ac0d745e598e8195ef321eaee53d31bedf52013d94efc046863e65c9fac0d61a507b292b04c7fb9 SHA512 600fd557992efb1fb5db9db64914becd5a86f81a42d70bbc3823533df941881f2289a6ccf630adb8346419499dd48b84ed43c21d0aba183a780daa99fcafddbd +AUX virtualbox-modules-6.1.16-linux-5.10-r0drv-memobj-fix-r0.patch 3237 BLAKE2B 5ebd53475768d4611ce9a23f8b11ad92246f561933c67a620136adcd4c7f5d1cf12cd09360eb6676221725c3732c255fcb1fe2a177fce9d007db83c776c5b202 SHA512 046e4c8e2d8f295d8e7c29c7dea53b8db18700f2ba03c7ab67ff466850f1cb2ed0dbc22aacd78b8c7011e3fb2dc02be06aba1678d1930b947988ddacf74e9174 AUX virtualbox.conf 38 BLAKE2B 4f03cb09a1cca36013beb2a38220115d63510fd0aa63e2df1f0dc755a9162f7c2efed32d8f9c98fcc1e36d48067471085d5b038c6e8b3118508fbaaaab3790f7 SHA512 63eba0963b3344ea7e7a0035560406899d878a0761cddef9853bec95deb9812b221e98f446f240070d6448d61d6ecbcf7a990bcd52863660e8f21cf9a98c0e1d AUX virtualbox.conf-r1 30 BLAKE2B 6308dedc75e2677cbdc844b53f51359e6b5745d3510636b04d08512122aeb6db81a1a18af156a8b9acccad395d390b24f9c27ed47413382cb6101266762de230 SHA512 5c6d31f527ca2db8d7fbeea759ac328eff42803d7940fd81ef12af22eb09f8913a0e561c35db1963e2a8b398ee288692817b5c8f3d439f2a6fd381769ec2ac8a DIST vbox-kernel-module-src-6.0.24.tar.xz 670960 BLAKE2B 26e4b1b6b9ab8c8fd0312b2162fe745dc11ef3f8a7e2f08f49df9d9ef346ec21b64e4a0a480bd726e9cca6ab2ce5d3cf2637aa8923c0843bf78a3ed160b98810 SHA512 9b1093307dffeb64f3ec22c4797268858e1fcc729403e89294c2e3cf0852662b7b0aad4416a593fd25b2107a1995d6bc17078f072b6f7718ed111ab61df8324e -DIST vbox-kernel-module-src-6.1.12.tar.xz 667312 BLAKE2B 31b3f7cd60d00e26c3177c4956d493a243e39d6251aeb3f3d72331d2fa85f2c90e884aa3f27e994502d86a34b1683c7d7db54eb1cc233e220f147119f6e9ed5e SHA512 ec4903fdc74e4be28003e8b231a4c8feb6e807bc59789c2729a8ab4199c6decc878468b67bce3a17625f60a33bb1d7c611e7306815091607b1fade2be521ed44 -DIST vbox-kernel-module-src-6.1.14.tar.xz 670392 BLAKE2B e6f324e71088c71bf67791861c79a81665f2111664428ed1e8a834b8a435bd04c1da49b6755ce5f6b1d883c6de01a0821e8d5a7519e11cf30e8f01a8b4e5d8bb SHA512 ccf4896106a7c86b651ed698abee78387660b7daa0f15329fc4bf2c3a7df4715bf4cce7cace1c6f6931dd9e8d02022d1ca0d005ae12c5139e54d3fb40792cb1c DIST vbox-kernel-module-src-6.1.16.tar.xz 671736 BLAKE2B 8b2153874ee7a63f88679a5372215e89def49622caa7679a5c2410423eaf23ced18ece79d638fc96db40fac88857db7568dd72dd8e05371b14add3553d61d3a7 SHA512 c51dfad5f9578ad43e2fbdd35a70659640030108006f89d362bc25dead99eb3b39a78d403633b3813f62f5b510eff22d826a2750b9c88f5fcb1cde6531295bff -EBUILD virtualbox-modules-6.0.24-r1.ebuild 1456 BLAKE2B b3c5277a7c6543e8db682608c0b042e1013b15aa6557c1fe632a50bae3860d370bd755958fc08c2b26c9e9b082c9ee3128866ea9da99a39f66c7f7bbfab85521 SHA512 bde22536f24bfa36e06bea56673d8e4f9a6f4243776ac910e6121c6286c36e06764df16aad5fd5e78b6da71854552500d2f978e4f6e532be8001e0f1788b4001 -EBUILD virtualbox-modules-6.1.12-r1.ebuild 1419 BLAKE2B ff41b1aded92f404c199e42076227efd4f5fde305fbd67e4a3b1f198c58a54786f72ba0e7eaf0e789a7bd13d67c1435e91f96e329362498187234a8918d29ac1 SHA512 d12adaafe5d3369dc793e9051ca3eedb10e52a76a9d0ea1805e6476808831613a93eaf71c93a836b075af2c822580e35e2b26e03216abdbecc3b44f83cfb6345 -EBUILD virtualbox-modules-6.1.14.ebuild 1419 BLAKE2B ff41b1aded92f404c199e42076227efd4f5fde305fbd67e4a3b1f198c58a54786f72ba0e7eaf0e789a7bd13d67c1435e91f96e329362498187234a8918d29ac1 SHA512 d12adaafe5d3369dc793e9051ca3eedb10e52a76a9d0ea1805e6476808831613a93eaf71c93a836b075af2c822580e35e2b26e03216abdbecc3b44f83cfb6345 -EBUILD virtualbox-modules-6.1.16.ebuild 1419 BLAKE2B ff41b1aded92f404c199e42076227efd4f5fde305fbd67e4a3b1f198c58a54786f72ba0e7eaf0e789a7bd13d67c1435e91f96e329362498187234a8918d29ac1 SHA512 d12adaafe5d3369dc793e9051ca3eedb10e52a76a9d0ea1805e6476808831613a93eaf71c93a836b075af2c822580e35e2b26e03216abdbecc3b44f83cfb6345 +EBUILD virtualbox-modules-6.0.24-r2.ebuild 1471 BLAKE2B 405d9600d0f8d00f9442db9bea087094a035114acf58e2357cb18797c9273ecec65c26f4b470711fcc6372a641e718553fb436a52eb366b3f563800277c5f3aa SHA512 a8ee80d7c9c0e31ac4f4c0115d2a4f11798a182549e009ed55dcaddf1b8b893a54838696cffcc01f4760f212b55fc80319917235ea40776d280496386c9e278e +EBUILD virtualbox-modules-6.1.16-r1.ebuild 1512 BLAKE2B 5a6cb34498170aa3f9bf5fe4387f0d4918325155c1c8b87d0f8307c2011fda971af63cce5db155e9a070ca7aabdd75042b1e05f60d30a87cf09ad551692a28d9 SHA512 d1d2bec59f9ac961fba04116dd77359481309b4cab600bc04d0ff09f894fdaf792d5a75dbabb9d308a43fa79c267cea7c82abeeb42f1f19f59b18249fa9b2af9 MISC metadata.xml 353 BLAKE2B d7de13b3a8966ab3bca54ae77f7f6c7dfd57f2c5941f09ab1b5f79ac798687ffaaa183afdf9c034a9d50fda8507a3aaa2ef0c11d0fdfa6e09a55a1bdb9f30f4a SHA512 40029c9a246dde5ed51119f42ec5448b7ae08a47ee4d6be201fef282305c809d7d3182abf807dd2444ffe1a980abcd670878567d948bcd3661a55c6848a37000 diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.16-linux-5.10-r0drv-memobj-fix-r0.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.16-linux-5.10-r0drv-memobj-fix-r0.patch new file mode 100644 index 000000000000..168d7c24f5a3 --- /dev/null +++ b/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.16-linux-5.10-r0drv-memobj-fix-r0.patch @@ -0,0 +1,96 @@ +Index: vboxdrv/r0drv/linux/memobj-r0drv-linux.c +=================================================================== +--- a/vboxdrv/r0drv/linux/memobj-r0drv-linux.c ++++ b/vboxdrv/r0drv/linux/memobj-r0drv-linux.c +@@ -56,9 +56,12 @@ + * Whether we use alloc_vm_area (3.2+) for executable memory. + * This is a must for 5.8+, but we enable it all the way back to 3.2.x for + * better W^R compliance (fExecutable flag). */ +-#if RTLNX_VER_MIN(3,2,0) || defined(DOXYGEN_RUNNING) ++#if RTLNX_VER_RANGE(3,2,0, 5,10,0) || defined(DOXYGEN_RUNNING) + # define IPRT_USE_ALLOC_VM_AREA_FOR_EXEC + #endif ++#if RTLNX_VER_MIN(5,10,0) || defined(DOXYGEN_RUNNING) ++# define IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC ++#endif + + /* + * 2.6.29+ kernels don't work with remap_pfn_range() anymore because +@@ -502,7 +505,43 @@ + } + + ++#ifdef IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC + /** ++ * User data passed to the apply_to_page_range() callback. ++ */ ++typedef struct LNXAPPLYPGRANGE ++{ ++ /** Pointer to the memory object. */ ++ PRTR0MEMOBJLNX pMemLnx; ++ /** The page protection flags to apply. */ ++ pgprot_t fPg; ++} LNXAPPLYPGRANGE; ++/** Pointer to the user data. */ ++typedef LNXAPPLYPGRANGE *PLNXAPPLYPGRANGE; ++/** Pointer to the const user data. */ ++typedef const LNXAPPLYPGRANGE *PCLNXAPPLYPGRANGE; ++ ++/** ++ * Callback called in apply_to_page_range(). ++ * ++ * @returns Linux status code. ++ * @param pPte Pointer to the page table entry for the given address. ++ * @param uAddr The address to apply the new protection to. ++ * @param pvUser The opaque user data. ++ */ ++static DECLCALLBACK(int) rtR0MemObjLinuxApplyPageRange(pte_t *pPte, unsigned long uAddr, void *pvUser) ++{ ++ PCLNXAPPLYPGRANGE pArgs = (PCLNXAPPLYPGRANGE)pvUser; ++ PRTR0MEMOBJLNX pMemLnx = pArgs->pMemLnx; ++ uint32_t idxPg = (uAddr - (unsigned long)pMemLnx->Core.pv) >> PAGE_SHIFT; ++ ++ set_pte(pPte, mk_pte(pMemLnx->apPages[idxPg], pArgs->fPg)); ++ return 0; ++} ++#endif ++ ++ ++/** + * Maps the allocation into ring-0. + * + * This will update the RTR0MEMOBJLNX::Core.pv and RTR0MEMOBJ::fMappedToRing0 members. +@@ -584,6 +623,11 @@ + else + # endif + { ++# if defined(IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC) ++ if (fExecutable) ++ pgprot_val(fPg) |= _PAGE_NX; /* Uses RTR0MemObjProtect to clear NX when memory ready, W^X fashion. */ ++# endif ++ + # ifdef VM_MAP + pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_MAP, fPg); + # else +@@ -1851,6 +1895,21 @@ + preempt_enable(); + return VINF_SUCCESS; + } ++# elif defined(IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC) ++ PRTR0MEMOBJLNX pMemLnx = (PRTR0MEMOBJLNX)pMem; ++ if ( pMemLnx->fExecutable ++ && pMemLnx->fMappedToRing0) ++ { ++ LNXAPPLYPGRANGE Args; ++ Args.pMemLnx = pMemLnx; ++ Args.fPg = rtR0MemObjLinuxConvertProt(fProt, true /*fKernel*/); ++ int rcLnx = apply_to_page_range(current->active_mm, (unsigned long)pMemLnx->Core.pv + offSub, cbSub, ++ rtR0MemObjLinuxApplyPageRange, (void *)&Args); ++ if (rcLnx) ++ return VERR_NOT_SUPPORTED; ++ ++ return VINF_SUCCESS; ++ } + # endif + + NOREF(pMem); diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r1.ebuild deleted file mode 100644 index 80c67913b279..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r1.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64 x86" -IUSE="pax_kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" -# The following is a security measure that comes directly from usptream. -# Do NOT remove this!!! -MODULESD_VBOXPCI_ADDITIONS=( - "blacklist vboxpci" - "install vboxpci /bin/true" -) - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax_kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r2.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r2.ebuild new file mode 100644 index 000000000000..a56ac88cb0f4 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r2.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=7 + +inherit linux-mod toolchain-funcs + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="amd64 x86" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" +MODULESD_VBOXDRV_ENABLED="yes" +MODULESD_VBOXNETADP_ENABLED="no" +MODULESD_VBOXNETFLT_ENABLED="no" +# The following is a security measure that comes directly from usptream. +# Do NOT remove this!!! +MODULESD_VBOXPCI_ADDITIONS=( + "blacklist vboxpci" + "install vboxpci /bin/true" +) + +pkg_setup() { + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax_kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.12-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.12-r1.ebuild deleted file mode 100644 index 6ad5644e2ed2..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.12-r1.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="pax_kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax_kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.14.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.14.ebuild deleted file mode 100644 index 6ad5644e2ed2..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.14.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="pax_kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax_kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.16-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.16-r1.ebuild new file mode 100644 index 000000000000..28c26bd6c0c9 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.16-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=7 + +inherit linux-mod toolchain-funcs + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" +MODULESD_VBOXDRV_ENABLED="yes" +MODULESD_VBOXNETADP_ENABLED="no" +MODULESD_VBOXNETFLT_ENABLED="no" + +PATCHES=( + "${FILESDIR}/${P}-linux-5.10-r0drv-memobj-fix-r0.patch" #751328 +) + +pkg_setup() { + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax_kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} + +pkg_postinst() { + # Remove vboxpci.ko from current running kernel + find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete + linux-mod_pkg_postinst +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.16.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.16.ebuild deleted file mode 100644 index 6ad5644e2ed2..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.16.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="pax_kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax_kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 48724baea7d5..7e8f4f9ca638 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -8,13 +8,9 @@ AUX virtualbox-5.2.8-paxmark-bldprogs.patch 2732 BLAKE2B a3966e0f1a990c648cba0df AUX virtualbox-ose-6-wrapper 3570 BLAKE2B 730747f4e7517fae218d8abf311e1f30f90bbf0810bdd1ee358dd4250359d501803c2213782310788b2c54a3c57f5195455b89331f02d35be0c5f4713a235b54 SHA512 e7e1e161fa8030234973e18d9d033238ded1f0b511323b642d8102dc062a16e69b6fa63729e88dcf1ef16fa02befd1f36e7242e23db12fa838b25d83f19810ea AUX virtualbox-vboxusb_tmpfilesd 35 BLAKE2B 56937e236a0e4d1a2aa085271e8ae0af9553fdf7c3b804af4d3fda3aa8dbc32d63762fee90bc949390cb9cd67f2f0111894c8af084731dab6920ae1675c69a64 SHA512 72e4602f5f214f8833486f5c787c263a10390e8bdf65b5615d67c35ec44048f02add12fe43b19f9c57a9d2f12d768c52e54fcfb9052c0611d06cc988a698c171 DIST VirtualBox-6.0.24.tar.bz2 159833756 BLAKE2B 321f7988a5b55a794e2d51937a0752d96eaefb376c12e2fb23be08dff81b164153e19a7d5963a0404f630fb38d6047b9d954a67923f26b2aa16d861a0c6a1b63 SHA512 e6f98d0036cdebc52c78c5ddbce369d9ef0a036c366647b299060e1ccf6942f6b6f899201dfa08c410a039f353b767a41a0d14579c741dc5c034a035cb16c534 -DIST VirtualBox-6.1.12a.tar.bz2 165246721 BLAKE2B e9ee7c10d92b151ab10833c68d0c71a09419bba4dbf86f21401263a98273f5ad5cf628347215d641e80e11d8e77bafeda606822cdd4d02344490fca6b95814ef SHA512 27fe66daf7fa254d9fc4a2cca4a8bbcfbfe6c3387a9f4a740c8ac1297587b5083bccbeef97dcc4e482c4974c843450212e02415b4952eb38b82e179615741193 -DIST VirtualBox-6.1.14a.tar.bz2 165962245 BLAKE2B 7f064ea58f7e4f36a0cda9badc7d16d5e95246de923ab9d179688c7f2f020625efa89c592aceec59d54f1c48934b20674594cc6a63f3f42e9fef39cfd5803027 SHA512 7bdf248b53c517923afc46998e46f63271f71ee73fa6826f367828128944895b2d672d7fc4d05f222e6d45897269fe699f7360ee1534c96450e2cc7bc14c0f13 DIST VirtualBox-6.1.16.tar.bz2 165470821 BLAKE2B 13376322d0ce2ea3ed826c61816ff19c8ce1f022f6cb1f1b0c291d72354cbe574a01589a6dcc39de10080ba32d5961ca980e75fe11c7401736bf8f7e5443d166 SHA512 4373eb35934f894e419e1441f6368e646e4a84b963a0ecf1e5c71bbf0231de0b0e52f4c4377b8cd2d956bc7a11346a9da2285988bf1e4c743971c413c6529421 DIST virtualbox-6.0.24-patches-01.tar.xz 3640 BLAKE2B e55c30395978471edd0f291cd34ecb772cce2f27bea88c6fe348e83046777638be9bdd36bf3a2fd1967357ea7ff53936398cd94ee74d8e55d31c1896069404ff SHA512 b8d9395083769a641a5d7f78ac734a86220fec817e3e49461208f8e72ef7d11c19fe4507e6766fe7c8c815c9888f793fd66f3fae36d6e3a217e53620b5d95029 DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123 -EBUILD virtualbox-6.0.24.ebuild 14381 BLAKE2B a4a50d0ea1a581785a8fed5207245fcd431ca055eb10833a36975fbe4e2bc79ae51e62dbc09b7e4cafa3c48c013839717a6073099e2fd8848d077f68a82e64d9 SHA512 9fd6ba79f0d533c7dd7f1afa95e892fb063505395decad4040f823277e531c4ba81e64e0bc47dc2e1caf42a026cb6c5fdbdd58b258fd223169c459740b7a6c15 -EBUILD virtualbox-6.1.12a.ebuild 14545 BLAKE2B c36ea9980d0ecd5086bd827176262d9587381bd11f73051300d7efb5ce2f0b5aff8bfa51fff011812f9fd0e0d38bfd12f551249fd4ec2f1ac399000397e5f1da SHA512 eb61df3ee2da258bf126353fcabf622ee7886ba705d6270ba710d41687bac99b28b8972a81623be50e89b30b58463380220dbbc2371e4e0b57c7d81b64cb97cc -EBUILD virtualbox-6.1.14a.ebuild 14545 BLAKE2B c36ea9980d0ecd5086bd827176262d9587381bd11f73051300d7efb5ce2f0b5aff8bfa51fff011812f9fd0e0d38bfd12f551249fd4ec2f1ac399000397e5f1da SHA512 eb61df3ee2da258bf126353fcabf622ee7886ba705d6270ba710d41687bac99b28b8972a81623be50e89b30b58463380220dbbc2371e4e0b57c7d81b64cb97cc -EBUILD virtualbox-6.1.16.ebuild 14545 BLAKE2B c36ea9980d0ecd5086bd827176262d9587381bd11f73051300d7efb5ce2f0b5aff8bfa51fff011812f9fd0e0d38bfd12f551249fd4ec2f1ac399000397e5f1da SHA512 eb61df3ee2da258bf126353fcabf622ee7886ba705d6270ba710d41687bac99b28b8972a81623be50e89b30b58463380220dbbc2371e4e0b57c7d81b64cb97cc +EBUILD virtualbox-6.0.24-r1.ebuild 14396 BLAKE2B 1bea8d995578378b2a25037089e81ca4c0153c2ebd5bd9029ab368ea3203210f98acd63ad5dff2b98655a0b97acbc27ac134537986529db835b241d4f131fc17 SHA512 616c12eb22d560791adf61096a2b80b74b2a4fbc3f6abae3626a6a2eacdd7ab5b5b6deda89f84b504dce481872c1ffc6da1e728e22a546851554a408085f0452 +EBUILD virtualbox-6.1.16-r1.ebuild 14560 BLAKE2B 4acd66117b1e29108719bcd4f66587046cb7de326f849381d10f2ff794cd94a6f9721a94ad404c6c14a4be5cb4e881344908f0a3909f801bda22f4b97316ea82 SHA512 ce0ef30cf949efcfe2aeb65bf120563572167da5560d23f53c87f2726a3198861da7b7d2a53041189327da819aea82d7d4af7d5f1d5b6d0fbaa5b908c3bdda09 MISC metadata.xml 774 BLAKE2B 74d422bee5013b3875828aa2f192a8269815c567ae79c135b7cab1cc71175a923668e1c7e6f5ff76f19c7c359dbb1a20edfcc59570e95ec83418d8a6a0dae46b SHA512 bea193854ac55683c6c4fdcab3c2a4e9144ca4806b261ff7a6bf50f7fffd005f7de3dbb44a4a833ba7bf7f0cb535a46a4586c59bca9a46bf664b4b06ce425549 diff --git a/app-emulation/virtualbox/virtualbox-6.0.24-r1.ebuild b/app-emulation/virtualbox/virtualbox-6.0.24-r1.ebuild new file mode 100644 index 000000000000..5b7282afe308 --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-6.0.24-r1.ebuild @@ -0,0 +1,510 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) +inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.0.24-patches-01.tar.xz" + +LICENSE="GPL-2 dtrace? ( CDDL )" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="amd64 x86" +IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" + +CDEPEND=" + ${PYTHON_DEPS} + !app-emulation/virtualbox-bin + acct-group/vboxusers + ~app-emulation/virtualbox-modules-${PV} + dev-libs/libIDL + >=dev-libs/libxslt-1.1.19 + net-misc/curl + dev-libs/libxml2 + media-libs/libpng:0= + media-libs/libvpx:0= + sys-libs/zlib:= + !headless? ( + media-libs/libsdl:0[X,video] + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + opengl? ( media-libs/libglvnd[X] ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + opengl? ( dev-qt/qtopengl:5 ) + x11-libs/libXinerama + ) + ) + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:0= ) + lvm? ( sys-fs/lvm2 ) + opus? ( media-libs/opus ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 ) +" +DEPEND=" + ${CDEPEND} + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + !headless? ( + x11-libs/libXinerama + opengl? ( virtual/opengl ) + ) + pam? ( sys-libs/pam ) + pax_kernel? ( sys-apps/elfix ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( dev-qt/linguist-tools:5 ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/libcap + sys-power/iasl + virtual/pkgconfig + doc? ( + app-text/docbook-sgml-dtd:4.4 + dev-texlive/texlive-basic + dev-texlive/texlive-latex + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-fontsextra + ) + java? ( >=virtual/jdk-1.6 ) +" +RDEPEND=" + ${CDEPEND} + java? ( >=virtual/jre-1.6 ) +" + +QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so + usr/lib/virtualbox/VBoxSDL.so + usr/lib/virtualbox/VBoxSharedFolders.so + usr/lib/virtualbox/VBoxDD2.so + usr/lib/virtualbox/VBoxOGLrenderspu.so + usr/lib/virtualbox/VBoxPython.so + usr/lib/virtualbox/VBoxDD.so + usr/lib/virtualbox/VBoxDDU.so + usr/lib/virtualbox/VBoxREM64.so + usr/lib/virtualbox/VBoxSharedClipboard.so + usr/lib/virtualbox/VBoxHeadless.so + usr/lib/virtualbox/VBoxRT.so + usr/lib/virtualbox/VBoxREM.so + usr/lib/virtualbox/VBoxSettings.so + usr/lib/virtualbox/VBoxKeyboard.so + usr/lib/virtualbox/VBoxSharedCrOpenGL.so + usr/lib/virtualbox/VBoxVMM.so + usr/lib/virtualbox/VirtualBox.so + usr/lib/virtualbox/VBoxOGLhosterrorspu.so + usr/lib/virtualbox/components/VBoxC.so + usr/lib/virtualbox/components/VBoxSVCM.so + usr/lib/virtualbox/components/VBoxDDU.so + usr/lib/virtualbox/components/VBoxRT.so + usr/lib/virtualbox/components/VBoxREM.so + usr/lib/virtualbox/components/VBoxVMM.so + usr/lib/virtualbox/VBoxREM32.so + usr/lib/virtualbox/VBoxPython2_7.so + usr/lib/virtualbox/VBoxXPCOMC.so + usr/lib/virtualbox/VBoxOGLhostcrutil.so + usr/lib/virtualbox/VBoxNetDHCP.so + usr/lib/virtualbox/VBoxNetNAT.so" + +S="${WORKDIR}/${MY_P}" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +pkg_pretend() { + if ! use headless && ! use qt5 ; then + einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." + elif use headless && use qt5 ; then + einfo "You selected USE=\"headless qt5\", defaulting to" + einfo "USE=\"headless\", this build will not include any X11/Qt frontend." + fi + + if ! use opengl ; then + einfo "No USE=\"opengl\" selected, this build will lack" + einfo "the OpenGL feature." + fi + if ! use python ; then + einfo "You have disabled the \"python\" USE flag. This will only" + einfo "disable the python bindings being installed." + fi +} + +pkg_setup() { + java-pkg-opt-2_pkg_setup + python-single-r1_pkg_setup + + tc-ld-disable-gold #bug 488176 + tc-export CC CXX LD AR RANLIB + export HOST_CC="$(tc-getBUILD_CC)" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Replace pointless GCC version check with something less stupid. + # This is needed for the qt5 version check. + sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \ + -i configure || die + + # Disable things unused or split into separate ebuilds + sed -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die + + # Respect LDFLAGS + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die + + # Do not use hard-coded ld (related to bug #488176) + sed -e '/QUIET)ld /s@ld @$(LD) @' \ + -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die + + # Use PAM only when pam USE flag is enbaled (bug #376531) + if ! use pam ; then + elog "Disabling PAM removes the possibility to use the VRDP features." + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ + src/VBox/HostServices/Makefile.kmk || die + fi + + # add correct java path + if use java ; then + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ + -i "${S}"/Config.kmk || die + java-pkg-opt-2_src_prepare + fi + + # Only add nopie patch when we're on hardened + if gcc-specs-pie ; then + eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" + fi + + # Only add paxmark patch when we're on pax_kernel + if use pax_kernel ; then + eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch + fi + + eapply "${WORKDIR}/patches" + + eapply_user +} + +doecho() { + echo "$@" + "$@" || die +} + +src_configure() { + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --disable-dbus + --disable-kmods + $(usex alsa '' --disable-alsa) + $(usex debug --build-debug '') + $(usex doc '' --disable-docs) + $(usex java '' --disable-java) + $(usex lvm '' --disable-devmapper) + $(usex opus '' --disable-libopus) + $(usex pulseaudio '' --disable-pulse) + $(usex python '' --disable-python) + $(usex vboxwebsrv --enable-webservice '') + $(usex vnc --enable-vnc '') + ) + if ! use headless ; then + myconf+=( + $(usex opengl '' --disable-opengl) + $(usex qt5 '' --disable-qt) + ) + else + myconf+=( + --build-headless + --disable-opengl + ) + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=( --disable-vmmraw ) + fi + # not an autoconf script + doecho ./configure ${myconf[@]} +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ + all +} + +src_install() { + cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die + + local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile + + vbox_inst() { + local binary="${1}" + local perms="${2:-0750}" + local path="${3:-${vbox_inst_path}}" + + [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." + + insinto ${path} + doins ${binary} + fowners root:vboxusers ${path}/${binary} + fperms ${perms} ${path}/${binary} + } + + # Create configuration files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-4-config" vbox.cfg + + # Set the correct libdir + sed \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" + + # Install the wrapper script + exeinto ${vbox_inst_path} + newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" + fowners root:vboxusers ${vbox_inst_path}/VBox + fperms 0750 ${vbox_inst_path}/VBox + + # Install binaries and libraries + insinto ${vbox_inst_path} + doins -r components + + # *.rc files for x86_64 are only available on multilib systems + local rcfiles="*.rc" + if use amd64 && ! has_multilib_profile ; then + rcfiles="" + fi + for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 ${rcfiles} iPxeBaseBin ; do + vbox_inst ${each} + done + + # These binaries need to be suid root. + for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do + vbox_inst ${each} 4750 + done + + # Install EFI Firmware files (bug #320757) + for each in VBoxEFI{32,64}.fd ; do + vbox_inst ${each} 0644 + done + + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) + # VBoxXPCOMIPCD (bug #524202) + for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + # Symlink binaries to the shipped wrapper + for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl + + if use pam ; then + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so + fi + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + if ! use headless ; then + vbox_inst rdesktop-vrdp + vbox_inst VBoxSDL 4750 + pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL + + for each in vboxsdl VBoxSDL ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + if use qt5 ; then + vbox_inst VirtualBox + vbox_inst VirtualBoxVM 4750 + for each in VirtualBox{,VM} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + if use opengl ; then + vbox_inst VBoxTestOGL + pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL + fi + + for each in virtualbox{,vm} VirtualBox{,VM} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + insinto /usr/share/${PN} + doins -r nls + doins -r UnattendedTemplates + + domenu ${PN}.desktop + fi + + pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die + for size in 16 32 48 64 128 ; do + newicon -s ${size} ${PN}-${size}px.png ${PN}.png + done + newicon ${PN}-48px.png ${PN}.png + doicon -s scalable ${PN}.svg + popd &>/dev/null || die + pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die + for size in 16 24 32 48 64 72 96 128 256 512 ; do + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="${PN}-${ico}-${size}px.png" + if [[ -f "${icofile}" ]] ; then + newicon -s ${size} ${icofile} ${PN}-${ico}.png + fi + done + done + popd &>/dev/null || die + fi + + if use lvm ; then + vbox_inst VBoxVolInfo 4750 + dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo + fi + + if use sdk ; then + insinto ${vbox_inst_path} + doins -r sdk + + if use java ; then + java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" + fi + fi + + if use udev ; then + # New way of handling USB device nodes for VBox (bug #356215) + local udevdir="$(get_udevdir)" + insinto ${udevdir} + doins VBoxCreateUSBNode.sh + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh + insinto ${udevdir}/rules.d + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ + > "${T}"/10-virtualbox.rules || die + doins "${T}"/10-virtualbox.rules + fi + + if use vboxwebsrv ; then + vbox_inst vboxwebsrv + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + # Fix version string in extensions or else they don't get accepted + # by the virtualbox host process (see bug #438930) + find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ + | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ + || die + + local extensions_dir="${vbox_inst_path}/ExtensionPacks" + + if use vnc ; then + insinto ${extensions_dir} + doins -r ExtensionPacks/VNC + fi + + if use dtrace ; then + insinto ${extensions_dir} + doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack + fi + + if use doc ; then + dodoc UserManual.pdf + fi + + newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf +} + +pkg_preinst() { + xdg_pkg_preinst +} + +pkg_postinst() { + xdg_pkg_postinst + + if use udev ; then + udevadm control --reload-rules \ + && udevadm trigger --subsystem-match=usb + fi + + tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf + + if ! use headless && use qt5 ; then + elog "To launch VirtualBox just type: \"virtualbox\"." + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "The latest user manual is available for download at:" + elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf" + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Starting with version 4.0.0, ${PN} has USB-1 support." + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + elog "package." + elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" + elog "the \"extension\" USE flag. For installation of the guest additions ISO" + elog "image, please emerge" + elog " app-emulation/virtualbox-additions" + elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + if ! use udev ; then + elog "" + elog "WARNING!" + elog "Without USE=udev, USB devices will likely not work in ${PN}." + elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/app-emulation/virtualbox/virtualbox-6.0.24.ebuild b/app-emulation/virtualbox/virtualbox-6.0.24.ebuild deleted file mode 100644 index fe47c9329874..000000000000 --- a/app-emulation/virtualbox/virtualbox-6.0.24.ebuild +++ /dev/null @@ -1,510 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg - -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=VirtualBox-${MY_PV} - -DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.0.24-patches-01.tar.xz" - -LICENSE="GPL-2 dtrace? ( CDDL )" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64 x86" -IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" - -CDEPEND=" - ${PYTHON_DEPS} - !app-emulation/virtualbox-bin - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${PV} - dev-libs/libIDL - >=dev-libs/libxslt-1.1.19 - net-misc/curl - dev-libs/libxml2 - media-libs/libpng:0= - media-libs/libvpx:0= - sys-libs/zlib:= - !headless? ( - media-libs/libsdl:0[X,video] - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - opengl? ( media-libs/libglvnd[X] ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - opengl? ( dev-qt/qtopengl:5 ) - x11-libs/libXinerama - ) - ) - libressl? ( dev-libs/libressl:= ) - !libressl? ( dev-libs/openssl:0= ) - lvm? ( sys-fs/lvm2 ) - opus? ( media-libs/opus ) - udev? ( >=virtual/udev-171 ) - vnc? ( >=net-libs/libvncserver-0.9.9 ) -" -DEPEND=" - ${CDEPEND} - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - !headless? ( - x11-libs/libXinerama - opengl? ( virtual/opengl ) - ) - pam? ( sys-libs/pam ) - pax_kernel? ( sys-apps/elfix ) - pulseaudio? ( media-sound/pulseaudio ) - qt5? ( dev-qt/linguist-tools:5 ) - vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/libcap - sys-power/iasl - virtual/pkgconfig - doc? ( - app-text/docbook-sgml-dtd:4.4 - dev-texlive/texlive-basic - dev-texlive/texlive-latex - dev-texlive/texlive-latexrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-fontsextra - ) - java? ( >=virtual/jdk-1.6 ) -" -RDEPEND=" - ${CDEPEND} - java? ( >=virtual/jre-1.6 ) -" - -QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so - usr/lib/virtualbox/VBoxSDL.so - usr/lib/virtualbox/VBoxSharedFolders.so - usr/lib/virtualbox/VBoxDD2.so - usr/lib/virtualbox/VBoxOGLrenderspu.so - usr/lib/virtualbox/VBoxPython.so - usr/lib/virtualbox/VBoxDD.so - usr/lib/virtualbox/VBoxDDU.so - usr/lib/virtualbox/VBoxREM64.so - usr/lib/virtualbox/VBoxSharedClipboard.so - usr/lib/virtualbox/VBoxHeadless.so - usr/lib/virtualbox/VBoxRT.so - usr/lib/virtualbox/VBoxREM.so - usr/lib/virtualbox/VBoxSettings.so - usr/lib/virtualbox/VBoxKeyboard.so - usr/lib/virtualbox/VBoxSharedCrOpenGL.so - usr/lib/virtualbox/VBoxVMM.so - usr/lib/virtualbox/VirtualBox.so - usr/lib/virtualbox/VBoxOGLhosterrorspu.so - usr/lib/virtualbox/components/VBoxC.so - usr/lib/virtualbox/components/VBoxSVCM.so - usr/lib/virtualbox/components/VBoxDDU.so - usr/lib/virtualbox/components/VBoxRT.so - usr/lib/virtualbox/components/VBoxREM.so - usr/lib/virtualbox/components/VBoxVMM.so - usr/lib/virtualbox/VBoxREM32.so - usr/lib/virtualbox/VBoxPython2_7.so - usr/lib/virtualbox/VBoxXPCOMC.so - usr/lib/virtualbox/VBoxOGLhostcrutil.so - usr/lib/virtualbox/VBoxNetDHCP.so - usr/lib/virtualbox/VBoxNetNAT.so" - -S="${WORKDIR}/${MY_P}" - -REQUIRED_USE=" - java? ( sdk ) - python? ( sdk ) - vboxwebsrv? ( java ) - ${PYTHON_REQUIRED_USE} -" - -pkg_pretend() { - if ! use headless && ! use qt5 ; then - einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." - elif use headless && use qt5 ; then - einfo "You selected USE=\"headless qt5\", defaulting to" - einfo "USE=\"headless\", this build will not include any X11/Qt frontend." - fi - - if ! use opengl ; then - einfo "No USE=\"opengl\" selected, this build will lack" - einfo "the OpenGL feature." - fi - if ! use python ; then - einfo "You have disabled the \"python\" USE flag. This will only" - einfo "disable the python bindings being installed." - fi -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup - - tc-ld-disable-gold #bug 488176 - tc-export CC CXX LD AR RANLIB - export HOST_CC="$(tc-getBUILD_CC)" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Replace pointless GCC version check with something less stupid. - # This is needed for the qt5 version check. - sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \ - -i configure || die - - # Disable things unused or split into separate ebuilds - sed -e "s@MY_LIBDIR@$(get_libdir)@" \ - "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die - - # Respect LDFLAGS - sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ - -i Config.kmk src/libs/xpcom18a4/Config.kmk || die - - # Do not use hard-coded ld (related to bug #488176) - sed -e '/QUIET)ld /s@ld @$(LD) @' \ - -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die - - # Use PAM only when pam USE flag is enbaled (bug #376531) - if ! use pam ; then - elog "Disabling PAM removes the possibility to use the VRDP features." - sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die - sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ - src/VBox/HostServices/Makefile.kmk || die - fi - - # add correct java path - if use java ; then - sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ - -i "${S}"/Config.kmk || die - java-pkg-opt-2_src_prepare - fi - - # Only add nopie patch when we're on hardened - if gcc-specs-pie ; then - eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" - fi - - # Only add paxmark patch when we're on pax_kernel - if use pax_kernel ; then - eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch - fi - - eapply "${WORKDIR}/patches" - - eapply_user -} - -doecho() { - echo "$@" - "$@" || die -} - -src_configure() { - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --disable-dbus - --disable-kmods - $(usex alsa '' --disable-alsa) - $(usex debug --build-debug '') - $(usex doc '' --disable-docs) - $(usex java '' --disable-java) - $(usex lvm '' --disable-devmapper) - $(usex opus '' --disable-libopus) - $(usex pulseaudio '' --disable-pulse) - $(usex python '' --disable-python) - $(usex vboxwebsrv --enable-webservice '') - $(usex vnc --enable-vnc '') - ) - if ! use headless ; then - myconf+=( - $(usex opengl '' --disable-opengl) - $(usex qt5 '' --disable-qt) - ) - else - myconf+=( - --build-headless - --disable-opengl - ) - fi - if use amd64 && ! has_multilib_profile ; then - myconf+=( --disable-vmmraw ) - fi - # not an autoconf script - doecho ./configure ${myconf[@]} -} - -src_compile() { - source ./env.sh || die - - # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) - MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ - all -} - -src_install() { - cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die - - local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile - - vbox_inst() { - local binary="${1}" - local perms="${2:-0750}" - local path="${3:-${vbox_inst_path}}" - - [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" - [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." - - insinto ${path} - doins ${binary} - fowners root:vboxusers ${path}/${binary} - fperms ${perms} ${path}/${binary} - } - - # Create configuration files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-4-config" vbox.cfg - - # Set the correct libdir - sed \ - -e "s@MY_LIBDIR@$(get_libdir)@" \ - -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" - - # Install the wrapper script - exeinto ${vbox_inst_path} - newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" - fowners root:vboxusers ${vbox_inst_path}/VBox - fperms 0750 ${vbox_inst_path}/VBox - - # Install binaries and libraries - insinto ${vbox_inst_path} - doins -r components - - # *.rc files for x86_64 are only available on multilib systems - local rcfiles="*.rc" - if use amd64 && ! has_multilib_profile ; then - rcfiles="" - fi - for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 ${rcfiles} iPxeBaseBin ; do - vbox_inst ${each} - done - - # These binaries need to be suid root. - for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do - vbox_inst ${each} 4750 - done - - # Install EFI Firmware files (bug #320757) - for each in VBoxEFI{32,64}.fd ; do - vbox_inst ${each} 0644 - done - - # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) - # VBoxXPCOMIPCD (bug #524202) - for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - # Symlink binaries to the shipped wrapper - for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl - - if use pam ; then - # VRDPAuth only works with this (bug #351949) - dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so - fi - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - if ! use headless ; then - vbox_inst rdesktop-vrdp - vbox_inst VBoxSDL 4750 - pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL - - for each in vboxsdl VBoxSDL ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - if use qt5 ; then - vbox_inst VirtualBox - vbox_inst VirtualBoxVM 4750 - for each in VirtualBox{,VM} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - if use opengl ; then - vbox_inst VBoxTestOGL - pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL - fi - - for each in virtualbox{,vm} VirtualBox{,VM} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - insinto /usr/share/${PN} - doins -r nls - doins -r UnattendedTemplates - - domenu ${PN}.desktop - fi - - pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die - for size in 16 32 48 64 128 ; do - newicon -s ${size} ${PN}-${size}px.png ${PN}.png - done - newicon ${PN}-48px.png ${PN}.png - doicon -s scalable ${PN}.svg - popd &>/dev/null || die - pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die - for size in 16 24 32 48 64 72 96 128 256 512 ; do - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="${PN}-${ico}-${size}px.png" - if [[ -f "${icofile}" ]] ; then - newicon -s ${size} ${icofile} ${PN}-${ico}.png - fi - done - done - popd &>/dev/null || die - fi - - if use lvm ; then - vbox_inst VBoxVolInfo 4750 - dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo - fi - - if use sdk ; then - insinto ${vbox_inst_path} - doins -r sdk - - if use java ; then - java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" - java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" - fi - fi - - if use udev ; then - # New way of handling USB device nodes for VBox (bug #356215) - local udevdir="$(get_udevdir)" - insinto ${udevdir} - doins VBoxCreateUSBNode.sh - fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh - fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh - insinto ${udevdir}/rules.d - sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ - > "${T}"/10-virtualbox.rules || die - doins "${T}"/10-virtualbox.rules - fi - - if use vboxwebsrv ; then - vbox_inst vboxwebsrv - dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - # Fix version string in extensions or else they don't get accepted - # by the virtualbox host process (see bug #438930) - find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ - | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ - || die - - local extensions_dir="${vbox_inst_path}/ExtensionPacks" - - if use vnc ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/VNC - fi - - if use dtrace ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack - fi - - if use doc ; then - dodoc UserManual.pdf - fi - - newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf -} - -pkg_preinst() { - xdg_pkg_preinst -} - -pkg_postinst() { - xdg_pkg_postinst - - if use udev ; then - udevadm control --reload-rules \ - && udevadm trigger --subsystem-match=usb - fi - - tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf - - if ! use headless && use qt5 ; then - elog "To launch VirtualBox just type: \"virtualbox\"." - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The latest user manual is available for download at:" - elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf" - elog "" - elog "For advanced networking setups you should emerge:" - elog "net-misc/bridge-utils and sys-apps/usermode-utilities" - elog "" - elog "Starting with version 4.0.0, ${PN} has USB-1 support." - elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - elog "package." - elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" - elog "the \"extension\" USE flag. For installation of the guest additions ISO" - elog "image, please emerge" - elog " app-emulation/virtualbox-additions" - elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - if ! use udev ; then - elog "" - elog "WARNING!" - elog "Without USE=udev, USB devices will likely not work in ${PN}." - elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then - elog "" - elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" - elog "or else USB in ${PN} won't work." - fi -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/app-emulation/virtualbox/virtualbox-6.1.12a.ebuild b/app-emulation/virtualbox/virtualbox-6.1.12a.ebuild deleted file mode 100644 index f207651526b6..000000000000 --- a/app-emulation/virtualbox/virtualbox-6.1.12a.ebuild +++ /dev/null @@ -1,512 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg - -MY_PN="VirtualBox" -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}-${MY_PV} -[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" - -DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz" - -LICENSE="GPL-2 dtrace? ( CDDL )" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" - -CDEPEND=" - ${PYTHON_DEPS} - !app-emulation/virtualbox-bin - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}} - dev-libs/libIDL - >=dev-libs/libxslt-1.1.19 - net-misc/curl - dev-libs/libxml2 - media-libs/libpng:0= - media-libs/libvpx:0= - sys-libs/zlib:= - !headless? ( - media-libs/libsdl:0[X,video] - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - opengl? ( media-libs/libglvnd[X] ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - opengl? ( dev-qt/qtopengl:5 ) - x11-libs/libXinerama - ) - ) - libressl? ( dev-libs/libressl:= ) - !libressl? ( dev-libs/openssl:0= ) - lvm? ( sys-fs/lvm2 ) - opus? ( media-libs/opus ) - udev? ( >=virtual/udev-171 ) - vnc? ( >=net-libs/libvncserver-0.9.9 ) -" -DEPEND=" - ${CDEPEND} - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - !headless? ( - x11-libs/libXinerama - opengl? ( virtual/opengl ) - ) - pam? ( sys-libs/pam ) - pax_kernel? ( sys-apps/elfix ) - pulseaudio? ( media-sound/pulseaudio ) - qt5? ( dev-qt/linguist-tools:5 ) - vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/libcap - sys-power/iasl - virtual/pkgconfig - doc? ( - app-text/docbook-sgml-dtd:4.4 - dev-texlive/texlive-basic - dev-texlive/texlive-latex - dev-texlive/texlive-latexrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-fontsextra - ) - java? ( >=virtual/jdk-1.6 ) -" -RDEPEND=" - ${CDEPEND} - java? ( >=virtual/jre-1.6 ) -" - -QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so - usr/lib/virtualbox/VBoxSDL.so - usr/lib/virtualbox/VBoxSharedFolders.so - usr/lib/virtualbox/VBoxDD2.so - usr/lib/virtualbox/VBoxOGLrenderspu.so - usr/lib/virtualbox/VBoxPython.so - usr/lib/virtualbox/VBoxDD.so - usr/lib/virtualbox/VBoxDDU.so - usr/lib/virtualbox/VBoxREM64.so - usr/lib/virtualbox/VBoxSharedClipboard.so - usr/lib/virtualbox/VBoxHeadless.so - usr/lib/virtualbox/VBoxRT.so - usr/lib/virtualbox/VBoxREM.so - usr/lib/virtualbox/VBoxSettings.so - usr/lib/virtualbox/VBoxKeyboard.so - usr/lib/virtualbox/VBoxSharedCrOpenGL.so - usr/lib/virtualbox/VBoxVMM.so - usr/lib/virtualbox/VirtualBox.so - usr/lib/virtualbox/VBoxOGLhosterrorspu.so - usr/lib/virtualbox/components/VBoxC.so - usr/lib/virtualbox/components/VBoxSVCM.so - usr/lib/virtualbox/components/VBoxDDU.so - usr/lib/virtualbox/components/VBoxRT.so - usr/lib/virtualbox/components/VBoxREM.so - usr/lib/virtualbox/components/VBoxVMM.so - usr/lib/virtualbox/VBoxREM32.so - usr/lib/virtualbox/VBoxPython2_7.so - usr/lib/virtualbox/VBoxXPCOMC.so - usr/lib/virtualbox/VBoxOGLhostcrutil.so - usr/lib/virtualbox/VBoxNetDHCP.so - usr/lib/virtualbox/VBoxNetNAT.so" - -S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}" - -REQUIRED_USE=" - java? ( sdk ) - python? ( sdk ) - vboxwebsrv? ( java ) - ${PYTHON_REQUIRED_USE} -" - -pkg_pretend() { - if ! use headless && ! use qt5 ; then - einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." - elif use headless && use qt5 ; then - einfo "You selected USE=\"headless qt5\", defaulting to" - einfo "USE=\"headless\", this build will not include any X11/Qt frontend." - fi - - if ! use opengl ; then - einfo "No USE=\"opengl\" selected, this build will lack" - einfo "the OpenGL feature." - fi - if ! use python ; then - einfo "You have disabled the \"python\" USE flag. This will only" - einfo "disable the python bindings being installed." - fi -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup - - tc-ld-disable-gold #bug 488176 - tc-export CC CXX LD AR RANLIB - export HOST_CC="$(tc-getBUILD_CC)" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Replace pointless GCC version check with something less stupid. - # This is needed for the qt5 version check. - sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ - -i configure || die - - # Disable things unused or split into separate ebuilds - sed -e "s@MY_LIBDIR@$(get_libdir)@" \ - "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die - - # Respect LDFLAGS - sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ - -i Config.kmk src/libs/xpcom18a4/Config.kmk || die - - # Do not use hard-coded ld (related to bug #488176) - sed -e '/QUIET)ld /s@ld @$(LD) @' \ - -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die - - # Use PAM only when pam USE flag is enbaled (bug #376531) - if ! use pam ; then - elog "Disabling PAM removes the possibility to use the VRDP features." - sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die - sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ - src/VBox/HostServices/Makefile.kmk || die - fi - - # add correct java path - if use java ; then - sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ - -i "${S}"/Config.kmk || die - java-pkg-opt-2_src_prepare - fi - - # Only add nopie patch when we're on hardened - if gcc-specs-pie ; then - eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" - fi - - # Only add paxmark patch when we're on pax_kernel - if use pax_kernel ; then - eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch - fi - - eapply "${WORKDIR}/patches" - - eapply_user -} - -doecho() { - echo "$@" - "$@" || die -} - -src_configure() { - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --disable-dbus - --disable-kmods - $(usex alsa '' --disable-alsa) - $(usex debug --build-debug '') - $(usex doc '' --disable-docs) - $(usex java '' --disable-java) - $(usex lvm '' --disable-devmapper) - $(usex opus '' --disable-libopus) - $(usex pulseaudio '' --disable-pulse) - $(usex python '' --disable-python) - $(usex vboxwebsrv --enable-webservice '') - $(usex vnc --enable-vnc '') - ) - if ! use headless ; then - myconf+=( - $(usex opengl '' --disable-opengl) - $(usex qt5 '' --disable-qt) - ) - else - myconf+=( - --build-headless - --disable-opengl - ) - fi - if use amd64 && ! has_multilib_profile ; then - myconf+=( --disable-vmmraw ) - fi - # not an autoconf script - doecho ./configure ${myconf[@]} -} - -src_compile() { - source ./env.sh || die - - # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) - MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ - VBOX_WITH_VBOXIMGMOUNT=1 \ - all -} - -src_install() { - cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die - - local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile - - vbox_inst() { - local binary="${1}" - local perms="${2:-0750}" - local path="${3:-${vbox_inst_path}}" - - [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" - [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." - - insinto ${path} - doins ${binary} - fowners root:vboxusers ${path}/${binary} - fperms ${perms} ${path}/${binary} - } - - # Create configuration files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-4-config" vbox.cfg - - # Set the correct libdir - sed \ - -e "s@MY_LIBDIR@$(get_libdir)@" \ - -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" - - # Install the wrapper script - exeinto ${vbox_inst_path} - newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" - fowners root:vboxusers ${vbox_inst_path}/VBox - fperms 0750 ${vbox_inst_path}/VBox - - # Install binaries and libraries - insinto ${vbox_inst_path} - doins -r components - - for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do - vbox_inst ${each} - done - - # These binaries need to be suid root. - for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do - vbox_inst ${each} 4750 - done - - # Install EFI Firmware files (bug #320757) - for each in VBoxEFI{32,64}.fd ; do - vbox_inst ${each} 0644 - done - - # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) - # VBoxXPCOMIPCD (bug #524202) - for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - # Symlink binaries to the shipped wrapper - for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl - dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount - - if use pam ; then - # VRDPAuth only works with this (bug #351949) - dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so - fi - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - if ! use headless ; then - vbox_inst rdesktop-vrdp - vbox_inst VBoxSDL 4750 - pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL - - for each in vboxsdl VBoxSDL ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - if use qt5 ; then - vbox_inst VirtualBox - vbox_inst VirtualBoxVM 4750 - for each in VirtualBox{,VM} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - if use opengl ; then - vbox_inst VBoxTestOGL - pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL - fi - - for each in virtualbox{,vm} VirtualBox{,VM} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - insinto /usr/share/${PN} - doins -r nls - doins -r UnattendedTemplates - - domenu ${PN}.desktop - fi - - pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die - for size in 16 32 48 64 128 ; do - newicon -s ${size} ${PN}-${size}px.png ${PN}.png - done - newicon ${PN}-48px.png ${PN}.png - doicon -s scalable ${PN}.svg - popd &>/dev/null || die - pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die - for size in 16 24 32 48 64 72 96 128 256 512 ; do - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="${PN}-${ico}-${size}px.png" - if [[ -f "${icofile}" ]] ; then - newicon -s ${size} ${icofile} ${PN}-${ico}.png - fi - done - done - popd &>/dev/null || die - fi - - if use lvm ; then - vbox_inst VBoxVolInfo 4750 - dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo - fi - - if use sdk ; then - insinto ${vbox_inst_path} - doins -r sdk - - if use java ; then - java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" - java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" - fi - fi - - if use udev ; then - # New way of handling USB device nodes for VBox (bug #356215) - local udevdir="$(get_udevdir)" - insinto ${udevdir} - doins VBoxCreateUSBNode.sh - fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh - fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh - insinto ${udevdir}/rules.d - sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ - > "${T}"/10-virtualbox.rules || die - doins "${T}"/10-virtualbox.rules - fi - - if use vboxwebsrv ; then - vbox_inst vboxwebsrv - dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - # Remove dead symlinks (bug #715338) - find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die - - # Fix version string in extensions or else they don't get accepted - # by the virtualbox host process (see bug #438930) - find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ - | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ - || die - - local extensions_dir="${vbox_inst_path}/ExtensionPacks" - - if use vnc ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/VNC - fi - - if use dtrace ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack - fi - - if use doc ; then - dodoc UserManual.pdf - fi - - newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf -} - -pkg_preinst() { - xdg_pkg_preinst -} - -pkg_postinst() { - xdg_pkg_postinst - - if use udev ; then - udevadm control --reload-rules \ - && udevadm trigger --subsystem-match=usb - fi - - tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf - - if ! use headless && use qt5 ; then - elog "To launch VirtualBox just type: \"virtualbox\"." - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The latest user manual is available for download at:" - elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" - elog "" - elog "For advanced networking setups you should emerge:" - elog "net-misc/bridge-utils and sys-apps/usermode-utilities" - elog "" - elog "Starting with version 4.0.0, ${PN} has USB-1 support." - elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - elog "package." - elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" - elog "the \"extension\" USE flag. For installation of the guest additions ISO" - elog "image, please emerge" - elog " app-emulation/virtualbox-additions" - elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - if ! use udev ; then - elog "" - elog "WARNING!" - elog "Without USE=udev, USB devices will likely not work in ${PN}." - elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then - elog "" - elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" - elog "or else USB in ${PN} won't work." - fi -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/app-emulation/virtualbox/virtualbox-6.1.14a.ebuild b/app-emulation/virtualbox/virtualbox-6.1.14a.ebuild deleted file mode 100644 index f207651526b6..000000000000 --- a/app-emulation/virtualbox/virtualbox-6.1.14a.ebuild +++ /dev/null @@ -1,512 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg - -MY_PN="VirtualBox" -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}-${MY_PV} -[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" - -DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz" - -LICENSE="GPL-2 dtrace? ( CDDL )" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" - -CDEPEND=" - ${PYTHON_DEPS} - !app-emulation/virtualbox-bin - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}} - dev-libs/libIDL - >=dev-libs/libxslt-1.1.19 - net-misc/curl - dev-libs/libxml2 - media-libs/libpng:0= - media-libs/libvpx:0= - sys-libs/zlib:= - !headless? ( - media-libs/libsdl:0[X,video] - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - opengl? ( media-libs/libglvnd[X] ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - opengl? ( dev-qt/qtopengl:5 ) - x11-libs/libXinerama - ) - ) - libressl? ( dev-libs/libressl:= ) - !libressl? ( dev-libs/openssl:0= ) - lvm? ( sys-fs/lvm2 ) - opus? ( media-libs/opus ) - udev? ( >=virtual/udev-171 ) - vnc? ( >=net-libs/libvncserver-0.9.9 ) -" -DEPEND=" - ${CDEPEND} - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - !headless? ( - x11-libs/libXinerama - opengl? ( virtual/opengl ) - ) - pam? ( sys-libs/pam ) - pax_kernel? ( sys-apps/elfix ) - pulseaudio? ( media-sound/pulseaudio ) - qt5? ( dev-qt/linguist-tools:5 ) - vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/libcap - sys-power/iasl - virtual/pkgconfig - doc? ( - app-text/docbook-sgml-dtd:4.4 - dev-texlive/texlive-basic - dev-texlive/texlive-latex - dev-texlive/texlive-latexrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-fontsextra - ) - java? ( >=virtual/jdk-1.6 ) -" -RDEPEND=" - ${CDEPEND} - java? ( >=virtual/jre-1.6 ) -" - -QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so - usr/lib/virtualbox/VBoxSDL.so - usr/lib/virtualbox/VBoxSharedFolders.so - usr/lib/virtualbox/VBoxDD2.so - usr/lib/virtualbox/VBoxOGLrenderspu.so - usr/lib/virtualbox/VBoxPython.so - usr/lib/virtualbox/VBoxDD.so - usr/lib/virtualbox/VBoxDDU.so - usr/lib/virtualbox/VBoxREM64.so - usr/lib/virtualbox/VBoxSharedClipboard.so - usr/lib/virtualbox/VBoxHeadless.so - usr/lib/virtualbox/VBoxRT.so - usr/lib/virtualbox/VBoxREM.so - usr/lib/virtualbox/VBoxSettings.so - usr/lib/virtualbox/VBoxKeyboard.so - usr/lib/virtualbox/VBoxSharedCrOpenGL.so - usr/lib/virtualbox/VBoxVMM.so - usr/lib/virtualbox/VirtualBox.so - usr/lib/virtualbox/VBoxOGLhosterrorspu.so - usr/lib/virtualbox/components/VBoxC.so - usr/lib/virtualbox/components/VBoxSVCM.so - usr/lib/virtualbox/components/VBoxDDU.so - usr/lib/virtualbox/components/VBoxRT.so - usr/lib/virtualbox/components/VBoxREM.so - usr/lib/virtualbox/components/VBoxVMM.so - usr/lib/virtualbox/VBoxREM32.so - usr/lib/virtualbox/VBoxPython2_7.so - usr/lib/virtualbox/VBoxXPCOMC.so - usr/lib/virtualbox/VBoxOGLhostcrutil.so - usr/lib/virtualbox/VBoxNetDHCP.so - usr/lib/virtualbox/VBoxNetNAT.so" - -S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}" - -REQUIRED_USE=" - java? ( sdk ) - python? ( sdk ) - vboxwebsrv? ( java ) - ${PYTHON_REQUIRED_USE} -" - -pkg_pretend() { - if ! use headless && ! use qt5 ; then - einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." - elif use headless && use qt5 ; then - einfo "You selected USE=\"headless qt5\", defaulting to" - einfo "USE=\"headless\", this build will not include any X11/Qt frontend." - fi - - if ! use opengl ; then - einfo "No USE=\"opengl\" selected, this build will lack" - einfo "the OpenGL feature." - fi - if ! use python ; then - einfo "You have disabled the \"python\" USE flag. This will only" - einfo "disable the python bindings being installed." - fi -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup - - tc-ld-disable-gold #bug 488176 - tc-export CC CXX LD AR RANLIB - export HOST_CC="$(tc-getBUILD_CC)" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Replace pointless GCC version check with something less stupid. - # This is needed for the qt5 version check. - sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ - -i configure || die - - # Disable things unused or split into separate ebuilds - sed -e "s@MY_LIBDIR@$(get_libdir)@" \ - "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die - - # Respect LDFLAGS - sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ - -i Config.kmk src/libs/xpcom18a4/Config.kmk || die - - # Do not use hard-coded ld (related to bug #488176) - sed -e '/QUIET)ld /s@ld @$(LD) @' \ - -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die - - # Use PAM only when pam USE flag is enbaled (bug #376531) - if ! use pam ; then - elog "Disabling PAM removes the possibility to use the VRDP features." - sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die - sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ - src/VBox/HostServices/Makefile.kmk || die - fi - - # add correct java path - if use java ; then - sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ - -i "${S}"/Config.kmk || die - java-pkg-opt-2_src_prepare - fi - - # Only add nopie patch when we're on hardened - if gcc-specs-pie ; then - eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" - fi - - # Only add paxmark patch when we're on pax_kernel - if use pax_kernel ; then - eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch - fi - - eapply "${WORKDIR}/patches" - - eapply_user -} - -doecho() { - echo "$@" - "$@" || die -} - -src_configure() { - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --disable-dbus - --disable-kmods - $(usex alsa '' --disable-alsa) - $(usex debug --build-debug '') - $(usex doc '' --disable-docs) - $(usex java '' --disable-java) - $(usex lvm '' --disable-devmapper) - $(usex opus '' --disable-libopus) - $(usex pulseaudio '' --disable-pulse) - $(usex python '' --disable-python) - $(usex vboxwebsrv --enable-webservice '') - $(usex vnc --enable-vnc '') - ) - if ! use headless ; then - myconf+=( - $(usex opengl '' --disable-opengl) - $(usex qt5 '' --disable-qt) - ) - else - myconf+=( - --build-headless - --disable-opengl - ) - fi - if use amd64 && ! has_multilib_profile ; then - myconf+=( --disable-vmmraw ) - fi - # not an autoconf script - doecho ./configure ${myconf[@]} -} - -src_compile() { - source ./env.sh || die - - # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) - MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ - VBOX_WITH_VBOXIMGMOUNT=1 \ - all -} - -src_install() { - cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die - - local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile - - vbox_inst() { - local binary="${1}" - local perms="${2:-0750}" - local path="${3:-${vbox_inst_path}}" - - [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" - [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." - - insinto ${path} - doins ${binary} - fowners root:vboxusers ${path}/${binary} - fperms ${perms} ${path}/${binary} - } - - # Create configuration files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-4-config" vbox.cfg - - # Set the correct libdir - sed \ - -e "s@MY_LIBDIR@$(get_libdir)@" \ - -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" - - # Install the wrapper script - exeinto ${vbox_inst_path} - newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" - fowners root:vboxusers ${vbox_inst_path}/VBox - fperms 0750 ${vbox_inst_path}/VBox - - # Install binaries and libraries - insinto ${vbox_inst_path} - doins -r components - - for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do - vbox_inst ${each} - done - - # These binaries need to be suid root. - for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do - vbox_inst ${each} 4750 - done - - # Install EFI Firmware files (bug #320757) - for each in VBoxEFI{32,64}.fd ; do - vbox_inst ${each} 0644 - done - - # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) - # VBoxXPCOMIPCD (bug #524202) - for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - # Symlink binaries to the shipped wrapper - for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl - dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount - - if use pam ; then - # VRDPAuth only works with this (bug #351949) - dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so - fi - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - if ! use headless ; then - vbox_inst rdesktop-vrdp - vbox_inst VBoxSDL 4750 - pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL - - for each in vboxsdl VBoxSDL ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - if use qt5 ; then - vbox_inst VirtualBox - vbox_inst VirtualBoxVM 4750 - for each in VirtualBox{,VM} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - if use opengl ; then - vbox_inst VBoxTestOGL - pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL - fi - - for each in virtualbox{,vm} VirtualBox{,VM} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - insinto /usr/share/${PN} - doins -r nls - doins -r UnattendedTemplates - - domenu ${PN}.desktop - fi - - pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die - for size in 16 32 48 64 128 ; do - newicon -s ${size} ${PN}-${size}px.png ${PN}.png - done - newicon ${PN}-48px.png ${PN}.png - doicon -s scalable ${PN}.svg - popd &>/dev/null || die - pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die - for size in 16 24 32 48 64 72 96 128 256 512 ; do - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="${PN}-${ico}-${size}px.png" - if [[ -f "${icofile}" ]] ; then - newicon -s ${size} ${icofile} ${PN}-${ico}.png - fi - done - done - popd &>/dev/null || die - fi - - if use lvm ; then - vbox_inst VBoxVolInfo 4750 - dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo - fi - - if use sdk ; then - insinto ${vbox_inst_path} - doins -r sdk - - if use java ; then - java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" - java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" - fi - fi - - if use udev ; then - # New way of handling USB device nodes for VBox (bug #356215) - local udevdir="$(get_udevdir)" - insinto ${udevdir} - doins VBoxCreateUSBNode.sh - fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh - fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh - insinto ${udevdir}/rules.d - sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ - > "${T}"/10-virtualbox.rules || die - doins "${T}"/10-virtualbox.rules - fi - - if use vboxwebsrv ; then - vbox_inst vboxwebsrv - dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - # Remove dead symlinks (bug #715338) - find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die - - # Fix version string in extensions or else they don't get accepted - # by the virtualbox host process (see bug #438930) - find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ - | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ - || die - - local extensions_dir="${vbox_inst_path}/ExtensionPacks" - - if use vnc ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/VNC - fi - - if use dtrace ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack - fi - - if use doc ; then - dodoc UserManual.pdf - fi - - newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf -} - -pkg_preinst() { - xdg_pkg_preinst -} - -pkg_postinst() { - xdg_pkg_postinst - - if use udev ; then - udevadm control --reload-rules \ - && udevadm trigger --subsystem-match=usb - fi - - tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf - - if ! use headless && use qt5 ; then - elog "To launch VirtualBox just type: \"virtualbox\"." - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The latest user manual is available for download at:" - elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" - elog "" - elog "For advanced networking setups you should emerge:" - elog "net-misc/bridge-utils and sys-apps/usermode-utilities" - elog "" - elog "Starting with version 4.0.0, ${PN} has USB-1 support." - elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - elog "package." - elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" - elog "the \"extension\" USE flag. For installation of the guest additions ISO" - elog "image, please emerge" - elog " app-emulation/virtualbox-additions" - elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - if ! use udev ; then - elog "" - elog "WARNING!" - elog "Without USE=udev, USB devices will likely not work in ${PN}." - elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then - elog "" - elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" - elog "or else USB in ${PN} won't work." - fi -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/app-emulation/virtualbox/virtualbox-6.1.16-r1.ebuild b/app-emulation/virtualbox/virtualbox-6.1.16-r1.ebuild new file mode 100644 index 000000000000..407cae5c0acd --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-6.1.16-r1.ebuild @@ -0,0 +1,512 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) +inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg + +MY_PN="VirtualBox" +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}-${MY_PV} +[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz" + +LICENSE="GPL-2 dtrace? ( CDDL )" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" + +CDEPEND=" + ${PYTHON_DEPS} + !app-emulation/virtualbox-bin + acct-group/vboxusers + ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}} + dev-libs/libIDL + >=dev-libs/libxslt-1.1.19 + net-misc/curl + dev-libs/libxml2 + media-libs/libpng:0= + media-libs/libvpx:0= + sys-libs/zlib:= + !headless? ( + media-libs/libsdl:0[X,video] + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + opengl? ( media-libs/libglvnd[X] ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + opengl? ( dev-qt/qtopengl:5 ) + x11-libs/libXinerama + ) + ) + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:0= ) + lvm? ( sys-fs/lvm2 ) + opus? ( media-libs/opus ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 ) +" +DEPEND=" + ${CDEPEND} + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + !headless? ( + x11-libs/libXinerama + opengl? ( virtual/opengl ) + ) + pam? ( sys-libs/pam ) + pax_kernel? ( sys-apps/elfix ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( dev-qt/linguist-tools:5 ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/libcap + sys-power/iasl + virtual/pkgconfig + doc? ( + app-text/docbook-sgml-dtd:4.4 + dev-texlive/texlive-basic + dev-texlive/texlive-latex + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-fontsextra + ) + java? ( >=virtual/jdk-1.6 ) +" +RDEPEND=" + ${CDEPEND} + java? ( >=virtual/jre-1.6 ) +" + +QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so + usr/lib/virtualbox/VBoxSDL.so + usr/lib/virtualbox/VBoxSharedFolders.so + usr/lib/virtualbox/VBoxDD2.so + usr/lib/virtualbox/VBoxOGLrenderspu.so + usr/lib/virtualbox/VBoxPython.so + usr/lib/virtualbox/VBoxDD.so + usr/lib/virtualbox/VBoxDDU.so + usr/lib/virtualbox/VBoxREM64.so + usr/lib/virtualbox/VBoxSharedClipboard.so + usr/lib/virtualbox/VBoxHeadless.so + usr/lib/virtualbox/VBoxRT.so + usr/lib/virtualbox/VBoxREM.so + usr/lib/virtualbox/VBoxSettings.so + usr/lib/virtualbox/VBoxKeyboard.so + usr/lib/virtualbox/VBoxSharedCrOpenGL.so + usr/lib/virtualbox/VBoxVMM.so + usr/lib/virtualbox/VirtualBox.so + usr/lib/virtualbox/VBoxOGLhosterrorspu.so + usr/lib/virtualbox/components/VBoxC.so + usr/lib/virtualbox/components/VBoxSVCM.so + usr/lib/virtualbox/components/VBoxDDU.so + usr/lib/virtualbox/components/VBoxRT.so + usr/lib/virtualbox/components/VBoxREM.so + usr/lib/virtualbox/components/VBoxVMM.so + usr/lib/virtualbox/VBoxREM32.so + usr/lib/virtualbox/VBoxPython2_7.so + usr/lib/virtualbox/VBoxXPCOMC.so + usr/lib/virtualbox/VBoxOGLhostcrutil.so + usr/lib/virtualbox/VBoxNetDHCP.so + usr/lib/virtualbox/VBoxNetNAT.so" + +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +pkg_pretend() { + if ! use headless && ! use qt5 ; then + einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." + elif use headless && use qt5 ; then + einfo "You selected USE=\"headless qt5\", defaulting to" + einfo "USE=\"headless\", this build will not include any X11/Qt frontend." + fi + + if ! use opengl ; then + einfo "No USE=\"opengl\" selected, this build will lack" + einfo "the OpenGL feature." + fi + if ! use python ; then + einfo "You have disabled the \"python\" USE flag. This will only" + einfo "disable the python bindings being installed." + fi +} + +pkg_setup() { + java-pkg-opt-2_pkg_setup + python-single-r1_pkg_setup + + tc-ld-disable-gold #bug 488176 + tc-export CC CXX LD AR RANLIB + export HOST_CC="$(tc-getBUILD_CC)" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Replace pointless GCC version check with something less stupid. + # This is needed for the qt5 version check. + sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ + -i configure || die + + # Disable things unused or split into separate ebuilds + sed -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die + + # Respect LDFLAGS + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die + + # Do not use hard-coded ld (related to bug #488176) + sed -e '/QUIET)ld /s@ld @$(LD) @' \ + -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die + + # Use PAM only when pam USE flag is enbaled (bug #376531) + if ! use pam ; then + elog "Disabling PAM removes the possibility to use the VRDP features." + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ + src/VBox/HostServices/Makefile.kmk || die + fi + + # add correct java path + if use java ; then + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ + -i "${S}"/Config.kmk || die + java-pkg-opt-2_src_prepare + fi + + # Only add nopie patch when we're on hardened + if gcc-specs-pie ; then + eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" + fi + + # Only add paxmark patch when we're on pax_kernel + if use pax_kernel ; then + eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch + fi + + eapply "${WORKDIR}/patches" + + eapply_user +} + +doecho() { + echo "$@" + "$@" || die +} + +src_configure() { + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --disable-dbus + --disable-kmods + $(usex alsa '' --disable-alsa) + $(usex debug --build-debug '') + $(usex doc '' --disable-docs) + $(usex java '' --disable-java) + $(usex lvm '' --disable-devmapper) + $(usex opus '' --disable-libopus) + $(usex pulseaudio '' --disable-pulse) + $(usex python '' --disable-python) + $(usex vboxwebsrv --enable-webservice '') + $(usex vnc --enable-vnc '') + ) + if ! use headless ; then + myconf+=( + $(usex opengl '' --disable-opengl) + $(usex qt5 '' --disable-qt) + ) + else + myconf+=( + --build-headless + --disable-opengl + ) + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=( --disable-vmmraw ) + fi + # not an autoconf script + doecho ./configure ${myconf[@]} +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ + VBOX_WITH_VBOXIMGMOUNT=1 \ + all +} + +src_install() { + cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die + + local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile + + vbox_inst() { + local binary="${1}" + local perms="${2:-0750}" + local path="${3:-${vbox_inst_path}}" + + [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." + + insinto ${path} + doins ${binary} + fowners root:vboxusers ${path}/${binary} + fperms ${perms} ${path}/${binary} + } + + # Create configuration files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-4-config" vbox.cfg + + # Set the correct libdir + sed \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" + + # Install the wrapper script + exeinto ${vbox_inst_path} + newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" + fowners root:vboxusers ${vbox_inst_path}/VBox + fperms 0750 ${vbox_inst_path}/VBox + + # Install binaries and libraries + insinto ${vbox_inst_path} + doins -r components + + for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do + vbox_inst ${each} + done + + # These binaries need to be suid root. + for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do + vbox_inst ${each} 4750 + done + + # Install EFI Firmware files (bug #320757) + for each in VBoxEFI{32,64}.fd ; do + vbox_inst ${each} 0644 + done + + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) + # VBoxXPCOMIPCD (bug #524202) + for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + # Symlink binaries to the shipped wrapper + for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl + dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount + + if use pam ; then + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so + fi + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + if ! use headless ; then + vbox_inst rdesktop-vrdp + vbox_inst VBoxSDL 4750 + pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL + + for each in vboxsdl VBoxSDL ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + if use qt5 ; then + vbox_inst VirtualBox + vbox_inst VirtualBoxVM 4750 + for each in VirtualBox{,VM} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + if use opengl ; then + vbox_inst VBoxTestOGL + pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL + fi + + for each in virtualbox{,vm} VirtualBox{,VM} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + insinto /usr/share/${PN} + doins -r nls + doins -r UnattendedTemplates + + domenu ${PN}.desktop + fi + + pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die + for size in 16 32 48 64 128 ; do + newicon -s ${size} ${PN}-${size}px.png ${PN}.png + done + newicon ${PN}-48px.png ${PN}.png + doicon -s scalable ${PN}.svg + popd &>/dev/null || die + pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die + for size in 16 24 32 48 64 72 96 128 256 512 ; do + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="${PN}-${ico}-${size}px.png" + if [[ -f "${icofile}" ]] ; then + newicon -s ${size} ${icofile} ${PN}-${ico}.png + fi + done + done + popd &>/dev/null || die + fi + + if use lvm ; then + vbox_inst VBoxVolInfo 4750 + dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo + fi + + if use sdk ; then + insinto ${vbox_inst_path} + doins -r sdk + + if use java ; then + java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" + fi + fi + + if use udev ; then + # New way of handling USB device nodes for VBox (bug #356215) + local udevdir="$(get_udevdir)" + insinto ${udevdir} + doins VBoxCreateUSBNode.sh + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh + insinto ${udevdir}/rules.d + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ + > "${T}"/10-virtualbox.rules || die + doins "${T}"/10-virtualbox.rules + fi + + if use vboxwebsrv ; then + vbox_inst vboxwebsrv + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + # Remove dead symlinks (bug #715338) + find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die + + # Fix version string in extensions or else they don't get accepted + # by the virtualbox host process (see bug #438930) + find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ + | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ + || die + + local extensions_dir="${vbox_inst_path}/ExtensionPacks" + + if use vnc ; then + insinto ${extensions_dir} + doins -r ExtensionPacks/VNC + fi + + if use dtrace ; then + insinto ${extensions_dir} + doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack + fi + + if use doc ; then + dodoc UserManual.pdf + fi + + newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf +} + +pkg_preinst() { + xdg_pkg_preinst +} + +pkg_postinst() { + xdg_pkg_postinst + + if use udev ; then + udevadm control --reload-rules \ + && udevadm trigger --subsystem-match=usb + fi + + tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf + + if ! use headless && use qt5 ; then + elog "To launch VirtualBox just type: \"virtualbox\"." + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "The latest user manual is available for download at:" + elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Starting with version 4.0.0, ${PN} has USB-1 support." + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + elog "package." + elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" + elog "the \"extension\" USE flag. For installation of the guest additions ISO" + elog "image, please emerge" + elog " app-emulation/virtualbox-additions" + elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + if ! use udev ; then + elog "" + elog "WARNING!" + elog "Without USE=udev, USB devices will likely not work in ${PN}." + elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/app-emulation/virtualbox/virtualbox-6.1.16.ebuild b/app-emulation/virtualbox/virtualbox-6.1.16.ebuild deleted file mode 100644 index f207651526b6..000000000000 --- a/app-emulation/virtualbox/virtualbox-6.1.16.ebuild +++ /dev/null @@ -1,512 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg - -MY_PN="VirtualBox" -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}-${MY_PV} -[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" - -DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz" - -LICENSE="GPL-2 dtrace? ( CDDL )" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" - -CDEPEND=" - ${PYTHON_DEPS} - !app-emulation/virtualbox-bin - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}} - dev-libs/libIDL - >=dev-libs/libxslt-1.1.19 - net-misc/curl - dev-libs/libxml2 - media-libs/libpng:0= - media-libs/libvpx:0= - sys-libs/zlib:= - !headless? ( - media-libs/libsdl:0[X,video] - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - opengl? ( media-libs/libglvnd[X] ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - opengl? ( dev-qt/qtopengl:5 ) - x11-libs/libXinerama - ) - ) - libressl? ( dev-libs/libressl:= ) - !libressl? ( dev-libs/openssl:0= ) - lvm? ( sys-fs/lvm2 ) - opus? ( media-libs/opus ) - udev? ( >=virtual/udev-171 ) - vnc? ( >=net-libs/libvncserver-0.9.9 ) -" -DEPEND=" - ${CDEPEND} - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - !headless? ( - x11-libs/libXinerama - opengl? ( virtual/opengl ) - ) - pam? ( sys-libs/pam ) - pax_kernel? ( sys-apps/elfix ) - pulseaudio? ( media-sound/pulseaudio ) - qt5? ( dev-qt/linguist-tools:5 ) - vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/libcap - sys-power/iasl - virtual/pkgconfig - doc? ( - app-text/docbook-sgml-dtd:4.4 - dev-texlive/texlive-basic - dev-texlive/texlive-latex - dev-texlive/texlive-latexrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-fontsextra - ) - java? ( >=virtual/jdk-1.6 ) -" -RDEPEND=" - ${CDEPEND} - java? ( >=virtual/jre-1.6 ) -" - -QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so - usr/lib/virtualbox/VBoxSDL.so - usr/lib/virtualbox/VBoxSharedFolders.so - usr/lib/virtualbox/VBoxDD2.so - usr/lib/virtualbox/VBoxOGLrenderspu.so - usr/lib/virtualbox/VBoxPython.so - usr/lib/virtualbox/VBoxDD.so - usr/lib/virtualbox/VBoxDDU.so - usr/lib/virtualbox/VBoxREM64.so - usr/lib/virtualbox/VBoxSharedClipboard.so - usr/lib/virtualbox/VBoxHeadless.so - usr/lib/virtualbox/VBoxRT.so - usr/lib/virtualbox/VBoxREM.so - usr/lib/virtualbox/VBoxSettings.so - usr/lib/virtualbox/VBoxKeyboard.so - usr/lib/virtualbox/VBoxSharedCrOpenGL.so - usr/lib/virtualbox/VBoxVMM.so - usr/lib/virtualbox/VirtualBox.so - usr/lib/virtualbox/VBoxOGLhosterrorspu.so - usr/lib/virtualbox/components/VBoxC.so - usr/lib/virtualbox/components/VBoxSVCM.so - usr/lib/virtualbox/components/VBoxDDU.so - usr/lib/virtualbox/components/VBoxRT.so - usr/lib/virtualbox/components/VBoxREM.so - usr/lib/virtualbox/components/VBoxVMM.so - usr/lib/virtualbox/VBoxREM32.so - usr/lib/virtualbox/VBoxPython2_7.so - usr/lib/virtualbox/VBoxXPCOMC.so - usr/lib/virtualbox/VBoxOGLhostcrutil.so - usr/lib/virtualbox/VBoxNetDHCP.so - usr/lib/virtualbox/VBoxNetNAT.so" - -S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}" - -REQUIRED_USE=" - java? ( sdk ) - python? ( sdk ) - vboxwebsrv? ( java ) - ${PYTHON_REQUIRED_USE} -" - -pkg_pretend() { - if ! use headless && ! use qt5 ; then - einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." - elif use headless && use qt5 ; then - einfo "You selected USE=\"headless qt5\", defaulting to" - einfo "USE=\"headless\", this build will not include any X11/Qt frontend." - fi - - if ! use opengl ; then - einfo "No USE=\"opengl\" selected, this build will lack" - einfo "the OpenGL feature." - fi - if ! use python ; then - einfo "You have disabled the \"python\" USE flag. This will only" - einfo "disable the python bindings being installed." - fi -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup - - tc-ld-disable-gold #bug 488176 - tc-export CC CXX LD AR RANLIB - export HOST_CC="$(tc-getBUILD_CC)" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Replace pointless GCC version check with something less stupid. - # This is needed for the qt5 version check. - sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ - -i configure || die - - # Disable things unused or split into separate ebuilds - sed -e "s@MY_LIBDIR@$(get_libdir)@" \ - "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die - - # Respect LDFLAGS - sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ - -i Config.kmk src/libs/xpcom18a4/Config.kmk || die - - # Do not use hard-coded ld (related to bug #488176) - sed -e '/QUIET)ld /s@ld @$(LD) @' \ - -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die - - # Use PAM only when pam USE flag is enbaled (bug #376531) - if ! use pam ; then - elog "Disabling PAM removes the possibility to use the VRDP features." - sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die - sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ - src/VBox/HostServices/Makefile.kmk || die - fi - - # add correct java path - if use java ; then - sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ - -i "${S}"/Config.kmk || die - java-pkg-opt-2_src_prepare - fi - - # Only add nopie patch when we're on hardened - if gcc-specs-pie ; then - eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" - fi - - # Only add paxmark patch when we're on pax_kernel - if use pax_kernel ; then - eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch - fi - - eapply "${WORKDIR}/patches" - - eapply_user -} - -doecho() { - echo "$@" - "$@" || die -} - -src_configure() { - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --disable-dbus - --disable-kmods - $(usex alsa '' --disable-alsa) - $(usex debug --build-debug '') - $(usex doc '' --disable-docs) - $(usex java '' --disable-java) - $(usex lvm '' --disable-devmapper) - $(usex opus '' --disable-libopus) - $(usex pulseaudio '' --disable-pulse) - $(usex python '' --disable-python) - $(usex vboxwebsrv --enable-webservice '') - $(usex vnc --enable-vnc '') - ) - if ! use headless ; then - myconf+=( - $(usex opengl '' --disable-opengl) - $(usex qt5 '' --disable-qt) - ) - else - myconf+=( - --build-headless - --disable-opengl - ) - fi - if use amd64 && ! has_multilib_profile ; then - myconf+=( --disable-vmmraw ) - fi - # not an autoconf script - doecho ./configure ${myconf[@]} -} - -src_compile() { - source ./env.sh || die - - # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) - MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ - VBOX_WITH_VBOXIMGMOUNT=1 \ - all -} - -src_install() { - cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die - - local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile - - vbox_inst() { - local binary="${1}" - local perms="${2:-0750}" - local path="${3:-${vbox_inst_path}}" - - [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" - [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." - - insinto ${path} - doins ${binary} - fowners root:vboxusers ${path}/${binary} - fperms ${perms} ${path}/${binary} - } - - # Create configuration files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-4-config" vbox.cfg - - # Set the correct libdir - sed \ - -e "s@MY_LIBDIR@$(get_libdir)@" \ - -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" - - # Install the wrapper script - exeinto ${vbox_inst_path} - newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" - fowners root:vboxusers ${vbox_inst_path}/VBox - fperms 0750 ${vbox_inst_path}/VBox - - # Install binaries and libraries - insinto ${vbox_inst_path} - doins -r components - - for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do - vbox_inst ${each} - done - - # These binaries need to be suid root. - for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do - vbox_inst ${each} 4750 - done - - # Install EFI Firmware files (bug #320757) - for each in VBoxEFI{32,64}.fd ; do - vbox_inst ${each} 0644 - done - - # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) - # VBoxXPCOMIPCD (bug #524202) - for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - # Symlink binaries to the shipped wrapper - for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl - dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount - - if use pam ; then - # VRDPAuth only works with this (bug #351949) - dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so - fi - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - if ! use headless ; then - vbox_inst rdesktop-vrdp - vbox_inst VBoxSDL 4750 - pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL - - for each in vboxsdl VBoxSDL ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - if use qt5 ; then - vbox_inst VirtualBox - vbox_inst VirtualBoxVM 4750 - for each in VirtualBox{,VM} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - if use opengl ; then - vbox_inst VBoxTestOGL - pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL - fi - - for each in virtualbox{,vm} VirtualBox{,VM} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - insinto /usr/share/${PN} - doins -r nls - doins -r UnattendedTemplates - - domenu ${PN}.desktop - fi - - pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die - for size in 16 32 48 64 128 ; do - newicon -s ${size} ${PN}-${size}px.png ${PN}.png - done - newicon ${PN}-48px.png ${PN}.png - doicon -s scalable ${PN}.svg - popd &>/dev/null || die - pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die - for size in 16 24 32 48 64 72 96 128 256 512 ; do - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="${PN}-${ico}-${size}px.png" - if [[ -f "${icofile}" ]] ; then - newicon -s ${size} ${icofile} ${PN}-${ico}.png - fi - done - done - popd &>/dev/null || die - fi - - if use lvm ; then - vbox_inst VBoxVolInfo 4750 - dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo - fi - - if use sdk ; then - insinto ${vbox_inst_path} - doins -r sdk - - if use java ; then - java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" - java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" - fi - fi - - if use udev ; then - # New way of handling USB device nodes for VBox (bug #356215) - local udevdir="$(get_udevdir)" - insinto ${udevdir} - doins VBoxCreateUSBNode.sh - fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh - fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh - insinto ${udevdir}/rules.d - sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ - > "${T}"/10-virtualbox.rules || die - doins "${T}"/10-virtualbox.rules - fi - - if use vboxwebsrv ; then - vbox_inst vboxwebsrv - dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - # Remove dead symlinks (bug #715338) - find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die - - # Fix version string in extensions or else they don't get accepted - # by the virtualbox host process (see bug #438930) - find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ - | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ - || die - - local extensions_dir="${vbox_inst_path}/ExtensionPacks" - - if use vnc ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/VNC - fi - - if use dtrace ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack - fi - - if use doc ; then - dodoc UserManual.pdf - fi - - newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf -} - -pkg_preinst() { - xdg_pkg_preinst -} - -pkg_postinst() { - xdg_pkg_postinst - - if use udev ; then - udevadm control --reload-rules \ - && udevadm trigger --subsystem-match=usb - fi - - tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf - - if ! use headless && use qt5 ; then - elog "To launch VirtualBox just type: \"virtualbox\"." - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The latest user manual is available for download at:" - elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" - elog "" - elog "For advanced networking setups you should emerge:" - elog "net-misc/bridge-utils and sys-apps/usermode-utilities" - elog "" - elog "Starting with version 4.0.0, ${PN} has USB-1 support." - elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - elog "package." - elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" - elog "the \"extension\" USE flag. For installation of the guest additions ISO" - elog "image, please emerge" - elog " app-emulation/virtualbox-additions" - elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - if ! use udev ; then - elog "" - elog "WARNING!" - elog "Without USE=udev, USB devices will likely not work in ${PN}." - elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then - elog "" - elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" - elog "or else USB in ${PN} won't work." - fi -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/app-emulation/wine-gecko/Manifest b/app-emulation/wine-gecko/Manifest index 8d8444ade76d..5b4a873008c4 100644 --- a/app-emulation/wine-gecko/Manifest +++ b/app-emulation/wine-gecko/Manifest @@ -1,7 +1,10 @@ DIST wine-gecko-2.47.1-x86.msi 50735104 BLAKE2B c082e22fdbf1681e0c38e8822bc1a8f99b47d91f7d32f22bfad716685553d3d10fd4004f90135d90f39f4ff05cba37665455679e08ce3a140ca8ded76cb7a9ea SHA512 ef13838bf7d5bdd74d06bbbdccc6b18cc75b4d0c2b3db8c978b9500cdfeb058bf5532d89b77c164eab52c1f93ae2e2540b37f6694a3e560aace3ebc7da2c7596 DIST wine-gecko-2.47.1-x86_64.msi 52311040 BLAKE2B 2a9aa68461d2b9f69ada1e50925de7ba9804a4992c9d0a717c9c5d1340179e7f10e550c8db170bb33c79e24dcd068e00648c572c6b4e4d836a507ada6e7bbccd SHA512 f875d9a7c68a33abf6dd25d61ff6dd3e5ff246768880e3ee4984ab63b065a7b0ef55411b710e4cb9db48bd2114cbd3fbd97f24e819d7d71c2212dd612abaaf43 +DIST wine-gecko-2.47.2-x86.msi 59162112 BLAKE2B 75197c5145dd047d637ea950ed1df918b79446bbb5aae642a90d95af96870cd1756b8469deca105d986ae2dc166ad1b2b89dd7e16c7d13baa4b215b30c3ba909 SHA512 4e6e688fada1edd3d7e0e131246dcae8c6db1a2fde946540b6f8c8b2deee8aa19f210368132f00789d4f49bf2b5e5ac671d4d3699f557e652ece50e55fbcbd43 +DIST wine-gecko-2.47.2-x86_64.msi 55354880 BLAKE2B c234602e29a6597d26e7a78ec85ac66471ecd8fcea5360d6f32323e4cbee4aca2ccd5530706e8779346ff2d08f1c4900fef198763e431ce7cd232ef117933336 SHA512 9bbaf061d5d2035e6df0898a847697bbed071abaf95ccde08b5ace7a2c6fc871db16443596b23a889def82f98591973fe8ca88063021d8779f8faa48973f239c DIST wine_gecko-2.47-x86.msi 49266176 BLAKE2B 6b1d4ebf53fac422c2da9ae7f5b6ab9064d2b6cc20d57fe13707395e71305ac1607a440624d3a545fe1e0391bc92bf5b594173549e519eda967bb833b69b2f52 SHA512 e0d06102dcb8ec2d24e8c8c3f5c2ee5cb47c18e203dfb43d85de008d682ff874fb664fef1df909a5a7857de39c7e8ce5175e734a11964ec4cd35f8fbacaea3a4 DIST wine_gecko-2.47-x86_64.msi 50806272 BLAKE2B 6f91d4661a322eca41042cb7a246d5bff76ab72b4bda67183fc36735c923bd6d76624f21fd3e59f63fd872704edcf0116a6e7ab4fa6f074f5098c8fb5307534c SHA512 7c2496b15a06bc6906bc60afb3ac082e3f9931207fa624e60297020211d66aa9b420a61e95730a0dbdcefbe4b26c811d0c896ecd9c363b5107d08c3fa22fef41 EBUILD wine-gecko-2.47-r1.ebuild 738 BLAKE2B 65313aa36c6b1f633ca53894a66824517a233b8c3d4056a951f8ec98ef0c653790b86f18a5ac046a0eab2c07107f27e5eaa981e70a91c4defcda297ccb02e75e SHA512 7c35333e8defa6956de3befa1bb6187a1353137334ee272c296d00eaca731c826ccfd6cd491a76bbec1bf36c6d4e2e8be124ca3eee2a3a7411ff3446071c2d32 EBUILD wine-gecko-2.47.1.ebuild 709 BLAKE2B 1e3574c3be03d6e3e335d7c88f64f7af09af770ee12a4544181a7820404b0d9d7b7982a293e94b7264390a82114ae4cd4a8ca9580f920809d45526cb561396b4 SHA512 e3b7c02da2974dfaa2737095d7b9b394096ecb0f3af0a5fb729c1ea3d3efa3887921c719a14ba732896f1b6d7866ddab116b3f54673ebd40ecf42e5cdd116598 +EBUILD wine-gecko-2.47.2.ebuild 710 BLAKE2B 793e1190184dbfd12c8465c46362e8bd1de9942c5b396a04383bedabf91a69cd174499a086120e1be6dc063ce527c5c7fdb6a178701f166359f412b35a32fdd9 SHA512 0bd4e61d80831d582a2b2b34003113f609f622d7f4d7053754b88524bc952048c3ca6073dec5c23091eecdb6ae50d6bb3985b31cb6a1c334349bae3bb0433697 MISC metadata.xml 321 BLAKE2B a78cdbf0755ae73cb4ec393d3febc46f39267e069001646a3db9af89382c09b2b7667edcce40975bfd890057466f8b86d14d3415b7a820d01198d8976bd5300d SHA512 a4a66f08ca203c1620732dd42b5e281d03d24675e4e471b7d6c6cd5a88b89a47b73b68b0b82f70eecee91c5c943e9886d8930f39b65b59ea285d23b010ad7635 diff --git a/app-emulation/wine-gecko/wine-gecko-2.47.2.ebuild b/app-emulation/wine-gecko/wine-gecko-2.47.2.ebuild new file mode 100644 index 000000000000..6f99f662aee1 --- /dev/null +++ b/app-emulation/wine-gecko/wine-gecko-2.47.2.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="A Mozilla Gecko based version of Internet Explorer for Wine" +HOMEPAGE="https://winehq.org" +SRC_URI=" + abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${PN}-${PV}-x86.msi ) + abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${PN}-${PV}-x86_64.msi ) +" + +LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="${PV}" +KEYWORDS="~amd64 ~x86" +IUSE="abi_x86_32 abi_x86_64" + +DEPEND="!!app-emulation/wine:0" + +S="${WORKDIR}" + +src_install(){ + insinto /usr/share/wine/gecko + use abi_x86_32 && doins "${DISTDIR}/${PN}-${PV}-x86.msi" + use abi_x86_64 && doins "${DISTDIR}/${PN}-${PV}-x86_64.msi" +} diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest index 84810b670e57..ffa2335b63f7 100644 --- a/app-emulation/wine-staging/Manifest +++ b/app-emulation/wine-staging/Manifest @@ -10,7 +10,6 @@ DIST wine-staging-5.22.tar.gz 10342905 BLAKE2B 9f59a0d8c06f29b52fec71cc09915c8a7 EBUILD wine-staging-5.18.ebuild 20436 BLAKE2B 522ef18a86d633267119e239986bd2fba09eedad6358fb5f441dde3d05ad95af673bb29940e45b17b90415650f7b6e6da6d6c66fa4a1a746c48ef5373b18723f SHA512 37e945cdd14814105bf8d395ea2a36c0e845352bfa11deda2226db61c42706113ca849c11f230b5607dc81cf694be583542026b9b5c9d23463c5dc009bd2b92f EBUILD wine-staging-5.20.ebuild 20436 BLAKE2B 40da6c7a1e6d008ad55f53ec09b82f7c9830a7c00dca754c2a4d9afd6bf14f0a67cdbd22a1174aeef79d685b08f11628e8131ab7007351ba555c9742270062a1 SHA512 c658843b8dcc234c49c3071a24fa60f9884ef3a939612e203d3433077dd154f8f09429db3467e50d6f1c014f421b228a25cffb06843a758ee6f1a5f1cb4073c8 EBUILD wine-staging-5.21.ebuild 20436 BLAKE2B 40da6c7a1e6d008ad55f53ec09b82f7c9830a7c00dca754c2a4d9afd6bf14f0a67cdbd22a1174aeef79d685b08f11628e8131ab7007351ba555c9742270062a1 SHA512 c658843b8dcc234c49c3071a24fa60f9884ef3a939612e203d3433077dd154f8f09429db3467e50d6f1c014f421b228a25cffb06843a758ee6f1a5f1cb4073c8 -EBUILD wine-staging-5.22-r1.ebuild 21582 BLAKE2B c12f6178bca07db81044968a95fc79be813dfce2c11e89fd1c84649e93ad1da15e19c60e270cea917d25d2392a75d35f196243463fdee99020c6c68b8b071ef1 SHA512 b9c045e8b1d38579591c87ff59bb0bf4d1e3424a4ec06e238ddc4e532979a4f7cbadc6d9d5a6fd32349fcc4f436d071386ed058179949c1845755ba560298a0f -EBUILD wine-staging-5.22.ebuild 20436 BLAKE2B 40da6c7a1e6d008ad55f53ec09b82f7c9830a7c00dca754c2a4d9afd6bf14f0a67cdbd22a1174aeef79d685b08f11628e8131ab7007351ba555c9742270062a1 SHA512 c658843b8dcc234c49c3071a24fa60f9884ef3a939612e203d3433077dd154f8f09429db3467e50d6f1c014f421b228a25cffb06843a758ee6f1a5f1cb4073c8 -EBUILD wine-staging-9999.ebuild 21507 BLAKE2B 4ede53a70c4ff9304c6958828e3dbe8b03d996e2ea4ad9f3581c3098a996bba8e6df74629d68fec189779905a56c1d58872e8299fadf1164a974005bb6d368db SHA512 a491ca6b66d80bb46ce76ed91aae2a75a6c8120cdd9593baed293f6f5386e5ba874d0a0996ddc0ad2333c63ea5b0bb17a6a5826dd30e1bffabf26fda11bed86d +EBUILD wine-staging-5.22-r2.ebuild 21689 BLAKE2B 212be2581df2c851d2cc06eac3de72d506d7d142703e2cd29fb116ea32431a9ab60f2950c30f7afad9f97ccd4d91674fed55c54360402933e71d97444833e1c9 SHA512 d7dac0725c2502f9627962bf6ab9a550b5a2ea9ef5a2daabfa2536bb220671860a379229cccbad45aa075a18d449ed6af1cacf295e214a16bee473c6af2f4a74 +EBUILD wine-staging-9999.ebuild 21614 BLAKE2B 0d4e553688ce47e14385dd543d05b84291131180d4f1abae2ad1303416abd5bd843d34b81a71d4bdfccb3550c6756bffe70357a5862b37183eca432e3e7ee982 SHA512 b5fcc7b9d260d393cb040afb92127967faaa92fe8c0196e957664762b6484de1255680037a26fa4b58a6589a4110bcddc96f28ec35e452b5070da63ed8c3f4bb MISC metadata.xml 3887 BLAKE2B 488d934f151903b52366045b3080f85543ebe7ae732ddff83fb85ecf011da53253f02a24fe2e3edf0775b4ec4abe2ca3ac2cc8d5445a94295d802486dc137e6b SHA512 016e53c706fb3be797a9d66dcd9d24a3824e890d0d4be4e3bee851e5b39439d1500b126def8623ec21ae1849c68026102d39d5b17bb145069d04aa435a2f0d8c diff --git a/app-emulation/wine-staging/wine-staging-5.22-r1.ebuild b/app-emulation/wine-staging/wine-staging-5.22-r1.ebuild deleted file mode 100644 index cf0d7510808e..000000000000 --- a/app-emulation/wine-staging/wine-staging-5.22-r1.ebuild +++ /dev/null @@ -1,650 +0,0 @@ -# Copyright 1999-2020 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" -fi -S="${WORKDIR}/${MY_P}" - -STAGING_P="wine-staging-${PV}" -STAGING_DIR="${WORKDIR}/${STAGING_P}" -GWP_V="20200523" -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 +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap mingw +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 +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - 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}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gcrypt? ( dev-libs/libgcrypt:=[${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}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) - vkd3d? ( >=app-emulation/vkd3d-1.2[${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.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.1.1 ) - 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}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -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 - - if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then - eerror - eerror "USE=\"mingw\" is currently experimental, and requires the" - eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds." - eerror - eerror "These can be installed by using 'sys-devel/crossdev':" - eerror - eerror "crossdev --target i686-w64-mingw32" - eerror - eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" - eerror - die "MinGW build was enabled, but no compiler to support it was found." - fi - - if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then - eerror - eerror "USE=\"mingw\" is currently experimental, and requires the" - eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds." - eerror - eerror "These can be installed by using 'sys-devel/crossdev':" - eerror - eerror "crossdev --target x86_64-w64-mingw32" - eerror - eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" - eerror - die "MinGW build was enabled, but no compiler to support it was found." - 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="-W winemenubuilder-Desktop_Icon_Path" #652176 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" - - # 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="${EPREFIX}/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 gcrypt) - $(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) - # TODO: Will bug 685172 still need special handling? - $(use_with mingw) - $(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 unwind) - $(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} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - 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 "${ED%/}${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-5.22-r2.ebuild b/app-emulation/wine-staging/wine-staging-5.22-r2.ebuild new file mode 100644 index 000000000000..00e7c18d4b69 --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-5.22-r2.ebuild @@ -0,0 +1,659 @@ +# Copyright 1999-2020 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" +fi +S="${WORKDIR}/${MY_P}" + +STAGING_P="wine-staging-${PV}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" +GWP_V="20200523" +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 +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap mingw +mono mp3 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 +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + 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}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gcrypt? ( dev-libs/libgcrypt:=[${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}] ) + 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}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + vkd3d? ( >=app-emulation/vkd3d-1.2[${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.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.1 ) + 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}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +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 + + if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then + eerror + eerror "USE=\"mingw\" is currently experimental, and requires the" + eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds." + eerror + eerror "These can be installed by using 'sys-devel/crossdev':" + eerror + eerror "crossdev --target i686-w64-mingw32" + eerror + eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" + eerror + die "MinGW build was enabled, but no compiler to support it was found." + fi + + if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then + eerror + eerror "USE=\"mingw\" is currently experimental, and requires the" + eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds." + eerror + eerror "These can be installed by using 'sys-devel/crossdev':" + eerror + eerror "crossdev --target x86_64-w64-mingw32" + eerror + eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" + eerror + die "MinGW build was enabled, but no compiler to support it was found." + 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="-W winemenubuilder-Desktop_Icon_Path" #652176 + use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" + + # 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 + if use mingw; then + export CROSSCFLAGS="${CFLAGS}" + fi + + 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="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gcrypt) + $(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) + # TODO: Will bug 685172 still need special handling? + $(use_with mingw) + $(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 unwind) + $(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; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + + if ! use mingw; then + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die + } + else + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die + } + fi + + 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} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + 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 "${ED%/}${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-5.22.ebuild b/app-emulation/wine-staging/wine-staging-5.22.ebuild deleted file mode 100644 index 9c6e2a76fa30..000000000000 --- a/app-emulation/wine-staging/wine-staging-5.22.ebuild +++ /dev/null @@ -1,621 +0,0 @@ -# Copyright 1999-2020 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" -fi -S="${WORKDIR}/${MY_P}" - -STAGING_P="wine-staging-${PV}" -STAGING_DIR="${WORKDIR}/${STAGING_P}" -GWP_V="20200523" -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 +fontconfig +gcrypt +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 +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - 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}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gcrypt? ( dev-libs/libgcrypt:=[${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}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) - vkd3d? ( >=app-emulation/vkd3d-1.2[${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.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.1.1 ) - 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}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -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="-W winemenubuilder-Desktop_Icon_Path" #652176 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" - - # 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="${EPREFIX}/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 gcrypt) - $(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 unwind) - $(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} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - 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 "${ED%/}${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-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild index df834fec4d88..ccde3bd86527 100644 --- a/app-emulation/wine-staging/wine-staging-9999.ebuild +++ b/app-emulation/wine-staging/wine-staging-9999.ebuild @@ -44,7 +44,7 @@ fi LICENSE="LGPL-2.1" SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap mingw +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 +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap mingw +mono mp3 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 +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) X? ( truetype ) elibc_glibc? ( threads ) @@ -86,7 +86,6 @@ COMMON_DEPEND=" 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}] ) @@ -448,6 +447,9 @@ src_configure() { export LDCONFIG=/bin/true use custom-cflags || strip-flags + if use mingw; then + export CROSSCFLAGS="${CFLAGS}" + fi multilib-minimal_src_configure } @@ -468,7 +470,6 @@ multilib_src_configure() { $(use_with capi) $(use_with lcms cms) $(use_with cups) - $(use_with ncurses curses) $(use_with udisks dbus) $(use_with faudio) $(use_with fontconfig) @@ -572,12 +573,20 @@ multilib_src_install_all() { fi # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then + if ! use X; 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 - } + + if ! use mingw; then + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die + } + else + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die + } + fi + multilib_foreach_abi rm_wineconsole fi diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 3d0d8a199fa0..9b7dddb7d415 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -12,11 +12,11 @@ DIST wine-5.22.tar.xz 24214812 BLAKE2B 7bc093501cb20fbe52e277aadb867e4f55abc9898 EBUILD wine-vanilla-4.0.3.ebuild 17273 BLAKE2B 31f49631a2eb96a0d20c98891c3ace1874bab916e8c75d6b6a003b7cf35b84f2014891c99defb1da6a77d2ce56353566e212282c4c4f607312245c6ec7e66803 SHA512 341f4e04041395f2b4a46dde9e46854e783936a4dbf0859946d4f7cb4b25072fb28f397b61c1916bb3aa9708d2e6a7a1e04ac157bd36f03be63b4d6180b9fb05 EBUILD wine-vanilla-5.0.1.ebuild 17552 BLAKE2B 45440982bf2bfd3f6a2788af10b3a1712f4a4d82a0d4d0d139e9b9eb8f6c4af2b4a516e23a17ace87a6c6cf0e4cf9f3d1a0738b380203a77798b3fae437f1ed9 SHA512 2a92a7f78ac86289439a6bc507ec48a6f6a44a1d666f8a2b0705c4bb6fbd6b5d1f667347db96ea98ead1b5473b1cb7b0cb396446c84182165145842648795d5a EBUILD wine-vanilla-5.0.2.ebuild 17552 BLAKE2B 45440982bf2bfd3f6a2788af10b3a1712f4a4d82a0d4d0d139e9b9eb8f6c4af2b4a516e23a17ace87a6c6cf0e4cf9f3d1a0738b380203a77798b3fae437f1ed9 SHA512 2a92a7f78ac86289439a6bc507ec48a6f6a44a1d666f8a2b0705c4bb6fbd6b5d1f667347db96ea98ead1b5473b1cb7b0cb396446c84182165145842648795d5a +EBUILD wine-vanilla-5.0.3-r1.ebuild 17635 BLAKE2B 05faf2469f3c1645e6839d5be2f710b3cf544ad513bfd3699f5afd7390c64d31233e499d68d372908e5f43118c67d7396fce9978b35545086208de51b942a6ba SHA512 1ef21017980fd5ae253fcb9b2521c639f8069fe5dc3cd08a42b091da22948739f02b04cd8e68eafa809afef19616bb1ecffbfa6fb86000087ee9a61d7a1917c8 EBUILD wine-vanilla-5.0.3.ebuild 17554 BLAKE2B 4fb5c237a16645195516f980e6a0bb96a9a263423b7489b8f425326a65ab5b06a75fc705862940220bc762dbaba5816eb340ef9f8427f08a2a6678fdb05b9429 SHA512 33011fd9ba031978b4351f8ff5b8eeffa692062df4a511fb105231e493742d55c0430a256551cc08cc8caf9c546de38eb0a4e1fe1ee98db0a391233b231a5d1c EBUILD wine-vanilla-5.19.ebuild 17601 BLAKE2B 38d18a7743bbc9a229928001dbf598224a76df8d56af2ff5f314dd14961483ae8b9470a6adcfd80bef6b1848420f8bf069545c615858c97dd45d752bc2fc252d SHA512 e4a5252018b1c5cb8b99a05a6a209c0c43e9e973dd305388fa5fe1ae9eb1653f37c1cee617161f5f1ada8085b1e660ae217707d4f0329f39d04f41e788ce2cf4 EBUILD wine-vanilla-5.20.ebuild 17601 BLAKE2B 38d18a7743bbc9a229928001dbf598224a76df8d56af2ff5f314dd14961483ae8b9470a6adcfd80bef6b1848420f8bf069545c615858c97dd45d752bc2fc252d SHA512 e4a5252018b1c5cb8b99a05a6a209c0c43e9e973dd305388fa5fe1ae9eb1653f37c1cee617161f5f1ada8085b1e660ae217707d4f0329f39d04f41e788ce2cf4 EBUILD wine-vanilla-5.21.ebuild 17601 BLAKE2B 38d18a7743bbc9a229928001dbf598224a76df8d56af2ff5f314dd14961483ae8b9470a6adcfd80bef6b1848420f8bf069545c615858c97dd45d752bc2fc252d SHA512 e4a5252018b1c5cb8b99a05a6a209c0c43e9e973dd305388fa5fe1ae9eb1653f37c1cee617161f5f1ada8085b1e660ae217707d4f0329f39d04f41e788ce2cf4 -EBUILD wine-vanilla-5.22-r1.ebuild 18747 BLAKE2B 07a0e23a9f700ff7eea5b51526e6dc7b491e3d3638c9f717b92252ba23dada7922793be960a84474c21706e10694206dfa6540d47450fe3b7afd9360cd299063 SHA512 d62fb59a9ce96cf3e49635e853c4c922614091090ac4252ad16b11622b5450b379ff7eb8975e0ba13f5e6cb1aa95b7d0d750c428593cb5d7703bc02d329f082b -EBUILD wine-vanilla-5.22.ebuild 17601 BLAKE2B 38d18a7743bbc9a229928001dbf598224a76df8d56af2ff5f314dd14961483ae8b9470a6adcfd80bef6b1848420f8bf069545c615858c97dd45d752bc2fc252d SHA512 e4a5252018b1c5cb8b99a05a6a209c0c43e9e973dd305388fa5fe1ae9eb1653f37c1cee617161f5f1ada8085b1e660ae217707d4f0329f39d04f41e788ce2cf4 -EBUILD wine-vanilla-9999.ebuild 18747 BLAKE2B 07a0e23a9f700ff7eea5b51526e6dc7b491e3d3638c9f717b92252ba23dada7922793be960a84474c21706e10694206dfa6540d47450fe3b7afd9360cd299063 SHA512 d62fb59a9ce96cf3e49635e853c4c922614091090ac4252ad16b11622b5450b379ff7eb8975e0ba13f5e6cb1aa95b7d0d750c428593cb5d7703bc02d329f082b +EBUILD wine-vanilla-5.22-r2.ebuild 18854 BLAKE2B c45f3e3f4431910be09d1951dee0e35726dcbe5506896c0c66be037e1dca123f81d9306d635efa94f0e8c1b93011b0f04b9ad3880e955126cc9de3481fbd9ee8 SHA512 a68c0937ba3bbfcfb171c8ad997a630531a5b68c5f08d5936c6fd5a7e63a94a80c4030b9bb186a7667c51bd7e488fd498ad1225ea499ed49e87dc6fe909a79da +EBUILD wine-vanilla-9999.ebuild 18854 BLAKE2B c45f3e3f4431910be09d1951dee0e35726dcbe5506896c0c66be037e1dca123f81d9306d635efa94f0e8c1b93011b0f04b9ad3880e955126cc9de3481fbd9ee8 SHA512 a68c0937ba3bbfcfb171c8ad997a630531a5b68c5f08d5936c6fd5a7e63a94a80c4030b9bb186a7667c51bd7e488fd498ad1225ea499ed49e87dc6fe909a79da MISC metadata.xml 3414 BLAKE2B 29136302781a2a0979948e0da37cf9d34bf728b3dd7c6973f19d69d61a59804cf13c8e7f21e01ad892bd3b8d028d9f7a0cdab6d092de861e8fc5c73e178dc2da SHA512 5e3b375d5ed3c31556441d7d71e99a862e57c3f8d07adffcfb7ed0c6c9f3dc888c6a17474ddc5c62897149000d6ccebcb5866b3ac6dace781774ab7f1b48e46b diff --git a/app-emulation/wine-vanilla/wine-vanilla-5.0.3-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.0.3-r1.ebuild new file mode 100644 index 000000000000..5f25770ac604 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-5.0.3-r1.ebuild @@ -0,0 +1,540 @@ +# Copyright 1999-2020 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}.0/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +GWP_V="20191222" +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 +unwind 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}] ) + unwind? ( sys-libs/libunwind[${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.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:4.9.4 ) + 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}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-5.0-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="${EPREFIX}/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 unwind) + $(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} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + 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 "${ED%/}${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-5.22-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.22-r1.ebuild deleted file mode 100644 index a422ff77cdc0..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-5.22-r1.ebuild +++ /dev/null @@ -1,568 +0,0 @@ -# Copyright 1999-2020 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" -fi -S="${WORKDIR}/${MY_P}" - -GWP_V="20200523" -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 mingw +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 +unwind 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}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vkd3d? ( >=app-emulation/vkd3d-1.2[${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.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.1.1 ) - 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}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -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 - - if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then - eerror - eerror "USE=\"mingw\" is currently experimental, and requires the" - eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds." - eerror - eerror "These can be installed by using 'sys-devel/crossdev':" - eerror - eerror "crossdev --target i686-w64-mingw32" - eerror - eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" - eerror - die "MinGW build was enabled, but no compiler to support it was found." - fi - - if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then - eerror - eerror "USE=\"mingw\" is currently experimental, and requires the" - eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds." - eerror - eerror "These can be installed by using 'sys-devel/crossdev':" - eerror - eerror "crossdev --target x86_64-w64-mingw32" - eerror - eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" - eerror - die "MinGW build was enabled, but no compiler to support it was found." - 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="${EPREFIX}/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) - # TODO: Will bug 685172 still need special handling? - $(use_with mingw) - $(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 unwind) - $(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 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - tc-export PKG_CONFIG - - 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} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - 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 "${ED%/}${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-5.22-r2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.22-r2.ebuild new file mode 100644 index 000000000000..97ea9019cb11 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-5.22-r2.ebuild @@ -0,0 +1,577 @@ +# Copyright 1999-2020 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" +fi +S="${WORKDIR}/${MY_P}" + +GWP_V="20200523" +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 mingw +mono mp3 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 +unwind 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}] ) + 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}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vkd3d? ( >=app-emulation/vkd3d-1.2[${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.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.1 ) + 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}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +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 + + if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then + eerror + eerror "USE=\"mingw\" is currently experimental, and requires the" + eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds." + eerror + eerror "These can be installed by using 'sys-devel/crossdev':" + eerror + eerror "crossdev --target i686-w64-mingw32" + eerror + eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" + eerror + die "MinGW build was enabled, but no compiler to support it was found." + fi + + if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then + eerror + eerror "USE=\"mingw\" is currently experimental, and requires the" + eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds." + eerror + eerror "These can be installed by using 'sys-devel/crossdev':" + eerror + eerror "crossdev --target x86_64-w64-mingw32" + eerror + eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" + eerror + die "MinGW build was enabled, but no compiler to support it was found." + 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 + if use mingw; then + export CROSSCFLAGS="${CFLAGS}" + fi + + 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="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(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) + # TODO: Will bug 685172 still need special handling? + $(use_with mingw) + $(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 unwind) + $(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 + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + tc-export PKG_CONFIG + + 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; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + + if ! use mingw; then + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die + } + else + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die + } + fi + + 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} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + 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 "${ED%/}${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-5.22.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.22.ebuild deleted file mode 100644 index 226b93efb90f..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-5.22.ebuild +++ /dev/null @@ -1,539 +0,0 @@ -# Copyright 1999-2020 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" -fi -S="${WORKDIR}/${MY_P}" - -GWP_V="20200523" -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 +unwind 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}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vkd3d? ( >=app-emulation/vkd3d-1.2[${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.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.1.1 ) - 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}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -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="${EPREFIX}/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 unwind) - $(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 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - tc-export PKG_CONFIG - - 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} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - 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 "${ED%/}${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-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild index a422ff77cdc0..97ea9019cb11 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild @@ -35,7 +35,7 @@ SRC_URI="${SRC_URI} 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 mingw +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 +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml" +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 mingw +mono mp3 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 +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml" REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) X? ( truetype ) elibc_glibc? ( threads ) @@ -73,7 +73,6 @@ COMMON_DEPEND=" 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}] ) @@ -382,6 +381,9 @@ src_configure() { export LDCONFIG=/bin/true use custom-cflags || strip-flags + if use mingw; then + export CROSSCFLAGS="${CFLAGS}" + fi multilib-minimal_src_configure } @@ -402,7 +404,6 @@ multilib_src_configure() { $(use_with capi) $(use_with lcms cms) $(use_with cups) - $(use_with ncurses curses) $(use_with udisks dbus) $(use_with faudio) $(use_with fontconfig) @@ -499,12 +500,20 @@ multilib_src_install_all() { fi # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then + if ! use X; 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 - } + + if ! use mingw; then + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die + } + else + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die + } + fi + multilib_foreach_abi rm_wineconsole fi diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest index b4be31d72c7e..cfab886db06f 100644 --- a/app-emulation/xen/Manifest +++ b/app-emulation/xen/Manifest @@ -1,11 +1,9 @@ AUX xen-4.11-efi.patch 1971 BLAKE2B b24f9315cff7f2de2a945088363429b9f4dd7a4101d3f1c0d4bf9733189808f5e1c47f1d90d1784f17fa52ca1626972c81d20c5e1ee3d42d082cdefcf67eb8dc SHA512 17208dc107f4ae4c5ec226c2ac05126817134fb6084cd8923204dc1b014e645e12c34cd11296319127e595ccbf17747931e9df78218bf49814f66e3cc6a789fd AUX xen-4.14-efi.patch 1969 BLAKE2B dec62e9b04ce23025443caa68df2fd69c50a3fdf650bf26047b28f3a72d1aa58124127274cd2c1373a4e133784b2691145c49c9a182bd635aa9c60bb1e45a0c1 SHA512 3e32aac5ba2ec371a3877d64532e8d134c3b4fe3a6644477ee8ecf56cbb8378b20f9d5d7415bec891d96910550a787848779c82ee4b9d57046f4c13235531ea0 -DIST xen-4.13.2-upstream-patches-0.tar.xz 15404 BLAKE2B e4f679e4281e4edfe4f1e7722c19a973461b9a6423828f17719dfd766a73ef61a74b1cd87f375e2b0c2ec9cbed7b6a0f12c4a9982bbc325cdbba4c70a7145248 SHA512 122fe404f9c19567016e43208ddd08bdac56e7f264853d6cbe0929650fc4ada7175cc24c0e4fbf088acab77127eb76454948b98cbc731e35a12e1b068a5fd793 DIST xen-4.13.2-upstream-patches-1.tar.xz 15832 BLAKE2B 4e20a1e2d575ed7e1d21f3b34ed0d8bf6e1405cb39cc5c6ffc099614ea833ac9794bfcfcdea0893fdf81b318f536017ac3a023ad096bc8a8c7390c01f1d513ed SHA512 48dda9dadec1e87fb7b6952636e73057f6e0a5501f9727d05ac636fd47747194501db709c8ffa7154e79b6b612a98b658a03bc083c5065ff851ac57f454b599e DIST xen-4.13.2.tar.gz 39037826 BLAKE2B ad2b7c3003ca29e5e60a85c581f706ef87d99eadf939ed36ebe8f6698582f7a29dbdaf502039b60a0afe7ad4ae6ce89713e69dc8b8a7d5abe65063da7f1baa5b SHA512 cd3092281c97e9421e303aa288aac04dcccd5536ba7c0ff4d51fbf3d07b5ffacfe3456ba06f5cf63577dafbf8cf3a5d9825ceb5e9ef8ca1427900cc3e57b50a3 DIST xen-4.14.0-upstream-patches-5.tar.xz 79424 BLAKE2B d2c6ec53e02fb306a7d7f7e8e6711f3e0523919d8dfb3e4e4b7ea66b618511c035e88e015e1028e6684bc6486e8e71b52e280c2f52c34357441870cd866b2672 SHA512 218657053c24330b0c9072fa32b9cc9619b6ceed0592114445651977c335fef0748160e89da2194456d4e0761b6314aed7a5f1992fa996c62eb191431b678e40 DIST xen-4.14.0.tar.gz 39950576 BLAKE2B db4c3e79cfdfb10260d0d14d9d28e8c8bd9bf23f42aee743acf8f560bf4cdb96a425c0df887c70f9755f62680be24bfbe0149e52a4cb843ae83090cd9d6afc71 SHA512 ebce47a2f754955d8517123d69f62006634d97620fbbe3784869a0667466e586a249f57ffaf7846d5bcb45d69377cde43354c82c233fbb5407e55653b9a33ac0 -EBUILD xen-4.13.2-r1.ebuild 4443 BLAKE2B e84906b185538496d167ec43151f6620d5f5da3f7e84f107f4448bd6f659e82115be913d96c5a2b18e4fde97b69b07061ed80eb383a33c4f526394f58ba45adf SHA512 510dec9a78f1562b4988c5838ecc5babfc5ef12c11a43cc98e049dc326a9b31cbeb9b4ca127519d25541e2ddf04d7bdde6e472e0b8072f23fb052dfa1beffcba -EBUILD xen-4.13.2-r2.ebuild 4444 BLAKE2B 4e72a5c4c6ae90646b580659574b6e2dd0ad2280a3f14afdc3618597721a2149d9f9ee430d8a633c4be4ab5ccc731f12fab62a3dc029a9a07d43d83210efd2a7 SHA512 6de2b009d6cc5dfb8e0b97deabef4a4206d64d11ff8cc30895fcde819e69e9e7885ebfb4ac0721bb20ca7b71f539250fbed5823c6aaaae5c7512fa768a4406af +EBUILD xen-4.13.2-r2.ebuild 4443 BLAKE2B a3e56e60f36b284d0241df597669cb2bbec7b4046986e29c2c5ce9d11096e0cc93ed5e4457f40f292b422a14366d71cae8544c99facc96bb240238d5a919e8b8 SHA512 b1913fed2768b75dbb6320a984d13b3821bd6348ad2b31b128ebbb692f504cb836c5a9d57928e799d771bee04e2c1502c487c3c7faacb1869f71748288cc39df EBUILD xen-4.14.0-r6.ebuild 4444 BLAKE2B 48f126d1d211c6a1b7d325ea3d6f894ae4d149dd6afe946ef1b64f1a05312ff9f205a026d4eb7f9bd0d197f1a727ee1c2fdcf22d6d4b833a58a7db79c316e304 SHA512 abbc18e928d616ea721d7ffc490db7fc7e04387cdf5771752bd991a165d249b6e8a5ae2946a6f0aea554e4a3639ddb10205f1fd4d32e17ac51fff5a427524fce MISC metadata.xml 645 BLAKE2B ad902c521cc93a54b16faaea212f23c7bdf83a9efe19606eca7bf00b49104386dbc095ff30c4287bb79d5fcd073b77e7c1bbf929ee7b025039a50f8238572f17 SHA512 313d501abeb906c360d7965e35a18d9851e38af73a72a95351517c60a1a39553555a0a250f0bee5bfc8f6496312d6e9c70874be267c14edab45cb4841e34c248 diff --git a/app-emulation/xen/xen-4.13.2-r1.ebuild b/app-emulation/xen/xen-4.13.2-r1.ebuild deleted file mode 100644 index 7dd88696d9ba..000000000000 --- a/app-emulation/xen/xen-4.13.2-r1.ebuild +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6..9} ) - -inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="git://xenbits.xen.org/xen.git" - SRC_URI="" -else - KEYWORDS="amd64 ~arm -x86" - UPSTREAM_VER=0 - SECURITY_VER= - GENTOO_VER= - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" -fi - -DESCRIPTION="The Xen virtual machine monitor" -HOMEPAGE="https://www.xenproject.org" -LICENSE="GPL-2" -SLOT="0" -IUSE="debug efi flask" - -DEPEND="${PYTHON_DEPS} - efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22 )" -RDEPEND="" -PDEPEND="~app-emulation/xen-tools-${PV}" - -# no tests are available for the hypervisor -# prevent the silliness of /usr/lib/debug/usr/lib/debug files -# prevent stripping of the debug info from the /usr/lib/debug/xen-syms -RESTRICT="test splitdebug strip" - -# Approved by QA team in bug #144032 -QA_WX_LOAD="boot/xen-syms-${PV}" - -REQUIRED_USE="arm? ( debug )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - python-any-r1_pkg_setup - if [[ -z ${XEN_TARGET_ARCH} ]]; then - if use amd64; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi - - if use flask ; then - export "XSM_ENABLE=y" - export "FLASK_ENABLE=y" - fi -} - -src_prepare() { - # Upstream's patchset - [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - source "${WORKDIR}"/patches-security/${PV}.conf - - local i - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - fi - - # Gentoo's patchset - [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo - - eapply "${FILESDIR}"/${PN}-4.11-efi.patch - - # Drop .config - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - if use efi; then - export EFI_VENDOR="gentoo" - export EFI_MOUNTPOINT="/boot" - fi - - default -} - -src_configure() { - use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" - - use debug && myopt="${myopt} debug=y" - - # remove flags - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - - tc-ld-disable-gold # Bug 700374 -} - -src_compile() { - # Send raw LDFLAGS so that --as-needed works - emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} -} - -src_install() { - local myopt - use debug && myopt="${myopt} debug=y" - - # The 'make install' doesn't 'mkdir -p' the subdirs - if use efi; then - mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die - fi - - emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install - - # make install likes to throw in some extra EFI bits if it built - use efi || rm -rf "${D}/usr/$(get_libdir)/efi" -} - -pkg_postinst() { - elog "Official Xen Guide:" - elog " https://wiki.gentoo.org/wiki/Xen" - - use efi && einfo "The efi executable is installed in /boot/efi/gentoo" - - elog "You can optionally block the installation of /boot/xen-syms by an entry" - elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" - elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" - - ewarn - ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause" - ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems" - ewarn "to work fine." - ewarn - ewarn "Add sched=credit to xen command line options to use the legacy scheduler." - ewarn - ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B" -} diff --git a/app-emulation/xen/xen-4.13.2-r2.ebuild b/app-emulation/xen/xen-4.13.2-r2.ebuild index ab0f4ed3e7fb..a8f124d31293 100644 --- a/app-emulation/xen/xen-4.13.2-r2.ebuild +++ b/app-emulation/xen/xen-4.13.2-r2.ebuild @@ -15,7 +15,7 @@ if [[ $PV == *9999 ]]; then EGIT_REPO_URI="git://xenbits.xen.org/xen.git" SRC_URI="" else - KEYWORDS="~amd64 ~arm -x86" + KEYWORDS="amd64 ~arm -x86" UPSTREAM_VER=1 SECURITY_VER= GENTOO_VER= -- cgit v1.2.3