From eab5731cdf11d4ae8cdf111461d46fd96c5bdd37 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 4 May 2019 12:02:00 +0100 Subject: gentoo resync : 04.05.2019 --- app-emulation/Manifest.gz | Bin 21201 -> 21538 bytes app-emulation/cri-o/Manifest | 8 +- app-emulation/cri-o/cri-o-1.10.6.ebuild | 2 +- app-emulation/cri-o/cri-o-1.13.0.ebuild | 105 --- app-emulation/cri-o/cri-o-1.13.5.ebuild | 2 +- app-emulation/cri-o/cri-o-1.13.7.ebuild | 112 +++ app-emulation/diskimage-builder/Manifest | 5 +- .../diskimage-builder-2.20.3.ebuild | 37 - .../diskimage-builder-2.21.0.ebuild | 2 +- .../diskimage-builder-9999.ebuild | 42 ++ app-emulation/docker-credential-helpers/Manifest | 3 + .../docker-credential-helpers-0.6.0.ebuild | 58 ++ .../docker-credential-helpers/metadata.xml | 27 + app-emulation/dosemu/Manifest | 2 +- .../dosemu/dosemu-1.4.1_pre20130107-r5.ebuild | 6 +- app-emulation/gallium-nine-standalone/Manifest | 4 +- .../gallium-nine-standalone-0.4.ebuild | 109 +++ .../gallium-nine-standalone-9999.ebuild | 9 +- app-emulation/qemu-guest-agent/Manifest | 2 + .../qemu-guest-agent/qemu-guest-agent-4.0.0.ebuild | 82 +++ app-emulation/qemu-riscv64-bin/Manifest | 3 + app-emulation/qemu-riscv64-bin/metadata.xml | 16 + .../qemu-riscv64-bin-3.1.0-r4.ebuild | 20 + app-emulation/qemu/Manifest | 8 +- .../qemu/files/qemu-3.1.0-CVE-2018-20123.patch | 35 - .../qemu/files/qemu-3.1.0-CVE-2019-3812.patch | 33 - .../files/qemu-4.0.0-sanitize-interp_info.patch | 32 + app-emulation/qemu/qemu-3.1.0-r1.ebuild | 810 --------------------- app-emulation/qemu/qemu-4.0.0.ebuild | 809 ++++++++++++++++++++ app-emulation/qemu/qemu-9999.ebuild | 25 +- app-emulation/virtualbox-guest-additions/Manifest | 10 +- .../virtualbox-guest-additions-5.2.22.ebuild | 3 +- .../virtualbox-guest-additions-5.2.26.ebuild | 1 + .../virtualbox-guest-additions-5.2.28.ebuild | 1 + .../virtualbox-guest-additions-6.0.4.ebuild | 1 + .../virtualbox-guest-additions-6.0.6.ebuild | 1 + app-emulation/wine-mono/Manifest | 2 + app-emulation/wine-mono/wine-mono-4.8.3.ebuild | 21 + app-emulation/wine-staging/Manifest | 9 +- app-emulation/wine-staging/wine-staging-4.3.ebuild | 616 ---------------- .../wine-staging/wine-staging-4.7-r1.ebuild | 617 ++++++++++++++++ .../wine-staging/wine-staging-9999.ebuild | 10 +- app-emulation/wine-vanilla/Manifest | 7 +- app-emulation/wine-vanilla/wine-vanilla-4.3.ebuild | 534 -------------- .../wine-vanilla/wine-vanilla-4.7-r1.ebuild | 534 ++++++++++++++ .../wine-vanilla/wine-vanilla-9999.ebuild | 8 +- 46 files changed, 2556 insertions(+), 2227 deletions(-) delete mode 100644 app-emulation/cri-o/cri-o-1.13.0.ebuild create mode 100644 app-emulation/cri-o/cri-o-1.13.7.ebuild delete mode 100644 app-emulation/diskimage-builder/diskimage-builder-2.20.3.ebuild create mode 100644 app-emulation/diskimage-builder/diskimage-builder-9999.ebuild create mode 100644 app-emulation/docker-credential-helpers/Manifest create mode 100644 app-emulation/docker-credential-helpers/docker-credential-helpers-0.6.0.ebuild create mode 100644 app-emulation/docker-credential-helpers/metadata.xml create mode 100644 app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.4.ebuild create mode 100644 app-emulation/qemu-guest-agent/qemu-guest-agent-4.0.0.ebuild create mode 100644 app-emulation/qemu-riscv64-bin/Manifest create mode 100644 app-emulation/qemu-riscv64-bin/metadata.xml create mode 100644 app-emulation/qemu-riscv64-bin/qemu-riscv64-bin-3.1.0-r4.ebuild delete mode 100644 app-emulation/qemu/files/qemu-3.1.0-CVE-2018-20123.patch delete mode 100644 app-emulation/qemu/files/qemu-3.1.0-CVE-2019-3812.patch create mode 100644 app-emulation/qemu/files/qemu-4.0.0-sanitize-interp_info.patch delete mode 100644 app-emulation/qemu/qemu-3.1.0-r1.ebuild create mode 100644 app-emulation/qemu/qemu-4.0.0.ebuild create mode 100644 app-emulation/wine-mono/wine-mono-4.8.3.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-4.3.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-4.7-r1.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-4.3.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-4.7-r1.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 1b8071eb4c4f..cf78c72acf13 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/cri-o/Manifest b/app-emulation/cri-o/Manifest index 20414638733c..eee3590919e3 100644 --- a/app-emulation/cri-o/Manifest +++ b/app-emulation/cri-o/Manifest @@ -1,9 +1,9 @@ AUX cri-o.logrotated 81 BLAKE2B f17d96920c3e9bbfe68a38fcae49be999c0edcea085ebbc1f09585284c5b7930c185d5cd0ef6c2f7de5db2a6af80355518628a050c1cb0639ccf3b53c6c338da SHA512 1115228546a696eeebeb6d4b3e5c3152af0c99a2559097fc5829d8b416d979c457b4b1789e0120054babf57f585d3f63cbe49949d40417ae7aab613184bf4516 AUX crio.initd 846 BLAKE2B 844400d3cd706d4f78616edb3c8a50a9819ee21aecc7fc33f7d3d00871fde86b59e4b604ccc7cdb0058b10ccd28277f19dbdce34c83b2529c14e063126318617 SHA512 29561e95398975748236217bbd9df64997f6e3de6c0555d007306bd0535895a648368385a13079eb7d52c06249a91980523a73b6563e86d0575d9cd9c3fa4ee9 DIST cri-o-1.10.6.tar.gz 5161858 BLAKE2B bbfaf60c92dee3a9f42e9d4fc9b5482057a7a0ff2de36d74d434e2e60b53f92f70980c83825c18089c4a48bfa01c164b77aa01506c68c763f00265796e07d367 SHA512 b6a412cf5859dab79095732c2528e2ba373b3c21740203441fd3646862e2458e78e71f1895a5def05207964ef96a354c04395356e426600994bb39d3adfd0894 -DIST cri-o-1.13.0.tar.gz 6499846 BLAKE2B 71edb779a4e126ca8a1959c51a86d3f223f66ecbd492a0c314de0f7b5ed0c39b5f0c0550e5690a388ebc00d6f2f5a2dc675e8bf67ed6805b0e5e0cd000e9211a SHA512 52b764bda68d0f9f9467a5db92b5d955aa220f9570cfc2393854ca884b473cb2ef1cb0fc5ab3da9350a162e486440ad6109de9d9214b6b2fbe5bb82cb37c1283 DIST cri-o-1.13.5.tar.gz 6683259 BLAKE2B 982de5590411ad618401a2909dcd4f0404d5bfc49667027e29fd266e3e2d15bbf0d7716db570d433eec7f2baacbb33f7e9e0f347aa2ef964a06b8b883f76404c SHA512 116e51e9b31fca66b4edd9aac5d1f0c8929ba9a740af8b611fb7fa0e675e37facd4114d0848090b32f72f58d17c85060c15e07bee82098d83a0bd5b563f4c875 -EBUILD cri-o-1.10.6.ebuild 2847 BLAKE2B 8abeaa3837122348890f65017f92079f2cafbebfbb29570ba0756784a7e1d719367f68e8eb27a32eeb608b024ae08948f1fd3b62d0ac113bd42a0cbcf25396c5 SHA512 ab1d460d8d1706a911fd74208a4cb34181e990a5b0414fb17ad7404f1692b881d6017bf6f8b7e5f2800e34435270cd21dc51a460227645469d54e87008317608 -EBUILD cri-o-1.13.0.ebuild 2837 BLAKE2B cd3ab24156917b9a94188fe09a8c61f88cbef407fff48d0fdde223726403ca44ec4384a4afb340ee69e7b5d0a9627506816835ad2f201596eb57632a2859e152 SHA512 322e6a8cb531d453ba84e1a7087a02bd466f4380dbf0f9a08782acc9dcf1dd17cc38f22a79c11f8e484af27b1646ec92de8157d546362939e7ba9989473862e5 -EBUILD cri-o-1.13.5.ebuild 3072 BLAKE2B b54f406cfa5e66a6d478ddab14b96ec8be5ede6eb911fbd756f5b82606199c3f99ee715bb28af046ad437d7a0cc6942ca7def944cfdb6535cec40fee86ec37f1 SHA512 34b2a8196e1e6de9300ab7fa2e9d79dce6f5a7c4888b2be6bc730c9fe93b62b2f2fe76a19f7aeec8412a141a7383ac26ac351ceeec0b5f0710f615416695b671 +DIST cri-o-1.13.7.tar.gz 6657183 BLAKE2B 8073211bb188bf6a03615fe5d3f931d45dee09bb506316e80c6b0914d3b798e77e194d6f31e74e314406af28c4a882e45250f8c6792c82d9b0e3cceb0750cf1a SHA512 5056f26decc96798738aa67350b0d7353ac025518c82e2591f4541284bbc3620976a97dcc805429adc748131f38d13edcdb77c3b6f1ba6b93f672637437acb10 +EBUILD cri-o-1.10.6.ebuild 2850 BLAKE2B c83cc04c151b93c1fa95920dbc99e1a27f0add2fd17fdfdf5179df04438f0c62ab06c4df3cb352359bef1ba02805fe1b311ad9670481282e9dfc2e8d6feba14d SHA512 d08b6ce7eae731aed66892753dfe2ec8872bddc4054446c74ca084cf814c9a95033b996037b26d49bfff100e605edb6ee284ecb57fe959d705c5465c67ec5c2c +EBUILD cri-o-1.13.5.ebuild 3075 BLAKE2B 34c608002088de6253a3bdd5445ccccfc806da1dafb3cb47b5de67986de5b4d803fd7790e5e573a1f055a5b63797209f761b542182fd677e8edc8111f72e1bbe SHA512 318d67f5c853cbd773ae2b6d92a593e093c6456e5622dddf4f1fbb4bed64dfdf721dced841a7018e14e5f27a6ee1a5b4e0324272d01cf05c9c443c9e8aa4331e +EBUILD cri-o-1.13.7.ebuild 3075 BLAKE2B cfcf1ee7ce2d1ec39e917507b8eff776f13c23c789af4411eb2f4d4bcfc19d59b937ef0e2de924f318d1e6681e74530d99c607a075d0827796dcfbd8c22a27ed SHA512 3db46d7063fd93e5461b399f61bb85a15194237ddb0715bb3ab39affabd0e201587e553b099d3eb33226ae4e3824cec442a44c84681cabfae5acb72a15381493 MISC metadata.xml 1005 BLAKE2B 2135f0344ae8ddad14851716be3816eca09e8fd44179cb1853ce35ab96ea77187e0028b2d53ab6802fc40df72d9dac568cc2dd2665e85d9ade71bce0ebddd995 SHA512 db455ac2997f0487aab95c753b8b19a89e863b2d1bb97b5d340d5cea511650cc2abde6f67c2e113517b01a2445f276cff5b5615cd6a6b69c7f590550192b5ac6 diff --git a/app-emulation/cri-o/cri-o-1.10.6.ebuild b/app-emulation/cri-o/cri-o-1.10.6.ebuild index dbb1db95a323..845da94a93bd 100644 --- a/app-emulation/cri-o/cri-o-1.10.6.ebuild +++ b/app-emulation/cri-o/cri-o-1.10.6.ebuild @@ -43,7 +43,7 @@ src_prepare() { default sed -e '/^GIT_.*/d' \ - -e 's/$(GO) build/$(GO) build -v -work -x/' \ + -e 's/$(GO) build -i/$(GO) build -v -work -x/' \ -e 's/\${GIT_COMMIT}/'${EGIT_COMMIT}'/' \ -i Makefile || die diff --git a/app-emulation/cri-o/cri-o-1.13.0.ebuild b/app-emulation/cri-o/cri-o-1.13.0.ebuild deleted file mode 100644 index 6b934dd9e8e4..000000000000 --- a/app-emulation/cri-o/cri-o-1.13.0.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -EGIT_COMMIT="e8a2525c2e7f5ab057d5a2b5f1950be5643d8053" -EGO_PN="github.com/kubernetes-sigs/${PN}" - -inherit golang-vcs-snapshot systemd - -DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface" -HOMEPAGE="https://cri-o.io/" -SRC_URI="https://github.com/kubernetes-sigs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="btrfs +device-mapper ostree seccomp selinux" - -COMMON_DEPEND=" - app-crypt/gpgme:= - app-emulation/runc - dev-libs/glib:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - net-firewall/conntrack-tools - net-firewall/iptables - net-misc/cni-plugins - net-misc/socat - sys-apps/iproute2 - btrfs? ( sys-fs/btrfs-progs ) - device-mapper? ( sys-fs/lvm2:= ) - ostree? ( dev-util/ostree ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sys-libs/libselinux:= )" -DEPEND=" - ${COMMON_DEPEND} - dev-go/go-md2man" -RDEPEND="${COMMON_DEPEND}" -S="${WORKDIR}/${P}/src/${EGO_PN}" - -src_prepare() { - default - - sed -e '/^GIT_.*/d' \ - -e 's/$(GO) build/$(GO) build -v -work -x/' \ - -e 's/\${GIT_COMMIT}/'${EGIT_COMMIT}'/' \ - -i Makefile || die - - sed -e 's:/usr/local/bin:/usr/bin:' \ - -i contrib/systemd/* || die -} - -src_compile() { - [[ -f hack/btrfs_installed_tag.sh ]] || die - use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die; } - - [[ -f hack/libdm_installed.sh ]] || die - use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \ - hack/libdm_installed.sh || die; } - - [[ -f hack/ostree_tag.sh ]] || die - use ostree || { echo -e "#!/bin/sh\necho containers_image_ostree_stub" > \ - hack/ostree_tag.sh || die; } - - [[ -f hack/seccomp_tag.sh ]] || die - use seccomp || { echo -e "#!/bin/sh\ntrue" > \ - hack/seccomp_tag.sh || die; } - - [[ -f hack/selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - hack/selinux_tag.sh || die; } - - mkdir -p bin || die - GOPATH="${WORKDIR}/${P}" GOBIN="${WORKDIR}/${P}/bin" \ - emake binaries docs -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install.bin install.man - - keepdir /etc/crio - insinto /etc/crio - use seccomp && doins seccomp.json - - "${ED}"/usr/bin/crio --config="" config --default > "${T}"/crio.conf.example || die - doins "${T}/crio.conf.example" - - newinitd "${FILESDIR}/crio.initd" crio - - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - - # Suppress crio log error messages triggered if these don't exist. - keepdir /etc/containers/oci/hooks.d - keepdir /usr/share/containers/oci/hooks.d - - # Suppress crio "Missing CNI default network" log message. - keepdir /etc/cni/net.d - insinto /etc/cni/net.d - doins contrib/cni/99-loopback.conf - - systemd_dounit contrib/systemd/* -} diff --git a/app-emulation/cri-o/cri-o-1.13.5.ebuild b/app-emulation/cri-o/cri-o-1.13.5.ebuild index bf1e755e142f..2478498c2a74 100644 --- a/app-emulation/cri-o/cri-o-1.13.5.ebuild +++ b/app-emulation/cri-o/cri-o-1.13.5.ebuild @@ -44,7 +44,7 @@ src_prepare() { sed -e '/^GIT_.*/d' \ -e '/ git diff --exit-code/d' \ - -e 's/$(GO) build/$(GO) build -v -work -x/' \ + -e 's/$(GO) build -i/$(GO) build -v -work -x/' \ -e 's/\${GIT_COMMIT}/'${EGIT_COMMIT}'/' \ -i Makefile || die diff --git a/app-emulation/cri-o/cri-o-1.13.7.ebuild b/app-emulation/cri-o/cri-o-1.13.7.ebuild new file mode 100644 index 000000000000..a032de19c999 --- /dev/null +++ b/app-emulation/cri-o/cri-o-1.13.7.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGIT_COMMIT="42585737f5eb59273e791e47ab1643e10862d67f" +EGO_PN="github.com/kubernetes-sigs/${PN}" + +inherit golang-vcs-snapshot systemd + +DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface" +HOMEPAGE="https://cri-o.io/" +SRC_URI="https://github.com/kubernetes-sigs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="btrfs +device-mapper ostree seccomp selinux" + +COMMON_DEPEND=" + app-crypt/gpgme:= + app-emulation/runc + dev-libs/glib:= + dev-libs/libassuan:= + dev-libs/libgpg-error:= + net-firewall/conntrack-tools + net-firewall/iptables + net-misc/cni-plugins + net-misc/socat + sys-apps/iproute2 + btrfs? ( sys-fs/btrfs-progs ) + device-mapper? ( sys-fs/lvm2:= ) + ostree? ( dev-util/ostree ) + seccomp? ( sys-libs/libseccomp:= ) + selinux? ( sys-libs/libselinux:= )" +DEPEND=" + ${COMMON_DEPEND} + dev-go/go-md2man" +RDEPEND="${COMMON_DEPEND}" +S="${WORKDIR}/${P}/src/${EGO_PN}" + +src_prepare() { + default + + sed -e '/^GIT_.*/d' \ + -e '/ git diff --exit-code/d' \ + -e 's/$(GO) build -i/$(GO) build -v -work -x/' \ + -e 's/\${GIT_COMMIT}/'${EGIT_COMMIT}'/' \ + -i Makefile || die + + echo ".NOTPARALLEL: binaries docs" >> Makefile || die + + sed -e "s|^COMMIT_NO := .*|COMMIT_NO := ${EGIT_COMMIT}|" \ + -e "s|^GIT_COMMIT := .*|GIT_COMMIT := ${EGIT_COMMIT}|" \ + -i Makefile.inc || die + + sed -e 's:/usr/local/bin:/usr/bin:' \ + -i contrib/systemd/* || die +} + +src_compile() { + [[ -f hack/btrfs_installed_tag.sh ]] || die + use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ + hack/btrfs_installed_tag.sh || die; } + + [[ -f hack/libdm_installed.sh ]] || die + use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \ + hack/libdm_installed.sh || die; } + + [[ -f hack/ostree_tag.sh ]] || die + use ostree || { echo -e "#!/bin/sh\necho containers_image_ostree_stub" > \ + hack/ostree_tag.sh || die; } + + [[ -f hack/seccomp_tag.sh ]] || die + use seccomp || { echo -e "#!/bin/sh\ntrue" > \ + hack/seccomp_tag.sh || die; } + + [[ -f hack/selinux_tag.sh ]] || die + use selinux || { echo -e "#!/bin/sh\ntrue" > \ + hack/selinux_tag.sh || die; } + + mkdir -p bin || die + GOPATH="${WORKDIR}/${P}" GOBIN="${WORKDIR}/${P}/bin" \ + emake binaries docs +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install.bin install.man + + keepdir /etc/crio + insinto /etc/crio + use seccomp && doins seccomp.json + + "${ED}"/usr/bin/crio --config="" config --default > "${T}"/crio.conf.example || die + doins "${T}/crio.conf.example" + + newinitd "${FILESDIR}/crio.initd" crio + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + + # Suppress crio log error messages triggered if these don't exist. + keepdir /etc/containers/oci/hooks.d + keepdir /usr/share/containers/oci/hooks.d + + # Suppress crio "Missing CNI default network" log message. + keepdir /etc/cni/net.d + insinto /etc/cni/net.d + doins contrib/cni/99-loopback.conf + + systemd_dounit contrib/systemd/* +} diff --git a/app-emulation/diskimage-builder/Manifest b/app-emulation/diskimage-builder/Manifest index 2dad0840f363..6afea585e5fa 100644 --- a/app-emulation/diskimage-builder/Manifest +++ b/app-emulation/diskimage-builder/Manifest @@ -1,5 +1,4 @@ -DIST diskimage-builder-2.20.3.tar.gz 403533 BLAKE2B 08aba837288123081d53b9f79af55c520acf5120dc7126781764c85aa633884ca812b46cd000f619f36138df34252652ea427dbd73aa215196883046b0baa469 SHA512 efefd3c19643e75794293519286d1df81b8bf88511d394b13addfd8953368f3ff6cd57a884b77a161d0b7d01b97624e4dd91d79497e22058f24747ee4a24df3a DIST diskimage-builder-2.21.0.tar.gz 409367 BLAKE2B 25c8a819be8674eee38a97e822151527dd77d3f5e85016ebc1a7fa5bf907f64bdac47012eb748b69273b519580c6ea4ca845abd7800ddb4e3f60dd81da546a73 SHA512 51a871a772fd4ae35d0a8ea51f7c01502c374805f5de5ab37c2f18ea868a829c7085ecaa6a62690e8d6e85afe225cbab7ed86266eb5fc3e8741a8ff968cb35f9 -EBUILD diskimage-builder-2.20.3.ebuild 1133 BLAKE2B 441d729ca8deca8194c23f587a510b2188d4ddd59a3dc5295cf57e287a7a78a0a69bb2ff584745e2aa55a4872f9992db90701f68dd39203d1a2cd533e6cd8390 SHA512 78e18e53ee45269e2d26262d9b21bdccdcccbf59c311ec745bf67fb2f60deb1b5407edf26262aae83acfdfcff151c48d89d1b40ef3c63fd025edcbec053e5750 -EBUILD diskimage-builder-2.21.0.ebuild 1135 BLAKE2B 442f6010dfb9c0e855a1fe5961c89e9d75a49c44833d67fabc58da5b2b72f1fef09331947a260d5e8af92067d29ee1e8dc751322c4fee2c4b1c2f904ac194e40 SHA512 49b94a6dbae682c29147be4861e1067f4055b0b4e9dfb9f7c59c30ba778a13c32d0372699182474c4dd025067222e26eaf321db2322af7ac918bb8a4b7e04a94 +EBUILD diskimage-builder-2.21.0.ebuild 1133 BLAKE2B 5d4b5d91a92fe4ca0a41612a58b0844a1d72475e73b3db8d0edd3ef66a90b546352608edbb5ca183b108910ee8f91cf1ec799a542e22472493730391b9b90fb6 SHA512 acbdbcc2c8d228a90bf979f5ed7054e362b86d16ed6e6d03e2b7eb4d8bf66dcfe7832ea53399c8c59d316aa374f6199319358fee35f3640e1bf562c3ecdd73cf +EBUILD diskimage-builder-9999.ebuild 1260 BLAKE2B 9130de520e2faa02b1084965a03e43d7f4eb7cf1fe4c32ea1177fe78e450118f265675b3c22f3be3044d5acfaaf32d6b7da3491eab146b790f30c2e98f9e7896 SHA512 76ed1128d3c46b6626995f266480eaccd60c316eedd1c969559f7920d414664fd37e515c1a576443bddde13a22b278c84c9d87a5f550c9e5365cd7fa7ac8e5bc MISC metadata.xml 718 BLAKE2B 04a2c90bcae79f187feb346d0b73f1d6dd1c1581123ca26bfd3182d97239a37e81875d7a3a7b03c4aa08f2974bd25be5f3021e2e48195d5d09e18b606b5b4c87 SHA512 8e16e9d92a81049d414ae54eaf7a4467982cbd949230adcfab22b636ba2b91885d80e9b047788ccd07eab547ae2f85a56d989b971b64bd926e6ca70972398277 diff --git a/app-emulation/diskimage-builder/diskimage-builder-2.20.3.ebuild b/app-emulation/diskimage-builder/diskimage-builder-2.20.3.ebuild deleted file mode 100644 index 8188442a1626..000000000000 --- a/app-emulation/diskimage-builder/diskimage-builder-2.20.3.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 - -DESCRIPTION="Golden Disk Image builder." -HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux" -IUSE="" - -CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] - !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]" -DEPEND="${CDEPEND} - dev-python/setuptools[${PYTHON_USEDEP}]" -RDEPEND="${CDEPEND} - >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] - !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] - >=dev-python/networkx-1.10[${PYTHON_USEDEP}] - =dev-python/pyyaml-3.12[${PYTHON_USEDEP}] - >=dev-python/flake8-2.5.4[${PYTHON_USEDEP}] - =dev-python/six-1.10.0[${PYTHON_USEDEP}] - >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] - app-emulation/qemu - sys-block/parted - sys-fs/multipath-tools - sys-fs/dosfstools - sys-apps/gptfdisk - !dev-python/dib-utils[${PYTHON_USEDEP}]" diff --git a/app-emulation/diskimage-builder/diskimage-builder-2.21.0.ebuild b/app-emulation/diskimage-builder/diskimage-builder-2.21.0.ebuild index 97042574bdf1..6e540430c3e6 100644 --- a/app-emulation/diskimage-builder/diskimage-builder-2.21.0.ebuild +++ b/app-emulation/diskimage-builder/diskimage-builder-2.21.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux" IUSE="" CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] diff --git a/app-emulation/diskimage-builder/diskimage-builder-9999.ebuild b/app-emulation/diskimage-builder/diskimage-builder-9999.ebuild new file mode 100644 index 000000000000..bda4c2798bb7 --- /dev/null +++ b/app-emulation/diskimage-builder/diskimage-builder-9999.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 + +DESCRIPTION="Golden Disk Image builder." +HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/" +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git" +else + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]" +DEPEND="${CDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}]" +RDEPEND="${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] + >=dev-python/networkx-1.10[${PYTHON_USEDEP}] + =dev-python/pyyaml-3.12[${PYTHON_USEDEP}] + >=dev-python/flake8-2.5.4[${PYTHON_USEDEP}] + =dev-python/six-1.10.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + app-emulation/qemu + sys-block/parted + sys-fs/multipath-tools + sys-fs/dosfstools + sys-apps/gptfdisk + !dev-python/dib-utils[${PYTHON_USEDEP}]" diff --git a/app-emulation/docker-credential-helpers/Manifest b/app-emulation/docker-credential-helpers/Manifest new file mode 100644 index 000000000000..20866d494568 --- /dev/null +++ b/app-emulation/docker-credential-helpers/Manifest @@ -0,0 +1,3 @@ +DIST docker-credential-helpers-0.6.0.tar.gz 27441 BLAKE2B 6517f069782d5a496d3f140d86e5b1f32f197e9209ed61f75bfb9ba29cf0e1fa509bdbbbce2defc14ad0abe316632683cfad25e7ac9a6a1d70c3289e0ad489f5 SHA512 359e8ec700f423ce0687f13ce02946007f90456abe86659a87c59419ebde5e79adb4d28ee5e6a9762a44cfd65648c247629a5273326abf18a8880bee637e74d8 +EBUILD docker-credential-helpers-0.6.0.ebuild 1239 BLAKE2B 8d4df763dff3aacfce1f28ce3165e4fc0271babfd4baf2adaabd737c8826b13741cb28e9d55f9507af8de35bb79311e296081919dfa9bf197f1faafbb36a2cb0 SHA512 df28794f01a5af1bf3390fec6bb0050f13ea93c90255800a94d5069ff7b5ea3b69b7d352e40d4a6223df9e5543c2fde8065d159af8ae24d8ddb9a1d2748060f7 +MISC metadata.xml 853 BLAKE2B 1b9b98e3221af329fe7c154647efd44bd7ddfd99fb429dd274eccb848ae694281e5a03704f7def7d92e6e7bb7ccefec20bbbf49b485b52d4b0e550cf7454ab59 SHA512 bbcf87d194c61fbd3772c176cd58771ef82db7aaa3a0c60fc9ca239afe8d1732467a82bc7da338b5e674e575214bb35e8a5468a492755534902831dd30aa76d7 diff --git a/app-emulation/docker-credential-helpers/docker-credential-helpers-0.6.0.ebuild b/app-emulation/docker-credential-helpers/docker-credential-helpers-0.6.0.ebuild new file mode 100644 index 000000000000..d1223733ba00 --- /dev/null +++ b/app-emulation/docker-credential-helpers/docker-credential-helpers-0.6.0.ebuild @@ -0,0 +1,58 @@ +# Copyright 2001-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="A suite of programs to use native stores to keep Docker credentials safe" +HOMEPAGE="https://github.com/docker/docker-credential-helpers" +EGO_PN=github.com/docker/docker-credential-helpers + +LICENSE="MIT" +SLOT="0" + +if [[ ${PV} = *9999* ]]; then + inherit golang-vcs +else + KEYWORDS="~amd64" + EGIT_COMMIT="v${PV}" + SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + inherit golang-vcs-snapshot +fi +inherit golang-build + +IUSE="gnome-keyring pass" +REQUIRED_USE="|| ( gnome-keyring pass )" +RESTRICT="test" + +DEPEND="gnome-keyring? ( app-crypt/libsecret )" + +RDEPEND="( + ${DEPEND} + pass? ( app-admin/pass ) +) +" + +S=${WORKDIR}/${P}/src/${EGO_PN} + +src_compile() { + local -x GOPATH="${WORKDIR}/${P}" + use gnome-keyring && emake secretservice + use pass && emake pass +} + +src_install() { + dobin bin/* + dodoc CHANGELOG.md MAINTAINERS README.md +} + +pkg_postinst() { + if use gnome-keyring; then + elog "For gnome-keyring/kwallet add:\n" + elog ' "credStore": "secretservice"'"\n" + fi + if use pass; then + elog "For 'pass' add:\n" + elog ' "credStore": "pass"'"\n" + fi + elog "to your ~/.docker/config.json" +} diff --git a/app-emulation/docker-credential-helpers/metadata.xml b/app-emulation/docker-credential-helpers/metadata.xml new file mode 100644 index 000000000000..1e58ef54d4d1 --- /dev/null +++ b/app-emulation/docker-credential-helpers/metadata.xml @@ -0,0 +1,27 @@ + + + + + A suite of programs to use native stores to keep Docker credentials + safe. Currently provides docker-credential-secretservice to use the + D-Bus secret service APIs, and docker-credential-pass to use the + pass framework. + + + rkitover@gmail.com + Rafael Kitover + + + proxy-maint@gentoo.org + Proxy Maintainers + + + + Build secretservice helper which works with gnome-keyring or kwallet + using D-Bus. + + + Build pass helper for the pass utility. + + + diff --git a/app-emulation/dosemu/Manifest b/app-emulation/dosemu/Manifest index b6a8ad9e302b..0a630273055c 100644 --- a/app-emulation/dosemu/Manifest +++ b/app-emulation/dosemu/Manifest @@ -6,5 +6,5 @@ AUX dosemu-1.4.1_pre20130107-ia16-ldflags.patch 1787 BLAKE2B a265263de5ccb12df72 AUX dosemu-1.4.1_pre20130107-no-glibc.patch 559 BLAKE2B 93ba50a5acda4b0b556e5393c34babe0b9172a8c9c1b168432f454ff120673496d279496d76821eda49886aaa998244bd411d4db6b465517712c4f6683d2850d SHA512 c53e3f7ed1b7a74e1112ea5507d0912ef1d16ff657aa5a03132f6b4c35ddb638ecde40ef554254f429316ffd74fc2d8afb59548d97547eeed231c80c0c057eed DIST dosemu-1.4.1_pre20130107.zip 2767256 BLAKE2B 068c38108257b83d046682d4e9bda6f2da84195cff3aa5eb73764e88ba48bd415a6af9fa1b57059dee12ddd75b379df730fe6957014b554cc13b12ac029eed8d SHA512 eb8dcb914a74b235f2b37ff4dd5c1c84b4916ff195c7bf76cdbe6a4d5e6247c57297eef0c579f219ff7f475e727d66fa5a0f314da46d79cc97a0d794e9ad5864 DIST dosemu-freedos-1.0-bin.tgz 1205628 BLAKE2B e88a23b14cf1ccccb4f648b3c3af39330d8af29940e228b951cc7e48595f9838236066b67f841328e75ee7aee18f9e7814ea33382bb48902ca7947806b646852 SHA512 d0c4235ceac55de63ce5f72e51b7d57a82b8104f4bf2df6f4dc25c9889d3337b40d75665c2dfc98492ec7123e0959a725f5c7579e145895024bd80a07036e3bd -EBUILD dosemu-1.4.1_pre20130107-r5.ebuild 2523 BLAKE2B 8736c113bcaaf4444ea1b1bdd092df51d5373712d0e1acaeebcd5edc6b93d2806eabf7ad972a16e4ec5da97137d63148d874a76fff6179251db8e78832c2887f SHA512 c97e280a0f90c30678676cba12ed7942e0012722e0909f5552671dc10efd32cfc7eb36d2a7bdb53b3c859eca41790a65b25a4b82e3efea0bbe881de39fb321ed +EBUILD dosemu-1.4.1_pre20130107-r5.ebuild 2589 BLAKE2B 0716e7fd5d50f747a34b7b03c15cc6a97eaefd905eeaecdf052b8465e3e153f4013718a3fbe2e615b5696488c08cadf4b88e2a97e63939f35279c439fa979dea SHA512 7ce15db9ddb685464ac2c7a8ab2b082d41ce8973601c1614e01ed25fea6cce93bc904b66646a0c90c168b3cdb155b8b38a0f70cbd6db85a15de8c38e1e9a3ed6 MISC metadata.xml 432 BLAKE2B 06cd4821f41961fdcf266bb1175ee118cd181d17c3b38508e2a30dbbfab9e5cb02608e2b8e5af905abc24718d410a24d112c073fd6ee460b33d904c975358a61 SHA512 da0538836dc326d714141ab6c7b9f00bc1604fa5b51df7d9d548a8e3d889072b3ee8890a25705e2a7c2c1c31645c0b9af85ce6a2d1e4aa142a4d83a08fd6f9d8 diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild index 4f7a7c37c07a..2954d3ad84a4 100644 --- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild +++ b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -7,11 +7,13 @@ inherit autotools eutils flag-o-matic pax-utils toolchain-funcs P_FD="dosemu-freedos-1.0-bin" COMMIT="15cfb41ff20a052769d753c3262c57ecb050ad71" +# snapshot is downloaded as: +# https://sourceforge.net/code-snapshots/git/d/do/dosemu/code.git/dosemu-code-${COMMIT}.zip DESCRIPTION="DOS Emulator" HOMEPAGE="http://www.dosemu.org/" SRC_URI="mirror://sourceforge/dosemu/${P_FD}.tgz - https://sourceforge.net/code-snapshots/git/d/do/dosemu/code.git/dosemu-code-${COMMIT}.zip -> ${P}.zip" + https://dev.gentoo.org/~slyfox/distfiles/${P}.zip" LICENSE="GPL-2" SLOT="0" diff --git a/app-emulation/gallium-nine-standalone/Manifest b/app-emulation/gallium-nine-standalone/Manifest index 3f7263e311b0..a03766b75ca3 100644 --- a/app-emulation/gallium-nine-standalone/Manifest +++ b/app-emulation/gallium-nine-standalone/Manifest @@ -1,6 +1,8 @@ AUX 0.3-nine-dll-path.patch 414 BLAKE2B a1747c90521f2fec6ba70ea77c2b7a2adafd705e04a46ea14fe983859f00c0aa33ec73dc24a03805579b84b57a2528857994943bb999e2f38c6f652404fd661e SHA512 423a7ebd8284c475d226109e0af9d867753b75ff1d1a9100d948c91e71dbc76bd8d8973e4ecf3fdb8fab5555da6339484459c623f028f7091e9d010395f24970 AUX flags.patch 928 BLAKE2B 62f7d6c3e904ad13f39f6e554fb02784b1d68bcea92208c16f0583d41dbd95c1bc52d6b58ee7b88aff54073f9afc078839759f752ee765ebb8059a81fe52dee3 SHA512 e37221abb35a4c170a38db0129a0413b54863952ed00efa36dd0b8af67850cde3949d8b81547bad8c13783ddd7a32407b6eaf33881505cdfe165a29ec9c31c19 DIST gallium-nine-standalone-0.3.tar.gz 63887 BLAKE2B bd198617a5d3d3830bd5127b63eed2c82bff037141ae72ff9237ad5062fdbe9b6797e233eaf86e06d92153487c53389eb094b0be3b0cbdbf3fe565292a15cbb0 SHA512 80fedca58523fbf318109d2d3d5420e97d26ebf5b89b9f1965165c7a33c9dab9c62a65f14b75569b5126c549f5df91beef372d54e94dc90c608932eeb6a59829 +DIST gallium-nine-standalone-0.4.tar.gz 66820 BLAKE2B 7e7b0028f0c7e7c26fa1ee164e7e867fee39a5f315b750bfc3537e8720e9fbc625ca27fb28a58e8e521af455f8ab347d6fd6ca82786fe5ac9d76e368cd43466e SHA512 6af31e828400c6f711c76d91fb65215f4ba79c31b8d98f3e953b319593d96d1e5e78e07aca96529de37bbb89f3479a4d4db5f58e32ce7b98667284be10a9e532 EBUILD gallium-nine-standalone-0.3.ebuild 2928 BLAKE2B aec5af41c488c7a0d56b432a6fa103c6f485668f0c068c5aaa85501d4b6c29bd952124799508deb99926822cf58b17e0a86c4ec4e37b79d88aadcb7b690516d1 SHA512 3c93f520498e0b9de4d2f7552fd41944111801f38cf540acda048c61bd83f878e433b273c547c1b21f6945a529881ae94cdaf9c03b27f10908a70a4d16d612c9 -EBUILD gallium-nine-standalone-9999.ebuild 2928 BLAKE2B aec5af41c488c7a0d56b432a6fa103c6f485668f0c068c5aaa85501d4b6c29bd952124799508deb99926822cf58b17e0a86c4ec4e37b79d88aadcb7b690516d1 SHA512 3c93f520498e0b9de4d2f7552fd41944111801f38cf540acda048c61bd83f878e433b273c547c1b21f6945a529881ae94cdaf9c03b27f10908a70a4d16d612c9 +EBUILD gallium-nine-standalone-0.4.ebuild 2782 BLAKE2B 9335c616e56938adce7e7d409f369765936eb58c612601e9feb48714e8313db62b106450ab0d5d63d8880357555b2e2fee7c51c00ae68c0e6c81ef4af3eaae3c SHA512 1a51b7f5a8e68188a0505f1f1467c5b4f35c8ee7dd4135d622dac12a6b756c96a521bf6ce84fb2c655b94f49fd4fea0a01c973a2d4c1fa213b49c42ccb6ff092 +EBUILD gallium-nine-standalone-9999.ebuild 2782 BLAKE2B 9335c616e56938adce7e7d409f369765936eb58c612601e9feb48714e8313db62b106450ab0d5d63d8880357555b2e2fee7c51c00ae68c0e6c81ef4af3eaae3c SHA512 1a51b7f5a8e68188a0505f1f1467c5b4f35c8ee7dd4135d622dac12a6b756c96a521bf6ce84fb2c655b94f49fd4fea0a01c973a2d4c1fa213b49c42ccb6ff092 MISC metadata.xml 774 BLAKE2B 8b793ed6e079a800628ed7e59786bc82dd191c05367ef5e1600f903f3ebfd32c9ab0034a1dba1701ec104348cf1b9a8b437b63300e607a65ee92b1887be4800f SHA512 9453d7d767ba7f788291c6980a86388a0f952b893a474aa17e249c4f3b9b77b864108230fdc8f8b94e74eb45443f608a8d9ecde10cbc121234c9b91f59e7b752 diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.4.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.4.ebuild new file mode 100644 index 000000000000..868d83cdbb60 --- /dev/null +++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.4.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit meson multilib-minimal toolchain-funcs + +MY_PN="wine-nine-standalone" +DESCRIPTION="A standalone version of the WINE parts of Gallium Nine" +HOMEPAGE="https://github.com/iXit/wine-nine-standalone" + +if [[ $PV = 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/iXit/${MY_PN}.git" +else + SRC_URI="https://github.com/iXit/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${MY_PN}-${PV}" + KEYWORDS="-* ~amd64 ~x86" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" + +# We don't put Wine in RDEPEND because you can also use this with +# Steam's Proton. + +RDEPEND=" + media-libs/mesa[d3d9,dri3,${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libxcb[${MULTILIB_USEDEP}] +" + +DEPEND=" + ${RDEPEND} + virtual/pkgconfig[${MULTILIB_USEDEP}] + virtual/wine[${MULTILIB_USEDEP}] + >=dev-util/meson-0.50.1 +" + +PATCHES=( + "${FILESDIR}"/flags.patch + "${FILESDIR}"/0.3-nine-dll-path.patch +) + +bits() { + if [[ ${ABI} = amd64 ]]; then + echo 64 + else + echo 32 + fi +} + +src_prepare() { + default + + # Upstream includes a bootstrap.sh script with hardcoded CHOSTs to + # create the Meson cross files. We improve on that here but also + # inject CFLAGS and LDFLAGS, partly to simply respect these, and + # partly to allow d3d9-nine.dll to be loaded from a location outside + # WINEPREFIX. This avoids the need for the nine-install.sh script, + # which doesn't play well with our multi-Wine environment. + bootstrap_nine() { + local file=tools/cross-wine$(bits) + local g9dll=\"Z:${EPREFIX}/usr/$(get_libdir)/d3d9-nine.dll.so\" + + sed \ + -e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \ + -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \ + -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \ + ${file}.in > ${file} || die + } + + multilib_foreach_abi bootstrap_nine +} + +multilib_src_configure() { + # We override bindir because otherwise the 32-bit exe is overwritten + # by the 64-bit exe and we need both of them. + local emesonargs=( + --cross-file "${S}/tools/cross-wine$(bits)" + --bindir "$(get_libdir)" + -Ddistro-independent=false + -Ddri2=false + ) + meson_src_configure +} + +multilib_src_compile() { + meson_src_compile +} + +multilib_src_install() { + meson_src_install +} + +pkg_postinst() { + local bits=$(bits) + + einfo "Don't remove the Z: drive from your WINEPREFIX as this relies on it." + einfo + einfo "To set up the ${bits}-bit library, launch your preferred Wine as follows:" + einfo " wine${bits/32} ${EPREFIX}/usr/$(get_libdir)/ninewinecfg.exe.so" + + if use abi_x86_64 && use abi_x86_32; then + einfo + einfo "To set up the 32-bit library, launch your preferred Wine as follows:" + einfo " wine ${EPREFIX}/usr/$(ABI=x86 get_libdir)/ninewinecfg.exe.so" + fi +} diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild index 852055dc803a..868d83cdbb60 100644 --- a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild +++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild @@ -27,7 +27,6 @@ SLOT="0" RDEPEND=" media-libs/mesa[d3d9,dri3,${MULTILIB_USEDEP}] x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] x11-libs/libxcb[${MULTILIB_USEDEP}] " @@ -35,6 +34,7 @@ DEPEND=" ${RDEPEND} virtual/pkgconfig[${MULTILIB_USEDEP}] virtual/wine[${MULTILIB_USEDEP}] + >=dev-util/meson-0.50.1 " PATCHES=( @@ -61,14 +61,11 @@ src_prepare() { # which doesn't play well with our multi-Wine environment. bootstrap_nine() { local file=tools/cross-wine$(bits) - local g9dll=Z:${EPREFIX//\//\\}\\usr\\$(get_libdir)\\d3d9-nine.dll.so - - # Yes, these ridiculous backslashes are needed! - g9dll=\\\\\\\\\\\"${g9dll//\\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\" + local g9dll=\"Z:${EPREFIX}/usr/$(get_libdir)/d3d9-nine.dll.so\" sed \ -e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \ - -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} -DG9DLL=${g9dll}")!" \ + -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \ -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \ ${file}.in > ${file} || die } diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest index 24a919decf35..2d6d23dff526 100644 --- a/app-emulation/qemu-guest-agent/Manifest +++ b/app-emulation/qemu-guest-agent/Manifest @@ -5,5 +5,7 @@ AUX qemu-ga.init-r1 624 BLAKE2B 79416a272a89349e4174a4238fc7763fc1f116c7c4a2e7c4 AUX qemu-ga.logrotate 128 BLAKE2B 99035fefeccc6334c0cd5ae16e8550a07cfe4256d2374a0679a90805919aa4b7afac4f1d0c3bac72fcc5c7c0e0d87b227be8b1697338b827c890c56be77b07db SHA512 0fb39dd7ee528b36d8e837fbc53ba69476ba83947a4df10a9df03a02861a37d21f53865adbd3050c24aad72ec8a8bee1fb33f7382213d855884aff109f3c3789 AUX qemu-guest-agent-2.5.0-sysmacros.patch 365 BLAKE2B 0468e23b64612b0a9375ab6d47bd40447003f151d7f9421d1338d66663af390d69af6a8f9233eab66a69b7d38868e9735a19eefd16dd65f42853e4919ed27046 SHA512 a608a3d96f03c54fcccb7bcb354f0deec4bcb570f03b8ac9044ca5c6ee7a6252ae7cac05fb142d7c95feecfbb17e0499bbc1d6935c3e3e9ea7db319c4c11f6ad DIST qemu-3.1.0.tar.xz 36070104 BLAKE2B 9ed7d1b3256d84f2b73d61763e20f5e4bc5b47d56e4e0d56cf4c29cd25669457b0f08e90d7255589c9666400bb310df3dba3b9290232cad18057b20f08013a3b SHA512 7e8dae823937cfac2f0c60406bd3bdcb89df40313dab2a4bed327d5198f7fcc68ac8b31e44692caa09299cc71256ee0b8c17e4f49f78ada8043d424f5daf82fe +DIST qemu-4.0.0.tar.xz 55628624 BLAKE2B 8afd1f54aa13d2e61fd36c4f4544b7c4ffb1a7eee5c69d3aa1d40a432ca296ad8abe6cb83d7c66ac4045ca624d2a00e737f51e4e62ed46fef9766ef71f43b98b SHA512 952e94194ce9e64c15388c59035cb31fb9f761d30095c2fb9441012b609c18c9976285727b93bf37b95e15675802d73f8e1c4619ebecd23606675bb503646b13 EBUILD qemu-guest-agent-3.1.0.ebuild 1721 BLAKE2B e5431c5fe7028db73468c19f209a631d3737a2591142820bc6407d73fd5ee35ff107b9f1e8083c05756aeab325fa3526070177bc61e790d400ec2a9b1b5fa714 SHA512 d1d75d7c7fd0bd84d675ae83d723dc8c1dd0932a9c9b950218486eb82065744a9958262de051df9f29ecd346f5979a870acb0d0c04f7b0407da1ed77021550e2 +EBUILD qemu-guest-agent-4.0.0.ebuild 1723 BLAKE2B beda766ae8a9939a756a601e4ffd5e3554e3163b841cad64d1290a2a433c820f105fccc5ae055ed03382c32e9ee3ac86b834186fd2d6c80df61f6f1880cb3061 SHA512 2b378c0c08457596729f71aa10415c6aef444c341aabecac594042ec42aa6113a2eb17379467dda2681219317ff28b9142e85bc84479163ffa247ec71c91fe9e MISC metadata.xml 379 BLAKE2B d27991e18ed82ad5892cd44e50c965f8eacef9e8f2e11a6655306cf6913ec8e6d871c898cc8763140d5fd7d2be97ea7b4fc6377a0cab1978113a311dffaecdb4 SHA512 ee5deeb07591c7adb54bee8b80ea5a35e6047c308265d5363d239ed067416967c87cba01d6369bb5f2cd7792d1b65b9d0f1e7068b362ff5a2bad35232e272f05 diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-4.0.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-4.0.0.ebuild new file mode 100644 index 000000000000..078447e6d187 --- /dev/null +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-4.0.0.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) + +inherit eutils systemd udev python-any-r1 + +MY_PN="qemu" +MY_P="${MY_PN}-${PV}" + +SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" + +DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" +HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" + +LICENSE="GPL-2 BSD-2" +SLOT="0" +IUSE="" + +RDEPEND="dev-libs/glib" + +DEPEND="${RDEPEND} + ${PYTHON_DEPS}" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch #580924 +) + +src_configure() { + tc-export AR LD OBJCOPY + + local myconf=( + --prefix=/usr + --sysconfdir=/etc + --libdir="/usr/$(get_libdir)" + --localstatedir=/ + --disable-bsd-user + --disable-linux-user + --disable-system + --disable-strip + --disable-tools + --disable-werror + --enable-guest-agent + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + ) + echo "./configure ${myconf[*]}" + ./configure "${myconf[@]}" || die +} + +src_compile() { + emake V=1 qemu-ga +} + +src_install() { + dobin qemu-ga + + # Normal init stuff + newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent + newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent + + insinto /etc/logrotate.d + newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent + + # systemd stuff + udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules + + systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \ + qemu-guest-agent.service +} + +pkg_postinst() { + elog "You should add 'qemu-guest-agent' to the default runlevel." + elog "e.g. rc-update add qemu-guest-agent default" +} diff --git a/app-emulation/qemu-riscv64-bin/Manifest b/app-emulation/qemu-riscv64-bin/Manifest new file mode 100644 index 000000000000..6dc57ee4fb8c --- /dev/null +++ b/app-emulation/qemu-riscv64-bin/Manifest @@ -0,0 +1,3 @@ +DIST qemu-riscv64-bin-3.1.0-r4.tar.xz 889764 BLAKE2B 888fef2f27f44be098e9b834b083558ce18d98337612b4de2278ffe5d6599248d9ed4e99153ad9b2c1a5b773131c420bb23ce6d080943af744df34464660bc42 SHA512 bc92110f6730c61bd39056d0bf3f84b35ed340a47af51b28b27554f9f2f72409221d2c81826b718742475d0fc48040c81e8f051e29b4f13412c3a39e282471e0 +EBUILD qemu-riscv64-bin-3.1.0-r4.ebuild 467 BLAKE2B 21775993cbb9db3cd2e613b8e3ebec5a0fbd6c456766a2dde70e72adb3c8c4cda0f34afce49c2470220ebeab44f118105b0052a031cbe58e95fd9d7cc4cc0ea6 SHA512 f39ac61bef07a769e7a5ac59f7be78f949fa5bc5de34705e76768a5f62ab9aeca75aeda1776024f085781e5ca780de68501d8b231f18443fa49dce0c4d42b5ff +MISC metadata.xml 479 BLAKE2B 9073a68b14d921d5557835e3f3518f3e35688452310d8d9c89233abca25277588a67eee0641e0cfb8afb7951fd29281ca7add9a20ff45acae1f3532ad051e862 SHA512 78d7fa09208d0cb1c6bad33a92d059858d94939821147fa2f095b961bee64ea29db6dedba6e68dac9db6ae2b985e3c8462d56bbe079fbe074c623257a830b6ff diff --git a/app-emulation/qemu-riscv64-bin/metadata.xml b/app-emulation/qemu-riscv64-bin/metadata.xml new file mode 100644 index 000000000000..304c5d2c5ff3 --- /dev/null +++ b/app-emulation/qemu-riscv64-bin/metadata.xml @@ -0,0 +1,16 @@ + + + + + riscv@gentoo.org + RISC-V + + + tamiko@gentoo.org + Matthias Maier + + + virtualization@gentoo.org + Gentoo Virtualization Project + + diff --git a/app-emulation/qemu-riscv64-bin/qemu-riscv64-bin-3.1.0-r4.ebuild b/app-emulation/qemu-riscv64-bin/qemu-riscv64-bin-3.1.0-r4.ebuild new file mode 100644 index 000000000000..30853f041f52 --- /dev/null +++ b/app-emulation/qemu-riscv64-bin/qemu-riscv64-bin-3.1.0-r4.ebuild @@ -0,0 +1,20 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Statically linked x86-64 binary of app-emulation/qemu, riscv64 emulator" + +HOMEPAGE="http://www.qemu.org" +SRC_URI="https://dev.gentoo.org/~dilfridge/distfiles/${PN}-${PVR}.tar.xz" +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="!app-emulation/qemu[qemu_user_targets_riscv64]" + +S=${WORKDIR} + +src_install() { + dobin qemu-riscv64 +} diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 15328278420a..a4b407d8075f 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -3,13 +3,13 @@ AUX bridge.conf 454 BLAKE2B 2f3e828a001ac77de96c8a11e3fc462149e1c16972c28b836765 AUX qemu-2.11.1-capstone_include_path.patch 264 BLAKE2B 955b498c0ea2657ee4c9d0054a32693ac2096232ae8358848fa8518bcb87c1cce5d9145ccf560320ba53d60ae8ed85f6be801b72707a964b247e8f1f1844f9cd SHA512 ebf1d6450b7c499a8e490b19f87a3b4f8bbc50ea44edaac8c12b0993947513a8b616af2d4cf6240c8e265824a44463f917333ffa510e6ffedf379921e28fc3ab AUX qemu-2.5.0-cflags.patch 410 BLAKE2B 1d072b5dd00369bb565b30c2aa7047de92b441bf103faadb5dd42daf36ad1c5e39c5bdfdc2b5f2bb0bfec2ea1255b4182caeb467614a487f5cfcb341109a4884 SHA512 0194d28de08b4e51c5bd1c9a2cc7965ba7f66dfddb8fd91de3da93677e6cf2d38ad3270f69aaea8a20cf2533c2980018d6e0fed711be2806fe2053fba7c081f3 AUX qemu-2.5.0-sysmacros.patch 333 BLAKE2B 8c38410c6ea789f669d89c7321cdc9e5c734bb3db332272657302977241f157b04fb07e27bda4f67ee560e39a7494344ad79616835e6ff483927f2b72ed9c597 SHA512 329632c5bff846ca3ffcdb4bc94ae62f17c6bdbb566f9bec0784357c943523e8ca7773790b83a9617734cab3b003baa3d636cbd08f7385810a63b0fa0383c4f0 -AUX qemu-3.1.0-CVE-2018-20123.patch 1001 BLAKE2B 0556cd85cc88173ccb7add0eef87dbc1311c80e66513137056776b6955ea5f04d3f1b87bbf88bb43a55149b9fe45490c3c061efdd37bfb06fb31bd20946594a2 SHA512 68ff91a7af012ffc2cc7e67b525eaaf2ce2ed991debf9c73c1157424b13e74cbc82327f6e2596455c9ed6915cb35798e39075fd0a9ad1edd7f14d1ab1e8758da -AUX qemu-3.1.0-CVE-2019-3812.patch 997 BLAKE2B 042dd4d18a71a6d23b168afa0447372b1929d436678fda6aa8a6e8d99fecc8bc57decc99bdc82b28523374df06ef7483a6d44c81cf269b7bd0dbc3527fa6d5c3 SHA512 61feb1285d312481e74e6b2cffb5bb5ad00f0c5906d69afc23d2ac218706c024402e2dc538815aef02e79606681fde89ca9ddf2bcd278cc2011bd51df5abd028 +AUX qemu-4.0.0-sanitize-interp_info.patch 930 BLAKE2B d555dedc493cfa1cf888cfa7ce2a4a7811f3fd12615fa5177f82c421ddd82c2d7ffcf2e5c28ca383aac1fff35d03cae6b4b6c5129c694d9b3986819aa1e12962 SHA512 7783acf1172c4fd935c2b8f5bd76e97cea6bbb3ee33a21b23a17f23933f6053b3a933f378c6eae184c2362cb090b6b2c1966f79f1f130cf7344205ef3df0178d AUX qemu-binfmt.initd.head 1442 BLAKE2B 23aa5338914aa7c47f9b1cc1d28291abd0ea037a33cca81f990decfafac2907c86c042350c9dd45591d16330846d4e11d2c8a2a409a68ad81656d9c2c51964c0 SHA512 3fec8946a37bfbd2089f5d95089ed5987a198fc0139ee7482d4bb38c2ffa0e165667a7853afcf2b458bc3e2a6540f172c929ca5a334a00db47e2d0f881382c0e AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 DIST qemu-3.1.0-patches-r1.tar.xz 2292 BLAKE2B 0861dcf2eebd7f1f6dd495035fc39a14e44eb8e437127b22105ea2374e5068613c4c3f41227e97e0093062f9448ded2d956dc6c40ae6c64c7258c3dcf87c59c3 SHA512 6eca3f4ec6e62c7a24af15405147d266f8fb77462eb8797da8d7f9e40805160d9431478428baece5b5744fc1edecff988b44c512ae1fbf8f2cc3632ea14962cc DIST qemu-3.1.0.tar.xz 36070104 BLAKE2B 9ed7d1b3256d84f2b73d61763e20f5e4bc5b47d56e4e0d56cf4c29cd25669457b0f08e90d7255589c9666400bb310df3dba3b9290232cad18057b20f08013a3b SHA512 7e8dae823937cfac2f0c60406bd3bdcb89df40313dab2a4bed327d5198f7fcc68ac8b31e44692caa09299cc71256ee0b8c17e4f49f78ada8043d424f5daf82fe -EBUILD qemu-3.1.0-r1.ebuild 23848 BLAKE2B 5cce371236042a1c0dff289d7fad5287a672f00d292c2580b0da8a558b64514eb66748df184f15b4956fe3fe5df99c62c6d12caecadc2c002fe56022fc3942b9 SHA512 6c38e393fb482b4e330b10f11070a670d3971ba17e1e3bdb3eeb7225e451cb191912ca617c20f33bc393094b3f036e9328a494b32a33f594b3f44bdda98f1e35 +DIST qemu-4.0.0.tar.xz 55628624 BLAKE2B 8afd1f54aa13d2e61fd36c4f4544b7c4ffb1a7eee5c69d3aa1d40a432ca296ad8abe6cb83d7c66ac4045ca624d2a00e737f51e4e62ed46fef9766ef71f43b98b SHA512 952e94194ce9e64c15388c59035cb31fb9f761d30095c2fb9441012b609c18c9976285727b93bf37b95e15675802d73f8e1c4619ebecd23606675bb503646b13 EBUILD qemu-3.1.0-r4.ebuild 23873 BLAKE2B a16ea397f5da2d3e36edaee9d584fe99366e2b85afe21d83eb906aac58c946ba85789c3430fab4913b8fd9008e2e13fcd13822bf643932988ac999e527311442 SHA512 158917bb98ac88f9d635e928b6397409051ea00269749751d5b0c5aa9d0bb539e7bb50573131e2eba0b6748ddee34a6ffd366c7aa180b2094553bb7b01193223 -EBUILD qemu-9999.ebuild 23666 BLAKE2B 231fa7f12b79c01caa6f49d2a05d8eecd752e23a56fd86747ac2f7185e0155d09b73614a540048e8c9caeb457a92122c8521ced1a028cb2867d933f553d09d95 SHA512 fecd3c094393f73192ab51dea730e3de0e63f4d46e4b51358a855df73ee26dd6a9f00698f3145ec05045344b7c36b7125622fc9fdf60c143097947436941434c +EBUILD qemu-4.0.0.ebuild 23707 BLAKE2B b88519c5d0d2cf5e5e7875815ac837fe662a87bb3ad91848305df6e360d9e1b24d944105b857d5272d7d34edb9d94f7b7d24f410c2db57d8dc97e47c438fa525 SHA512 1d1b9772d83af975d79fc1a7f4b7316701883cd9bbeddcf1366f2ff7b82f90c007d0a4c11270242887d7a1aa2e21f801f62ee57b571a3b5ecc5b0c5259f3fb03 +EBUILD qemu-9999.ebuild 23660 BLAKE2B 861d8c176f233dad287abd6624fa50654f7cbbcc6da4803bbc5a23f5af876b843d6570ae857adefc25b603b8c48aed6a45eeafcf873fa7afb4d75a17d033b2d5 SHA512 34c5c6ddb4caef28f0613b3fe7ec4decfb98b54cc519f1cdf3d238dd2307b2005317a3bbd0304c39c894c3f35f0b6bb124aa2670e29b38b482de3df3c601ef44 MISC metadata.xml 3903 BLAKE2B 47538d32d79321c208037c95184ab68dbbcaa2331a561142bbadc01fbc2b7973cc5ae76ac6dfa7faf1c3aa31d1d0b5dfd6a46211e94c17c5a8939b0ae99b227b SHA512 d501ede1f3182e635db02c8bac4381906ac47b8d6db4bb6b0fdeb91b35b440a2a59a5dd23b06462f1d49a6b64ae2f2bcf1f81fd0a898c8f4b67a40ccf2c58341 diff --git a/app-emulation/qemu/files/qemu-3.1.0-CVE-2018-20123.patch b/app-emulation/qemu/files/qemu-3.1.0-CVE-2018-20123.patch deleted file mode 100644 index a021a6a970d2..000000000000 --- a/app-emulation/qemu/files/qemu-3.1.0-CVE-2018-20123.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Prasad J Pandit - -If during pvrdma device initialisation an error occurs, -pvrdma_realize() does not release memory resources, leading -to memory leakage. - -Reported-by: Li Qiang -Signed-off-by: Prasad J Pandit ---- - hw/rdma/vmw/pvrdma_main.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/hw/rdma/vmw/pvrdma_main.c b/hw/rdma/vmw/pvrdma_main.c -index 8a03ab4669..b65f8662df 100644 ---- a/hw/rdma/vmw/pvrdma_main.c -+++ b/hw/rdma/vmw/pvrdma_main.c -@@ -579,7 +579,7 @@ static void pvrdma_shutdown_notifier(Notifier *n, void *opaque) - - static void pvrdma_realize(PCIDevice *pdev, Error **errp) - { -- int rc; -+ int rc = 0; - PVRDMADev *dev = PVRDMA_DEV(pdev); - Object *memdev_root; - bool ram_shared = false; -@@ -655,6 +655,7 @@ static void pvrdma_realize(PCIDevice *pdev, Error **errp) - - out: - if (rc) { -+ pvrdma_fini(pdev); - error_append_hint(errp, "Device fail to load\n"); - } - } --- -2.19.2 diff --git a/app-emulation/qemu/files/qemu-3.1.0-CVE-2019-3812.patch b/app-emulation/qemu/files/qemu-3.1.0-CVE-2019-3812.patch deleted file mode 100644 index 03db9e0a1f2d..000000000000 --- a/app-emulation/qemu/files/qemu-3.1.0-CVE-2019-3812.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b05b267840515730dbf6753495d5b7bd8b04ad1c Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Tue, 8 Jan 2019 11:23:01 +0100 -Subject: [PATCH] i2c-ddc: fix oob read -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Suggested-by: Michael Hanselmann -Signed-off-by: Gerd Hoffmann -Reviewed-by: Michael Hanselmann -Reviewed-by: Philippe Mathieu-Daudé -Message-id: 20190108102301.1957-1-kraxel@redhat.com ---- - hw/i2c/i2c-ddc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/i2c/i2c-ddc.c b/hw/i2c/i2c-ddc.c -index be34fe072c..0a0367ff38 100644 ---- a/hw/i2c/i2c-ddc.c -+++ b/hw/i2c/i2c-ddc.c -@@ -56,7 +56,7 @@ static int i2c_ddc_rx(I2CSlave *i2c) - I2CDDCState *s = I2CDDC(i2c); - - int value; -- value = s->edid_blob[s->reg]; -+ value = s->edid_blob[s->reg % sizeof(s->edid_blob)]; - s->reg++; - return value; - } --- -2.19.2 - diff --git a/app-emulation/qemu/files/qemu-4.0.0-sanitize-interp_info.patch b/app-emulation/qemu/files/qemu-4.0.0-sanitize-interp_info.patch new file mode 100644 index 000000000000..58ff0c788288 --- /dev/null +++ b/app-emulation/qemu/files/qemu-4.0.0-sanitize-interp_info.patch @@ -0,0 +1,32 @@ +linux-user: Sanitize interp_info and, for mips + +Sanitize interp_info structure in load_elf_binary() and, for mips only, +init its field fp_abi. This fixes appearances of "Unexpected FPU mode" +message in some MIPS use cases. + +Signed-off-by: Daniel Santos +Signed-off-by: Aleksandar Markovic +--- + linux-user/elfload.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/linux-user/elfload.c b/linux-user/elfload.c +index c1a2602..7f09d57 100644 +--- a/linux-user/elfload.c ++++ b/linux-user/elfload.c +@@ -2698,6 +2698,11 @@ int load_elf_binary(struct linux_binprm *bprm, struct image_info *info) + char *elf_interpreter = NULL; + char *scratch; + ++ memset(&interp_info, 0, sizeof(interp_info)); ++#ifdef TARGET_MIPS ++ interp_info.fp_abi = MIPS_ABI_FP_UNKNOWN; ++#endif ++ + info->start_mmap = (abi_ulong)ELF_START_MMAP; + + load_elf_image(bprm->filename, bprm->fd, info, +-- +2.7.4 + + diff --git a/app-emulation/qemu/qemu-3.1.0-r1.ebuild b/app-emulation/qemu/qemu-3.1.0-r1.ebuild deleted file mode 100644 index 560ab04a5c36..000000000000 --- a/app-emulation/qemu/qemu-3.1.0-r1.ebuild +++ /dev/null @@ -1,810 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} ) -PYTHON_REQ_USE="ncurses,readline" - -PLOCALES="bg de_DE fr_FR hu it tr zh_CN" - -FIRMWARE_ABI_VERSION="2.11.1-r50" - -inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ - user udev fcaps readme.gentoo-r1 pax-utils l10n - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="git://git.qemu.org/qemu.git" - inherit git-r3 - SRC_URI="" -else - SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.xz" - KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd" - - # Gentoo specific patchsets: - #SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r1.tar.xz" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" -IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug - +fdt glusterfs gnutls gtk infiniband iscsi +jpeg kernel_linux - kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png - pulseaudio python rbd sasl +seccomp sdl selinux smartcard snappy - spice ssh static static-user systemtap tci test usb usbredir vde - +vhost-net virgl virtfs +vnc vte xattr xen xfs" - -RESTRICT=strip - -COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel - mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x - sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} - lm32 moxie tricore unicore32" -IUSE_USER_TARGETS="${COMMON_TARGETS} - aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus - tilegx" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - static? ( static-user !alsa !gtk !opengl !pulseaudio !snappy ) - virtfs? ( xattr ) - vte? ( gtk )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - >=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-util/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - dev-libs/libxml2[static-libs(+)] - x11-libs/libxkbcommon[static-libs(+)] - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:= ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - dev-libs/nettle:=[static-libs(+)] - >=net-libs/gnutls-3.0:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( - sys-fabric/libibumad:=[static-libs(+)] - sys-fabric/libibverbs:=[static-libs(+)] - sys-fabric/librdmacm:=[static-libs(+)] - ) - iscsi? ( net-libs/libiscsi ) - jpeg? ( virtual/jpeg:0=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - ncurses? ( - sys-libs/ncurses:0=[unicode] - sys-libs/ncurses:0=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl,gbm] - ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - pulseaudio? ( media-sound/pulseaudio ) - rbd? ( sys-cluster/ceph[static-libs(+)] ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[X] - media-libs/libsdl2[static-libs(+)] - ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.12.3 - >=app-emulation/spice-0.12.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] )" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-ovmf-2017_p20180211[binary] - ~sys-firmware/ipxe-1.0.0_p20180211[binary] - ~sys-firmware/seabios-1.11.0[binary,seavgabios] - ~sys-firmware/sgabios-0.1_pre8[binary] - ) - !pin-upstream-blobs? ( - sys-firmware/edk2-ovmf - sys-firmware/ipxe - >=sys-firmware/seabios-1.10.2[seavgabios] - sys-firmware/sgabios - )" -PPC64_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-1.11.0[binary,seavgabios] - ) - !pin-upstream-blobs? ( - >=sys-firmware/seabios-1.10.2[seavgabios] - ) -" - -CDEPEND=" - !static? ( - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) -" -DEPEND="${CDEPEND} - ${PYTHON_DEPS} - dev-lang/perl - sys-apps/texinfo - virtual/pkgconfig - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - gtk? ( nls? ( sys-devel/gettext ) ) - static? ( - ${ALL_DEPEND} - ${SOFTMMU_TOOLS_DEPEND} - ) - static-user? ( ${ALL_DEPEND} ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - )" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-qemu )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.5.0-cflags.patch - "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch - "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch - "${FILESDIR}"/${PN}-3.1.0-CVE-2018-20123.patch - "${FILESDIR}"/${PN}-3.1.0-CVE-2019-3812.patch - #"${WORKDIR}"/patches -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500" - -QA_WX_LOAD="usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-ppc64abi32 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requres a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -pkg_setup() { - enewgroup kvm 78 -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/default-configs >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -handle_locales() { - # Make sure locale list is kept up-to-date. - local detected sorted - detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) - sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "PLOCALES: ${sorted}" - eerror " po/*.po: ${detected}" - die "sync PLOCALES" - fi - - # Deal with selective install of locales. - if use nls ; then - # Delete locales the user does not want. #577814 - rm_loc() { rm po/$1.po || die; } - l10n_for_each_disabled_locale_do rm_loc - else - # Cheap hack to disable gettext .mo generation. - rm -f po/*.po - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - # Alter target makefiles to accept CFLAGS set via flag-o - sed -i -r \ - -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \ - Makefile Makefile.target || die - - default - - # Fix ld and objcopy being called directly - tc-export AR LD OBJCOPY - - # Verbose builds - MAKEOPTS+=" V=1" - - # Run after we've applied all patches. - handle_locales - - # Remove bundled copy of libfdt - rm -r dtc || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --libdir=/usr/$(get_libdir) - --docdir=/usr/share/doc/${PF}/html - --disable-bsd-user - --disable-guest-agent - --disable-strip - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - --enable-docs - $(use_enable tci tcg-interpreter) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - conf_opts+=( - --disable-bluez - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser caps cap-ng) - $(conf_notuser curl) - $(conf_notuser fdt) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser lzo) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser png vnc-png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_notuser seccomp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh2) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_notuser virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - $(conf_notuser xfs xfsctl) - ) - - if [[ ${buildtype} == "user" ]] ; then - conf_opts+=( --disable-libxml2 ) - else - conf_opts+=( --enable-libxml2 ) - fi - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts="oss" - use alsa && audio_opts="alsa,${audio_opts}" - use sdl && audio_opts="sdl,${audio_opts}" - use pulseaudio && audio_opts="pa,${audio_opts}" - conf_opts+=( - --audio-drv-list="${audio_opts}" - ) - use sdl && conf_opts+=( --with-sdlabi=2.0 ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-blobs - --disable-tools - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - ) - local static_flag="static" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --disable-blobs - --enable-tools - ) - local static_flag="static" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTAP - use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" - - # FreeBSD's kernel does not support QEMU assigning/grabbing - # host USB devices yet - use kernel_FreeBSD && \ - sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi - - cd "${S}/tools-build" - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - pax-mark m */qemu-system-* #515550 - emake -j1 check - emake -j1 check-report.html - fi -} - -qemu_python_install() { - python_domodule "${S}/scripts/qmp/qmp.py" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - echo ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - if [[ -e check-report.html ]]; then - docinto html - dodoc check-report.html - fi - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" - emake DESTDIR="${ED}" install - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - rm "${ED}/usr/share/qemu/bios-256k.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - # PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - rm "${ED}/usr/share/qemu/sgabios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - rm "${ED}"/usr/share/qemu/pxe-*.rom - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - [[ -f ${D}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - ewarn " $(best_version sys-firmware/edk2-ovmf)" - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/seabios)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - echo " $(best_version sys-firmware/edk2-ovmf)" - if has_version 'sys-firmware/edk2-ovmf[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/seabios)" - if has_version 'sys-firmware/seabios[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/sgabios)" -} diff --git a/app-emulation/qemu/qemu-4.0.0.ebuild b/app-emulation/qemu/qemu-4.0.0.ebuild new file mode 100644 index 000000000000..1880553a9742 --- /dev/null +++ b/app-emulation/qemu/qemu-4.0.0.ebuild @@ -0,0 +1,809 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} ) +PYTHON_REQ_USE="ncurses,readline" + +PLOCALES="bg de_DE fr_FR hu it tr zh_CN" + +FIRMWARE_ABI_VERSION="2.11.1-r50" + +inherit eutils linux-info toolchain-funcs multilib python-r1 \ + user udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="git://git.qemu.org/qemu.git" + inherit git-r3 + SRC_URI="" +else + SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" +IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug + +fdt glusterfs gnutls gtk infiniband iscsi +jpeg kernel_linux + kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png + pulseaudio python rbd sasl +seccomp sdl selinux smartcard snappy + spice ssh static static-user systemtap tci test usb usbredir vde + +vhost-net virgl virtfs +vnc vte xattr xen xfs" + +COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel + mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x + sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" +IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} + lm32 moxie tricore unicore32" +IUSE_USER_TARGETS="${COMMON_TARGETS} + aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus + tilegx" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_riscv32? ( fdt ) + qemu_softmmu_targets_riscv64? ( fdt ) + static? ( static-user !alsa !gtk !opengl !pulseaudio !snappy ) + virtfs? ( xattr ) + vte? ( gtk )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the external library. +ALL_DEPEND=" + >=dev-libs/glib-2.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + dev-libs/libxml2[static-libs(+)] + x11-libs/libxkbcommon[static-libs(+)] + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone:= ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.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 ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + ncurses? ( + sys-libs/ncurses:0=[unicode] + sys-libs/ncurses:0=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl,gbm] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + rbd? ( sys-cluster/ceph[static-libs(+)] ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + media-libs/libsdl2[X] + media-libs/libsdl2[static-libs(+)] + ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:= ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] )" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-2017_p20180211[binary] + ~sys-firmware/ipxe-1.0.0_p20180211[binary] + ~sys-firmware/seabios-1.11.0[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre8[binary] + ) + !pin-upstream-blobs? ( + sys-firmware/edk2-ovmf + sys-firmware/ipxe + >=sys-firmware/seabios-1.10.2[seavgabios] + sys-firmware/sgabios + )" +PPC64_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-1.11.0[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-1.10.2[seavgabios] + ) +" + +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + dev-python/sphinx + sys-apps/texinfo + virtual/pkgconfig + gtk? ( nls? ( sys-devel/gettext ) ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + ) +" +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + ${PYTHON_DEPS} + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.5.0-cflags.patch + "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch + "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${P}-sanitize-interp_info.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/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requres a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +pkg_setup() { + enewgroup kvm 78 +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +handle_locales() { + # Make sure locale list is kept up-to-date. + local detected sorted + detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) + sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "PLOCALES: ${sorted}" + eerror " po/*.po: ${detected}" + die "sync PLOCALES" + fi + + # Deal with selective install of locales. + if use nls ; then + # Delete locales the user does not want. #577814 + rm_loc() { rm po/$1.po || die; } + l10n_for_each_disabled_locale_do rm_loc + else + # Cheap hack to disable gettext .mo generation. + rm -f po/*.po + fi +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + default + + # Fix ld and objcopy being called directly + tc-export AR LD OBJCOPY + + # Verbose builds + MAKEOPTS+=" V=1" + + # Run after we've applied all patches. + handle_locales + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --libdir=/usr/$(get_libdir) + --docdir=/usr/share/doc/${PF}/html + --disable-bsd-user + --disable-guest-agent + --disable-strip + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + --enable-docs + $(use_enable tci tcg-interpreter) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + conf_opts+=( + --disable-bluez + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser capstone) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_notuser seccomp) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh2) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser virgl virglrenderer) + $(conf_notuser virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + ) + + if [[ ${buildtype} == "user" ]] ; then + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts="oss" + use alsa && audio_opts="alsa,${audio_opts}" + use sdl && audio_opts="sdl,${audio_opts}" + use pulseaudio && audio_opts="pa,${audio_opts}" + conf_opts+=( + --audio-drv-list="${audio_opts}" + ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + pax-mark m */qemu-system-* #515550 + emake -j1 check + emake -j1 check-report.html + fi +} + +qemu_python_install() { + python_domodule "${S}/python/qemu/qmp.py" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + # we use 'printf' here to be portable across 'sh' + # implementations: #679168 + cat <>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dohtml 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 Changelog 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 + + [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ + fcaps cap_net_admin /usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index a1dcb27ce6d6..e765af785c68 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -10,8 +10,8 @@ PLOCALES="bg de_DE fr_FR hu it tr zh_CN" FIRMWARE_ABI_VERSION="2.11.1-r50" -inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ - user udev fcaps readme.gentoo-r1 pax-utils l10n +inherit eutils linux-info toolchain-funcs multilib python-r1 \ + user udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils if [[ ${PV} = *9999* ]]; then EGIT_REPO_URI="git://git.qemu.org/qemu.git" @@ -34,8 +34,6 @@ IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug spice ssh static static-user systemtap tci test usb usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen xfs" -RESTRICT=strip - COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" @@ -94,7 +92,7 @@ SOFTMMU_TOOLS_DEPEND=" capstone? ( dev-libs/capstone:= ) caps? ( sys-libs/libcap-ng[static-libs(+)] ) curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) gnutls? ( dev-libs/nettle:=[static-libs(+)] @@ -173,6 +171,7 @@ PPC64_FIRMWARE_DEPEND=" BDEPEND=" ${PYTHON_DEPS} dev-lang/perl + dev-python/sphinx sys-apps/texinfo virtual/pkgconfig gtk? ( nls? ( sys-devel/gettext ) ) @@ -359,11 +358,6 @@ src_prepare() { check_targets IUSE_SOFTMMU_TARGETS softmmu check_targets IUSE_USER_TARGETS linux-user - # Alter target makefiles to accept CFLAGS set via flag-o - sed -i -r \ - -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \ - Makefile Makefile.target || die - default # Fix ld and objcopy being called directly @@ -701,6 +695,9 @@ src_install() { dodoc Changelog 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" @@ -764,7 +761,9 @@ pkg_postinst() { udev_reload fi - [[ -f ${D}/usr/libexec/qemu-bridge-helper ]] && \ + xdg_icon_cache_update + + [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ fcaps cap_net_admin /usr/libexec/qemu-bridge-helper DISABLE_AUTOFORMATTING=true @@ -803,3 +802,7 @@ pkg_info() { fi echo " $(best_version sys-firmware/sgabios)" } + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 8753693dcc1f..dd48e3a8a027 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -12,9 +12,9 @@ DIST VirtualBox-6.0.4.tar.bz2 155233564 BLAKE2B 6bc4d450e275e8aac5dc62ab05d9ba14 DIST VirtualBox-6.0.6.tar.bz2 155297550 BLAKE2B a886ed99da3aee7a52d8c0654c33e50ae4155077e3d5061e1888a0cb5760b12dd63fb1205b75ec04419d50261f81e56036bdba79d20b57c836f073af232c913a SHA512 eb71ca94220680ac6cba7af13eb9eef132c21e57b1b27d6bc3c564bba58b000e682d19e36b63660bfa4f4471cd0632d365659ef8c4e3e526931622901a432d1b DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450 DIST virtualbox-6.0.0_beta2-patches-01.tar.xz 2732 BLAKE2B a138e715d99f135f16ca21c92781bf6cd8913f7f766bb598eddcd63e98280e568e646f56bbd0a3714f273457ca90db0b77ec7940ba25028506a22891f1af7b2d SHA512 954e4b40d6e272efe756ee0965adb4110d45f764433a89080fda7ebaebbc20031f86a3e0027dfdaa1c6a7d6379a1af557cea71512504e4b57b5f5adbfc86b56e -EBUILD virtualbox-guest-additions-5.2.22.ebuild 6010 BLAKE2B fdf621c8d0f93220553c81b877571144c1bb2fdf000db0a45350fbc98f0cf96b703029874459fc56cec303d7c63c2046a1225a964b58fb45c234a4a679829e11 SHA512 acda6a782e5ebc605ff37c7c814192f87f607a67fba5ac49bdab201faf7326352c4153c0f74bd4431789763641879d781631d5c52cf23c1b583d91da4c9e2ebe -EBUILD virtualbox-guest-additions-5.2.26.ebuild 6085 BLAKE2B d0d5cc57879f51d324fac14c0eca00f337df964e0c2fc230f76295fb23799a4d535a9e9b059b68b9ca6b26f8327deb8fed68910fb386ad1498566ada7b52fbfd SHA512 c564be880559346f2b29b635f73ff404c3f02e31ae2bae44f043053e7bf3185554e3ce8997e71869191a0126bdbe82a474c3b94584fa9bb03877e99579a8127a -EBUILD virtualbox-guest-additions-5.2.28.ebuild 6087 BLAKE2B 8155389688f6454ffbe0f105524652570ee82cc0d36141aa5524ef1565785dad2fdd4ad4f69e4fbb888d30970849207c66f51cad34b9a57e47986c3336ade3de SHA512 6f188396d8b7d3cd758c4fc0432eac43dc100104413db144de34b3d0733f67e55ca06d011214127c5231084a31bcdaa2bf82e0758f8e7579548032a4ce924c17 -EBUILD virtualbox-guest-additions-6.0.4.ebuild 6139 BLAKE2B 4d9a0a2ada7b0f88f4b8edd46720c6c43315ec64f7a8b8e64339424cbfb2bf8b8eee457ade3c72ddf014cf7b15df970a240c7d5a896ca0d309605033dc903eb7 SHA512 93ea063d27b7a4a321b1875923d1e4749690d4fa320802abab67d908f999e8aed33f16f5092d4642a2b8a5c2f35464f85d4e1f9061eaf9df2a0a6d2809728e27 -EBUILD virtualbox-guest-additions-6.0.6.ebuild 6175 BLAKE2B 0720bf05c6e6a1cf91a2b537c08cf53c31f283966a9b09344cde108a8265ae15d16925cb01d862229472799b805eda16b86313f7e8117226f5b503ae788bdd6f SHA512 8ef9a1082f50d4a6237d0fd6e220b5a54391b09608613dc41c7f8e5758c3a8441519799fc57eeaf9545af201c3a6dac99a08c239c32227a7974707f4e584780e +EBUILD virtualbox-guest-additions-5.2.22.ebuild 6043 BLAKE2B 1a50b4b4ba3b2ed70097f101a3842ef59e2d8a54d38d7d22ade02c8879518b12d77fc75424a8383385252de4a67630a67184381713b9d70e657e59ae6fb3a7a8 SHA512 affb45b19343ddbccfe8d3752b5f00cacc706085cee2051ecc1a4582f0a4cc1736b679eb68cc79ef8cef74de0ca5ce12293f3f8b119c2cb8cf5a4e763e0ea472 +EBUILD virtualbox-guest-additions-5.2.26.ebuild 6118 BLAKE2B 20f06b42279f7ab9bb60d2bdb26c7bede86ac1c64ed91ad42bb5ac0e9d484aa0da7901c34e9d663c64e4c4672802e9104eeb5009fead6b41c66b7ed6e2026d49 SHA512 341d5319d2f593ead1f258b480f19c9a1c5a85c8068134c24546828ec3b56ed825672593ede34d62286b048e5d1d19dd3d6923fc6e0fd9fabc03ddd1bc5f701a +EBUILD virtualbox-guest-additions-5.2.28.ebuild 6120 BLAKE2B a51f969b41ac40a359d649b2793478e2366449ddb3ca78386c6a88ad1729cae20266773b88f90763ec66cdf06fbf0add5f33e0b2eb6ac97d616fa1a47519d7b2 SHA512 09394ee4fdb0c1c651d58f4d9cabbcc340d61af0a3c393df31acf9e252494b73ba179869d19326ae436aec52258e6d2c195d23ffb757a528b556c084d863ac12 +EBUILD virtualbox-guest-additions-6.0.4.ebuild 6172 BLAKE2B d4abf0e0ccf13ef40b886f02be9c2baac081aacd3d8dfdde9d8c71402ea130ddb6e342670da930efa5c719b950873ce4077d8e9e4b66fdd1d3c397ee3b4b6af1 SHA512 1eff74c0b77cb2559b33c5c8f286d9e29c3c04a2cb8a868424f9310c65b6331c01950365094d96a875209edca74ba96d8319f62409cf5f2690c79ef154895171 +EBUILD virtualbox-guest-additions-6.0.6.ebuild 6208 BLAKE2B 505e4454f3505de0d006e197773ec2e57aed29c910868a998a8c2340d6f71de3d9159a36f7b0bbe261949d7a4a7fe863f841658579ff17ac8b6e704a65994aa8 SHA512 8c3242d660911d5bd41861c290bdd778f7da0328846696f3ad229ec396cf87408e9bc69fde42fdf1036141e72f6d9b1186f49bad407ba8c225ce1e67004f8257 MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.22.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.22.ebuild index 5983c8110cb5..2883363f9e66 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.22.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.22.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -49,6 +49,7 @@ BUILD_TARGET_ARCH="${ARCH}" S="${WORKDIR}/${MY_P}" pkg_setup() { + export DISTCC_DISABLE=1 #674256 MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.26.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.26.ebuild index 33e1e37307e5..90e1cfab7ac5 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.26.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.26.ebuild @@ -49,6 +49,7 @@ BUILD_TARGET_ARCH="${ARCH}" S="${WORKDIR}/${MY_P}" pkg_setup() { + export DISTCC_DISABLE=1 #674256 MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.28.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.28.ebuild index 5780804c8c4e..a16a06c6b19a 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.28.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.28.ebuild @@ -49,6 +49,7 @@ BUILD_TARGET_ARCH="${ARCH}" S="${WORKDIR}/${MY_P}" pkg_setup() { + export DISTCC_DISABLE=1 #674256 MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.4.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.4.ebuild index 1cda2a1f29f4..fef0ca2c9e44 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.4.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.4.ebuild @@ -50,6 +50,7 @@ BUILD_TARGET_ARCH="${ARCH}" S="${WORKDIR}/${MY_P}" pkg_setup() { + export DISTCC_DISABLE=1 #674256 MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.6.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.6.ebuild index 1d942ef517d0..5256fbb5d67c 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.6.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.6.ebuild @@ -50,6 +50,7 @@ BUILD_TARGET_ARCH="${ARCH}" S="${WORKDIR}/${MY_P}" pkg_setup() { + export DISTCC_DISABLE=1 #674256 MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" diff --git a/app-emulation/wine-mono/Manifest b/app-emulation/wine-mono/Manifest index 693b23fcf577..e804d82e4724 100644 --- a/app-emulation/wine-mono/Manifest +++ b/app-emulation/wine-mono/Manifest @@ -5,6 +5,7 @@ DIST wine-mono-4.7.3.msi 56470528 BLAKE2B 59397f851bd0883f060fd359228fcdedea5a32 DIST wine-mono-4.7.5.msi 56470528 BLAKE2B a662249fe85dbcc6de273cc8f8384fee9fe789a272c7dfec28e406ac2b512cd0e9ef07716004c694f66a69d2dd0a62e14691123db7b9845d7ad86762619da100 SHA512 25e4188e42362aa9050e4d78a5748697d63181fa91a0c0d2e43ad4c26996f9fb82053a5e6942621aaff01c832be88ea13ac7b472be8841a828eed4e5e87c9ee7 DIST wine-mono-4.8.0.msi 86536704 BLAKE2B 24120b57a6b51b47d66b4dcf9765492ad2dce8ece7d186b7bd78172598308be43336944ae804be5181e2c3d7ae7cace08c75e2b66fbfad097c9c16fd6fcfc3a9 SHA512 ab0a9795ccbd3acf42d0e904585a16c62b28a2753771b5dccfd4013b77a118eff6fd92c4a8711be43df2b09c993884cc9bb48e025b60059b2a7d3a832ecbbf43 DIST wine-mono-4.8.1.msi 115878912 BLAKE2B 88bd9b35efd89aece2dd0cd9529bc081fcd2a97f3af81806e9901158cbe48e920e5e6ac276da16c9c2d369dd307a7be05d7b8b67acf2733279a5df17696dd154 SHA512 06cbfc66ad82c40975f9d41698c49ba19c7eadf56b5ea87037b7cf0dbe2053de0d5587573798af294eb5ef8c7f2f5ffb7b3c45da83493c71d1923c1abee1bf9b +DIST wine-mono-4.8.3.msi 116183552 BLAKE2B 5e82c2e6e456311de817b7870e02d60abc3e359a9b5989257cae4a31e24206e7c8289f417dbb5fa2e315537b4e8352f9f1237f576b3c06cb2dbaaa7a5443a4f0 SHA512 5b5c1c147453cc691ceb17c850be66e3701e784d2ed4bd27abd92a815f7070850b5e0fc1778c3a3aa2b84516b4c5e01abe350d6ccc5578037e75cb1afe1dfb6a EBUILD wine-mono-4.6.4.ebuild 491 BLAKE2B ca3c7d026b50367f574915102069052519ecef3f49b1ca7185a64902807939f1b149fdb2e120097751261ad7e0ac6dae0ceef08d0fbd3658c5c5ab7c3178bc34 SHA512 459ebb021fc4f9401de138164c90e139a3592587da66a25cbc6ac6db6a24e46257d4a2b63cdc2edad1783413924a04d574301123ef7fe93f4ca3a9a0045acac3 EBUILD wine-mono-4.7.0.ebuild 493 BLAKE2B 062ba95f20540e8cebca2b2dc1ceea8a49ab9be791d11de595ff300337bcd4d015f21825a0bbbd62837d618ad093ce7b24a95bd87b7eeae4e1e3479542fc034d SHA512 5cf9052ebb4a0cf0f7717be83ed059d2622836edad31f9bdb314afeb51a9f6ab9c65e5c7a9884f802dd0c4f9b47bf4262ecc24ad49c439f8b826e025f988022c EBUILD wine-mono-4.7.1.ebuild 491 BLAKE2B ca3c7d026b50367f574915102069052519ecef3f49b1ca7185a64902807939f1b149fdb2e120097751261ad7e0ac6dae0ceef08d0fbd3658c5c5ab7c3178bc34 SHA512 459ebb021fc4f9401de138164c90e139a3592587da66a25cbc6ac6db6a24e46257d4a2b63cdc2edad1783413924a04d574301123ef7fe93f4ca3a9a0045acac3 @@ -12,4 +13,5 @@ EBUILD wine-mono-4.7.3.ebuild 493 BLAKE2B 062ba95f20540e8cebca2b2dc1ceea8a49ab9b EBUILD wine-mono-4.7.5.ebuild 502 BLAKE2B 3ec803fe7a608c2549ecdda1bbd30a3bac1cfa9325d2c66021a78335364f6ff4051c4aa45627070ced52568328c0d2afa38f174deddd181f01bae3bd6a054d2f SHA512 162093bbec17a3e06049afda69afff8977e09af0b94110548b325c2e547f7dd77fd9e2800941366670cce468af459a93a247bab9b6b9eaa23b279da02fc66d14 EBUILD wine-mono-4.8.0.ebuild 503 BLAKE2B 935815fea7250e178ec3eec1ac280a2117985172fbe8201be194f9f63cbfdfb27358eec9cc98857d2dd687c1c7a37febfd96809c6339e8c16077f8ac5748220a SHA512 2f7dae1b9b8b62b8cd19aa244214502b49cd615467553dc209ea88117247291e99df272e275ff973de03b3cc895ad0da12e9201827408a21558e1ce3049f600f EBUILD wine-mono-4.8.1.ebuild 503 BLAKE2B 935815fea7250e178ec3eec1ac280a2117985172fbe8201be194f9f63cbfdfb27358eec9cc98857d2dd687c1c7a37febfd96809c6339e8c16077f8ac5748220a SHA512 2f7dae1b9b8b62b8cd19aa244214502b49cd615467553dc209ea88117247291e99df272e275ff973de03b3cc895ad0da12e9201827408a21558e1ce3049f600f +EBUILD wine-mono-4.8.3.ebuild 503 BLAKE2B 935815fea7250e178ec3eec1ac280a2117985172fbe8201be194f9f63cbfdfb27358eec9cc98857d2dd687c1c7a37febfd96809c6339e8c16077f8ac5748220a SHA512 2f7dae1b9b8b62b8cd19aa244214502b49cd615467553dc209ea88117247291e99df272e275ff973de03b3cc895ad0da12e9201827408a21558e1ce3049f600f MISC metadata.xml 614 BLAKE2B e45f9e8581cec69afc21a5af29aa71eec05ba7fa626624e6c06000a5f013a3606674074beec999a0f8f91c91fc8912995b20cb88f8ad8a40bffbd964c5bf020f SHA512 5655c4bd737975334e66b4ea0c6cdb447dd647a7a3c76c0cd9782c405c9540ae396c87677bde408d3977b838813e00f12249f0f84267b75894e5554b2c6bcb6c diff --git a/app-emulation/wine-mono/wine-mono-4.8.3.ebuild b/app-emulation/wine-mono/wine-mono-4.8.3.ebuild new file mode 100644 index 000000000000..15aab248909e --- /dev/null +++ b/app-emulation/wine-mono/wine-mono-4.8.3.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi" + +LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1" +SLOT="${PV}" +KEYWORDS="~amd64 ~x86" + +DEPEND="!!app-emulation/wine:0" + +S="${WORKDIR}" + +src_install() { + insinto /usr/share/wine/mono + doins "${DISTDIR}/${P}.msi" +} diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest index 397551092f2f..97b97ef26607 100644 --- a/app-emulation/wine-staging/Manifest +++ b/app-emulation/wine-staging/Manifest @@ -1,23 +1,24 @@ DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2 DIST gentoo-wine-patches-20190316.tar.xz 58848 BLAKE2B 76e66749638589dd6d6eceb4b78690483d14353597a4e47fe9e5325d8bdb2bceff66040c110f63b8bae698bc5838c280c048ff7375ba2ed8cc387cbe0422c79a SHA512 de2cf844ae686144c3f95f0a360c7fa8a62185500758f994b5a65836798bdc3092138dcd9c36d0267a6fcfdc13585258d31b281244a97b45965f40e0f2b29eda +DIST gentoo-wine-patches-20190430.tar.xz 58896 BLAKE2B 96c30ee48c4c50720abe8bb1d5a7c2e8ba0691dca3fd38b3807e2b2269236bccb3da18e59b4e35c2703cfb725300ee53c95e9ed584dd9e2c4184b31716b6b4c6 SHA512 52970b1e0673ae84e614db33536e9fa64bb6497a6f19c462f73ddf6b3239f38c9d59fe1c379cd67ef613c0660dcf84e2753e54647f01a8a1b2ee95ae4bb9f8d6 DIST wine-3.20.tar.xz 21541928 BLAKE2B 9183dacd1c6ec15ae5283eca3d17db5a869bcba9a93800a422f0dea5d9cfb5d3124a3e942e8b6487cd4ba31cfeacdd66de39128dd66d64e1226d265eae922d3a SHA512 fb66d1d4b427f46dd048b13e53bcd15a5eaeb19039221fe98ec771140c33b3c245a974e52242eab5731ffa0de15f5932204032fe24f86e1a313ff8f11da59cc4 DIST wine-3.21.tar.xz 21573872 BLAKE2B 54d8733b19f1377f856c9496f6263eef1916e03caf82c6fcfa39b3e7bec1fecd87466dc92f3739d704a9161a32d9ee680b2cc5e5cdf27a582dc1d89d0b1a6639 SHA512 dd64a6778bf1b848c8fe14dc26cfca21f6c1c92714ca1b2e932a28560a2adc1f69aa1b2cba250f49a5df4f91a4accde677a2afaf960c200d3998eac1957b5c6b -DIST wine-4.3.tar.xz 21764500 BLAKE2B dd94b710f2be20ce3225fb58e0a20f0ee46e59834dc77383e262620faa64597c41625382237c39563b3bb67b1850cca2460ca147e2c5ee3052f0fdfdee067ec5 SHA512 45c0519f8f2873ef65e1761d518a7148f3aa54c0e993a41a60849c01c8df17386d57edd83308cff289300adc6a8e3fc5918fb12513f5b85a88e556b420479e83 DIST wine-4.4.tar.xz 21805668 BLAKE2B cf973240a3f2a1ad1cac8690cdc5cd86be428220395d90bfe3b15567e6a2be0bb78e5828de3b77b617827122f5b0bb1dfeeef351102ca001722340ceaeb5625e SHA512 6678c9b0e086bdc9fab9f9fd2517226352b49f846bbae7be6000bb60db2f302aad49622192077b45880d45ad33ba4d82bfe3403fb82a1e65159f1352b40933de DIST wine-4.5.tar.xz 21879868 BLAKE2B fc2bc13fefac97570a67a1c48a0144c1194896f779803efc0c3229fc234f128f53c78cadb1d47d28ec6772ecea73831c8850322e537aa1af62b537b7856ecae5 SHA512 261420efdf14595715cff5bb6a61223b0f2090b89dc05dca8c053a8a81abc3018715d41db50769a0f0488c658efc0742ac0f577b578e69eace70be4e463131dd DIST wine-4.6.tar.xz 21940848 BLAKE2B 1dbac3b3e6d74b99123a0954015343514d0135a26cffe86499f8fbdfadd04205edfcd0635562519b73397519f298abe7e18693fa1433aa05255b2435a2eedb1a SHA512 b5d8568de0256bdd9f3fcaef725c8daa90d028838fd490f75d7f08a7c538103a957a4fd03857a8fbbdf1de6acb7237b183dad24d6057be50dae12af227cd2c98 +DIST wine-4.7.tar.xz 21962632 BLAKE2B 2f90212c93fb089fafb0dd44189044b3875a52e3f6b5300a44893ac9760afb398330c293abbffca15cd9f9a6da72e97c2702c04525e02663186d723f1f322da7 SHA512 cb768528db510f81d464b9c1bb48847162baaa86ef00dc7a418afdce38aa51262d150c14b3362fb40c93cc2e3633fc02b2916167f21af8a708eb393da6ba9163 DIST wine-staging-3.20.tar.gz 9950555 BLAKE2B ee66217b708287bd95d61e23fb92009d927a75556f22e89b9c5af66cb6c6445f77a1c3153da168da92ebac58606843c4639f1a99bd5089941595181f390980f0 SHA512 4b92e53e84046d99c3f7ec5e0d0d7e62fdb767b1c44e23605125744686439fe62991c8adea941950b390a01d251ecbb79f3b329cfe5a1b1fbc76c5372283579d DIST wine-staging-3.21.tar.gz 9945982 BLAKE2B 988927c644e9abf472c42021cae39f38cdae24b397072fb53dc803da32bc80e8b6256554d787db0b6bffafac4104a9abf4ab8fa6e78fd0a308bf8906d658a65d SHA512 17f8194954a420d1424d564ba9ad5e6d4dd574dc38da4895d5b6740c1990f8655cb573bd57c77ace2c78c71da4782b511a5ac937ca1f0fc958e3c925abaeefde -DIST wine-staging-4.3.tar.gz 9888763 BLAKE2B 095f2789f601822e34b7f9d0a078bd433aa2861e7cc55d5b74520bfedc2c88064bbffa3a73bcea170c4e4fb96e9eaa50f0cb927aba2cc6d1f12480bacfa49968 SHA512 9fd89c54200cf7c8e8a7f978fb6b34c89ece755976789f5c5c361ffb8d2882f14260c81ab8ac14ad140e41d807adbbaba05381a31b0177492aa222ef2fe04e4d DIST wine-staging-4.4.tar.gz 9882230 BLAKE2B 705841e14abf3e3e65ae4b64ac2613f42f0e8caf32258ef6fc7e78b5410038c7cc766293488bb110e1f4c2c06d6b55b4cd3e59acea7e0f15c3bb6304e427f891 SHA512 4ddeddac2e2de9afd95ded71edb47f3eac15d1ca94254481e5369d6b69e401471b00ba16747621eb2d0f7d92c0558590f6efe89b3ea15012d9d3d45553d49196 DIST wine-staging-4.5.tar.gz 9859696 BLAKE2B 3d6ea22659fe45fe6cbe0f292737d4238e9f32b307b1750debfcb628a72b1dfc8a486c644a78c2d0285a206d13644ecc3bd26a307e61f78cc118219bf3395ec6 SHA512 fda32b26de79bd3bbff6b1ab2249d7ff8adc7e8da2753271e8dae4f84bc71764ea6d1a887cc643e0ff70b217bd75fefebd3eb1bd4b6faace9a36399878998029 DIST wine-staging-4.6.tar.gz 9937386 BLAKE2B 105f1e040b03835ea59100cde609ed005970ccdcc37ede775f13df73a50f19a8b192f17500e3658759eabe3dc0e529d0b658c218f7fd87cae72994806fd4dfe2 SHA512 4b44cbdeffc8042c22d485c3d440894287793652734b7a791269a2f45ea10ceb81ce8c8bd302c55f62b04c127344532772ce2078d99835d22afa0088e153a888 +DIST wine-staging-4.7.tar.gz 9944737 BLAKE2B ccbded3c39efc00cdedd3eee9d4cf21ccdb75fceeed2a953bef6f5ed642e665eb8c519e1717f1b152ee456e6c2fa3759369a7014940bf035dbc34e2188ffa894 SHA512 1d9040ea542d18d5d041179cede7e1db40fc638bdb4ffef70a257dc50310e9fd0f93e5aa222d2d90551783b5a5064b3919a19e9072f931a7ae89506c462fb3e6 EBUILD wine-staging-3.20.ebuild 20048 BLAKE2B 5c160439d7bb0b560d06b4d9e6bbc9d8d73c34a3f20a667490d4ad5b45011464aed7ea2eb1b06ace2133f7920192accb099c256dacd6223c74ee0bafcfbcf717 SHA512 adf71cb35a4108c2010fb3f64f3837913ea2af1489a81ccd3ae903f1173232bfb97e0bc655076085e4f595ea91d851260798cc33a79f8c58a67d99c6ba0920bf EBUILD wine-staging-3.21.ebuild 20048 BLAKE2B 5c160439d7bb0b560d06b4d9e6bbc9d8d73c34a3f20a667490d4ad5b45011464aed7ea2eb1b06ace2133f7920192accb099c256dacd6223c74ee0bafcfbcf717 SHA512 adf71cb35a4108c2010fb3f64f3837913ea2af1489a81ccd3ae903f1173232bfb97e0bc655076085e4f595ea91d851260798cc33a79f8c58a67d99c6ba0920bf -EBUILD wine-staging-4.3.ebuild 20132 BLAKE2B 257bf692e52894261a57fdc114190ef92438c67838614cb1e4beae0a83cc453c9f512e275d442e56bbeb66175d95cdc22b2e9e56338685cc09ad5a41cfc826be SHA512 c33bf8bab47d6cea67607128c9b6513fadf4f843320f77c1216b1339f96000c0ea2bbd0d127b2c55e105ea039f28fcc04a56dd5ccc3bba2c815e8ea46e477c18 EBUILD wine-staging-4.4-r1.ebuild 20280 BLAKE2B bb9251fe89e9663b2301d60390af94452e518edb583493271531e765f78a03b6febc09a95fe53ef8c2dbd3a1f1448c0984603fbec24b3a975a820a564f9743cd SHA512 add579ceb72dfefa06d6664391a80cb7a1db98a54854e642d55ab1365d7420d63d3a9a4c599629f0c59aebe5378a44d20a4eea2b4eff7d2df4223ec78e1bccb6 EBUILD wine-staging-4.4.ebuild 20129 BLAKE2B 207719d957ba660c7c71d77e87ac224fdb222e2a9498ce9d265c2092260c039b7140288802bdbbbebc2b44415fafaba5cd83b9e32858b8c5a039afe2a38150a8 SHA512 e550ac4fa02065c7dc47272839025152b3c5a55dbb41e5e0b8eb7939bcddde86c3b5fc8efff9b00d2ab1d96e226ee1b3bb329cdbe5c88d099256b33fa02a5e1f EBUILD wine-staging-4.5.ebuild 20280 BLAKE2B bb9251fe89e9663b2301d60390af94452e518edb583493271531e765f78a03b6febc09a95fe53ef8c2dbd3a1f1448c0984603fbec24b3a975a820a564f9743cd SHA512 add579ceb72dfefa06d6664391a80cb7a1db98a54854e642d55ab1365d7420d63d3a9a4c599629f0c59aebe5378a44d20a4eea2b4eff7d2df4223ec78e1bccb6 EBUILD wine-staging-4.6-r1.ebuild 20280 BLAKE2B 8c5ee19d0ce0c081f2d3a4895f6c1dc546ffa987ae48051d6b0d0a9f86e7d4a2f16222a1c0ecbe0627663e22eeb66bfde33be425bf82e0bef9c50ec58bc84fb9 SHA512 0efbdb07fd637d36172872c8a8757553941b9c11718fae6fec0090e0b651e31dc1b86d79632831f6964719beebe3db77a047415cdb4e0afed8c794efaeb483e3 -EBUILD wine-staging-9999.ebuild 20280 BLAKE2B 8c5ee19d0ce0c081f2d3a4895f6c1dc546ffa987ae48051d6b0d0a9f86e7d4a2f16222a1c0ecbe0627663e22eeb66bfde33be425bf82e0bef9c50ec58bc84fb9 SHA512 0efbdb07fd637d36172872c8a8757553941b9c11718fae6fec0090e0b651e31dc1b86d79632831f6964719beebe3db77a047415cdb4e0afed8c794efaeb483e3 +EBUILD wine-staging-4.7-r1.ebuild 20274 BLAKE2B 3ca9a8c9459bb59bb2468933bdae9bf552fa508becc15f1c966a74591b3a2376122ab39f14c5d012b0d81319cc9ed273b6a446ad2a301187540b1df98892b7bb SHA512 7f17028dad9c7e140634a26e5f64a2dea9a95ca1b863b275d6804f8d4dd81faac87e3024b054085131a90964ae5b654fe5ad497ffba0b1323ed412a588a33779 +EBUILD wine-staging-9999.ebuild 20274 BLAKE2B 3ca9a8c9459bb59bb2468933bdae9bf552fa508becc15f1c966a74591b3a2376122ab39f14c5d012b0d81319cc9ed273b6a446ad2a301187540b1df98892b7bb SHA512 7f17028dad9c7e140634a26e5f64a2dea9a95ca1b863b275d6804f8d4dd81faac87e3024b054085131a90964ae5b654fe5ad497ffba0b1323ed412a588a33779 MISC metadata.xml 3726 BLAKE2B 77d0abd355f8c85069f843cccaf16c0c0afe4ea4dc29f6d9111d7127685dfa9dd8e668b7413bac2a1aec2228da7880f72c601eb9f1525e8bc09bab330524863d SHA512 2b732c0519d7d01d0023457e8eb8aa05f06465f3479fa3093712c0ebe25ea103322e19be57cdea2c8df19da42fc29620a8989cfa77719f0f49b7aaa0bded073c diff --git a/app-emulation/wine-staging/wine-staging-4.3.ebuild b/app-emulation/wine-staging/wine-staging-4.3.ebuild deleted file mode 100644 index 39c75fcbf87d..000000000000 --- a/app-emulation/wine-staging/wine-staging-4.3.ebuild +++ /dev/null @@ -1,616 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" -fi -S="${WORKDIR}/${MY_P}" - -STAGING_P="wine-staging-${PV}" -STAGING_DIR="${WORKDIR}/${STAGING_P}" -GWP_V="20180120" -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/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -if [[ ${PV} == "9999" ]] ; then - STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" -else - SRC_URI="${SRC_URI} - staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" -fi - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc faudio ffmpeg +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - ffmpeg? ( staging ) - osmesa? ( opengl ) - pipelight? ( staging ) - test? ( abi_x86_32 ) - themes? ( staging ) - vaapi? ( staging ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - ffmpeg? ( >=media-video/ffmpeg-4:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - themes? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - x11-libs/gtk+:3[${MULTILIB_USEDEP}] - ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:4.8.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - staging? ( - dev-lang/perl - dev-perl/XML-Simple - ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${pn_live_val} ]]; then - if use staging; then - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" - eerror "cannot be used to set the commit. Instead, you may use the" - eerror "environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi - fi - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - if use staging; then - local CURRENT_WINE_COMMIT=${EGIT_VERSION} - - EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack - - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die - - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." - einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" - fi - fi - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - if use staging; then - ewarn "Applying the Wine-Staging patchset. Any bug reports to the" - ewarn "Wine bugzilla should explicitly state that staging was used." - - local STAGING_EXCLUDE="" - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" - - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches - ebegin "Running Wine-Staging patch installer" - ( - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} - cd "${STAGING_DIR}/patches" - source "${STAGING_DIR}/patches/patchinstall.sh" - ) - eend $? || die "Failed to apply Wine-Staging patches" - fi - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir=/etc/wine - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with ffmpeg) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with v4l) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - use staging && myconf+=( - --with-xattr - $(use_with themes gtk3) - $(use_with vaapi va) - ) - - local PKG_CONFIG AR RANLIB - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - # set AR and RANLIB to make QA scripts happy; #483342 - tc-export PKG_CONFIG AR RANLIB - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${D%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - else - if use staging; then - eselect wine register --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - else - if use staging; then - eselect wine deregister --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-staging/wine-staging-4.7-r1.ebuild b/app-emulation/wine-staging/wine-staging-4.7-r1.ebuild new file mode 100644 index 000000000000..c7cd40a2b6f5 --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-4.7-r1.ebuild @@ -0,0 +1,617 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +fi +S="${WORKDIR}/${MY_P}" + +STAGING_P="wine-staging-${PV}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" +GWP_V="20190430" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +if [[ ${PV} == "9999" ]] ; then + STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" +else + SRC_URI="${SRC_URI} + staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio ffmpeg +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + ffmpeg? ( staging ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + ffmpeg? ( >=media-video/ffmpeg-4:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + themes? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:4.8.3 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-4.4-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-4.7-memset-O3.patch" #480508 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${pn_live_val} ]]; then + if use staging; then + eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" + eerror "cannot be used to set the commit. Instead, you may use the" + eerror "environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi + fi + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + if use staging; then + local CURRENT_WINE_COMMIT=${EGIT_VERSION} + + EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack + + local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die + + if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then + einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." + einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." + einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" + fi + fi + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + if use staging; then + ewarn "Applying the Wine-Staging patchset. Any bug reports to the" + ewarn "Wine bugzilla should explicitly state that staging was used." + + local STAGING_EXCLUDE="" + use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" + use faudio && STAGING_EXCLUDE="${STAGING_EXCLUDE} -W xaudio2-revert -W xaudio2_CommitChanges -W xaudio2_7-WMA_support -W xaudio2_7-CreateFX-FXEcho" + + # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches + ebegin "Running Wine-Staging patch installer" + ( + set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} + cd "${STAGING_DIR}/patches" + source "${STAGING_DIR}/patches/patchinstall.sh" + ) + eend $? || die "Failed to apply Wine-Staging patches" + fi + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir=/etc/wine + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with ffmpeg) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with v4l) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + use staging && myconf+=( + --with-xattr + $(use_with themes gtk3) + $(use_with vaapi va) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${D%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + else + if use staging; then + eselect wine register --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + else + if use staging; then + eselect wine deregister --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild index 8585fc746cfc..c7cd40a2b6f5 100644 --- a/app-emulation/wine-staging/wine-staging-9999.ebuild +++ b/app-emulation/wine-staging/wine-staging-9999.ebuild @@ -26,13 +26,13 @@ S="${WORKDIR}/${MY_P}" STAGING_P="wine-staging-${PV}" STAGING_DIR="${WORKDIR}/${STAGING_P}" -GWP_V="20190316" +GWP_V="20190430" 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/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz " if [[ ${PV} == "9999" ]] ; then @@ -130,7 +130,7 @@ RDEPEND="${COMMON_DEPEND} !app-emulation/wine:0 dos? ( >=games-emulation/dosbox-0.74_p20160629 ) gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:4.8.1 ) + mono? ( app-emulation/wine-mono:4.8.3 ) perl? ( dev-lang/perl dev-perl/XML-Simple @@ -165,8 +165,8 @@ usr/share/applications/wine-winecfg.desktop" PATCHES=( "${PATCHDIR}/patches/${MY_PN}-4.4-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-4.7-memset-O3.patch" #480508 "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 ) PATCHES_BIN=() diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 42aef18da915..681df4bbcfdd 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -1,22 +1,23 @@ DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2 DIST gentoo-wine-patches-20190316.tar.xz 58848 BLAKE2B 76e66749638589dd6d6eceb4b78690483d14353597a4e47fe9e5325d8bdb2bceff66040c110f63b8bae698bc5838c280c048ff7375ba2ed8cc387cbe0422c79a SHA512 de2cf844ae686144c3f95f0a360c7fa8a62185500758f994b5a65836798bdc3092138dcd9c36d0267a6fcfdc13585258d31b281244a97b45965f40e0f2b29eda +DIST gentoo-wine-patches-20190430.tar.xz 58896 BLAKE2B 96c30ee48c4c50720abe8bb1d5a7c2e8ba0691dca3fd38b3807e2b2269236bccb3da18e59b4e35c2703cfb725300ee53c95e9ed584dd9e2c4184b31716b6b4c6 SHA512 52970b1e0673ae84e614db33536e9fa64bb6497a6f19c462f73ddf6b3239f38c9d59fe1c379cd67ef613c0660dcf84e2753e54647f01a8a1b2ee95ae4bb9f8d6 DIST wine-3.0.3.tar.xz 19735412 BLAKE2B f0ccbe272f1013386f89805cf1573cf001eb875bccb31a1884fad1dff5f90caf727c460406af80f63db7a227d85f25f57c8e8e650a171adbe0c3f5178ddf17e8 SHA512 11043a9a9434681f9c73590688b600b3b9e3d311be2c4d97b5f58f0740500ebcfbdc826bd6584d5dd392dccbdd9389ffa04c8fedbba43a4df2e6aeb922414412 DIST wine-3.0.4.tar.xz 20556944 BLAKE2B 122c06e38cae9f9d2358908d0d325ed4e0dc3d1bf3e189fcfd1a713ca147d5360934cc21c387939bb5ba6dec9410d85b586d95207089b6aa033eea15bfc209e3 SHA512 e1ce33bbc165a9c640a38965a229b757b67746f2150d545eb0e29ba6d21cdf150bd8eb9a450d8dd71733fbea3b2ac24839dd8e381b7da9cd15ddf98c59304198 DIST wine-3.20.tar.xz 21541928 BLAKE2B 9183dacd1c6ec15ae5283eca3d17db5a869bcba9a93800a422f0dea5d9cfb5d3124a3e942e8b6487cd4ba31cfeacdd66de39128dd66d64e1226d265eae922d3a SHA512 fb66d1d4b427f46dd048b13e53bcd15a5eaeb19039221fe98ec771140c33b3c245a974e52242eab5731ffa0de15f5932204032fe24f86e1a313ff8f11da59cc4 DIST wine-3.21.tar.xz 21573872 BLAKE2B 54d8733b19f1377f856c9496f6263eef1916e03caf82c6fcfa39b3e7bec1fecd87466dc92f3739d704a9161a32d9ee680b2cc5e5cdf27a582dc1d89d0b1a6639 SHA512 dd64a6778bf1b848c8fe14dc26cfca21f6c1c92714ca1b2e932a28560a2adc1f69aa1b2cba250f49a5df4f91a4accde677a2afaf960c200d3998eac1957b5c6b DIST wine-4.0.tar.xz 21644692 BLAKE2B 9c426ef2249c16e908a3617c2844d8b12a2df843721338b1cfb69459815b902cfa0ddf3d74c09dc900fb2ceb003e54d97a7c0afaac51a9caab7d21beb82e26c3 SHA512 7607fa7a3d5f7bcd3d8c4c9e7bb6e1987466110bbfc672782ebe57c6d9da348c58e76abf40b0a70c725dfd703163db6e194ee0e3db11a47b6b60e225163308dd -DIST wine-4.3.tar.xz 21764500 BLAKE2B dd94b710f2be20ce3225fb58e0a20f0ee46e59834dc77383e262620faa64597c41625382237c39563b3bb67b1850cca2460ca147e2c5ee3052f0fdfdee067ec5 SHA512 45c0519f8f2873ef65e1761d518a7148f3aa54c0e993a41a60849c01c8df17386d57edd83308cff289300adc6a8e3fc5918fb12513f5b85a88e556b420479e83 DIST wine-4.4.tar.xz 21805668 BLAKE2B cf973240a3f2a1ad1cac8690cdc5cd86be428220395d90bfe3b15567e6a2be0bb78e5828de3b77b617827122f5b0bb1dfeeef351102ca001722340ceaeb5625e SHA512 6678c9b0e086bdc9fab9f9fd2517226352b49f846bbae7be6000bb60db2f302aad49622192077b45880d45ad33ba4d82bfe3403fb82a1e65159f1352b40933de DIST wine-4.5.tar.xz 21879868 BLAKE2B fc2bc13fefac97570a67a1c48a0144c1194896f779803efc0c3229fc234f128f53c78cadb1d47d28ec6772ecea73831c8850322e537aa1af62b537b7856ecae5 SHA512 261420efdf14595715cff5bb6a61223b0f2090b89dc05dca8c053a8a81abc3018715d41db50769a0f0488c658efc0742ac0f577b578e69eace70be4e463131dd DIST wine-4.6.tar.xz 21940848 BLAKE2B 1dbac3b3e6d74b99123a0954015343514d0135a26cffe86499f8fbdfadd04205edfcd0635562519b73397519f298abe7e18693fa1433aa05255b2435a2eedb1a SHA512 b5d8568de0256bdd9f3fcaef725c8daa90d028838fd490f75d7f08a7c538103a957a4fd03857a8fbbdf1de6acb7237b183dad24d6057be50dae12af227cd2c98 +DIST wine-4.7.tar.xz 21962632 BLAKE2B 2f90212c93fb089fafb0dd44189044b3875a52e3f6b5300a44893ac9760afb398330c293abbffca15cd9f9a6da72e97c2702c04525e02663186d723f1f322da7 SHA512 cb768528db510f81d464b9c1bb48847162baaa86ef00dc7a418afdce38aa51262d150c14b3362fb40c93cc2e3633fc02b2916167f21af8a708eb393da6ba9163 EBUILD wine-vanilla-3.0.3.ebuild 17120 BLAKE2B a8cf3d4872ba5f91a691817bfc9421a6a5bc1079141c8c3d53dc5726bc2aacd46090d253390278ec5e8e19c63e613c1289a62957a75487f7dc10ee68b8e4778d SHA512 36c54300f1d396a0e5d990316525dd68103a5e25623e84134b35e708d35d7c8b4cbf6100e91396b29daed058fc64a51bac39b7b14684baffafe1e2f05f695b23 EBUILD wine-vanilla-3.0.4.ebuild 17085 BLAKE2B d1831445374f36c0fd20b930b2786c79054473868b1d319d1824b935e5e3f2fd07aafa24948040ac1cade51e5748843438f51e473a385c654fa3fe282277e0d7 SHA512 20342989e375114278c77c3dbd8fc1e9483281ab4147006a5f7fc6e657287c327b25cf002581c1a94fec9e9e982710b179415af4cbcf9eebae708ac41079765e EBUILD wine-vanilla-3.20.ebuild 17308 BLAKE2B bdd30e07641146aabc517f4f46b34d71e4182428dae9e89f564eebd8f057e78cf4b6ea5b8bfcfe1172d95265cd3bc6c3f2d32ba29bed40c39a7b1f8b02cf5e40 SHA512 a2cbbba40bc4fb97ef5b730f26818fc9153c27b5fdf248b587d12ef63dbcfe6f0c98f0bf7efd421ef4bc0dec473a780d2913afb3b806c6a30f9ad73f546d9536 EBUILD wine-vanilla-3.21.ebuild 17308 BLAKE2B bdd30e07641146aabc517f4f46b34d71e4182428dae9e89f564eebd8f057e78cf4b6ea5b8bfcfe1172d95265cd3bc6c3f2d32ba29bed40c39a7b1f8b02cf5e40 SHA512 a2cbbba40bc4fb97ef5b730f26818fc9153c27b5fdf248b587d12ef63dbcfe6f0c98f0bf7efd421ef4bc0dec473a780d2913afb3b806c6a30f9ad73f546d9536 EBUILD wine-vanilla-4.0.ebuild 17341 BLAKE2B bdb219c3352300bfa6bf2194696ed44a4632170ae6c03c938203c57b9b6aa23c5de2276a42bc9943dfbcbc942214fcdeb7a313deebf25c9b8570c3fe51c9bc8e SHA512 65e06fc637ec397e3365d7be2e58b130852675a93ea235e6066e01f9e5b7efd098868fdc1c3fce810dd72dd1c0e66bab9a4941b7f3a1ceff40a744776cb91055 -EBUILD wine-vanilla-4.3.ebuild 17395 BLAKE2B edb4f1c9a2929010da9ac4477dbfd573869fb208b21aafd6864343f814013c70f8c72b76a55fa52c5798b6661595b0764c26c2ae0a505514171dd01943b5decd SHA512 4bab3ef13a187c6dac7cf2b9b683aa26e1bf8290cf1bf21db3a2b1b4cca10b53de169f5c4443aa665b07edf314a5e9e6e5c361c864818cc268a3e4c0004340f6 EBUILD wine-vanilla-4.4.ebuild 17388 BLAKE2B 0c48871fe460ccd760330f3c380ed0307cdb093a1319a8fff239b552b78a17789320e2fd19d8dfbd32282f6a2926f0545b37f4df9dd5bb9d897dac0f5c8f1210 SHA512 acc0d5ef46f73a50aba5e9d8bf54513a769265af38f52289842a0122d64f93309654e76a5e5f618fa6396c2455edf939c4545e9199d14cf2d75371bf29af6ffe EBUILD wine-vanilla-4.5.ebuild 17389 BLAKE2B a6ed1703bc53e986e53ead04bff804a0cc2da4f704ffc018d980fd1a4be5cffc49b57565edf148286d0d5501cb0c6381dc17b92a93b51e899b50b3844fc978b1 SHA512 8ed9bd56ae83e179df73a55b47c04a6f8fb124e065c7ca6275c74eddbed764293f41ab4c0799cff14a9596e486eb0c871602946bf8e82fe4b4f7db17c975e64b EBUILD wine-vanilla-4.6-r1.ebuild 17389 BLAKE2B cd54cb08e094ee3b32ea280dd335c8572ee55fbd18071e1cd5796672c110faac5fc5b08613332658ea7a101d5bca903c7b87e4f384d4fd9f6c716aa5cbd51de4 SHA512 a6ddcd8036dbbe714bb7e406f35be62e4b2a37f49048a1b16df0fc0a7aac09ed013d573d475c48151beb15ff6c032089ff8b078ddd40fef643a7a040e8e69bd8 -EBUILD wine-vanilla-9999.ebuild 17389 BLAKE2B cd54cb08e094ee3b32ea280dd335c8572ee55fbd18071e1cd5796672c110faac5fc5b08613332658ea7a101d5bca903c7b87e4f384d4fd9f6c716aa5cbd51de4 SHA512 a6ddcd8036dbbe714bb7e406f35be62e4b2a37f49048a1b16df0fc0a7aac09ed013d573d475c48151beb15ff6c032089ff8b078ddd40fef643a7a040e8e69bd8 +EBUILD wine-vanilla-4.7-r1.ebuild 17387 BLAKE2B a8afb6738b5c26abbd9346dd89187ba983c07c1f91d57324368faecbea2716440ccf8763c389fc3be0a5cc5c829b586e89b0c203672bd59881d4a63ddb55509f SHA512 645cd0d689f715ee4f7863b701cf501264c7400eba31ca4a68eb9870572c3e5ae4086841a28b1a387600b442759daa0599acfcc80a1e1edd6b4fc9e3555a0385 +EBUILD wine-vanilla-9999.ebuild 17387 BLAKE2B a8afb6738b5c26abbd9346dd89187ba983c07c1f91d57324368faecbea2716440ccf8763c389fc3be0a5cc5c829b586e89b0c203672bd59881d4a63ddb55509f SHA512 645cd0d689f715ee4f7863b701cf501264c7400eba31ca4a68eb9870572c3e5ae4086841a28b1a387600b442759daa0599acfcc80a1e1edd6b4fc9e3555a0385 MISC metadata.xml 3273 BLAKE2B 1a060f5a0877c948b46a7fa128e265b682c3a367651629454a38114a112c4d43faeb53dfc335f10e84635fac6adf50f8b9429f060252e11191dfabee031dc81d SHA512 151c4e3b2039180194e6d50983ec4d298296810b2ad794b06a4189e07d0b4800afa4ff62a9b3133bbf04b02644da9938b6f5139fecb332f2dcf955f9e3f34faa diff --git a/app-emulation/wine-vanilla/wine-vanilla-4.3.ebuild b/app-emulation/wine-vanilla/wine-vanilla-4.3.ebuild deleted file mode 100644 index 8661edf7b9a4..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-4.3.ebuild +++ /dev/null @@ -1,534 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar 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 te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" -fi -S="${WORKDIR}/${MY_P}" - -GWP_V="20180120" -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/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - test? ( abi_x86_32 ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:4.8.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environmental variables" - eerror "EGIT_OVERRIDE_COMMIT_WINE" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir=/etc/wine - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with v4l) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - local PKG_CONFIG AR RANLIB - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - # set AR and RANLIB to make QA scripts happy; #483342 - tc-export PKG_CONFIG AR RANLIB - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${D%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-vanilla/wine-vanilla-4.7-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-4.7-r1.ebuild new file mode 100644 index 000000000000..a10f0dced803 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-4.7-r1.ebuild @@ -0,0 +1,534 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar 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 te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +fi +S="${WORKDIR}/${MY_P}" + +GWP_V="20190430" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + test? ( abi_x86_32 ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:4.8.3 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-4.4-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-4.7-memset-O3.patch" #480508 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "EGIT_OVERRIDE_COMMIT_WINE" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir=/etc/wine + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with v4l) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${D%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild index 22ff5ed98abd..a10f0dced803 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild @@ -24,7 +24,7 @@ else fi S="${WORKDIR}/${MY_P}" -GWP_V="20190316" +GWP_V="20190430" PATCHDIR="${WORKDIR}/gentoo-wine-patches" DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" @@ -109,7 +109,7 @@ RDEPEND="${COMMON_DEPEND} !app-emulation/wine:0 dos? ( >=games-emulation/dosbox-0.74_p20160629 ) gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:4.8.1 ) + mono? ( app-emulation/wine-mono:4.8.3 ) perl? ( dev-lang/perl dev-perl/XML-Simple @@ -140,8 +140,8 @@ usr/share/applications/wine-winecfg.desktop" PATCHES=( "${PATCHDIR}/patches/${MY_PN}-4.4-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-4.7-memset-O3.patch" #480508 "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 ) PATCHES_BIN=() -- cgit v1.2.3