From b2be182d49eea46686b5cf2680d457df61e89dc4 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 30 Jun 2018 08:49:38 +0100 Subject: gentoo resync : 30.06.2018 --- app-emulation/Manifest.gz | Bin 19855 -> 19835 bytes app-emulation/buildah/Manifest | 2 - app-emulation/buildah/buildah-1.0.ebuild | 46 -- app-emulation/cloud-init/Manifest | 4 +- app-emulation/cloud-init/cloud-init-17.2.ebuild | 2 +- app-emulation/cloud-init/cloud-init-9999.ebuild | 4 +- app-emulation/crossover-bin/Manifest | 1 + .../crossover-bin/crossover-bin-17.5.0-r1.ebuild | 147 +++++ app-emulation/libguestfs/Manifest | 2 +- app-emulation/libguestfs/libguestfs-1.36.13.ebuild | 2 +- app-emulation/libvirt/Manifest | 13 +- .../files/libvirt-4.1.0-do_not_use_sysconf.patch | 204 ------- .../files/libvirt-4.1.0-unbreak_my_bridge.patch | 78 --- .../files/libvirt-4.5.0-do_not_use_sysconf.patch | 216 +++++++ app-emulation/libvirt/libvirt-4.1.0-r3.ebuild | 383 ------------- app-emulation/libvirt/libvirt-4.2.0.ebuild | 382 ------------ app-emulation/libvirt/libvirt-4.3.0.ebuild | 4 +- app-emulation/libvirt/libvirt-4.4.0.ebuild | 381 ++++++++++++ app-emulation/libvirt/libvirt-9999.ebuild | 17 +- app-emulation/lxc/Manifest | 2 +- app-emulation/lxc/lxc-3.0.1.ebuild | 16 +- app-emulation/nemu/Manifest | 2 + app-emulation/nemu/nemu-2.0.0.ebuild | 69 +++ app-emulation/qemu-guest-agent/Manifest | 6 +- .../qemu-guest-agent-2.11.1.ebuild | 1 + .../qemu-guest-agent-2.12.0-r1.ebuild | 82 +++ .../qemu-guest-agent-2.12.0.ebuild | 82 --- .../qemu-guest-agent/qemu-guest-agent-2.5.0.ebuild | 83 --- app-emulation/qemu/Manifest | 4 +- app-emulation/qemu/qemu-2.12.0-r3.ebuild | 4 +- app-emulation/vagrant/Manifest | 10 +- app-emulation/vagrant/files/vagrant.in | 61 ++ app-emulation/vagrant/files/vagrant.in-r1 | 61 -- app-emulation/vagrant/vagrant-2.0.2.ebuild | 79 --- app-emulation/vagrant/vagrant-2.0.3.ebuild | 79 --- app-emulation/vagrant/vagrant-2.1.1.ebuild | 2 +- app-emulation/vagrant/vagrant-2.1.2.ebuild | 79 +++ app-emulation/wine-any/Manifest | 10 +- app-emulation/wine-any/wine-any-3.11.ebuild | 637 +++++++++++++++++++++ app-emulation/wine-any/wine-any-3.8.ebuild | 637 --------------------- app-emulation/wine-any/wine-any-9999.ebuild | 4 +- app-emulation/wine-d3d9/Manifest | 6 +- app-emulation/wine-d3d9/wine-d3d9-3.11.ebuild | 574 +++++++++++++++++++ app-emulation/wine-d3d9/wine-d3d9-3.8.ebuild | 572 ------------------ app-emulation/wine-staging/Manifest | 8 +- .../wine-staging/wine-staging-3.11.ebuild | 608 ++++++++++++++++++++ app-emulation/wine-staging/wine-staging-3.8.ebuild | 608 -------------------- .../wine-staging/wine-staging-9999.ebuild | 4 +- app-emulation/wine-vanilla/Manifest | 4 +- .../wine-vanilla/wine-vanilla-3.11.ebuild | 531 +++++++++++++++++ app-emulation/wine-vanilla/wine-vanilla-3.8.ebuild | 529 ----------------- 51 files changed, 3438 insertions(+), 3904 deletions(-) delete mode 100644 app-emulation/buildah/buildah-1.0.ebuild create mode 100644 app-emulation/crossover-bin/crossover-bin-17.5.0-r1.ebuild delete mode 100644 app-emulation/libvirt/files/libvirt-4.1.0-do_not_use_sysconf.patch delete mode 100644 app-emulation/libvirt/files/libvirt-4.1.0-unbreak_my_bridge.patch create mode 100644 app-emulation/libvirt/files/libvirt-4.5.0-do_not_use_sysconf.patch delete mode 100644 app-emulation/libvirt/libvirt-4.1.0-r3.ebuild delete mode 100644 app-emulation/libvirt/libvirt-4.2.0.ebuild create mode 100644 app-emulation/libvirt/libvirt-4.4.0.ebuild create mode 100644 app-emulation/nemu/nemu-2.0.0.ebuild create mode 100644 app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0-r1.ebuild delete mode 100644 app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0.ebuild delete mode 100644 app-emulation/qemu-guest-agent/qemu-guest-agent-2.5.0.ebuild create mode 100644 app-emulation/vagrant/files/vagrant.in delete mode 100644 app-emulation/vagrant/files/vagrant.in-r1 delete mode 100644 app-emulation/vagrant/vagrant-2.0.2.ebuild delete mode 100644 app-emulation/vagrant/vagrant-2.0.3.ebuild create mode 100644 app-emulation/vagrant/vagrant-2.1.2.ebuild create mode 100644 app-emulation/wine-any/wine-any-3.11.ebuild delete mode 100644 app-emulation/wine-any/wine-any-3.8.ebuild create mode 100644 app-emulation/wine-d3d9/wine-d3d9-3.11.ebuild delete mode 100644 app-emulation/wine-d3d9/wine-d3d9-3.8.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-3.11.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-3.8.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-3.11.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-3.8.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 3d58db5af799..9000b7c50e3c 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/buildah/Manifest b/app-emulation/buildah/Manifest index 967e0b47dc11..87b0c2bb15b6 100644 --- a/app-emulation/buildah/Manifest +++ b/app-emulation/buildah/Manifest @@ -1,5 +1,3 @@ -DIST buildah-1.0.tar.gz 2865669 BLAKE2B 7749ed00637fff9c2bcee63ef9e8985b3e6e2abff1c1f4787dc0730b9765576fac9173dd05cbc289aed3c0d20ff374a78976beb86c73adb221184415e4906a41 SHA512 17779e5bbc20fff6da607898620a8193e11ef13ddc033e7868776aab53a710e09428dca0450f11368d750bf7179fd4850ac3a8a445bd9537d987bd837853f4e5 DIST buildah-1.1.tar.gz 4253820 BLAKE2B ae30a677a2f569d87da0ab85732078912598cf25f7b22ad25540f5d89797983a8549eef1bc8d151d4e0be078b97e024df145bb882bdd8443becb07774bfb5875 SHA512 9957590d7413436195307746682496616fd2350b832242f33fb4cb07c1144addae445eeff062f403d26a68329f1153468489032bc9bbcf870839c760a720ef95 -EBUILD buildah-1.0.ebuild 1030 BLAKE2B 6433baa65962203139b9ff71c665f46d7de0a6d74e90c55cf32c9a0559af94d3eb7b3707f4184c83902e92231bbdebae3769b83110dfe41570e5642e25b45a8d SHA512 207cb4e59bfa5f233fe0c97ddb967ff9521b4e16828e9a7186a2c93968b6c2e14d5dd41185bcd0e45096dde0d00eeb3c848490db1fe6400c35110786e21129f6 EBUILD buildah-1.1.ebuild 1388 BLAKE2B 8dd9609a8d7c8e2f132e7f0d07b311c05fb0a364cd9c63d3f68c065e40bfe4776c3b1650463064ff96b40dc64ebaec9c87c6ed346705f371925822b2d097a7db SHA512 fb2c0381296021c4e4e60649532413b154c2a5e28fcc91fa3998e8be1e845d0c5f215bb17b0397441df63fd5bfea7d72b9f281ec891cf11b1bd309b2e52d8bcb MISC metadata.xml 433 BLAKE2B 5b06389433033a1cf28f5fcae5dd41f4ebe0582d9537e8e163fad82046a66477a6ac3ed26ea63e60ea392919afcd3f0f45ae8ddabefd3a518707d5adff04e9d6 SHA512 3ab67ceda6ca0c8bd10f8868172d9686c8eeaa856760453be1c3ba907abb734ba37f5e9885547a16f69c67aa8d96e576de1ddf3208c08f4d44c2d90b081c74a6 diff --git a/app-emulation/buildah/buildah-1.0.ebuild b/app-emulation/buildah/buildah-1.0.ebuild deleted file mode 100644 index baf50ef426d8..000000000000 --- a/app-emulation/buildah/buildah-1.0.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit bash-completion-r1 golang-vcs-snapshot - -KEYWORDS="~amd64" -DESCRIPTION="A tool that facilitates building OCI images" -HOMEPAGE="https://github.com/projectatomic/buildah" -LICENSE="Apache-2.0" -SLOT="0" -IUSE="" -EGO_PN="${HOMEPAGE#*//}" -EGIT_COMMIT="v${PV}" -GIT_COMMIT="1ab80bc" -SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" -RDEPEND="app-crypt/gpgme:= - app-emulation/skopeo - dev-libs/libgpg-error:= - dev-libs/libassuan:= - sys-fs/lvm2:= - sys-libs/libseccomp:=" -DEPEND="${RDEPEND}" -RESTRICT="test" -S="${WORKDIR}/${P}/src/${EGO_PN}" - -src_prepare() { - default - sed -e 's|^\(GIT_COMMIT := \).*|\1'${GIT_COMMIT}'|' -i Makefile || die -} - -src_compile() { - GOPATH="${WORKDIR}/${P}" emake all -} - -src_install() { - dodoc README.md - doman docs/*.1 - dodoc -r docs/tutorials - dobin ${PN} imgtype - dobashcomp contrib/completions/bash/buildah -} - -src_test() { - GOPATH="${WORKDIR}/${P}" emake test-unit -} diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest index e41b38468a82..03ea1fc0ae94 100644 --- a/app-emulation/cloud-init/Manifest +++ b/app-emulation/cloud-init/Manifest @@ -20,6 +20,6 @@ EBUILD cloud-init-0.7.7.ebuild 2399 BLAKE2B 54d7784a165c51d994259e70367551addbb0 EBUILD cloud-init-0.7.8-r2.ebuild 2547 BLAKE2B b508988c338b35cbb4866957fae9a215c53effbdaa5f1c0845e64747296bb5747c3f960bb0f7928e2b26f1d1fb6bb585fab947fe7b2cbdf40e849f2c629c2433 SHA512 972a04cc2c359f7271960820f4212ae1afc13def893b5bd87efe8ed30dd5f03f7219c008c9c7806f918eb7dbe3609e3c0407b7c0d5d5ad66b568abd2361ce2ec EBUILD cloud-init-0.7.9.ebuild 2542 BLAKE2B 3f13fa11cc65dd9f2cf1bde72541ed07d4b2991fd010437eabbc70fb8180ed71d06d00781a4679ac7ecbb77d912a74dbb56684ca90cbe97001d348efbd2a138f SHA512 11db9733a73ca6ca53189b2f768e08a471a00adb419d96b00d7a64731299aa43fe45f6b4a03e1ebe16ce7d58316b06eb96933a83b99cb19bd6a6b2453278220d EBUILD cloud-init-17.1.ebuild 2014 BLAKE2B 544f5fca45a28b2d1cece53fcbf2397c54cb56e65e0dbb368b78a4f0c08d5d4c84af7436710e4d3e666adf12c6d00f7947bc2de8c7ff5345d158c99a46b4271d SHA512 5dcbc40adbef50088e66e021ca4200293a6f044ed853dc2e1675a68a63d875ce1580d8bda4fe0c74de9738ff09931f3bf56efbad235bed57d81a5c30a9d19cef -EBUILD cloud-init-17.2.ebuild 1964 BLAKE2B 0fdf3b22c6d01dc957fcf2086f94f7e988ed0b6d7ac0fe58b186a3de0e8c05eef541091bb65497b3d6ca47579f33790b71747ff7ca190ecfbdc857759a96cc03 SHA512 2c1839f5dd324714faded2bd02c7187938f33b3f7e995dbbf7440aa9654705693b272a09470ef8837e56711ee7c0d39abafb65ef8a67c47687f2e82fd4013c77 -EBUILD cloud-init-9999.ebuild 2219 BLAKE2B a2b856ce06b7026545efa2bee186e70aaa28c607eb026f813892ee6fe5f96ed50d091020a563dacac16a433f6fe7404304ec2bac917cd53b890b772eccb2af3e SHA512 f50bf3530aef585d11e8984a2252724d0e0a89e1b912304f26ec0a74cdbde78103eb7efb2ed4d9a7cf69c3db43970c7f40a959c5a969e85a547ce9e2a3894be5 +EBUILD cloud-init-17.2.ebuild 1962 BLAKE2B 253368bf942bbda581e586ba346b56ee9e80b92069c5eb4b6f114d62a5756aa68bd61a87ddf8b46d27ac27e90b8e3f201802d1ed9137846e0c6063bea248ed77 SHA512 aa04144b55af445074987e4c3bdb9a8caefa5c34f6c07f10dbfa980e97036c34379e3c062acf97d29d82c309e0e5257c56ec89cac3e05eb67b5dc0e091eb8ece +EBUILD cloud-init-9999.ebuild 2215 BLAKE2B 58401178bc8dba30a20fabfccaa35668c8c07f9bfdfc6a4d455e9d301ff790b7444b71c6c8de84b07d425e7b67a429356584cd29f85a1a808a78eac3818578a0 SHA512 b1a0ba6b710d9ca4325cfdc5e89be8a039449428b5521bf81121dc0819d6b1d1b2fd0b2b020930e4724742fe6c01a99ed7d6afb6b96fb1ae23a976ee0e0c72c6 MISC metadata.xml 465 BLAKE2B 5398fc1968cb3b137fbef2e05917db7edc8fa1d9d777906524c2905eeaeefa20176935e2a9e13105c3330a1d7de7cac2f70dd573a3c9c1f190418a77c7c0a572 SHA512 61808e99f90a21f708cd899837396b15ea156519406f7d8f3168b76f85c5b948e31e4d8c8b5a560e8b18859190914466f5b81236ae3de7b52bd253c0bf3c0ad9 diff --git a/app-emulation/cloud-init/cloud-init-17.2.ebuild b/app-emulation/cloud-init/cloud-init-17.2.ebuild index d5d1c2d9d37c..d041da0ca5dc 100644 --- a/app-emulation/cloud-init/cloud-init-17.2.ebuild +++ b/app-emulation/cloud-init/cloud-init-17.2.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="test" RESTRICT="test" diff --git a/app-emulation/cloud-init/cloud-init-9999.ebuild b/app-emulation/cloud-init/cloud-init-9999.ebuild index 20a2e5936f9c..4072bd36f068 100644 --- a/app-emulation/cloud-init/cloud-init-9999.ebuild +++ b/app-emulation/cloud-init/cloud-init-9999.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 -PYTHON_COMPAT=( python2_7 python3_4 python3_5 ) +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) inherit distutils-r1 eutils git-r3 multilib systemd diff --git a/app-emulation/crossover-bin/Manifest b/app-emulation/crossover-bin/Manifest index 3bbb718f7b4a..bcfddba5baba 100644 --- a/app-emulation/crossover-bin/Manifest +++ b/app-emulation/crossover-bin/Manifest @@ -35,5 +35,6 @@ EBUILD crossover-bin-15.3.0.ebuild 4839 BLAKE2B 98f870f400e4aa3e1c5c2056b4f5736e EBUILD crossover-bin-15.3.1.ebuild 4839 BLAKE2B 98f870f400e4aa3e1c5c2056b4f5736e6ef5a114f34fbb4dd40d87dbb2a850ed2d5da6d5bd589beeefbaef04556b771dd30100c2d65117dd16655f4f42b06870 SHA512 24f75b5b056b9188855ec08c1077160bb946ad74b5a936220a8aad9ec01b63585ca99c47c971c40534b15efbb5b94341cf88468b2903d6d4423702037dd4c0e7 EBUILD crossover-bin-16.0.0.ebuild 4839 BLAKE2B 98f870f400e4aa3e1c5c2056b4f5736e6ef5a114f34fbb4dd40d87dbb2a850ed2d5da6d5bd589beeefbaef04556b771dd30100c2d65117dd16655f4f42b06870 SHA512 24f75b5b056b9188855ec08c1077160bb946ad74b5a936220a8aad9ec01b63585ca99c47c971c40534b15efbb5b94341cf88468b2903d6d4423702037dd4c0e7 EBUILD crossover-bin-16.2.5.ebuild 4839 BLAKE2B 98f870f400e4aa3e1c5c2056b4f5736e6ef5a114f34fbb4dd40d87dbb2a850ed2d5da6d5bd589beeefbaef04556b771dd30100c2d65117dd16655f4f42b06870 SHA512 24f75b5b056b9188855ec08c1077160bb946ad74b5a936220a8aad9ec01b63585ca99c47c971c40534b15efbb5b94341cf88468b2903d6d4423702037dd4c0e7 +EBUILD crossover-bin-17.5.0-r1.ebuild 4715 BLAKE2B baae2631b13be883f6dc8156d4e610088f0c9ed7e90235ae61a239f57f424cd321468852268df667aaab4f30bfa09f7a9fa0cf3f5634a3e8bcd3cf992e9a4566 SHA512 3617337451ac6c609f84a19d44ce1f356f9339dc49a54d7fc07c1cf8e62aacb1d2e787c804465b0aad02cbf8e67299cefed1440b150e5b90b33303bbdde5d72f EBUILD crossover-bin-17.5.0.ebuild 4681 BLAKE2B 138a030b175977d74d57046e6696ce6af29279191c864eeda37717a0a5107e6de78d99f86653a16af3267ace863234f1d605a1c06ccf6a7e60833ad51f212f08 SHA512 3497724107b984ec653c96bb8fbfa8b70c2c3f997ba6b05e0f23529e86b4cc11814502082baf3d722a215d0b6bb97db56917b3e2411b2bc9805ae938e98eb522 MISC metadata.xml 364 BLAKE2B 9978c9532a9bd1adcfa22f00db6a8fd80fda155a6adc69ee0c0693093e7a7ac0a0eba1ef5a0657e6dff5aabdb7e6259c883aceffbba89b495a25b0d3e26e5174 SHA512 68f361d337b167c549eafab8e45dcb33548ac67a206ead2f7118330a77888c6e2ba4dbe7755ca23c81a5e619458f25359e3f2d8eee4f6d0e359b5c3a28475096 diff --git a/app-emulation/crossover-bin/crossover-bin-17.5.0-r1.ebuild b/app-emulation/crossover-bin/crossover-bin-17.5.0-r1.ebuild new file mode 100644 index 000000000000..d5b281cbba85 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-17.5.0-r1.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-3" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opencl +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-libs/libcapi[abi_x86_32(-)] ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opencl? ( virtual/opencl[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-auth/nss-mdns[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/ncurses:5/5[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + + sed -i \ + -e "s:xdg_install_icons(:&\"${ED}\".:" \ + -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ + -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ + "${S}/lib/perl/CXMenuXDG.pm" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym ../cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + #cp -r ./* "${ED}opt/cxoffice" \ + find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install menus + # XXX: locate_gui.sh automatically detects *-application-merged directories + # This means what we install will vary depending on the contents of + # /etc/xdg, which is a QA violation. It is not clear how to resolve this. + XDG_DATA_HOME="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ + "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ + || die "Could not install menus" + + rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ + || die "Could not remove uninstall menus" + sed -i \ + -e "s:\"${ED}\".::" \ + -e "s:${ED}::" \ + "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ + || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" + sed -i -e "s:${ED}:/:" \ + "${ED}usr/share/applications/"*"CrossOver.desktop" \ + || die "Could not fix paths of *.desktop files" +} + +pkg_postinst() { + einfo "${P} is open source software with the exception of the GUI." + einfo "Source code can be obtained from:" + einfo + einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" +} diff --git a/app-emulation/libguestfs/Manifest b/app-emulation/libguestfs/Manifest index 7393246dc14b..f2cab21d3218 100644 --- a/app-emulation/libguestfs/Manifest +++ b/app-emulation/libguestfs/Manifest @@ -10,6 +10,6 @@ DIST libguestfs-1.28.5.tar.gz 12747537 BLAKE2B b0cc023efef41955c4b448b68bd5578d8 DIST libguestfs-1.36.13.tar.gz 22886310 BLAKE2B b0961cc6b941f1b68bba23af72e8b5478ed33da6f343e453f90decd7454cfc6a94cf67a81ad59c443df744727afa9bd4e98c77411efc4134e3422eaae59ffff5 SHA512 7c9799d5d563ffd8296f70a8402582aba85f3bf3c0dcaa18c44ecff5b7f771a3bc3f297aa85a4056351758298c79752d456a4b46e41924ff9acf196c992d51fb DIST libguestfs-1.36.5.tar.gz 23012703 BLAKE2B 31dcbef2ae1c287c4a353f671e6073cdb4eb2c7173666ff9589ed0e0ce909c2dfa00f2da14b40a0a6a9384dd830082f1f721b0c1dafabe2862391f0f75ff3f3d SHA512 01f10ab902386130f0565f53d0c361b903d6790b572e5562a2180e896952ead2e7661795bd976a7e2442887ea17014a6767db8b6e575de634f32de82ca4124c6 EBUILD libguestfs-1.28.5-r3.ebuild 3754 BLAKE2B ca8d0cdcb60e7ba34805c64c932e2f06cbd72bbdca8e7777744a37cd43a69bb6964db5f72835d7473c505450396a6f2fa544ffc17a856e541561ce95fbc1acce SHA512 098c67112a8ff3c648351c060837154cb4ccb666ddb056a6e54ee4901e3d7e9b78e20bd73cef7fcd6895a248522242456bd721ab9123faf4e09dc3c6cd6631bd -EBUILD libguestfs-1.36.13.ebuild 4153 BLAKE2B 8d6ae177bada37310d9b42f000847d6807314e36a3da97419c63cc64a945664a01306ffe4f79bb43be007a904243f0f291d29f78bd1e045058f9644a6e8b00ea SHA512 0cbe10bd7eb95c6a688dabcfb896cef83f7dcde6d9e24cec4c504a7d5ea2a7fe7f1928d30c31323b91ba272913d99551abfa38aa62ee0e8c4ea9baa51ab8a87e +EBUILD libguestfs-1.36.13.ebuild 4155 BLAKE2B e06f52284fea5b18165ff0308bec1af0c1b6166986da399a819a095fa2373940d10a2f386700ddc65e99558fe3e91974114367366a97969947b7358c29757c1b SHA512 c8069c35e30f96888016edbb88d9fa5b76dbd87d7e2d448beadd0d00df824a7aa51526d163f90ffb31b887398a1be41c28492b2861cedede8d6b6172f27cab4e EBUILD libguestfs-1.36.5.ebuild 3877 BLAKE2B 6f64972ce85db716ae89a73c7f27248c9fcd8427e2eabbeb277a887b27937756463057805287ba955430b37561e034fa40f020ff32539ba77b9b7b9b5a7dd2b0 SHA512 749338dfb6c0dc81ff122085f71fd0861ee6b5b71cbd8591d0392896ee28d59f2f09f3a970dd2f93cc3f520f81767690c8d58bb6ed100de1066a23151b8d33e2 MISC metadata.xml 1002 BLAKE2B 993cf56b6beea1ff609bf9be15d981426357cdaa15c5c6af9a054dbbb241bb2a12e0bb84b7f5f171ba111bd68545254f197c65b5f8956af4facced3bc1d9fc65 SHA512 56525b6489f81fd7555f5953e5ca0ccb468831a433264326f8cf2dee18f8bc5d12a6c479e7fed9c252d17d87efeebac77c0543e4e19207d0e8f720789bd68ce8 diff --git a/app-emulation/libguestfs/libguestfs-1.36.13.ebuild b/app-emulation/libguestfs/libguestfs-1.36.13.ebuild index ffe817495784..2ec5171dd693 100644 --- a/app-emulation/libguestfs/libguestfs-1.36.13.ebuild +++ b/app-emulation/libguestfs/libguestfs-1.36.13.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python{2_7,3_{4,5}} ) +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) inherit eutils autotools linux-info perl-functions python-single-r1 versionator diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index f1b8586a3dbd..6e64089a08f7 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -2,9 +2,8 @@ AUX README.gentoo-r2 2094 BLAKE2B ccfad63217f7778e97d8de49e20002dffefff32562f560 AUX libvirt-1.2.16-fix_paths_in_libvirt-guests_sh.patch 641 BLAKE2B e796f4e32f00e8970eabf723520601b26c7fa5f7579d538299538632ba036dafbb2dc64ad40d10152c0637043b2a649e1dc08468d1f250e00ee0af095d94a093 SHA512 df9960b80c7dda852e38d992ab31181d79091bd6e1ba88c0b0c1af8a2f2d1445ee95c957df38ab27b452cd2de01d36b88164e665a867ad69c15ca15c18b1d588 AUX libvirt-3.1.0-musl-fix-includes.patch 221 BLAKE2B 65f486f4055c0ccae59601970d770f23f570f127ba26ce1d932855e784b83fce99389f22f12630005be61e5de2e64e0125d0bf5270024f736fe597fa5b81ff78 SHA512 876c7dacedcce1d69938779b978b3a23b2f51128f121b4aa53f5f301d7740f90d77f335523210ed492b68b5f7a0b864b25a694ee562fb5e8ab1b6411d3da48e7 AUX libvirt-3.10.0-r2-fix_paths_for_apparmor.patch 2730 BLAKE2B ae92a37cdfb929862bd58d1cd208e3f8a3aab10dae98ec8e51d6c3ab579295e3f59ff091970499c6c57b625edec77b98421502df625b1d10c1c3d0be3dfbe489 SHA512 751b971fd0f109f3a4147feea8481adb9c868313ea57d293a89ee548661514f124318324823d9380839a7a5c8ae7c1e3ae8c4c6e62027587f163c8856e353a6a -AUX libvirt-4.1.0-do_not_use_sysconf.patch 6867 BLAKE2B 3105dd0ff7c0275f1edb279acd2674f76029bdcb3649f4564d0b57e202b4353d9fca7bd1e98e2fb5ad9e2acafd5616f693058150f6696d00fe4a22d7374bf35a SHA512 a38061d6f9d100f40f429c1b4f5c0a1fe480c412ff9a59aa6c53c22809c88892928aae265e91b5561c02ef29aa075aa68f6e4f2f33bb24045ca82b2ec85087d7 -AUX libvirt-4.1.0-unbreak_my_bridge.patch 2881 BLAKE2B 19110dc2a78fded57d952a5044022d1788aab77ddf3b35d0bea3c064b5000afa7d801d0252c9b44b7632bf3ce6fbd8a8d1c86ac121c5da0095d16a63ba35f78b SHA512 c27614fd652196da2261438aa28e4cf7369d1e54f589815644501e93a6a02d997e1b845ac0fa461c6fb2f6c915441602b22361bfa2109e67280767370517673c AUX libvirt-4.2.0-do_not_use_sysconf.patch 6651 BLAKE2B 1863ad6d83e0e3749f506792d8d1fc3a530e4b203c60b1530b6c00727e96441200b25261f2774bea35ac3975498a3ecdad95aff9e026e6aa0da117411c3c2e34 SHA512 8db31a568a41bf76339bb33076aec40b6d485f5b71a94030fc322013d1e7fac717f6d7abdd17729aaede132baf6a3b0a99e7ef315c9bf78cc5e9522ff551813a +AUX libvirt-4.5.0-do_not_use_sysconf.patch 7417 BLAKE2B b1e6471a7b6a923a3ca4b630df3ddf31994d3492837e842fd0eb43f79757f2a39652345711719fd2b189116d533472d4e4298520b81838706264d371537d6947 SHA512 1362feb1d2ff3dbb1d5550152453c2fe7fbc4645356a866195601eb17a280af0106753d873285b307267b2c941c18d8db2b5a24d7916a49dfd6af3515217bfcc AUX libvirt-guests.confd 2430 BLAKE2B 9d56477c9377e02503782e6d653579c6d149b292c43f37926f4646374e8aae05ca812b6a3a561811482861f8fe67dfdbe63851963326ddbbf2f4644c85411120 SHA512 78f419a89de7aabaad860903c24f1c070786fc1296d987e61dd537705b0e7f71a46c315888028f3826c3417e42861ca8471788be4ec5695e98427c5f18ae63fc AUX libvirt-guests.init-r2 5411 BLAKE2B a14ecc1bb7188dbbe3d0f82f301a73b876da2d82475cb38a503ed115e894bc59a0466daec5dd7665b3f0656c84ab58e2ba9f8f52eb54a4f8684094f951659fde SHA512 273bcc248ab659bb0cef12c03187f1445c00d2736912f3b54911137352a48b6fcdc2e0c76c56db984501acc4b9e8c0a4cf453a90947c5e525d0746ac9afa8505 AUX libvirtd.confd-r5 740 BLAKE2B 74a069f4902dd1352f06029c886200615a35870ff88496c91956d23a3172db0789086622422f545498e92b7f8de41225022185fe291dd580cbacdeb783163f4b SHA512 98f935589dbc5f2a99329f77fdf84c563fa0dc99404b7476603679478d68ce8dbea2c88645251d3c28f59e7bcae124ae632972146e8a8c3e0e9fcbfb27296f91 @@ -13,11 +12,9 @@ AUX libvirtd.service.conf 401 BLAKE2B edd74238f9639ead1d776142e6231d87f39cb6670e AUX libvirtd.tmpfiles.conf 36 BLAKE2B fa0e1dac4117dcb2a2e826c82c4c63e20156db47abf4088167484f1f3149a4998840cf1aba745621851d7e2653df5c7f7268d8d61be3a3731ea053a88f35c13b SHA512 2b1c3c64dd6fa03d8c2ae24e7ce4aa7d754913214542a68a4e99f10fbc251fd23ee26e297a957d7b4b70eec8ef028c41fc915da3a85fbbd16143bb92d1de3aed AUX virtlockd.init-r1 570 BLAKE2B 734d582d867b79649f863504fcd7c87fe3c59569b56b0996a6229d6eebadc9d4c356c10bbcf5637483fbc930d0c50233da4fffa357d423029b3828b7a3be56de SHA512 65a05d406200da9a534df5caa1b9cb2af97f0b03f64e6b4157322975fa754f59ae74fff9ec8301a6c0510e4b75e2b72a78cddf004a76109e18c375e83527cee5 AUX virtlogd.init-r1 569 BLAKE2B 20df60c23cee575577592d41d1a9913923255633d12de789c036e6085f9e7b4360e017155c61e3688332b493a0e96ffca55753bcc67a33bb877539b80eef81fe SHA512 0a3e083e742f9e0d8206ab9a48c63bbd395bdc24e5551e2cbeddffa3fb576a817b73dbafe646c392a35c354d6b65426a9b6f3ce3dcafc30077715e90684968c1 -DIST libvirt-4.1.0.tar.xz 15046956 BLAKE2B e5d4fb47d6308b2f74d464b8a4b236fcda96ca71357847ce7bc9c787e89111ed99538e9f7815287d14af24db1bc774012682843edc1e067cdf710e82d0b349c9 SHA512 62d1a228adf3270cc6defe3cbf92dac8c4ce2c434c4d97219571ccef799a4f6304cfd1ba9938338356641285f53ac71145d7b398523021c5ea1dc8e3d49cf894 -DIST libvirt-4.2.0.tar.xz 15180120 BLAKE2B 0df6caef7f377e627a7ca1d169e1c8032d02fdfb5cc32a3036fbedd021063672114fcef09aa34e7218b56eef0fe64509024fbcd674a0c5f312a7afb9aa3e34a5 SHA512 ced3a7408e95f1663deec03b095780d0f805126506a064a11063d1f313f923eb0ff0ea95f99826514d8cb4e51c850f6f02904e06e5ef8106c38898a0cfe7f9ed DIST libvirt-4.3.0.tar.xz 14667860 BLAKE2B bd4dfbcfba3b11036be979caf938ec7ca4fc04cc4bd6dfd5eec05c054ba4ebf953c0e86a080e65ab8a880f2bcc2f4d018283e870afcb64bd0b750247f3c96357 SHA512 cc61497121931019a8cc3fa8234d7cf95b0f0e1d77ab6fcd089db92759617b099eb83c57aa91768ae6ccf92c345cf72e1d9b202acb5132a159476fb86f1a6999 -EBUILD libvirt-4.1.0-r3.ebuild 9688 BLAKE2B 7990f26444badc344ffc9faab1d55c2accc06709d02e8318d37b9975035494b0e971e272ee0482b0c756a2cfed92699bbdc323e2f13dcd24041c3d15949b1a25 SHA512 5dcfa2c9118eb07f0732ea3ecb6af40fb4517300efd1cc2e1f36efc682469a7b97eb08dfae552e34cc93e58a297c5ed652f0eb99b7047ae3b3976490e929c045 -EBUILD libvirt-4.2.0.ebuild 9628 BLAKE2B 74587b56782f61502d0bb78e1517417bdc90951d6591e6b59e55cf1f346e8d903a2efc089094d51ba7585afeb44094b3c32fde19cb869c6be240717d870e2b52 SHA512 5329a60f625950e012d1f60a29b2f3b82757f023bd375639e54c87065e07fc47c6e8ff14e8afd4be978c25aa8905aae6f5a6e850c86bc4c2f03f4fa9adea7856 -EBUILD libvirt-4.3.0.ebuild 9635 BLAKE2B a9818c549ff4df48ec3284151d9e25efaf676789a1fa0980620116fcec2bcf44b5f208f864bd5a04bbd110d03fa16ed70b06d803c2e81abb7c5654665f8313b1 SHA512 c6b9a313917e0dba1530e6d0f9ebb2c3268465fc95cb39e77cdea225987aec6e228039b5c570b709c54c572d41665a4b777e15e3d85d75eb7a454249e40b1954 -EBUILD libvirt-9999.ebuild 9845 BLAKE2B 6088d0682f657ce4b8137c7dbe28f325eb3814519383958cc558db8a0e8433d4f3c73a688174d6c9bf02d67d5f1e23f8951093d67288d24e89ce13a7d907cec7 SHA512 a895edde185daea93df3e1ffcd193724c796b72ee7eb6a8f4054c894ae8b14a91b45018eb0b0ee2b039d74a47be31ee95188fc0766552605d8bcdec6bc04b568 +DIST libvirt-4.4.0.tar.xz 14668912 BLAKE2B 04f7a48618924bb8bbe1621572d260a01626687c66ed45d1a08d745210fc522fba63387a0433c0c55e41a5655267c094c16b7ff97f9e45b17419dfc83f465c79 SHA512 725b9b093a2aaeab6fdcb8df341a400ab363bcd50af8400dfd0593c41d8fbc8352f89147be9fbfde2e8418cc7298e090fe07ec7255b0aff1f0d001b93322f93f +EBUILD libvirt-4.3.0.ebuild 9632 BLAKE2B b0be47e818c2b2eff6e6021062d049a611c4bde84c568054621bfa5971bb98d6d75576fc4aba5df325c1ba09290f0bfb73da70578cfa0629f0515ea1d6fbb275 SHA512 2a22bb86670e409836e5c37d846c887c16a82f17f6241c2b5a15da4dbe6e19a68894b2cf2704a90aa8c827faee6afce3c9cb3d2870b7f7d532a060677cb53f9a +EBUILD libvirt-4.4.0.ebuild 9569 BLAKE2B a43b47e0b437f9e9ab4d200c3c0b7e11171212788a888a60945445e686badf99bb4c7a52f81fce00c92557492070088189f79d3028819339ccd91ee1f9618719 SHA512 6a599f3d1b1e4fa39e571ff31c46bd2aac6bdc2a0f1b40499c4fee932164008889d15976f351cebc912dd57b1a97044e6239add955fd9611b13f4585d8cee357 +EBUILD libvirt-9999.ebuild 9569 BLAKE2B 9c8e8e534e5745004276c4932c760d79f037d21ebf62a7865593c8dac3aa29da3cd493e2987931bd6cb0eb6c559ca44bcaafec35f398f06f71fbfadf1ef51a3d SHA512 9dc3847a2873f2ac7f8ac8d5122caf2513df7b4c253a1e28b22c62247ce7aba5913167b9e47eee6be5e34c08ee4c88fe2a458e0be9c5a8e49c5f99873ede6375 MISC metadata.xml 3766 BLAKE2B 38d8b1dfb815871ca19c35c80ab390a422e1833b6ef09c6691889d5d6c01e25bb9fb5d187231456c443cb22764583312a56ed8e1a772f810b58050752ba9f2de SHA512 10d96f652bdcf32e34ea415a37de0c3c4aae3a716403a0ca73228af640788734119cbf4ade26a450cc3cda81ef6182391a6f590a851a6834d52394b7c81c49ed diff --git a/app-emulation/libvirt/files/libvirt-4.1.0-do_not_use_sysconf.patch b/app-emulation/libvirt/files/libvirt-4.1.0-do_not_use_sysconf.patch deleted file mode 100644 index 2c8339a8b519..000000000000 --- a/app-emulation/libvirt/files/libvirt-4.1.0-do_not_use_sysconf.patch +++ /dev/null @@ -1,204 +0,0 @@ -diff --git a/src/Makefile.am b/src/Makefile.am -index 3bf2da5..6b3f37a 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -2165,23 +2165,6 @@ EXTRA_DIST += \ - $(SYSCONF_FILES) \ - $(NULL) - --install-sysconfig: -- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig -- for f in $(SYSCONF_FILES:%.sysconf=%) ; \ -- do \ -- tgt=`basename $$f`; \ -- $(INSTALL_SCRIPT) $(srcdir)/$$f.sysconf \ -- $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \ -- done -- --uninstall-sysconfig: -- for f in $(SYSCONF_FILES:%.sysconf=%) ; \ -- do \ -- tgt=`basename $$f`; \ -- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \ -- done -- rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : -- - SYSVINIT_FILES_IN = \ - locking/virtlockd.init.in \ - logging/virtlogd.init.in \ -@@ -2268,14 +2251,14 @@ uninstall-polkit:: - endif ! WITH_POLKIT - - if LIBVIRT_INIT_SCRIPT_RED_HAT --install-init:: $(SYSVINIT_FILES) install-sysconfig -+install-init:: $(SYSVINIT_FILES) - $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d - for f in $(SYSVINIT_FILES:%.init=%) ; \ - do \ - $(INSTALL_SCRIPT) $$f.init $(DESTDIR)$(sysconfdir)/rc.d/init.d/$$f; \ - done - --uninstall-init:: uninstall-sysconfig -+uninstall-init:: - rm -f $(SYSVINIT_FILES:%.init=$(DESTDIR)$(sysconfdir)/rc.d/init.d/%) - rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || : - -diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in -index 3c9d587..2449b20 100644 ---- a/src/locking/virtlockd.service.in -+++ b/src/locking/virtlockd.service.in -@@ -7,8 +7,7 @@ Documentation=man:virtlockd(8) - Documentation=https://libvirt.org - - [Service] --EnvironmentFile=-/etc/sysconfig/virtlockd --ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS -+ExecStart=@sbindir@/virtlockd - ExecReload=/bin/kill -USR1 $MAINPID - # Loosing the locks is a really bad thing that will - # cause the machine to be fenced (rebooted), so make -diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in -index 3d9ae36..4373619 100644 ---- a/src/logging/virtlogd.service.in -+++ b/src/logging/virtlogd.service.in -@@ -7,8 +7,7 @@ Documentation=man:virtlogd(8) - Documentation=https://libvirt.org - - [Service] --EnvironmentFile=-/etc/sysconfig/virtlogd --ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS -+ExecStart=@sbindir@/virtlogd - ExecReload=/bin/kill -USR1 $MAINPID - # Loosing the logs is a really bad thing that will - # cause the machine to be fenced (rebooted), so make -diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in -index 769702e..1830c72 100644 ---- a/src/remote/libvirtd.service.in -+++ b/src/remote/libvirtd.service.in -@@ -21,8 +21,7 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-/etc/sysconfig/libvirtd --ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS -+ExecStart=@sbindir@/libvirtd - ExecReload=/bin/kill -HUP $MAINPID - KillMode=process - Restart=on-failure -diff --git a/tools/Makefile.am b/tools/Makefile.am -index 85e640b..99b9fa1 100644 ---- a/tools/Makefile.am -+++ b/tools/Makefile.am -@@ -336,15 +336,6 @@ install-data-local: install-init install-systemd install-nss \ - uninstall-local: uninstall-init uninstall-systemd uninstall-nss \ - uninstall-bash-completion - --install-sysconfig: -- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig -- $(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \ -- $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests -- --uninstall-sysconfig: -- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests -- rmdir $(DESTDIR)$(sysconfdir)/sysconfig ||: -- - EXTRA_DIST += libvirt-guests.sh.in libvirt-guests.init.in - - install-initscript: libvirt-guests.init -@@ -359,8 +350,8 @@ uninstall-initscript: - - if LIBVIRT_INIT_SCRIPT_RED_HAT - BUILT_SOURCES += libvirt-guests.init --install-init: install-sysconfig install-initscript --uninstall-init: uninstall-sysconfig uninstall-initscript -+install-init: install-initscript -+uninstall-init: uninstall-initscript - else ! LIBVIRT_INIT_SCRIPT_RED_HAT - install-init: - uninstall-init: -diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in -index 491ca62..f0f417b 100644 ---- a/tools/libvirt-guests.service.in -+++ b/tools/libvirt-guests.service.in -@@ -10,7 +10,7 @@ Documentation=man:libvirtd(8) - Documentation=https://libvirt.org - - [Service] --EnvironmentFile=-/etc/sysconfig/libvirt-guests -+EnvironmentFile=-/etc/libvirt/libvirt-guests.conf - # Hack just call traditional service until we factor - # out the code - ExecStart=@libexecdir@/libvirt-guests.sh start -diff --git a/tools/libvirt-guests.sysconf b/tools/libvirt-guests.sysconf -index 08204ca..2da172b 100644 ---- a/tools/libvirt-guests.sysconf -+++ b/tools/libvirt-guests.sysconf -@@ -1,3 +1,10 @@ -+# -+# Warning: This configuration file is only sourced by the systemd -+# libvirt-guests.service unit. The coresponding openrc facility is in -+# /etc/init.d/libvirtd and /etc/conf.d/libvirtd -+# -+ -+ - # URIs to check for running guests - # example: URIS='default xen:/// vbox+tcp://host/system lxc:///' - #URIS=default -diff --git a/src/Makefile.am b/src/Makefile.am -index 6b3f37a..48e7133 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -2417,14 +2417,14 @@ SYSTEMD_UNIT_FILES = $(notdir $(SYSTEMD_UNIT_FILES_IN:%.in=%)) - BUILT_SOURCES += $(SYSTEMD_UNIT_FILES) - DISTCLEANFILES += $(SYSTEMD_UNIT_FILES) - --install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig -+install-systemd: $(SYSTEMD_UNIT_FILES) - $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) - for f in $(SYSTEMD_UNIT_FILES); \ - do \ - $(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \ - done - --uninstall-systemd: uninstall-sysconfig -+uninstall-systemd: - rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%) - rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || : - else ! LIBVIRT_INIT_SCRIPT_SYSTEMD -@@ -2496,7 +2496,7 @@ EXTRA_DIST += $(UPSTART_FILES) - if WITH_LIBVIRTD - if LIBVIRT_INIT_SCRIPT_UPSTART - --install-upstart: install-sysconfig -+install-upstart: - $(MKDIR_P) $(DESTDIR)$(sysconfdir)/event.d - for f in $(UPSTART_FILES:%.upstart=%); \ - do \ -@@ -2505,7 +2505,7 @@ install-upstart: install-sysconfig - $(DESTDIR)$(sysconfdir)/event.d/$$tgt ; \ - done - --uninstall-upstart: uninstall-sysconfig -+uninstall-upstart: - for f in $(UPSTART_FILES:%.upstart=%); \ - do \ - tgt=`basename $$f` ; \ -diff --git a/tools/Makefile.am b/tools/Makefile.am -index 99b9fa1..37e037c 100644 ---- a/tools/Makefile.am -+++ b/tools/Makefile.am -@@ -382,12 +382,12 @@ EXTRA_DIST += libvirt-guests.service.in - SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system - - if LIBVIRT_INIT_SCRIPT_SYSTEMD --install-systemd: libvirt-guests.service install-sysconfig libvirt-guests.sh -+install-systemd: libvirt-guests.service libvirt-guests.sh - $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) - $(INSTALL_DATA) libvirt-guests.service \ - $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service - --uninstall-systemd: uninstall-sysconfig -+uninstall-systemd: - rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service - rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) ||: - diff --git a/app-emulation/libvirt/files/libvirt-4.1.0-unbreak_my_bridge.patch b/app-emulation/libvirt/files/libvirt-4.1.0-unbreak_my_bridge.patch deleted file mode 100644 index c4d24ec020b1..000000000000 --- a/app-emulation/libvirt/files/libvirt-4.1.0-unbreak_my_bridge.patch +++ /dev/null @@ -1,78 +0,0 @@ -[PATCH] conf: avoid reporting errors when network driver is disabled - -In previous releases all these methods were a no-op if the network -driver is disabled. These helper methods are called unconditionally for -all types of network interface, so must be no-ops if missing. Other code -will already generate an error if the network driver is disabled and a -NIC with type=network is used. - -Signed-off-by: Daniel P. Berrangé ---- - src/conf/domain_conf.c | 23 +++++++++-------------- - 1 file changed, 9 insertions(+), 14 deletions(-) - -diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index c8d051fa9f..79d6bd378e 100644 ---- a/src/conf/domain_conf.c -+++ b/src/conf/domain_conf.c -@@ -28979,10 +28979,13 @@ int - virDomainNetAllocateActualDevice(virDomainDefPtr dom, - virDomainNetDefPtr iface) - { -+ /* Just silently ignore if network driver isn't present. If something -+ * has tried to use a NIC with type=network, other code will already -+ * cause an error. This ensures type=bridge doesn't break when -+ * network driver is compiled out. -+ */ - if (!netAllocate) { -- virReportError(VIR_ERR_NO_SUPPORT, "%s", -- _("Network device allocation not available")); -- return -1; -+ return 0; - } - - return netAllocate(dom, iface); -@@ -28993,8 +28996,6 @@ virDomainNetNotifyActualDevice(virDomainDefPtr dom, - virDomainNetDefPtr iface) - { - if (!netNotify) { -- virReportError(VIR_ERR_NO_SUPPORT, "%s", -- _("Network device notification not available")); - return; - } - -@@ -29007,9 +29008,7 @@ virDomainNetReleaseActualDevice(virDomainDefPtr dom, - virDomainNetDefPtr iface) - { - if (!netRelease) { -- virReportError(VIR_ERR_NO_SUPPORT, "%s", -- _("Network device release not available")); -- return -1; -+ return 0; - } - - return netRelease(dom, iface); -@@ -29020,9 +29019,7 @@ virDomainNetBandwidthChangeAllowed(virDomainNetDefPtr iface, - virNetDevBandwidthPtr newBandwidth) - { - if (!netBandwidthChangeAllowed) { -- virReportError(VIR_ERR_NO_SUPPORT, "%s", -- _("Network device bandwidth change query not available")); -- return -1; -+ return 0; - } - - return netBandwidthChangeAllowed(iface, newBandwidth); -@@ -29033,9 +29030,7 @@ virDomainNetBandwidthUpdate(virDomainNetDefPtr iface, - virNetDevBandwidthPtr newBandwidth) - { - if (!netBandwidthUpdate) { -- virReportError(VIR_ERR_NO_SUPPORT, "%s", -- _("Network device bandwidth update not available")); -- return -1; -+ return 0; - } - - return netBandwidthUpdate(iface, newBandwidth); --- -2.14.3 diff --git a/app-emulation/libvirt/files/libvirt-4.5.0-do_not_use_sysconf.patch b/app-emulation/libvirt/files/libvirt-4.5.0-do_not_use_sysconf.patch new file mode 100644 index 000000000000..3e430cba1d2f --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-4.5.0-do_not_use_sysconf.patch @@ -0,0 +1,216 @@ +From a365e2d5b4af1ab2be743773412fe265579a9a0b Mon Sep 17 00:00:00 2001 +Message-Id: +From: Michal Privoznik +Date: Tue, 26 Jun 2018 06:51:06 +0200 +Subject: [PATCH] gentoo: do not use sysconf + +Signed-off-by: Michal Privoznik +--- + src/Makefile.am | 29 ++++++----------------------- + src/locking/virtlockd.service.in | 3 +-- + src/logging/virtlogd.service.in | 3 +-- + src/remote/libvirtd.service.in | 3 +-- + tools/Makefile.am | 17 ++++------------- + tools/libvirt-guests.service.in | 2 +- + tools/libvirt-guests.sysconf | 7 +++++++ + 7 files changed, 21 insertions(+), 43 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index db8c8ebd1a..63d7a9ca46 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -757,23 +757,6 @@ endif WITH_SETUID_RPC_CLIENT + + EXTRA_DIST += $(SYSCONF_FILES) + +-install-sysconfig: +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig +- for f in $(SYSCONF_FILES:%.sysconf=%) ; \ +- do \ +- tgt=`basename $$f`; \ +- $(INSTALL_DATA) $(srcdir)/$$f.sysconf \ +- $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \ +- done +- +-uninstall-sysconfig: +- for f in $(SYSCONF_FILES:%.sysconf=%) ; \ +- do \ +- tgt=`basename $$f`; \ +- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \ +- done +- rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : +- + SYSVINIT_FILES_IN += \ + locking/virtlockd.init.in \ + $(NULL) +@@ -814,14 +797,14 @@ uninstall-logrotate: + endif ! WITH_LIBVIRTD + + if LIBVIRT_INIT_SCRIPT_RED_HAT +-install-init:: $(SYSVINIT_FILES) install-sysconfig ++install-init:: $(SYSVINIT_FILES) + $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d + for f in $(SYSVINIT_FILES:%.init=%) ; \ + do \ + $(INSTALL_SCRIPT) $$f.init $(DESTDIR)$(sysconfdir)/rc.d/init.d/$$f; \ + done + +-uninstall-init:: uninstall-sysconfig ++uninstall-init:: + rm -f $(SYSVINIT_FILES:%.init=$(DESTDIR)$(sysconfdir)/rc.d/init.d/%) + rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || : + +@@ -859,14 +842,14 @@ SYSTEMD_UNIT_FILES = $(notdir $(SYSTEMD_UNIT_FILES_IN:%.in=%)) + BUILT_SOURCES += $(SYSTEMD_UNIT_FILES) + DISTCLEANFILES += $(SYSTEMD_UNIT_FILES) + +-install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig ++install-systemd: $(SYSTEMD_UNIT_FILES) + $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) + for f in $(SYSTEMD_UNIT_FILES); \ + do \ + $(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \ + done + +-uninstall-systemd: uninstall-sysconfig ++uninstall-systemd: + rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%) + rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || : + else ! LIBVIRT_INIT_SCRIPT_SYSTEMD +@@ -884,7 +867,7 @@ EXTRA_DIST += $(UPSTART_FILES) + if WITH_LIBVIRTD + if LIBVIRT_INIT_SCRIPT_UPSTART + +-install-upstart: install-sysconfig ++install-upstart: + $(MKDIR_P) $(DESTDIR)$(sysconfdir)/event.d + for f in $(UPSTART_FILES:%.upstart=%); \ + do \ +@@ -893,7 +876,7 @@ install-upstart: install-sysconfig + $(DESTDIR)$(sysconfdir)/event.d/$$tgt ; \ + done + +-uninstall-upstart: uninstall-sysconfig ++uninstall-upstart: + for f in $(UPSTART_FILES:%.upstart=%); \ + do \ + tgt=`basename $$f` ; \ +diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in +index 3c9d587032..2449b201d9 100644 +--- a/src/locking/virtlockd.service.in ++++ b/src/locking/virtlockd.service.in +@@ -7,8 +7,7 @@ Documentation=man:virtlockd(8) + Documentation=https://libvirt.org + + [Service] +-EnvironmentFile=-/etc/sysconfig/virtlockd +-ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS ++ExecStart=@sbindir@/virtlockd + ExecReload=/bin/kill -USR1 $MAINPID + # Loosing the locks is a really bad thing that will + # cause the machine to be fenced (rebooted), so make +diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in +index 3d9ae36150..43736191d5 100644 +--- a/src/logging/virtlogd.service.in ++++ b/src/logging/virtlogd.service.in +@@ -7,8 +7,7 @@ Documentation=man:virtlogd(8) + Documentation=https://libvirt.org + + [Service] +-EnvironmentFile=-/etc/sysconfig/virtlogd +-ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS ++ExecStart=@sbindir@/virtlogd + ExecReload=/bin/kill -USR1 $MAINPID + # Loosing the logs is a really bad thing that will + # cause the machine to be fenced (rebooted), so make +diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in +index 7f689e08a8..239beeced9 100644 +--- a/src/remote/libvirtd.service.in ++++ b/src/remote/libvirtd.service.in +@@ -22,8 +22,7 @@ Documentation=https://libvirt.org + + [Service] + Type=notify +-EnvironmentFile=-/etc/sysconfig/libvirtd +-ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS ++ExecStart=@sbindir@/libvirtd + ExecReload=/bin/kill -HUP $MAINPID + KillMode=process + Restart=on-failure +diff --git a/tools/Makefile.am b/tools/Makefile.am +index 1452d984a0..cef08741cb 100644 +--- a/tools/Makefile.am ++++ b/tools/Makefile.am +@@ -336,15 +336,6 @@ install-data-local: install-init install-systemd install-nss \ + uninstall-local: uninstall-init uninstall-systemd uninstall-nss \ + uninstall-bash-completion + +-install-sysconfig: +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig +- $(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \ +- $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests +- +-uninstall-sysconfig: +- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests +- rmdir $(DESTDIR)$(sysconfdir)/sysconfig ||: +- + EXTRA_DIST += libvirt-guests.sh.in libvirt-guests.init.in + + install-initscript: libvirt-guests.init +@@ -359,8 +350,8 @@ uninstall-initscript: + + if LIBVIRT_INIT_SCRIPT_RED_HAT + BUILT_SOURCES += libvirt-guests.init +-install-init: install-sysconfig install-initscript +-uninstall-init: uninstall-sysconfig uninstall-initscript ++install-init: install-initscript ++uninstall-init: uninstall-initscript + else ! LIBVIRT_INIT_SCRIPT_RED_HAT + install-init: + uninstall-init: +@@ -391,12 +382,12 @@ EXTRA_DIST += libvirt-guests.service.in + SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system + + if LIBVIRT_INIT_SCRIPT_SYSTEMD +-install-systemd: libvirt-guests.service install-sysconfig libvirt-guests.sh ++install-systemd: libvirt-guests.service libvirt-guests.sh + $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) + $(INSTALL_DATA) libvirt-guests.service \ + $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service + +-uninstall-systemd: uninstall-sysconfig ++uninstall-systemd: + rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service + rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) ||: + +diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in +index 491ca62138..f0f417bffb 100644 +--- a/tools/libvirt-guests.service.in ++++ b/tools/libvirt-guests.service.in +@@ -10,7 +10,7 @@ Documentation=man:libvirtd(8) + Documentation=https://libvirt.org + + [Service] +-EnvironmentFile=-/etc/sysconfig/libvirt-guests ++EnvironmentFile=-/etc/libvirt/libvirt-guests.conf + # Hack just call traditional service until we factor + # out the code + ExecStart=@libexecdir@/libvirt-guests.sh start +diff --git a/tools/libvirt-guests.sysconf b/tools/libvirt-guests.sysconf +index 669b046507..45b0b9ea46 100644 +--- a/tools/libvirt-guests.sysconf ++++ b/tools/libvirt-guests.sysconf +@@ -1,3 +1,10 @@ ++# ++# Warning: This configuration file is only sourced by the systemd ++# libvirt-guests.service unit. The coresponding openrc facility is in ++# /etc/init.d/libvirtd and /etc/conf.d/libvirtd ++# ++ ++ + # URIs to check for running guests + # example: URIS='default xen:///system vbox+tcp://host/system lxc:///system' + #URIS=default +-- +2.16.4 + diff --git a/app-emulation/libvirt/libvirt-4.1.0-r3.ebuild b/app-emulation/libvirt/libvirt-4.1.0-r3.ebuild deleted file mode 100644 index a033deaacb09..000000000000 --- a/app-emulation/libvirt/libvirt-4.1.0-r3.ebuild +++ /dev/null @@ -1,383 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils user linux-info systemd readme.gentoo-r1 bash-completion-r1 - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="git://libvirt.org/libvirt.git" - SRC_URI="" - KEYWORDS="amd64" - SLOT="0" -else - # Versions with 4 numbers are stable updates: - if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then - SRC_URI="http://libvirt.org/sources/stable_updates/${P}.tar.xz" - else - SRC_URI="http://libvirt.org/sources/${P}.tar.xz" - fi - KEYWORDS="amd64 ~arm64 x86" - SLOT="0/${PV}" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="http://www.libvirt.org/" -LICENSE="LGPL-2.1" -IUSE=" - apparmor audit +caps +dbus firewalld fuse glusterfs iscsi +libvirtd lvm - libssh lxc +macvtap nfs nls numa openvz parted pcap phyp policykit - +qemu rbd sasl selinux +udev uml +vepa virtualbox virt-network - wireshark-plugins xen zeroconf zfs -" - -REQUIRED_USE=" - firewalld? ( virt-network ) - libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - policykit? ( dbus ) - qemu? ( libvirtd ) - uml? ( libvirtd ) - vepa? ( macvtap ) - virt-network? ( libvirtd ) - virtualbox? ( libvirtd ) - xen? ( libvirtd )" - -# gettext.sh command is used by the libvirt command wrappers, and it's -# non-optional, so put it into RDEPEND. -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the -# package will use 3 by default. Since we don't have slot pinning in an API, -# we must go with the most recent -RDEPEND=" - app-misc/scrub - dev-libs/libgcrypt:0 - dev-libs/libnl:3 - >=dev-libs/libxml2-2.7.6 - || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) - >=net-libs/gnutls-1.0.25:0= - net-libs/libssh2 - net-libs/libtirpc - net-libs/rpcsvc-proto - >=net-misc/curl-7.18.0 - sys-apps/dmidecode - >=sys-apps/util-linux-2.17 - sys-devel/gettext - sys-libs/ncurses:0= - sys-libs/readline:= - apparmor? ( sys-libs/libapparmor ) - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap-ng ) - dbus? ( sys-apps/dbus ) - firewalld? ( net-firewall/firewalld ) - fuse? ( >=sys-fs/fuse-2.8.6:= ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) - iscsi? ( sys-block/open-iscsi ) - libssh? ( net-libs/libssh ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2[-device-mapper-only(-)] - ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - policykit? ( >=sys-auth/polkit-0.9 ) - qemu? ( - >=app-emulation/qemu-0.13.0 - dev-libs/yajl - ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - virt-network? ( - net-dns/dnsmasq[script] - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6] - net-misc/radvd - sys-apps/iproute2[-minimal] - ) - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) - wireshark-plugins? ( net-analyzer/wireshark:= ) - xen? ( - app-emulation/xen - app-emulation/xen-tools:= - ) - udev? ( - virtual/udev - >=x11-libs/libpciaccess-0.10.9 - ) - zeroconf? ( >=net-dns/avahi-0.6[dbus] ) - zfs? ( sys-fs/zfs )" - -DEPEND="${RDEPEND} - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-4.1.0-do_not_use_sysconf.patch - "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-3.10.0-r2-fix_paths_for_apparmor.patch - "${FILESDIR}"/${PN}-3.1.0-musl-fix-includes.patch # bug #609488 - "${FILESDIR}"/${P}-unbreak_my_bridge.patch # bug 650660 -) - -pkg_setup() { - if use qemu; then - enewgroup qemu 77 - enewuser qemu 77 -1 -1 "qemu,kvm" - fi - - use policykit && enewgroup libvirt - - # Check kernel configuration: - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" - ~FUSE_FS" - - use lvm && CONFIG_CHECK+=" - ~BLK_DEV_DM - ~DM_MULTIPATH - ~DM_SNAPSHOT" - - use lxc && CONFIG_CHECK+=" - ~BLK_CGROUP - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_NET_PRIO - ~CGROUP_PERF - ~CGROUPS - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - ~NAMESPACES - ~NET_CLS_CGROUP - ~NET_NS - ~PID_NS - ~POSIX_MQUEUE - ~SECURITYFS - ~USER_NS - ~UTS_NS - ~VETH - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS" - - kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES" - - use macvtap && CONFIG_CHECK+=" - ~MACVTAP" - - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_MARK_T - ~BRIDGE_NF_EBTABLES - ~NETFILTER_ADVANCED - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK - ~NETFILTER_XT_TARGET_CHECKSUM" - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_T_NAT - ~NET_ACT_POLICE - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_SCH_HTB - ~NET_SCH_INGRESS - ~NET_SCH_SFQ" - - # Handle specific kernel versions for different features - kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" - if kernel_is ge 3 6; then - CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " - kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " - fi - - ERROR_USER_NS="Optional depending on LXC configuration." - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi -} - -src_prepare() { - touch "${S}/.mailmap" - - default - - if [[ ${PV} = *9999* ]]; then - # git checkouts require bootstrapping to create the configure script. - # Additionally the submodules must be cloned to the right locations - # bug #377279 - ./bootstrap || die "bootstrap failed" - ( - git submodule status | sed 's/^[ +-]//;s/ .*//' - git hash-object bootstrap.conf - ) >.git-module-status - fi - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ - -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ - -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" - - eautoreconf -} - -src_configure() { - local myeconfargs=( - $(use_with apparmor) - $(use_with apparmor apparmor-profiles) - $(use_with audit) - $(use_with caps capng) - $(use_with dbus) - $(use_with firewalld) - $(use_with fuse) - $(use_with glusterfs) - $(use_with glusterfs storage-gluster) - $(use_with iscsi storage-iscsi) - $(use_with libvirtd) - $(use_with libssh) - $(use_with lvm storage-lvm) - $(use_with lvm storage-mpath) - $(use_with lxc) - $(use_with macvtap) - $(use_enable nls) - $(use_with numa numactl) - $(use_with numa numad) - $(use_with openvz) - $(use_with parted storage-disk) - $(use_with pcap libpcap) - $(use_with phyp) - $(use_with policykit polkit) - $(use_with qemu) - $(use_with qemu yajl) - $(use_with rbd storage-rbd) - $(use_with sasl) - $(use_with selinux) - $(use_with udev) - $(use_with uml) - $(use_with vepa virtualport) - $(use_with virt-network network) - $(use_with wireshark-plugins wireshark-dissector) - $(use_with xen) - $(use_with xen xen-inotify) - $(use_with xen libxl) - $(use_with zeroconf avahi) - $(use_with zfs storage-zfs) - - --without-hal - --without-netcf - --without-sanlock - --without-xenapi - - --with-esx - --with-init-script=systemd - --with-qemu-group=$(usex caps qemu root) - --with-qemu-user=$(usex caps qemu root) - --with-remote - --with-storage-fs - --with-vmware - - --disable-static - --disable-werror - - --with-html-subdir=${PF}/html - --localstatedir=/var - ) - - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) - else - myeconfargs+=( $(use_with virtualbox vbox) ) - fi - - econf "${myeconfargs[@]}" - - if [[ ${PV} = *9999* ]]; then - # Restore gnulib's config.sub and config.guess - # bug #377279 - (cd .gnulib && git reset --hard > /dev/null) - fi -} - -src_test() { - cd "${BUILD_DIR}" - - # remove problematic tests, bug #591416, bug #591418 - sed -i -e 's#commandtest$(EXEEXT) # #' \ - -e 's#virfirewalltest$(EXEEXT) # #' \ - -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ - -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ - tests/Makefile - - export VIR_TEST_DEBUG=1 - HOME="${T}" emake check || die "tests failed" -} - -src_install() { - emake DESTDIR="${D}" \ - SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install - - find "${D}" -name '*.la' -delete || die - - # Remove bogus, empty directories. They are either not used, or - # libvirtd is able to create them on demand - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - systemd_install_serviced \ - "${FILESDIR}"/libvirtd.service.conf libvirtd.service - - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd || die - newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die - newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die - - newbashcomp "${S}/tools/bash-completion/vsh" vsh - bashcomp_alias vsh virsh virt-admin - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_preinst() { - # we only ever want to generate this once - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml - fi -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-4.2.0.ebuild b/app-emulation/libvirt/libvirt-4.2.0.ebuild deleted file mode 100644 index d93ae1d82cad..000000000000 --- a/app-emulation/libvirt/libvirt-4.2.0.ebuild +++ /dev/null @@ -1,382 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils user linux-info systemd readme.gentoo-r1 bash-completion-r1 - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="git://libvirt.org/libvirt.git" - SRC_URI="" - KEYWORDS="" - SLOT="0" -else - # Versions with 4 numbers are stable updates: - if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then - SRC_URI="http://libvirt.org/sources/stable_updates/${P}.tar.xz" - else - SRC_URI="http://libvirt.org/sources/${P}.tar.xz" - fi - KEYWORDS="~amd64 ~arm64 ~x86" - SLOT="0/${PV}" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="http://www.libvirt.org/" -LICENSE="LGPL-2.1" -IUSE=" - apparmor audit +caps +dbus firewalld fuse glusterfs iscsi +libvirtd lvm - libssh lxc +macvtap nfs nls numa openvz parted pcap phyp policykit - +qemu rbd sasl selinux +udev uml +vepa virtualbox virt-network - wireshark-plugins xen zeroconf zfs -" - -REQUIRED_USE=" - firewalld? ( virt-network ) - libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - policykit? ( dbus ) - qemu? ( libvirtd ) - uml? ( libvirtd ) - vepa? ( macvtap ) - virt-network? ( libvirtd ) - virtualbox? ( libvirtd ) - xen? ( libvirtd )" - -# gettext.sh command is used by the libvirt command wrappers, and it's -# non-optional, so put it into RDEPEND. -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the -# package will use 3 by default. Since we don't have slot pinning in an API, -# we must go with the most recent -RDEPEND=" - app-misc/scrub - dev-libs/libgcrypt:0 - dev-libs/libnl:3 - >=dev-libs/libxml2-2.7.6 - || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) - >=net-libs/gnutls-1.0.25:0= - net-libs/libssh2 - net-libs/libtirpc - net-libs/rpcsvc-proto - >=net-misc/curl-7.18.0 - sys-apps/dmidecode - >=sys-apps/util-linux-2.17 - sys-devel/gettext - sys-libs/ncurses:0= - sys-libs/readline:= - apparmor? ( sys-libs/libapparmor ) - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap-ng ) - dbus? ( sys-apps/dbus ) - firewalld? ( net-firewall/firewalld ) - fuse? ( >=sys-fs/fuse-2.8.6:= ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) - iscsi? ( sys-block/open-iscsi ) - libssh? ( net-libs/libssh ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2[-device-mapper-only(-)] - ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - policykit? ( >=sys-auth/polkit-0.9 ) - qemu? ( - >=app-emulation/qemu-0.13.0 - dev-libs/yajl - ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - virt-network? ( - net-dns/dnsmasq[script] - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6] - net-misc/radvd - sys-apps/iproute2[-minimal] - ) - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) - wireshark-plugins? ( net-analyzer/wireshark:= ) - xen? ( - app-emulation/xen - app-emulation/xen-tools:= - ) - udev? ( - virtual/udev - >=x11-libs/libpciaccess-0.10.9 - ) - zeroconf? ( >=net-dns/avahi-0.6[dbus] ) - zfs? ( sys-fs/zfs )" - -DEPEND="${RDEPEND} - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-4.2.0-do_not_use_sysconf.patch - "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-3.10.0-r2-fix_paths_for_apparmor.patch - "${FILESDIR}"/${PN}-3.1.0-musl-fix-includes.patch # bug #609488 -) - -pkg_setup() { - if use qemu; then - enewgroup qemu 77 - enewuser qemu 77 -1 -1 "qemu,kvm" - fi - - use policykit && enewgroup libvirt - - # Check kernel configuration: - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" - ~FUSE_FS" - - use lvm && CONFIG_CHECK+=" - ~BLK_DEV_DM - ~DM_MULTIPATH - ~DM_SNAPSHOT" - - use lxc && CONFIG_CHECK+=" - ~BLK_CGROUP - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_NET_PRIO - ~CGROUP_PERF - ~CGROUPS - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - ~NAMESPACES - ~NET_CLS_CGROUP - ~NET_NS - ~PID_NS - ~POSIX_MQUEUE - ~SECURITYFS - ~USER_NS - ~UTS_NS - ~VETH - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS" - - kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES" - - use macvtap && CONFIG_CHECK+=" - ~MACVTAP" - - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_MARK_T - ~BRIDGE_NF_EBTABLES - ~NETFILTER_ADVANCED - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK - ~NETFILTER_XT_TARGET_CHECKSUM" - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_T_NAT - ~NET_ACT_POLICE - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_SCH_HTB - ~NET_SCH_INGRESS - ~NET_SCH_SFQ" - - # Handle specific kernel versions for different features - kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" - if kernel_is ge 3 6; then - CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " - kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " - fi - - ERROR_USER_NS="Optional depending on LXC configuration." - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi -} - -src_prepare() { - touch "${S}/.mailmap" - - default - - if [[ ${PV} = *9999* ]]; then - # git checkouts require bootstrapping to create the configure script. - # Additionally the submodules must be cloned to the right locations - # bug #377279 - ./bootstrap || die "bootstrap failed" - ( - git submodule status | sed 's/^[ +-]//;s/ .*//' - git hash-object bootstrap.conf - ) >.git-module-status - fi - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ - -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ - -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" - - eautoreconf -} - -src_configure() { - local myeconfargs=( - $(use_with apparmor) - $(use_with apparmor apparmor-profiles) - $(use_with audit) - $(use_with caps capng) - $(use_with dbus) - $(use_with firewalld) - $(use_with fuse) - $(use_with glusterfs) - $(use_with glusterfs storage-gluster) - $(use_with iscsi storage-iscsi) - $(use_with libvirtd) - $(use_with libssh) - $(use_with lvm storage-lvm) - $(use_with lvm storage-mpath) - $(use_with lxc) - $(use_with macvtap) - $(use_enable nls) - $(use_with numa numactl) - $(use_with numa numad) - $(use_with openvz) - $(use_with parted storage-disk) - $(use_with pcap libpcap) - $(use_with phyp) - $(use_with policykit polkit) - $(use_with qemu) - $(use_with qemu yajl) - $(use_with rbd storage-rbd) - $(use_with sasl) - $(use_with selinux) - $(use_with udev) - $(use_with uml) - $(use_with vepa virtualport) - $(use_with virt-network network) - $(use_with wireshark-plugins wireshark-dissector) - $(use_with xen) - $(use_with xen xen-inotify) - $(use_with xen libxl) - $(use_with zeroconf avahi) - $(use_with zfs storage-zfs) - - --without-hal - --without-netcf - --without-sanlock - --without-xenapi - - --with-esx - --with-init-script=systemd - --with-qemu-group=$(usex caps qemu root) - --with-qemu-user=$(usex caps qemu root) - --with-remote - --with-storage-fs - --with-vmware - - --disable-static - --disable-werror - - --with-html-subdir=${PF}/html - --localstatedir=/var - ) - - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) - else - myeconfargs+=( $(use_with virtualbox vbox) ) - fi - - econf "${myeconfargs[@]}" - - if [[ ${PV} = *9999* ]]; then - # Restore gnulib's config.sub and config.guess - # bug #377279 - (cd .gnulib && git reset --hard > /dev/null) - fi -} - -src_test() { - cd "${BUILD_DIR}" - - # remove problematic tests, bug #591416, bug #591418 - sed -i -e 's#commandtest$(EXEEXT) # #' \ - -e 's#virfirewalltest$(EXEEXT) # #' \ - -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ - -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ - tests/Makefile - - export VIR_TEST_DEBUG=1 - HOME="${T}" emake check || die "tests failed" -} - -src_install() { - emake DESTDIR="${D}" \ - SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install - - find "${D}" -name '*.la' -delete || die - - # Remove bogus, empty directories. They are either not used, or - # libvirtd is able to create them on demand - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - systemd_install_serviced \ - "${FILESDIR}"/libvirtd.service.conf libvirtd.service - - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd || die - newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die - newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die - - newbashcomp "${S}/tools/bash-completion/vsh" vsh - bashcomp_alias vsh virsh virt-admin - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_preinst() { - # we only ever want to generate this once - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml - fi -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-4.3.0.ebuild b/app-emulation/libvirt/libvirt-4.3.0.ebuild index 7c7d4531c3ec..354a95ce8987 100644 --- a/app-emulation/libvirt/libvirt-4.3.0.ebuild +++ b/app-emulation/libvirt/libvirt-4.3.0.ebuild @@ -7,9 +7,9 @@ inherit autotools eutils user linux-info systemd readme.gentoo-r1 bash-completio if [[ ${PV} = *9999* ]]; then inherit git-r3 - EGIT_REPO_URI="git://libvirt.org/libvirt.git" + EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" SRC_URI="" - KEYWORDS="amd64 x86" + KEYWORDS="" SLOT="0" else # Versions with 4 numbers are stable updates: diff --git a/app-emulation/libvirt/libvirt-4.4.0.ebuild b/app-emulation/libvirt/libvirt-4.4.0.ebuild new file mode 100644 index 000000000000..708c9658be8a --- /dev/null +++ b/app-emulation/libvirt/libvirt-4.4.0.ebuild @@ -0,0 +1,381 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools eutils user linux-info systemd readme.gentoo-r1 bash-completion-r1 + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" + SRC_URI="" + KEYWORDS="" + SLOT="0" +else + # Versions with 4 numbers are stable updates: + if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then + SRC_URI="http://libvirt.org/sources/stable_updates/${P}.tar.xz" + else + SRC_URI="http://libvirt.org/sources/${P}.tar.xz" + fi + KEYWORDS="~amd64 ~arm64 ~x86" + SLOT="0/${PV}" +fi + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="http://www.libvirt.org/" +LICENSE="LGPL-2.1" +IUSE=" + apparmor audit +caps +dbus firewalld fuse glusterfs iscsi +libvirtd lvm + libssh lxc +macvtap nfs nls numa openvz parted pcap phyp policykit + +qemu rbd sasl selinux +udev uml +vepa virtualbox virt-network + wireshark-plugins xen zeroconf zfs +" + +REQUIRED_USE=" + firewalld? ( virt-network ) + libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) + lxc? ( caps libvirtd ) + openvz? ( libvirtd ) + policykit? ( dbus ) + qemu? ( libvirtd ) + uml? ( libvirtd ) + vepa? ( macvtap ) + virt-network? ( libvirtd ) + virtualbox? ( libvirtd ) + xen? ( libvirtd )" + +# gettext.sh command is used by the libvirt command wrappers, and it's +# non-optional, so put it into RDEPEND. +# We can use both libnl:1.1 and libnl:3, but if you have both installed, the +# package will use 3 by default. Since we don't have slot pinning in an API, +# we must go with the most recent +RDEPEND=" + app-misc/scrub + dev-libs/libgcrypt:0 + dev-libs/libnl:3 + >=dev-libs/libxml2-2.7.6 + || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) + >=net-libs/gnutls-1.0.25:0= + net-libs/libssh2 + net-libs/libtirpc + net-libs/rpcsvc-proto + >=net-misc/curl-7.18.0 + sys-apps/dmidecode + >=sys-apps/util-linux-2.17 + sys-devel/gettext + sys-libs/ncurses:0= + sys-libs/readline:= + apparmor? ( sys-libs/libapparmor ) + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap-ng ) + dbus? ( sys-apps/dbus ) + firewalld? ( net-firewall/firewalld ) + fuse? ( >=sys-fs/fuse-2.8.6:= ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) + iscsi? ( sys-block/open-iscsi ) + libssh? ( net-libs/libssh ) + lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) + nfs? ( net-fs/nfs-utils ) + numa? ( + >sys-process/numactl-2.0.2 + sys-process/numad + ) + parted? ( + >=sys-block/parted-1.8[device-mapper] + sys-fs/lvm2[-device-mapper-only(-)] + ) + pcap? ( >=net-libs/libpcap-1.0.0 ) + policykit? ( >=sys-auth/polkit-0.9 ) + qemu? ( + >=app-emulation/qemu-0.13.0 + dev-libs/yajl + ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl ) + selinux? ( >=sys-libs/libselinux-2.0.85 ) + virt-network? ( + net-dns/dnsmasq[script] + net-firewall/ebtables + >=net-firewall/iptables-1.4.10[ipv6] + net-misc/radvd + sys-apps/iproute2[-minimal] + ) + virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) + wireshark-plugins? ( net-analyzer/wireshark:= ) + xen? ( + app-emulation/xen + app-emulation/xen-tools:= + ) + udev? ( + virtual/udev + >=x11-libs/libpciaccess-0.10.9 + ) + zeroconf? ( >=net-dns/avahi-0.6[dbus] ) + zfs? ( sys-fs/zfs )" + +DEPEND="${RDEPEND} + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-4.2.0-do_not_use_sysconf.patch + "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch + "${FILESDIR}"/${PN}-3.10.0-r2-fix_paths_for_apparmor.patch +) + +pkg_setup() { + if use qemu; then + enewgroup qemu 77 + enewuser qemu 77 -1 -1 "qemu,kvm" + fi + + use policykit && enewgroup libvirt + + # Check kernel configuration: + CONFIG_CHECK="" + use fuse && CONFIG_CHECK+=" + ~FUSE_FS" + + use lvm && CONFIG_CHECK+=" + ~BLK_DEV_DM + ~DM_MULTIPATH + ~DM_SNAPSHOT" + + use lxc && CONFIG_CHECK+=" + ~BLK_CGROUP + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~CGROUP_NET_PRIO + ~CGROUP_PERF + ~CGROUPS + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + ~NAMESPACES + ~NET_CLS_CGROUP + ~NET_NS + ~PID_NS + ~POSIX_MQUEUE + ~SECURITYFS + ~USER_NS + ~UTS_NS + ~VETH + ~!GRKERNSEC_CHROOT_MOUNT + ~!GRKERNSEC_CHROOT_DOUBLE + ~!GRKERNSEC_CHROOT_PIVOT + ~!GRKERNSEC_CHROOT_CHMOD + ~!GRKERNSEC_CHROOT_CAPS" + + kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES" + + use macvtap && CONFIG_CHECK+=" + ~MACVTAP" + + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_MARK_T + ~BRIDGE_NF_EBTABLES + ~NETFILTER_ADVANCED + ~NETFILTER_XT_CONNMARK + ~NETFILTER_XT_MARK + ~NETFILTER_XT_TARGET_CHECKSUM" + # Bandwidth Limiting Support + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_T_NAT + ~NET_ACT_POLICE + ~NET_CLS_FW + ~NET_CLS_U32 + ~NET_SCH_HTB + ~NET_SCH_INGRESS + ~NET_SCH_SFQ" + + # Handle specific kernel versions for different features + kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" + if kernel_is ge 3 6; then + CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " + kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " + fi + + ERROR_USER_NS="Optional depending on LXC configuration." + + if [[ -n ${CONFIG_CHECK} ]]; then + linux-info_pkg_setup + fi +} + +src_prepare() { + touch "${S}/.mailmap" + + default + + if [[ ${PV} = *9999* ]]; then + # git checkouts require bootstrapping to create the configure script. + # Additionally the submodules must be cloned to the right locations + # bug #377279 + ./bootstrap || die "bootstrap failed" + ( + git submodule status | sed 's/^[ +-]//;s/ .*//' + git hash-object bootstrap.conf + ) >.git-module-status + fi + + # Tweak the init script: + cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die + sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ + -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ + -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ + -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ + -i "${S}/libvirtd.init" || die "sed failed" + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_with apparmor) + $(use_with apparmor apparmor-profiles) + $(use_with audit) + $(use_with caps capng) + $(use_with dbus) + $(use_with firewalld) + $(use_with fuse) + $(use_with glusterfs) + $(use_with glusterfs storage-gluster) + $(use_with iscsi storage-iscsi) + $(use_with libvirtd) + $(use_with libssh) + $(use_with lvm storage-lvm) + $(use_with lvm storage-mpath) + $(use_with lxc) + $(use_with macvtap) + $(use_enable nls) + $(use_with numa numactl) + $(use_with numa numad) + $(use_with openvz) + $(use_with parted storage-disk) + $(use_with pcap libpcap) + $(use_with phyp) + $(use_with policykit polkit) + $(use_with qemu) + $(use_with qemu yajl) + $(use_with rbd storage-rbd) + $(use_with sasl) + $(use_with selinux) + $(use_with udev) + $(use_with uml) + $(use_with vepa virtualport) + $(use_with virt-network network) + $(use_with wireshark-plugins wireshark-dissector) + $(use_with xen) + $(use_with xen xen-inotify) + $(use_with xen libxl) + $(use_with zeroconf avahi) + $(use_with zfs storage-zfs) + + --without-hal + --without-netcf + --without-sanlock + --without-xenapi + + --with-esx + --with-init-script=systemd + --with-qemu-group=$(usex caps qemu root) + --with-qemu-user=$(usex caps qemu root) + --with-remote + --with-storage-fs + --with-vmware + + --disable-static + --disable-werror + + --with-html-subdir=${PF}/html + --localstatedir=/var + ) + + if use virtualbox && has_version app-emulation/virtualbox-ose; then + myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) + else + myeconfargs+=( $(use_with virtualbox vbox) ) + fi + + econf "${myeconfargs[@]}" + + if [[ ${PV} = *9999* ]]; then + # Restore gnulib's config.sub and config.guess + # bug #377279 + (cd .gnulib && git reset --hard > /dev/null) + fi +} + +src_test() { + cd "${BUILD_DIR}" + + # remove problematic tests, bug #591416, bug #591418 + sed -i -e 's#commandtest$(EXEEXT) # #' \ + -e 's#virfirewalltest$(EXEEXT) # #' \ + -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ + -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ + tests/Makefile + + export VIR_TEST_DEBUG=1 + HOME="${T}" emake check || die "tests failed" +} + +src_install() { + emake DESTDIR="${D}" \ + SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install + + find "${D}" -name '*.la' -delete || die + + # Remove bogus, empty directories. They are either not used, or + # libvirtd is able to create them on demand + rm -rf "${D}"/etc/sysconfig + rm -rf "${D}"/var + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + systemd_install_serviced \ + "${FILESDIR}"/libvirtd.service.conf libvirtd.service + + systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf + + newinitd "${S}/libvirtd.init" libvirtd || die + newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die + newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die + newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die + + newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die + newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die + + newbashcomp "${S}/tools/bash-completion/vsh" vsh + bashcomp_alias vsh virsh virt-admin + + DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_preinst() { + # we only ever want to generate this once + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml + fi +} + +pkg_postinst() { + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml + fi + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + readme.gentoo_print_elog +} diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index 21cd6af1aa34..70f3603bfcb8 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -7,7 +7,7 @@ inherit autotools eutils user linux-info systemd readme.gentoo-r1 bash-completio if [[ ${PV} = *9999* ]]; then inherit git-r3 - EGIT_REPO_URI="git://libvirt.org/libvirt.git" + EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" SRC_URI="" KEYWORDS="" SLOT="0" @@ -122,7 +122,7 @@ DEPEND="${RDEPEND} virtual/pkgconfig" PATCHES=( - "${FILESDIR}"/${PN}-4.2.0-do_not_use_sysconf.patch + "${FILESDIR}"/${PN}-4.5.0-do_not_use_sysconf.patch "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch "${FILESDIR}"/${PN}-3.10.0-r2-fix_paths_for_apparmor.patch ) @@ -237,12 +237,6 @@ src_prepare() { } src_configure() { - # - # With 4.1.0 we should always enable networking support - otherwise not - # even minimal networking is available. Yes, this degrades - # USE=virt-network to a mere runtime-dep USE flag. But let's keep it - # for compatibility and convenience. - # local myeconfargs=( $(use_with apparmor) $(use_with apparmor apparmor-profiles) @@ -276,6 +270,7 @@ src_configure() { $(use_with udev) $(use_with uml) $(use_with vepa virtualport) + $(use_with virt-network network) $(use_with wireshark-plugins wireshark-dissector) $(use_with xen) $(use_with xen xen-inotify) @@ -283,8 +278,6 @@ src_configure() { $(use_with zeroconf avahi) $(use_with zfs storage-zfs) - --with-network - --without-hal --without-netcf --without-sanlock @@ -343,9 +336,7 @@ src_install() { # Remove bogus, empty directories. They are either not used, or # libvirtd is able to create them on demand rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var/cache - rm -rf "${D}"/var/run - rm -rf "${D}"/var/log + rm -rf "${D}"/var use libvirtd || return 0 # From here, only libvirtd-related instructions, be warned! diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest index 83064ad27d2d..b9ce1e275878 100644 --- a/app-emulation/lxc/Manifest +++ b/app-emulation/lxc/Manifest @@ -11,5 +11,5 @@ DIST lxc-3.0.0.tar.gz 1233316 BLAKE2B ba726a07f48b1d32366012c8d885a853e33f88d8c4 DIST lxc-3.0.1.tar.gz 1239920 BLAKE2B 7be668c11d7211540fe7e2fb6318d38eac0d8d493914f4705d097fca4c004a8d2191609d02bd9e1d9204c3c0b9ea937084d3f9050fc841f6d777768067af3d19 SHA512 f51b0844f61f64d4efc530454eae1fa499f7f1b908bd3b40d7031e7f311a402893a7504bddbc53f2ef9da2b3154d1b047fc4d876b99f0d487d7c79de64eea505 EBUILD lxc-2.1.1.ebuild 6763 BLAKE2B a4d6e09451ebb728147e1ebeca98292422472040eea4a7664e8659d2d00774933b16e264b2af3a0ad6a90750586369a02cc6149959bb3a218a528f4f8f0aa773 SHA512 e5838b9a63d096284905d3f000c268a6c398835c2054c2d0bb92e3e6ed2d0b3aaeb2a417d2c04b8182ced7447a47fa9e1340e89f92d0fd6dd48238544684a727 EBUILD lxc-3.0.0.ebuild 5546 BLAKE2B dbb5955ff8aa1a3de063548c6447f90d4f050ab08fe252662d5eaf29a64336660d40108aab32bcdf19d250d118c7ea39e7b3b567aea19aaa6ca942711874eb52 SHA512 395ae0dff135e503d20cdeb65782b67510c1fed00e21d88b00ebfd76457ae7506dd66d77ce7ad142b32c57de7faa074a807f486cdd6519197cec3c22093272ae -EBUILD lxc-3.0.1.ebuild 5611 BLAKE2B 7b0019f2859e4fc3a281158c5f9d898c1c0a6d953f6d684a10c2297e6fc59e1f0cd8b099e7dc6a44c905b51ed4b7abb6bd66a54b4a9cb2e5809663bb19084939 SHA512 a64b5ad5bbf0b1242fe8fc82b13dc680549fb1121ef49d1ad8e1ed1d18648f5f3a966e539e2403f9900a9e9811fda1e26c41fba4d2b5ff901efc0c1f7fe86843 +EBUILD lxc-3.0.1.ebuild 5139 BLAKE2B 680faa18d1cc190114b57463edbef7a6d74a3656c5a8189212b39245243299dbd64832163de7505629c77914b7526b6bee8cae16a9ad22e8bad27d040b6a8abb SHA512 75ac0fc7c240581991ea7b27b3aa3bc31f08861cca2cd715e4c44397451c1df2ebf969133fd3b805e9a71cf756b2bd6101cfd96070708543be611719d5b1f271 MISC metadata.xml 670 BLAKE2B 1318dc9a17178a46375589bcc92685e1a49146cd7384e36d996e675875a55c8402e2a037546dadd2ce1399557b77366f03179d8ef51cdbe106e9b27c3f3dbff9 SHA512 c1d3d15e52953b8dcd280c90d73467258cdf41d6f6505f231c0c031f40b0a467147798651bb327b498dd4ac694783441896584941a0c05d34e45af8dc9c6db70 diff --git a/app-emulation/lxc/lxc-3.0.1.ebuild b/app-emulation/lxc/lxc-3.0.1.ebuild index 79af8e188502..a13e4267ee57 100644 --- a/app-emulation/lxc/lxc-3.0.1.ebuild +++ b/app-emulation/lxc/lxc-3.0.1.ebuild @@ -13,7 +13,7 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" LICENSE="LGPL-3" SLOT="0" -IUSE="examples pam seccomp selinux +templates" +IUSE="examples pam python seccomp selinux +templates" RDEPEND=" net-libs/gnutls @@ -31,7 +31,8 @@ RDEPEND="${RDEPEND} app-misc/pax-utils virtual/awk" -PDEPEND="templates? ( app-emulation/lxc-templates )" +PDEPEND="templates? ( app-emulation/lxc-templates ) + python? ( dev-python/python3-lxc )" CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE ~CPUSETS ~CGROUP_CPUACCT @@ -40,10 +41,6 @@ CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE ~NAMESPACES ~IPC_NS ~USER_NS ~PID_NS - ~NETLINK_DIAG ~PACKET_DIAG - ~INET_UDP_DIAG ~INET_TCP_DIAG - ~UNIX_DIAG ~CHECKPOINT_RESTORE - ~CGROUP_FREEZER ~UTS_NS ~NET_NS ~VETH ~MACVLAN @@ -70,13 +67,6 @@ ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" -ERROR_NETLINK_DIAG="CONFIG_NETLINK_DIAG: needed for lxc-checkpoint" -ERROR_PACKET_DIAG="CONFIG_PACKET_DIAG: needed for lxc-checkpoint" -ERROR_INET_UDP_DIAG="CONFIG_INET_UDP_DIAG: needed for lxc-checkpoint" -ERROR_INET_TCP_DIAG="CONFIG_INET_TCP_DIAG: needed for lxc-checkpoint" -ERROR_UNIX_DIAG="CONFIG_UNIX_DIAG: needed for lxc-checkpoint" -ERROR_CHECKPOINT_RESTORE="CONFIG_CHECKPOINT_RESTORE: needed for lxc-checkpoint" - ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" ERROR_NETPRIO_CGROUP="CONFIG_NETPRIO_CGROUP: as of kernel 3.3 and lxc 0.8.0_rc1 this causes LXCs to fail booting." diff --git a/app-emulation/nemu/Manifest b/app-emulation/nemu/Manifest index 004e99b1ffac..c6409cdaa766 100644 --- a/app-emulation/nemu/Manifest +++ b/app-emulation/nemu/Manifest @@ -3,10 +3,12 @@ DIST nemu-1.2.0.tar.gz 61953 BLAKE2B fa5c323b5d4808c812361ec49e1cb4d91f12f0da102 DIST nemu-1.3.0.tar.gz 70769 BLAKE2B 73108346c70f7ececd2b20cc91da323f2ecb40491400cd135825b44cfa7dbd3285b3a6de36d815c46d9655a7c23571084b321bc3deca5a6f564dae852b846120 SHA512 0ca74a3d0ef1f8032d74cecef71518c18b839dcab5deb2ec221aa47159bf40345517d1b8ec80bf1ff268b9b7dbcd90301ad3594583ddf75d517a23545db23c26 DIST nemu-1.4.0.tar.gz 84398 BLAKE2B 46ed3dfa392e8be472047612f4131e80ae3675c30b975320dbd21672bb8c5b3fc74dc0c5d1c4a5397f04c4bd725902d3f9b7d10808cab10fc89bb8199568cc10 SHA512 262b2eb7ead79b644110ecd4ea1858ef8d9775f3076e4df9f9c83149c148baf2b6db4645395301fabbda07f1e9e5577fe4f56a7eee010433ce02aa298fcee1a5 DIST nemu-1.4.1.tar.gz 82891 BLAKE2B 2f2d85631fbde50513b56e86deb87c7ab8bf5478473ad8c1d3a5e6f276ce2a6b476667129ef3ee872de825736d1765d30db8a393c0a8e8b4308b6b5788095334 SHA512 b96388e3cf5106a21f189b375cedcb23f885b0f24c3c9b0e54bb51c04299c061ce2890b9dd168deb0b3afc70effa132e673f1475e42278fc6a6d703f7071c398 +DIST nemu-2.0.0.tar.gz 85769 BLAKE2B daadbd5925d56d3747b59a3a8f28ceeeb24a674e57f003cf07c67c24dc0ed73f024d35e2f02836d89c7568b7ac51bfc3c6131afb4864febdd6ac6f86a827bfee SHA512 74c489e35b96699fcc5f9cabdbe4445c1cdad5b06c2a18928e2270e169b76e009463177990c4f4d80b160e06118b0b4e87209132cc0ae0ee3d77e2d811865f5a EBUILD nemu-1.1.0.ebuild 873 BLAKE2B e12690f1d1126c8dfd810b599e9b35e4ef8d01411609009761df056ae1c297f0ef0968f2e4a5e1a8ec6d905e0bbe168a3b8c2b8d478657f1a3b855512479374f SHA512 8639e85e33e4941e3425473e363c710d8e0cc1a09aed00d31c12a349065ba3be98392cfdb3fb2d82e1381caac17a07f6862733aed0215bff931e4dd33930a2b5 EBUILD nemu-1.2.0.ebuild 873 BLAKE2B e12690f1d1126c8dfd810b599e9b35e4ef8d01411609009761df056ae1c297f0ef0968f2e4a5e1a8ec6d905e0bbe168a3b8c2b8d478657f1a3b855512479374f SHA512 8639e85e33e4941e3425473e363c710d8e0cc1a09aed00d31c12a349065ba3be98392cfdb3fb2d82e1381caac17a07f6862733aed0215bff931e4dd33930a2b5 EBUILD nemu-1.3.0.ebuild 873 BLAKE2B e12690f1d1126c8dfd810b599e9b35e4ef8d01411609009761df056ae1c297f0ef0968f2e4a5e1a8ec6d905e0bbe168a3b8c2b8d478657f1a3b855512479374f SHA512 8639e85e33e4941e3425473e363c710d8e0cc1a09aed00d31c12a349065ba3be98392cfdb3fb2d82e1381caac17a07f6862733aed0215bff931e4dd33930a2b5 EBUILD nemu-1.4.0.ebuild 1891 BLAKE2B 27b52bc602b79f36049ef3c6d821bab4ea2d41d8d8b4e7db724471a70e57f31b00fb3e536d0f05e985bc0e9fb0bd108a81cedb06d1e7196b51d784fd3fefe64c SHA512 93f84ddd87c8796431d9e0bd42e437be3fd4cd774ba34252866dfba20ee8572a728578b05edda974af13977c42b60dadef2cd29208da568aba27e0f9bbaaebd3 EBUILD nemu-1.4.1.ebuild 1677 BLAKE2B 86cda2a8ea881b7ad662a6a4cde1b167329d42343929556aeb2ed0df639a240e5775e92c6a866843691750a3efb7d1ede1e8d1c53a9ad956cdb1867b0879eaa9 SHA512 328d92af10ace6733a6cba58ede2bfe75fa464fc208fa81faf9a6c6e0d6e56ef7328dc4ec1e8295a6908fd9d438d0931dc84b59091e17d46c057d0e0dc48cb41 +EBUILD nemu-2.0.0.ebuild 1677 BLAKE2B 86cda2a8ea881b7ad662a6a4cde1b167329d42343929556aeb2ed0df639a240e5775e92c6a866843691750a3efb7d1ede1e8d1c53a9ad956cdb1867b0879eaa9 SHA512 328d92af10ace6733a6cba58ede2bfe75fa464fc208fa81faf9a6c6e0d6e56ef7328dc4ec1e8295a6908fd9d438d0931dc84b59091e17d46c057d0e0dc48cb41 EBUILD nemu-9999.ebuild 1916 BLAKE2B 232c49c84167c44c6fc3afd2e1b26cb6f820b53d345956c4d92058368f095206e3351ac431728a6f8847a88e53f09af7e39b5ff24874635b231b9a1ca6df7abc SHA512 87b016f6a485c921222428b96b11687cfb906118cfc398318b14f45ebd1c09aeb710b0cdea389a41e5936478e31645925599b32fe203fe07559debb54d7ed9b4 MISC metadata.xml 499 BLAKE2B 2d190da58be258c1e5e997128bc65e9f928c9ec86e9be23d43cc881c92d9cd65e9cdee6db7afb92abf799aaa552ad5ddcf6dbdafd26d12c2521e8724f7f98471 SHA512 42e56aaad5eff7d180c6af0ef571f5fca4e101e934fc7506387456d89068ab8446e861dcd1124d85d962bf05b48a26833d0883b7c152c7214c79c324c18d236f diff --git a/app-emulation/nemu/nemu-2.0.0.ebuild b/app-emulation/nemu/nemu-2.0.0.ebuild new file mode 100644 index 000000000000..fad6abdf3786 --- /dev/null +++ b/app-emulation/nemu/nemu-2.0.0.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils linux-info + +DESCRIPTION="ncurses interface for QEMU" +HOMEPAGE="https://lib.void.so/nemu" +SRC_URI="http://lib.void.so/src/${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+vnc-client +ovf savevm debug" + +RDEPEND=" + virtual/udev:= + dev-db/sqlite:3= + virtual/libusb:1 + app-emulation/qemu[vnc,virtfs] + sys-libs/ncurses:0=[unicode] + ovf? ( + dev-libs/libxml2 + app-arch/libarchive + ) + vnc-client? ( net-misc/tigervnc )" + +DEPEND=" + ${RDEPEND} + sys-devel/gettext" + +src_configure() { + local mycmakeargs=( + -DNM_WITH_VNC_CLIENT=$(usex vnc-client) + -DNM_DEBUG=$(usex debug) + -DNM_SAVEVM_SNAPSHOTS=$(usex savevm) + -DNM_WITH_OVF_SUPPORT=$(usex ovf) + ) + cmake-utils_src_configure +} + +pkg_pretend() { + if use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel" + else + CONFIG_CHECK="~VETH ~MACVTAP" + ERROR_VETH="You will need the Virtual ethernet pair device driver compiled" + ERROR_VETH+=" into your kernel or loaded as a module to use the" + ERROR_VETH+=" local network settings feature." + ERROR_MACVTAP="You will also need support for MAC-VLAN based tap driver." + + check_extra_config + fi + fi +} + +pkg_postinst() { + elog "For non-root usage execute script:" + elog "/usr/share/nemu/scripts/setup_nemu_nonroot.sh linux " + elog "and add udev rule:" + elog "cp /usr/share/nemu/scripts/42-net-macvtap-perm.rules /lib/udev/rules.d" + if use savevm; then + elog "" + elog "QEMU must be patched with qemu-qmp-savevm-VERSION.patch" + elog "Get this patch from nEMU repository" + fi +} diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest index c20e98c54202..09b74ab5708a 100644 --- a/app-emulation/qemu-guest-agent/Manifest +++ b/app-emulation/qemu-guest-agent/Manifest @@ -6,8 +6,6 @@ AUX qemu-ga.logrotate 128 BLAKE2B 99035fefeccc6334c0cd5ae16e8550a07cfe4256d2374a AUX qemu-guest-agent-2.5.0-sysmacros.patch 365 BLAKE2B 0468e23b64612b0a9375ab6d47bd40447003f151d7f9421d1338d66663af390d69af6a8f9233eab66a69b7d38868e9735a19eefd16dd65f42853e4919ed27046 SHA512 a608a3d96f03c54fcccb7bcb354f0deec4bcb570f03b8ac9044ca5c6ee7a6252ae7cac05fb142d7c95feecfbb17e0499bbc1d6935c3e3e9ea7db319c4c11f6ad DIST qemu-2.11.1.tar.bz2 32819412 BLAKE2B 6b6d4e7b8dcf33aeedb0b33bad267da07ad17c2eeeb5fbd2c038d760bc03224e55ba0f03eb248c62bc0e8636c2c660ea76b367eaea96bee16388053f82c8b8a9 SHA512 1b692bbdfc3dc785738c7192aa2a3f9cf53d9f5bf3b3f49fa8692050dc50f7056c8a4d1b527d48ffb2a674a0fd3a46d87addd1eaaa758f35eec1ab5adfe32354 DIST qemu-2.12.0.tar.bz2 41196232 BLAKE2B f258e570558249ea647c3571908f90b8bacdcef9a1814009b98571cf0e96406194d44aa041fd0a97c9b673f39a9eaae8d873824745509778a6784cd85f8398b0 SHA512 91d829f44c431e4c1cd335f3efea5afff9da62d832b0296a92417463ea0826d09ce226c2ea8ac167fe7b99b6bb976c7cb1357aaf17735ee57af6602161e46346 -DIST qemu-2.5.0.tar.bz2 25464996 BLAKE2B c2d36ed938644cb9e3a3541c16ceb09f1bc5f4897bc01d8974722fc167b4e5362e6674760ca7d22a8b157b20505d7643e2eea3810469e180c003857833f650aa SHA512 12153f94cc7f834fd6a85f25690c36f2331d88d414426fb8b9ac20a34e6f9222b1eda30b727674af583580fae90dfd6d0614a905dce1567d94cd049d426b9dd3 -EBUILD qemu-guest-agent-2.11.1.ebuild 1714 BLAKE2B 789b82429c9ff98a0e7053ac3e39b05a8a2721ee3c3c5a781b65921a76acd1d084a4c9ec96c23ce5f450f4e5a5368308b143330b97d2521cb9c15f01b069b3b3 SHA512 7828fe7a5917fc02576ced7258ffef87616b24b06ba4b128ebc77c2b5e7fc84b5c34104016234872cae876b1ad97c25259b6b42a8432cf7d4d68584fe61c4d8b -EBUILD qemu-guest-agent-2.12.0.ebuild 1730 BLAKE2B 4e6ff3a86e2dc34d2398b207c97067cde0cb016d4860d39653d21e646f39597918b62b2cc6e083f4f71e61ec087917673545121962511eda769f85837823f4ea SHA512 1bba7b0a6e0cdfd03056f23dc22947b3158050002070d080ad8465db2bdc3a07c9b83020edfd8707e5eba16045620fbf76bf585ea96ed446a55b2a9639b1bd33 -EBUILD qemu-guest-agent-2.5.0.ebuild 1791 BLAKE2B a8177d254e948ca6d69c41e6b8c69ec01357f779c2fe8a88f07c2c53f48bf191bffef6e0d8aed5e63d1d0eabaa54137971aefb820ab6295a4d6c905cfa5c9592 SHA512 2fbb48f9835c602d42e027cdd50b33d1c62b946305b8bfd78fbdbe36c1c3ebc07e8d32e0ae10e76934db5dea9dfdfdba702c43e5e8deb3f5df037ce6f9dbba80 +EBUILD qemu-guest-agent-2.11.1.ebuild 1732 BLAKE2B 15ad8c35a7178c60d8c588f3e7fbfa81612f72447e597f8b4061a96c20bacad118cf9d7d459eb887c5c27c7a25c326015972260aa5ff07e09e82913db2e3ff0a SHA512 9d4431c543eb33672b9581f995e3cd8c7a02a50bc9701506ffe250eb4aed6f71ab88d6245be4175c130e7a7bb5b45b04d4510ee7495f0dec4185d24f7cea6024 +EBUILD qemu-guest-agent-2.12.0-r1.ebuild 1731 BLAKE2B 91b6d9f6900240536bb92051217a2ca5b73ac631df6a06cac00089bb5e3f33482ac923d24bb2beeda03e05ec0418ad4c45e7bbc701bf94a962a66449a3b79841 SHA512 bab85f27d0a2fb6ba46d52fb565b3c34e37040a750c0d2704c75c742d5e5ec1b3560e45840a9bc3ae2da5391e3f4a9b80b8ba9d217ef18c4f7f532d4d1c65664 MISC metadata.xml 379 BLAKE2B d27991e18ed82ad5892cd44e50c965f8eacef9e8f2e11a6655306cf6913ec8e6d871c898cc8763140d5fd7d2be97ea7b4fc6377a0cab1978113a311dffaecdb4 SHA512 ee5deeb07591c7adb54bee8b80ea5a35e6047c308265d5363d239ed067416967c87cba01d6369bb5f2cd7792d1b65b9d0f1e7068b362ff5a2bad35232e272f05 diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.1.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.1.ebuild index 3f49bc33cf3c..b34558adc4a8 100644 --- a/app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.1.ebuild +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.1.ebuild @@ -44,6 +44,7 @@ src_configure() { --disable-linux-user --disable-system --disable-strip + --disable-tools --disable-werror --enable-guest-agent --python="${PYTHON}" diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0-r1.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0-r1.ebuild new file mode 100644 index 000000000000..ec4616852a89 --- /dev/null +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0-r1.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python{2_7,3_4,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.bz2" +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-guest-agent/qemu-guest-agent-2.12.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0.ebuild deleted file mode 100644 index 026b8592bbb1..000000000000 --- a/app-emulation/qemu-guest-agent/qemu-guest-agent-2.12.0.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=( python{2_7,3_4,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.bz2" -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 - x11-libs/pixman" - -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-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-guest-agent/qemu-guest-agent-2.5.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.5.0.ebuild deleted file mode 100644 index 7373d4702c89..000000000000 --- a/app-emulation/qemu-guest-agent/qemu-guest-agent-2.5.0.ebuild +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) - -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.bz2" -KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd" - -DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" -HOMEPAGE="http://wiki.qemu.org/Features/QAPI/GuestAgent" - -LICENSE="GPL-2 BSD-2" -SLOT="0" -IUSE="" - -RDEPEND=">=dev-libs/glib-2.22 - !/dev/null 2>&1; then + continue + fi + + VAGRANT_DIR="$( "${r}" -e 'print Gem::default_path[-1] + "/gems/vagrant-@VAGRANT_VERSION@"' )" + + # Export the VAGRANT_EXECUTABLE so that pre-rubygems can optimize a bit + export VAGRANT_EXECUTABLE="${VAGRANT_DIR}/bin/vagrant" + + if [ -f ${VAGRANT_EXECUTABLE} ] ;then + ruby="${r}" + break + fi +done + +if [ -z ${ruby} ]; then + echo "Error: failed to find any usable ruby" + exit 1 +fi + +# Export GEM_HOME based on VAGRANT_HOME +# +# This needs to be set because Bundler includes gem paths +# from RubyGems' Gem.paths. +if [ -z ${VAGRANT_HOME} ]; then + VAGRANT_HOME="~/.vagrant.d" +fi +export GEM_HOME="${VAGRANT_HOME}/gems" + +# SSL certs +export SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt" + +# Export an environmental variable to say we're in a Vagrant +# installer created environment. +export VAGRANT_INSTALLER_ENV=1 + +# This is currently used only in Vagrant::Plugin::Manager.system_plugins_file +# to locate plugins configuration file. +export VAGRANT_INSTALLER_EMBEDDED_DIR="/var/lib/vagrant" +export VAGRANT_INSTALLER_VERSION=2 + +# Export the OS as an environmental variable that Vagrant can access +# so that it can behave better. +export VAGRANT_DETECTED_OS="$(uname -s 2>/dev/null)" + +# Allow to install plugins even with deps in different slots (Bug #628648) +export VAGRANT_DISABLE_STRICT_DEPENDENCY_ENFORCEMENT=1 + +# Make it work with rvm (Bugs #474476 #628648) +unset GEM_HOME GEM_PATH + +# Call the actual Vagrant bin with our arguments +exec "${ruby}" "${VAGRANT_EXECUTABLE}" "$@" diff --git a/app-emulation/vagrant/files/vagrant.in-r1 b/app-emulation/vagrant/files/vagrant.in-r1 deleted file mode 100644 index 134cb31f299c..000000000000 --- a/app-emulation/vagrant/files/vagrant.in-r1 +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env bash -# -# This is a wrapper to properly execute Vagrant within the embedded -# Vagrant installation directory. This sets up proper environmental variables -# so that everything loads and compiles to proper directories. - -for r in ruby24 ruby23 ruby22; do - # not all ruby versions are guaranteed to be installed - if ! command -v "${r}" >/dev/null 2>&1; then - continue - fi - - VAGRANT_DIR="$( "${r}" -e 'print Gem::default_path[-1] + "/gems/vagrant-@VAGRANT_VERSION@"' )" - - # Export the VAGRANT_EXECUTABLE so that pre-rubygems can optimize a bit - export VAGRANT_EXECUTABLE="${VAGRANT_DIR}/bin/vagrant" - - if [ -f ${VAGRANT_EXECUTABLE} ] ;then - ruby="${r}" - break - fi -done - -if [ -z ${ruby} ]; then - echo "Error: failed to find any usable ruby" - exit 1 -fi - -# Export GEM_HOME based on VAGRANT_HOME -# -# This needs to be set because Bundler includes gem paths -# from RubyGems' Gem.paths. -if [ -z ${VAGRANT_HOME} ]; then - VAGRANT_HOME="~/.vagrant.d" -fi -export GEM_HOME="${VAGRANT_HOME}/gems" - -# SSL certs -export SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt" - -# Export an environmental variable to say we're in a Vagrant -# installer created environment. -export VAGRANT_INSTALLER_ENV=1 - -# This is currently used only in Vagrant::Plugin::Manager.system_plugins_file -# to locate plugins configuration file. -export VAGRANT_INSTALLER_EMBEDDED_DIR="/var/lib/vagrant" -export VAGRANT_INSTALLER_VERSION=2 - -# Export the OS as an environmental variable that Vagrant can access -# so that it can behave better. -export VAGRANT_DETECTED_OS="$(uname -s 2>/dev/null)" - -# Allow to install plugins even with deps in different slots (Bug #628648) -export VAGRANT_DISABLE_STRICT_DEPENDENCY_ENFORCEMENT=1 - -# Make it work with rvm (Bugs #474476 #628648) -unset GEM_HOME GEM_PATH - -# Call the actual Vagrant bin with our arguments -exec "${ruby}" "${VAGRANT_EXECUTABLE}" "$@" diff --git a/app-emulation/vagrant/vagrant-2.0.2.ebuild b/app-emulation/vagrant/vagrant-2.0.2.ebuild deleted file mode 100644 index ff7a205039aa..000000000000 --- a/app-emulation/vagrant/vagrant-2.0.2.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -USE_RUBY="ruby22 ruby23" - -RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" -RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec" -RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt" -RUBY_FAKEGEM_TASK_DOC="" - -inherit bash-completion-r1 ruby-fakegem - -DESCRIPTION="A tool for building and distributing development environments" -HOMEPAGE="https://vagrantup.com/" -SRC_URI="https://github.com/hashicorp/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+virtualbox" -RESTRICT="test" - -RDEPEND="${RDEPEND} - app-arch/libarchive - net-misc/curl - virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" - -ruby_add_rdepend " - >=dev-ruby/childprocess-0.6.0 - >=dev-ruby/erubis-2.7.0 - =dev-ruby/listen-3.1.5 - >=dev-ruby/hashicorp-checkpoint-0.1.5 - >=dev-ruby/log4r-1.1.9 =dev-ruby/net-ssh-4.2.0:* - >=dev-ruby/net-sftp-2.1 - >=dev-ruby/net-scp-1.2.0 - || ( dev-ruby/rest-client:2 >=dev-ruby/rest-client-1.6.0:0 ) - >=dev-ruby/nokogiri-1.7.1 - =dev-ruby/rake-12.0.0 -" - -all_ruby_prepare() { - # remove bundler support - sed -i '/[Bb]undler/d' Rakefile || die - rm Gemfile || die - - # loosen dependencies - sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \ - -e '/ruby_dep/s/<=/>=/' \ - -i ${PN}.gemspec || die - - # remove windows-specific gems - sed -e '/wdm\|winrm/d' \ - -i ${PN}.gemspec || die - - # remove bsd-specific gems - sed -e '/rb-kqueue/d' \ - -i ${PN}.gemspec || die - - sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in-r1" > "${PN}" || die -} - -all_ruby_install() { - newbashcomp contrib/bash/completion.sh ${PN} - all_fakegem_install - - # provide executable similar to upstream: - # https://github.com/hashicorp/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb - dobin "${PN}" - - # directory for plugins.json - keepdir /var/lib/vagrant -} diff --git a/app-emulation/vagrant/vagrant-2.0.3.ebuild b/app-emulation/vagrant/vagrant-2.0.3.ebuild deleted file mode 100644 index ff7a205039aa..000000000000 --- a/app-emulation/vagrant/vagrant-2.0.3.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -USE_RUBY="ruby22 ruby23" - -RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" -RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec" -RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt" -RUBY_FAKEGEM_TASK_DOC="" - -inherit bash-completion-r1 ruby-fakegem - -DESCRIPTION="A tool for building and distributing development environments" -HOMEPAGE="https://vagrantup.com/" -SRC_URI="https://github.com/hashicorp/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+virtualbox" -RESTRICT="test" - -RDEPEND="${RDEPEND} - app-arch/libarchive - net-misc/curl - virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" - -ruby_add_rdepend " - >=dev-ruby/childprocess-0.6.0 - >=dev-ruby/erubis-2.7.0 - =dev-ruby/listen-3.1.5 - >=dev-ruby/hashicorp-checkpoint-0.1.5 - >=dev-ruby/log4r-1.1.9 =dev-ruby/net-ssh-4.2.0:* - >=dev-ruby/net-sftp-2.1 - >=dev-ruby/net-scp-1.2.0 - || ( dev-ruby/rest-client:2 >=dev-ruby/rest-client-1.6.0:0 ) - >=dev-ruby/nokogiri-1.7.1 - =dev-ruby/rake-12.0.0 -" - -all_ruby_prepare() { - # remove bundler support - sed -i '/[Bb]undler/d' Rakefile || die - rm Gemfile || die - - # loosen dependencies - sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \ - -e '/ruby_dep/s/<=/>=/' \ - -i ${PN}.gemspec || die - - # remove windows-specific gems - sed -e '/wdm\|winrm/d' \ - -i ${PN}.gemspec || die - - # remove bsd-specific gems - sed -e '/rb-kqueue/d' \ - -i ${PN}.gemspec || die - - sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in-r1" > "${PN}" || die -} - -all_ruby_install() { - newbashcomp contrib/bash/completion.sh ${PN} - all_fakegem_install - - # provide executable similar to upstream: - # https://github.com/hashicorp/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb - dobin "${PN}" - - # directory for plugins.json - keepdir /var/lib/vagrant -} diff --git a/app-emulation/vagrant/vagrant-2.1.1.ebuild b/app-emulation/vagrant/vagrant-2.1.1.ebuild index 5778c6f947c5..ee48d642baae 100644 --- a/app-emulation/vagrant/vagrant-2.1.1.ebuild +++ b/app-emulation/vagrant/vagrant-2.1.1.ebuild @@ -63,7 +63,7 @@ all_ruby_prepare() { sed -e '/rb-kqueue/d' \ -i ${PN}.gemspec || die - sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in-r1" > "${PN}" || die + sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in" > "${PN}" || die } all_ruby_install() { diff --git a/app-emulation/vagrant/vagrant-2.1.2.ebuild b/app-emulation/vagrant/vagrant-2.1.2.ebuild new file mode 100644 index 000000000000..ee48d642baae --- /dev/null +++ b/app-emulation/vagrant/vagrant-2.1.2.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +USE_RUBY="ruby23 ruby24" + +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" +RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec" +RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt" +RUBY_FAKEGEM_TASK_DOC="" + +inherit bash-completion-r1 ruby-fakegem + +DESCRIPTION="A tool for building and distributing development environments" +HOMEPAGE="https://vagrantup.com/" +SRC_URI="https://github.com/hashicorp/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+virtualbox" +RESTRICT="test" + +RDEPEND="${RDEPEND} + app-arch/libarchive + net-misc/curl + virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" + +ruby_add_rdepend " + >=dev-ruby/childprocess-0.6.0 + >=dev-ruby/erubis-2.7.0 + =dev-ruby/listen-3.1.5 + >=dev-ruby/hashicorp-checkpoint-0.1.5 + >=dev-ruby/log4r-1.1.9 =dev-ruby/net-ssh-4.2.0:* + >=dev-ruby/net-sftp-2.1 + >=dev-ruby/net-scp-1.2.0 + || ( dev-ruby/rest-client:2 >=dev-ruby/rest-client-1.6.0:0 ) + >=dev-ruby/nokogiri-1.7.1 + =dev-ruby/rake-12.0.0 +" + +all_ruby_prepare() { + # remove bundler support + sed -i '/[Bb]undler/d' Rakefile || die + rm Gemfile || die + + # loosen dependencies + sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \ + -e '/ruby_dep/s/<=/>=/' \ + -i ${PN}.gemspec || die + + # remove windows-specific gems + sed -e '/wdm\|win32-\|winrm/d' \ + -i ${PN}.gemspec || die + + # remove bsd-specific gems + sed -e '/rb-kqueue/d' \ + -i ${PN}.gemspec || die + + sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in" > "${PN}" || die +} + +all_ruby_install() { + newbashcomp contrib/bash/completion.sh ${PN} + all_fakegem_install + + # provide executable similar to upstream: + # https://github.com/hashicorp/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb + dobin "${PN}" + + # directory for plugins.json + keepdir /var/lib/vagrant +} diff --git a/app-emulation/wine-any/Manifest b/app-emulation/wine-any/Manifest index a8509fea8707..ad4869c5497e 100644 --- a/app-emulation/wine-any/Manifest +++ b/app-emulation/wine-any/Manifest @@ -1,19 +1,19 @@ DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2 DIST wine-2.0.tar.bz2 23662707 BLAKE2B 1d485c1359ce8a0395a9f6378c1f8be33ea2836b80390d1eb1095057a0acedd21708daab16e1851a315391b9f9b0a360879b9d98c73bcc8371c5023e9a8037f5 SHA512 b0a57ba8202d9fc396e5bfb7a7718d6bababbed8f3351e7fdc36afa37f35a871e04903757618f73427aeb71a52b2d323977d79e48f8b38d636f23fd404441186 DIST wine-3.10.tar.xz 20485784 BLAKE2B 3a5e9ca948880a3bc979c33e797296d156425438c2502c3d2c50a6d5241e485bdc081ff195b0647cfa1db1cab247e941f02d0511f7b94dc0037fa24e2e61eb5c SHA512 bb1a1d8e8ad7f48d9fcf48ebbf0ebbb8e3b45ea211736bd7837144ea34b373f74955d3c0ccc4cdc44020eea23c8af8e67252e1c5cd6115e11419ad5f6ef24843 -DIST wine-3.8.tar.xz 20473392 BLAKE2B a7873dd15a373491703e16888044cf2ba00121f91a4583fe6dcf687b5179a2d926035cc86c75f70ceca03a508bd4712c58a1662186e0a6e0c139e63e686f8c5d SHA512 387c6bff3eafac7e92030d11c02b3461b4ead059d2aad7f6d903e176f304d2ac0a426132fcd452507868f0d22bb360a30734edf3e73dfd514037458f08406e98 +DIST wine-3.11.tar.xz 20501100 BLAKE2B 793fe0a83ed13f4ca436c710198ffcbde5e0109d9890551a410b1d836d79adf4060f0cc7e20861eb806878db79f8003023821ac1b0d72a0710235412863c4576 SHA512 8f7226364648ec30eb77f1848ee6bf01be2445fd96f902309575ac1f6ece31bf54d415516fcda76ae438010a36a9d4846d22cc37365aac4a230701376f9589d7 DIST wine-3.9.tar.xz 20508952 BLAKE2B 6fbf22673588963c483b7b31e82287c09e15b579b8f57267e2731768f95a1f986954bb473ee0dfa2428802fe9331b8599a01c782dd1152d36ce2002b6a4e6bde SHA512 4c4e5a741a61b9427c175e015177df5806638736f7dfd92098ed95239d41a373cbab876c054d3c948e1db6a7de359db3babd63bc194edc8c2c3be28b58f75e64 DIST wine-d3d9-2.0.tar.gz 48373 BLAKE2B 80370a7519141030a7e54c2ea5db410b2bf1cde8d8389618487c52e4ff40f87cf7b0f9087331bb43fa6436e1b9936de9cc00a02b9ab9ce6528635a245e6a8b3f SHA512 a9e2d1c9f2784128e4c53a8dc923070a5057b5ff3d83c2b536a2d2df0bc8433ac92b8ab1c3cdf34158c0e7bfe497ddb5974605fbc1736a92307639d59450c7a1 DIST wine-d3d9-3.10.tar.gz 50540 BLAKE2B c9127e5504cbf0d0fe338645bc2d8ed6f71db1174f8ab8ff9e92457745f5ccf6ac8bd043442a5a250b9da7e0c157113682cbf184041488ef6ebaecce2bebdafc SHA512 6397005616ab6424ba9e5c289e935c15b3b789717d887afb28bee1b30912052d6c47495d9b91952c38da7be03382dd0dc708fea42f7fe4c6221cf315c5faa810 -DIST wine-d3d9-3.8.tar.gz 50700 BLAKE2B 33b71ef6e8839e55a74afa10eaabdbfadee6a99c94d89c402b796516aaa72d094c024a253c9f06f4685b8453f097513fa88f6dc72a4fe230c44d0d960e6d44d3 SHA512 e036f9da5993732415752d1f076eba5fd378ad49949a12d094081ff02454dfd8ce2156a5f418b77aa1426772f0b0785f3b0ffb9fc84e80c6265b6e5b7226bf15 +DIST wine-d3d9-3.11.tar.gz 50540 BLAKE2B c9c6469fb0dfff9be5cf50796f47a747d02c736a22b186ec561c0dcc3715a0da1cfce24e852da075685ea3047131d98cf506810ab7d555fd91ca334dbf8c315c SHA512 57ebadc6764c36a925c8e9130b3b436513795bb53e96566a88c22337b37a8c3efcb84aada19d3e5dd6ae2eb24f64b46a33376027600cb7863254369b4555de05 DIST wine-d3d9-3.9.tar.gz 50551 BLAKE2B 3f77b541b39172dd606bcd9083bae71e75c7b5cf129132dffe1e2261519c5e330aff92545169ce6148d35d292fda9a7367f3bb3951e9777d68c9c1bfd6659e3f SHA512 bdc0ce6e1d0bb247ae6421b4a3a6c600453647105f679113c7db78984ec7154b0728140facd2e3e1a64f0ff0969ab93c2829e72557c42f7a7ad05faf1c906499 DIST wine-staging-2.0.tar.gz 10182575 BLAKE2B 1de645f66fa3e5e0d8ceddf5439fd246510470f63d6331c7029abed7192180b7b8430e43a2e732a30a5fbe0c73ba39b7fafcfc08830c68e679dff90576c3a960 SHA512 51412299259d6e92c8993543d5fdb3239ebe31e0d1d715e0a9e8ce94b3139c0567b08ff1600d41be94f12427cbfccc2f6b6b2ed030535445c95618aaf6578580 DIST wine-staging-3.10.tar.gz 9943542 BLAKE2B 412319529e6fe9bb21a4629e1ae1896fe47a413a7ab688d6245fd5b85aa2969be040df3fa8d0ad6185617c814c7b69df891c9067260de28e505298695a6776ea SHA512 baae31ce569c06f8ac5ffc579d8f3bb95de55c50b83c1db13eaaeaee5c8c5b3b7fb6028d69dce6645ac697692372a65be8d60532123a94e0f5fcd0778d2082c5 -DIST wine-staging-3.8.tar.gz 9957202 BLAKE2B 1f85ebc9cf8f5d3c684ce60a59783355ec558e62a8c93564107de2893e82257846be45b3f55fd23f9b317245acc04ee3c4884003572169d6f0efef30145e33f7 SHA512 46ba27b0b9fe5f86d1647f12050715b796604c91487cad6847dce5250ffcfdf8ccf44dcff79c88048221cbf58af92ed72523c09f3591e2c5306bba24ff9d154c +DIST wine-staging-3.11.tar.gz 9950753 BLAKE2B bffc6a86b652695d9ed4e0e2ce6f165e45fc2f6fb7e898704fd22624b1b0497ae35319b2444b49ee62eb8d0e308dd32148af64e38f480ce4408170aa2c91a828 SHA512 811a8668c3747f02850928a99bc66612937c38d98068dddec47bffe427d00c7c83b172f12807e1cb609d83c00e978949f913877bfbf5d8443a5ad29011c03545 DIST wine-staging-3.9.tar.gz 9932873 BLAKE2B 9a0bb5689b1d2cff6e133f0dd94cc13b63f59ef9e5b129aaf48501317a75aadbf27058fe8cc436816501cbe416c285504d9c98504024f9a0606ee4c4afc48e4b SHA512 4f52937621b7e5a3f4b3e52ecba8c7d318c621e76c8e4ce3be176d56b382bf06e3a0453d37c3b725df63f0a7349f53a7c075148c7e1ed89a028696538e31acad EBUILD wine-any-2.0-r1.ebuild 20915 BLAKE2B 7ff1002e303dd2a083267fbf24e4b6cb0e3ff620d6bbf78b8fb15d66fb4d11669812233f1edeea0f46e75b9a0c8a9e63244aa4bebb594b95d158d55fc2506e6d SHA512 8e1bd0d4391f1e9336f9c39ce46d97f921f70cae75d961bc8fe8c7ec6c51bbba621c19a3171f0c351ce6e038d37a7f9a73f6f0bb4622f176e5a994e4a989b2e7 EBUILD wine-any-3.10.ebuild 20939 BLAKE2B 6398dbe0506755239701eaf5cae9f2cbeb6d72376430bc018f3dfd03b374d06f909879b5c965a0b7fc1fa7be1b1668e62cd64e836cf8a6163c2977f17d6bf472 SHA512 23b1c71c7736ab423747ed69c9f5b591cd569bfc81be48f5d0d8778acc010a8bf3f95f51c4b975026a9670d9db2160bdf7b709e64eb48e8f3586883eeb034ae2 -EBUILD wine-any-3.8.ebuild 20861 BLAKE2B 0acb0152cb2d03946e6bab0bf75da0d90971500a076ecca9f2bea56c9b541c00c7839b94a417b8003de02c1fd5bce0e7fe39bc1abda52f3c4e1dabd75d0b8b52 SHA512 1c10d5aab4aa672bc9d42a3b4c530fd39c09b7d05708e2955899619327ffa70ca37cc3e1e88535e6ecc598ee870c30722a62b96b88a34f95e8a5c892fcaf489a +EBUILD wine-any-3.11.ebuild 20850 BLAKE2B 602ff47811c6b486aa28f338d6b8838b303ee9b0078b6d7b775cb62c2fa3bb864ac9c4ee39122be4c4a8f40de72b512e701fe8ec83ab27463a7df4c7c5fe6b67 SHA512 0240bfd7bb01322ed053118fd3a65cec336493e33ecbb8f5db10505e8500a50b4136e2d323ce7af3a58c53396e2c7635203fddef21343924007e59c519ee8820 EBUILD wine-any-3.9.ebuild 20939 BLAKE2B 6398dbe0506755239701eaf5cae9f2cbeb6d72376430bc018f3dfd03b374d06f909879b5c965a0b7fc1fa7be1b1668e62cd64e836cf8a6163c2977f17d6bf472 SHA512 23b1c71c7736ab423747ed69c9f5b591cd569bfc81be48f5d0d8778acc010a8bf3f95f51c4b975026a9670d9db2160bdf7b709e64eb48e8f3586883eeb034ae2 -EBUILD wine-any-9999.ebuild 20939 BLAKE2B 6398dbe0506755239701eaf5cae9f2cbeb6d72376430bc018f3dfd03b374d06f909879b5c965a0b7fc1fa7be1b1668e62cd64e836cf8a6163c2977f17d6bf472 SHA512 23b1c71c7736ab423747ed69c9f5b591cd569bfc81be48f5d0d8778acc010a8bf3f95f51c4b975026a9670d9db2160bdf7b709e64eb48e8f3586883eeb034ae2 +EBUILD wine-any-9999.ebuild 20850 BLAKE2B 602ff47811c6b486aa28f338d6b8838b303ee9b0078b6d7b775cb62c2fa3bb864ac9c4ee39122be4c4a8f40de72b512e701fe8ec83ab27463a7df4c7c5fe6b67 SHA512 0240bfd7bb01322ed053118fd3a65cec336493e33ecbb8f5db10505e8500a50b4136e2d323ce7af3a58c53396e2c7635203fddef21343924007e59c519ee8820 MISC metadata.xml 3853 BLAKE2B c5e0b577bb1af561b8ee2d8adaa4dcd249e517ccba03d7b832ba9b0626108c9c3ad3c9ca9988eaf19ad2ecdc6e9fc61a3a992d92ff697d48eba8d45d2c338dfc SHA512 738bd810704414e76668e8c46d2eedc884df93493d94391f38c8dedf4a97cfb36c7f3c8855973c7c07382883be81d6919b3ea634bf7f6b919f6ec22b5aff6898 diff --git a/app-emulation/wine-any/wine-any-3.11.ebuild b/app-emulation/wine-any/wine-any-3.11.ebuild new file mode 100644 index 000000000000..e713de98aba4 --- /dev/null +++ b/app-emulation/wine-any/wine-any-3.11.ebuild @@ -0,0 +1,637 @@ +# Copyright 1999-2018 Gentoo Foundation +# 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 estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator 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=$(get_version_component_range 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}" +D3D9_P="wine-d3d9-${PV}" +D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}" +GWP_V="20180120" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional 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 +" + +if [[ ${PV} == "9999" ]] ; then + STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" + D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git" +else + SRC_URI="${SRC_URI} + staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz ) + d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +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 ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging )" # 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}] ) + d3d9? ( + media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libxcb[${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.7.1 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-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 || use d3d9; 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 "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT." + eerror + return 1 + fi + fi + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT" + 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}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack + if use staging; then + local CURRENT_WINE_COMMIT=${EGIT_VERSION} + + git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}" + git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}" + + 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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine" + fi + fi + if use d3d9; then + git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}" + git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}" + 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 + if use d3d9; then + if use staging; then + PATCHES+=( "${D3D9_DIR}/staging-helper.patch" ) + else + PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" ) + fi + PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" ) + 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 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) + ) + use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) ) + + 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 + if use d3d9; then + eselect wine register --d3d9 ${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 + if use d3d9; then + eselect wine deregister --d3d9 ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-any/wine-any-3.8.ebuild b/app-emulation/wine-any/wine-any-3.8.ebuild deleted file mode 100644 index 11a4e315f58d..000000000000 --- a/app-emulation/wine-any/wine-any-3.8.ebuild +++ /dev/null @@ -1,637 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# 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 estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator 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=$(get_version_component_range 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}" -D3D9_P="wine-d3d9-${PV}" -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}" -GWP_V="20180120" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional 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 -" - -if [[ ${PV} == "9999" ]] ; then - STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git" -else - SRC_URI="${SRC_URI} - staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz ) - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )" -fi - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +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 s3tc samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - pipelight? ( staging ) - s3tc? ( staging ) - test? ( abi_x86_32 ) - themes? ( staging ) - vaapi? ( staging )" # 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}] ) - d3d9? ( - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libxcb[${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}] ) - 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.7.1 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] ) - 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 || use d3d9; 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 "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT." - eerror - return 1 - fi - fi - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environmental variables" - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT" - 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}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack - if use staging; then - local CURRENT_WINE_COMMIT=${EGIT_VERSION} - - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}" - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}" - - 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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine" - fi - fi - if use d3d9; then - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}" - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}" - 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 - if use d3d9; then - if use staging; then - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" ) - else - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" ) - fi - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" ) - 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 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 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) - ) - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) ) - - 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 - if use d3d9; then - eselect wine register --d3d9 ${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 - if use d3d9; then - eselect wine deregister --d3d9 ${P} || die - fi - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-any/wine-any-9999.ebuild b/app-emulation/wine-any/wine-any-9999.ebuild index 17171df2844a..e713de98aba4 100644 --- a/app-emulation/wine-any/wine-any-9999.ebuild +++ b/app-emulation/wine-any/wine-any-9999.ebuild @@ -48,13 +48,12 @@ fi LICENSE="LGPL-2.1" SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +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 s3tc samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +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 ) osmesa? ( opengl ) pipelight? ( staging ) - s3tc? ( staging ) test? ( abi_x86_32 ) themes? ( staging ) vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124 @@ -145,7 +144,6 @@ RDEPEND="${COMMON_DEPEND} pulseaudio? ( realtime? ( sys-auth/rtkit ) ) - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] ) samba? ( >=net-fs/samba-3.0.25[winbind] ) selinux? ( sec-policy/selinux-wine ) udisks? ( sys-fs/udisks:2 )" diff --git a/app-emulation/wine-d3d9/Manifest b/app-emulation/wine-d3d9/Manifest index a5cbf9f91fd3..eb89cb0356ac 100644 --- a/app-emulation/wine-d3d9/Manifest +++ b/app-emulation/wine-d3d9/Manifest @@ -1,15 +1,15 @@ DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2 DIST wine-2.0.tar.bz2 23662707 BLAKE2B 1d485c1359ce8a0395a9f6378c1f8be33ea2836b80390d1eb1095057a0acedd21708daab16e1851a315391b9f9b0a360879b9d98c73bcc8371c5023e9a8037f5 SHA512 b0a57ba8202d9fc396e5bfb7a7718d6bababbed8f3351e7fdc36afa37f35a871e04903757618f73427aeb71a52b2d323977d79e48f8b38d636f23fd404441186 DIST wine-3.10.tar.xz 20485784 BLAKE2B 3a5e9ca948880a3bc979c33e797296d156425438c2502c3d2c50a6d5241e485bdc081ff195b0647cfa1db1cab247e941f02d0511f7b94dc0037fa24e2e61eb5c SHA512 bb1a1d8e8ad7f48d9fcf48ebbf0ebbb8e3b45ea211736bd7837144ea34b373f74955d3c0ccc4cdc44020eea23c8af8e67252e1c5cd6115e11419ad5f6ef24843 -DIST wine-3.8.tar.xz 20473392 BLAKE2B a7873dd15a373491703e16888044cf2ba00121f91a4583fe6dcf687b5179a2d926035cc86c75f70ceca03a508bd4712c58a1662186e0a6e0c139e63e686f8c5d SHA512 387c6bff3eafac7e92030d11c02b3461b4ead059d2aad7f6d903e176f304d2ac0a426132fcd452507868f0d22bb360a30734edf3e73dfd514037458f08406e98 +DIST wine-3.11.tar.xz 20501100 BLAKE2B 793fe0a83ed13f4ca436c710198ffcbde5e0109d9890551a410b1d836d79adf4060f0cc7e20861eb806878db79f8003023821ac1b0d72a0710235412863c4576 SHA512 8f7226364648ec30eb77f1848ee6bf01be2445fd96f902309575ac1f6ece31bf54d415516fcda76ae438010a36a9d4846d22cc37365aac4a230701376f9589d7 DIST wine-3.9.tar.xz 20508952 BLAKE2B 6fbf22673588963c483b7b31e82287c09e15b579b8f57267e2731768f95a1f986954bb473ee0dfa2428802fe9331b8599a01c782dd1152d36ce2002b6a4e6bde SHA512 4c4e5a741a61b9427c175e015177df5806638736f7dfd92098ed95239d41a373cbab876c054d3c948e1db6a7de359db3babd63bc194edc8c2c3be28b58f75e64 DIST wine-d3d9-2.0.tar.gz 48373 BLAKE2B 80370a7519141030a7e54c2ea5db410b2bf1cde8d8389618487c52e4ff40f87cf7b0f9087331bb43fa6436e1b9936de9cc00a02b9ab9ce6528635a245e6a8b3f SHA512 a9e2d1c9f2784128e4c53a8dc923070a5057b5ff3d83c2b536a2d2df0bc8433ac92b8ab1c3cdf34158c0e7bfe497ddb5974605fbc1736a92307639d59450c7a1 DIST wine-d3d9-3.10.tar.gz 50540 BLAKE2B c9127e5504cbf0d0fe338645bc2d8ed6f71db1174f8ab8ff9e92457745f5ccf6ac8bd043442a5a250b9da7e0c157113682cbf184041488ef6ebaecce2bebdafc SHA512 6397005616ab6424ba9e5c289e935c15b3b789717d887afb28bee1b30912052d6c47495d9b91952c38da7be03382dd0dc708fea42f7fe4c6221cf315c5faa810 -DIST wine-d3d9-3.8.tar.gz 50700 BLAKE2B 33b71ef6e8839e55a74afa10eaabdbfadee6a99c94d89c402b796516aaa72d094c024a253c9f06f4685b8453f097513fa88f6dc72a4fe230c44d0d960e6d44d3 SHA512 e036f9da5993732415752d1f076eba5fd378ad49949a12d094081ff02454dfd8ce2156a5f418b77aa1426772f0b0785f3b0ffb9fc84e80c6265b6e5b7226bf15 +DIST wine-d3d9-3.11.tar.gz 50540 BLAKE2B c9c6469fb0dfff9be5cf50796f47a747d02c736a22b186ec561c0dcc3715a0da1cfce24e852da075685ea3047131d98cf506810ab7d555fd91ca334dbf8c315c SHA512 57ebadc6764c36a925c8e9130b3b436513795bb53e96566a88c22337b37a8c3efcb84aada19d3e5dd6ae2eb24f64b46a33376027600cb7863254369b4555de05 DIST wine-d3d9-3.9.tar.gz 50551 BLAKE2B 3f77b541b39172dd606bcd9083bae71e75c7b5cf129132dffe1e2261519c5e330aff92545169ce6148d35d292fda9a7367f3bb3951e9777d68c9c1bfd6659e3f SHA512 bdc0ce6e1d0bb247ae6421b4a3a6c600453647105f679113c7db78984ec7154b0728140facd2e3e1a64f0ff0969ab93c2829e72557c42f7a7ad05faf1c906499 EBUILD wine-d3d9-2.0-r1.ebuild 18408 BLAKE2B d076c6114c7a8044803c22cc9e3b2ade886c2c5fe95f476fcb69558058733d1e75f178a956ebd5fde2c753690cc120df3c3161293af97031043d59a5f4ba4e7c SHA512 c6e0d90d32af5981ab83093680c0119c39c0843d818672270a83e9d40c5cf368641818fc8e82f29c7de07759cfc18d94990f400564987693c17bd24acb18f413 EBUILD wine-d3d9-3.10.ebuild 18573 BLAKE2B 8bc4d2359a4652beaee2ac1b7b459ad03408f2c0d2ff9145ff3889ffa5660797d8378f9e73c612e923d5121ba5af79b5f85fc2d4e81f0129033e5c6147e264c1 SHA512 8558b0e5c6f06bdbca8f26c9a47c9e0befba46a0a80282a90911e416f5b21f2f08a1299a0b4919ae701df1e5ad1db541d50058e3b55b03744e9643c1f1b96c46 -EBUILD wine-d3d9-3.8.ebuild 18495 BLAKE2B dae0671629b084a1340625bfbb4a0159207b17085f1431081409abe71a1b7dcecc4f82660785cdba532df268028de31b38420d9e72910f90ff0ba8babef5371c SHA512 d06dd7491910b7524462f5f15c37c66cf99fd9fd882a2bd19c0dd464d0cdd6fdf955f679e333fed37235e0f2360ca9ddc0e1dec0a8256e91ee1d087b0d962283 +EBUILD wine-d3d9-3.11.ebuild 18573 BLAKE2B 8bc4d2359a4652beaee2ac1b7b459ad03408f2c0d2ff9145ff3889ffa5660797d8378f9e73c612e923d5121ba5af79b5f85fc2d4e81f0129033e5c6147e264c1 SHA512 8558b0e5c6f06bdbca8f26c9a47c9e0befba46a0a80282a90911e416f5b21f2f08a1299a0b4919ae701df1e5ad1db541d50058e3b55b03744e9643c1f1b96c46 EBUILD wine-d3d9-3.9.ebuild 18573 BLAKE2B 8bc4d2359a4652beaee2ac1b7b459ad03408f2c0d2ff9145ff3889ffa5660797d8378f9e73c612e923d5121ba5af79b5f85fc2d4e81f0129033e5c6147e264c1 SHA512 8558b0e5c6f06bdbca8f26c9a47c9e0befba46a0a80282a90911e416f5b21f2f08a1299a0b4919ae701df1e5ad1db541d50058e3b55b03744e9643c1f1b96c46 EBUILD wine-d3d9-9999.ebuild 18573 BLAKE2B 8bc4d2359a4652beaee2ac1b7b459ad03408f2c0d2ff9145ff3889ffa5660797d8378f9e73c612e923d5121ba5af79b5f85fc2d4e81f0129033e5c6147e264c1 SHA512 8558b0e5c6f06bdbca8f26c9a47c9e0befba46a0a80282a90911e416f5b21f2f08a1299a0b4919ae701df1e5ad1db541d50058e3b55b03744e9643c1f1b96c46 MISC metadata.xml 3320 BLAKE2B bbf5e79928f29d124d8a7dd947aa42fdf690d0d7f8905a0e0f43185b7026d4dde787809844ce230c3ab285a3c476c807973b899589d0d383931c96c9f1d54966 SHA512 14e380383fa5345cbd6c5366456f8d122c7bccbf54db863945e5c7673457f29f97e629ec3538030bd991f254d0262045a2d97a467cb100e80e1989728ba65c96 diff --git a/app-emulation/wine-d3d9/wine-d3d9-3.11.ebuild b/app-emulation/wine-d3d9/wine-d3d9-3.11.ebuild new file mode 100644 index 000000000000..76dbf2536327 --- /dev/null +++ b/app-emulation/wine-d3d9/wine-d3d9-3.11.ebuild @@ -0,0 +1,574 @@ +# Copyright 1999-2018 Gentoo Foundation +# 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 estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator 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=$(get_version_component_range 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}" + +D3D9_P="wine-d3d9-${PV}" +D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}" +GWP_V="20180120" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine 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 + D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git" +else + SRC_URI="${SRC_URI} + d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +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 )" # 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}] ) + d3d9? ( + media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libxcb[${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}] ) + 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.7.1 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-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 d3d9; 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 "environmental variables WINE_COMMIT, and D3D9_COMMIT." + eerror + return 1 + fi + fi + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "WINE_COMMIT, and D3D9_COMMIT" + 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}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack + if use d3d9; then + git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}" + git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}" + 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 d3d9; then + PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" ) + PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" ) + 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 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 d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) ) + + 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 d3d9; then + eselect wine register --d3d9 ${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 d3d9; then + eselect wine deregister --d3d9 ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-d3d9/wine-d3d9-3.8.ebuild b/app-emulation/wine-d3d9/wine-d3d9-3.8.ebuild deleted file mode 100644 index 0fba831fcdee..000000000000 --- a/app-emulation/wine-d3d9/wine-d3d9-3.8.ebuild +++ /dev/null @@ -1,572 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# 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 estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator 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=$(get_version_component_range 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}" - -D3D9_P="wine-d3d9-${PV}" -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}" -GWP_V="20180120" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine 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 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git" -else - SRC_URI="${SRC_URI} - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )" -fi - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +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 vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - test? ( abi_x86_32 )" # 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}] ) - d3d9? ( - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libxcb[${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}] ) - 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}] ) - 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.7.1 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-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 d3d9; 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 "environmental variables WINE_COMMIT, and D3D9_COMMIT." - eerror - return 1 - fi - fi - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environmental variables" - eerror "WINE_COMMIT, and D3D9_COMMIT" - 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}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack - if use d3d9; then - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}" - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}" - 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 d3d9; then - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" ) - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" ) - 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 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 vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) ) - - 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 d3d9; then - eselect wine register --d3d9 ${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 d3d9; then - eselect wine deregister --d3d9 ${P} || die - fi - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest index a4c2eb6ee06c..5f0a090804f4 100644 --- a/app-emulation/wine-staging/Manifest +++ b/app-emulation/wine-staging/Manifest @@ -1,15 +1,15 @@ DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2 DIST wine-2.0.tar.bz2 23662707 BLAKE2B 1d485c1359ce8a0395a9f6378c1f8be33ea2836b80390d1eb1095057a0acedd21708daab16e1851a315391b9f9b0a360879b9d98c73bcc8371c5023e9a8037f5 SHA512 b0a57ba8202d9fc396e5bfb7a7718d6bababbed8f3351e7fdc36afa37f35a871e04903757618f73427aeb71a52b2d323977d79e48f8b38d636f23fd404441186 DIST wine-3.10.tar.xz 20485784 BLAKE2B 3a5e9ca948880a3bc979c33e797296d156425438c2502c3d2c50a6d5241e485bdc081ff195b0647cfa1db1cab247e941f02d0511f7b94dc0037fa24e2e61eb5c SHA512 bb1a1d8e8ad7f48d9fcf48ebbf0ebbb8e3b45ea211736bd7837144ea34b373f74955d3c0ccc4cdc44020eea23c8af8e67252e1c5cd6115e11419ad5f6ef24843 -DIST wine-3.8.tar.xz 20473392 BLAKE2B a7873dd15a373491703e16888044cf2ba00121f91a4583fe6dcf687b5179a2d926035cc86c75f70ceca03a508bd4712c58a1662186e0a6e0c139e63e686f8c5d SHA512 387c6bff3eafac7e92030d11c02b3461b4ead059d2aad7f6d903e176f304d2ac0a426132fcd452507868f0d22bb360a30734edf3e73dfd514037458f08406e98 +DIST wine-3.11.tar.xz 20501100 BLAKE2B 793fe0a83ed13f4ca436c710198ffcbde5e0109d9890551a410b1d836d79adf4060f0cc7e20861eb806878db79f8003023821ac1b0d72a0710235412863c4576 SHA512 8f7226364648ec30eb77f1848ee6bf01be2445fd96f902309575ac1f6ece31bf54d415516fcda76ae438010a36a9d4846d22cc37365aac4a230701376f9589d7 DIST wine-3.9.tar.xz 20508952 BLAKE2B 6fbf22673588963c483b7b31e82287c09e15b579b8f57267e2731768f95a1f986954bb473ee0dfa2428802fe9331b8599a01c782dd1152d36ce2002b6a4e6bde SHA512 4c4e5a741a61b9427c175e015177df5806638736f7dfd92098ed95239d41a373cbab876c054d3c948e1db6a7de359db3babd63bc194edc8c2c3be28b58f75e64 DIST wine-staging-2.0.tar.gz 10182575 BLAKE2B 1de645f66fa3e5e0d8ceddf5439fd246510470f63d6331c7029abed7192180b7b8430e43a2e732a30a5fbe0c73ba39b7fafcfc08830c68e679dff90576c3a960 SHA512 51412299259d6e92c8993543d5fdb3239ebe31e0d1d715e0a9e8ce94b3139c0567b08ff1600d41be94f12427cbfccc2f6b6b2ed030535445c95618aaf6578580 DIST wine-staging-3.10.tar.gz 9943542 BLAKE2B 412319529e6fe9bb21a4629e1ae1896fe47a413a7ab688d6245fd5b85aa2969be040df3fa8d0ad6185617c814c7b69df891c9067260de28e505298695a6776ea SHA512 baae31ce569c06f8ac5ffc579d8f3bb95de55c50b83c1db13eaaeaee5c8c5b3b7fb6028d69dce6645ac697692372a65be8d60532123a94e0f5fcd0778d2082c5 -DIST wine-staging-3.8.tar.gz 9957202 BLAKE2B 1f85ebc9cf8f5d3c684ce60a59783355ec558e62a8c93564107de2893e82257846be45b3f55fd23f9b317245acc04ee3c4884003572169d6f0efef30145e33f7 SHA512 46ba27b0b9fe5f86d1647f12050715b796604c91487cad6847dce5250ffcfdf8ccf44dcff79c88048221cbf58af92ed72523c09f3591e2c5306bba24ff9d154c +DIST wine-staging-3.11.tar.gz 9950753 BLAKE2B bffc6a86b652695d9ed4e0e2ce6f165e45fc2f6fb7e898704fd22624b1b0497ae35319b2444b49ee62eb8d0e308dd32148af64e38f480ce4408170aa2c91a828 SHA512 811a8668c3747f02850928a99bc66612937c38d98068dddec47bffe427d00c7c83b172f12807e1cb609d83c00e978949f913877bfbf5d8443a5ad29011c03545 DIST wine-staging-3.9.tar.gz 9932873 BLAKE2B 9a0bb5689b1d2cff6e133f0dd94cc13b63f59ef9e5b129aaf48501317a75aadbf27058fe8cc436816501cbe416c285504d9c98504024f9a0606ee4c4afc48e4b SHA512 4f52937621b7e5a3f4b3e52ecba8c7d318c621e76c8e4ce3be176d56b382bf06e3a0453d37c3b725df63f0a7349f53a7c075148c7e1ed89a028696538e31acad EBUILD wine-staging-2.0-r1.ebuild 19947 BLAKE2B 44adc4926d0a93bdcb8ef176d0c058eb2a7ec6896ebc00f253e417f541fdd14e7236e4c1123b8aa93e7b386e15a34b356103e573e2a06ca2be4449073180d2ad SHA512 0d1173b27696344bd491f53fe2e6b11e88ba9d5d1b55869c9907ab292c20e248e48fc05b776c573a6f4dd6a49b8cbc247535e59c39990d80633bcbc55ef7c31c EBUILD wine-staging-3.10.ebuild 19971 BLAKE2B 4d18c0f96ce8eb3f4c6fe8871875c323639af7dba6d120a67038b12bfe19d472d36ff1d994be21a6bc89d929561aa97cc1e6629d7b076a63773801e10135a485 SHA512 451f8dff34221638c15a2ad3693c688c2d49f55c2da6b6a45b4577d2c1adfe71a0c005530df377734ad996409bd63b34527c407a74e38f861312191566595ef5 -EBUILD wine-staging-3.8.ebuild 19893 BLAKE2B a82e6a10ef92b3ce1a79a75e205a8a146815e5a181c668d1278c6ceb0f6a36a6475ab8947bcfa1428cf5a47d48cb1fbed86a97f6b13dee55d36d11cb583c3212 SHA512 4de9bf77bf4f7678a95535b7733266d0ca81bdfabbae8a97424c1520226ae7d7a04a64d33455d45c7e5504248f139142269410854f67dea6b356d8ffbc7a611d +EBUILD wine-staging-3.11.ebuild 19882 BLAKE2B 7db7a015866bfdd71263b163c525bdb74307712ac6a32b8b499278cb948f41addf9e122cd2d01553f97eff7f06614679cd0be6ed80ce388b6dc7de942704a66f SHA512 cf53120963fd78fa5c5dcebce9632f5363317cc0761817cea9ace6d2197da8453736b54127026b392c4cb6a69af630ea83fc13d8a981e5a6690ab2b90698c8da EBUILD wine-staging-3.9.ebuild 19971 BLAKE2B 4d18c0f96ce8eb3f4c6fe8871875c323639af7dba6d120a67038b12bfe19d472d36ff1d994be21a6bc89d929561aa97cc1e6629d7b076a63773801e10135a485 SHA512 451f8dff34221638c15a2ad3693c688c2d49f55c2da6b6a45b4577d2c1adfe71a0c005530df377734ad996409bd63b34527c407a74e38f861312191566595ef5 -EBUILD wine-staging-9999.ebuild 19971 BLAKE2B 4d18c0f96ce8eb3f4c6fe8871875c323639af7dba6d120a67038b12bfe19d472d36ff1d994be21a6bc89d929561aa97cc1e6629d7b076a63773801e10135a485 SHA512 451f8dff34221638c15a2ad3693c688c2d49f55c2da6b6a45b4577d2c1adfe71a0c005530df377734ad996409bd63b34527c407a74e38f861312191566595ef5 +EBUILD wine-staging-9999.ebuild 19882 BLAKE2B 7db7a015866bfdd71263b163c525bdb74307712ac6a32b8b499278cb948f41addf9e122cd2d01553f97eff7f06614679cd0be6ed80ce388b6dc7de942704a66f SHA512 cf53120963fd78fa5c5dcebce9632f5363317cc0761817cea9ace6d2197da8453736b54127026b392c4cb6a69af630ea83fc13d8a981e5a6690ab2b90698c8da MISC metadata.xml 3506 BLAKE2B 8b2c1e1624503b1ed459b1bab8cbaa488a9cd70734b71ced169eef9a4a70f0912a1849a1442365a9c1567cf1f9bbf431e6e0cf4c6688172f6e0700a5131286d4 SHA512 a79ed8f4c8cc3ac5fd7679a5b2e8db166a9a804d527d9da27455066d790f8cc064726829a27e8cce70c87eac1cc48097ab9391fe918dd39d32ba5e0f69f2b6ba diff --git a/app-emulation/wine-staging/wine-staging-3.11.ebuild b/app-emulation/wine-staging/wine-staging-3.11.ebuild new file mode 100644 index 000000000000..54b66bc499b1 --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-3.11.ebuild @@ -0,0 +1,608 @@ +# Copyright 1999-2018 Gentoo Foundation +# 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 estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator 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=$(get_version_component_range 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 +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 ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging )" # 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}] ) + 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.7.1 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-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 "environmental variables WINE_COMMIT, and STAGING_COMMIT." + eerror + return 1 + fi + fi + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT" + 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}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack + if use staging; then + local CURRENT_WINE_COMMIT=${EGIT_VERSION} + + git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}" + git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}" + + 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: WINE_COMMIT=${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 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-3.8.ebuild b/app-emulation/wine-staging/wine-staging-3.8.ebuild deleted file mode 100644 index 7ba4e022173c..000000000000 --- a/app-emulation/wine-staging/wine-staging-3.8.ebuild +++ /dev/null @@ -1,608 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# 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 estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator 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=$(get_version_component_range 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 +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 s3tc samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - pipelight? ( staging ) - s3tc? ( staging ) - test? ( abi_x86_32 ) - themes? ( staging ) - vaapi? ( staging )" # 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}] ) - 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}] ) - 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.7.1 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] ) - 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 "environmental variables WINE_COMMIT, and STAGING_COMMIT." - eerror - return 1 - fi - fi - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environmental variables" - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT" - 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}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack - if use staging; then - local CURRENT_WINE_COMMIT=${EGIT_VERSION} - - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}" - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}" - - 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: WINE_COMMIT=${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 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 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 4873ea014bd1..54b66bc499b1 100644 --- a/app-emulation/wine-staging/wine-staging-9999.ebuild +++ b/app-emulation/wine-staging/wine-staging-9999.ebuild @@ -44,13 +44,12 @@ fi LICENSE="LGPL-2.1" SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +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 s3tc samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +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 ) osmesa? ( opengl ) pipelight? ( staging ) - s3tc? ( staging ) test? ( abi_x86_32 ) themes? ( staging ) vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124 @@ -135,7 +134,6 @@ RDEPEND="${COMMON_DEPEND} pulseaudio? ( realtime? ( sys-auth/rtkit ) ) - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] ) samba? ( >=net-fs/samba-3.0.25[winbind] ) selinux? ( sec-policy/selinux-wine ) udisks? ( sys-fs/udisks:2 )" diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 5930d80c8c91..ac6bcd654e35 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -6,7 +6,7 @@ DIST wine-2.0.4.tar.xz 18898148 BLAKE2B a21c920e1cf15e064bc6b37067a11a5568f8d190 DIST wine-2.0.tar.bz2 23662707 BLAKE2B 1d485c1359ce8a0395a9f6378c1f8be33ea2836b80390d1eb1095057a0acedd21708daab16e1851a315391b9f9b0a360879b9d98c73bcc8371c5023e9a8037f5 SHA512 b0a57ba8202d9fc396e5bfb7a7718d6bababbed8f3351e7fdc36afa37f35a871e04903757618f73427aeb71a52b2d323977d79e48f8b38d636f23fd404441186 DIST wine-3.0.1.tar.xz 19722444 BLAKE2B e042d280c3f4c2df64c2d426cdebdb65e9c7263034961b1916bc9c6206bf9c107aefaf8cee166d9f1a2ea21dfa57db0d3641ca5e8025f70520f11aa24d20ca60 SHA512 3d59f08a87da1d2ee280954a4c91e861b6994048b36eff1ac8df67dbab08a792d391b23ced66ea99f8503a979b3ec26cd35558b71c4d29d68775a5d484bf7d00 DIST wine-3.10.tar.xz 20485784 BLAKE2B 3a5e9ca948880a3bc979c33e797296d156425438c2502c3d2c50a6d5241e485bdc081ff195b0647cfa1db1cab247e941f02d0511f7b94dc0037fa24e2e61eb5c SHA512 bb1a1d8e8ad7f48d9fcf48ebbf0ebbb8e3b45ea211736bd7837144ea34b373f74955d3c0ccc4cdc44020eea23c8af8e67252e1c5cd6115e11419ad5f6ef24843 -DIST wine-3.8.tar.xz 20473392 BLAKE2B a7873dd15a373491703e16888044cf2ba00121f91a4583fe6dcf687b5179a2d926035cc86c75f70ceca03a508bd4712c58a1662186e0a6e0c139e63e686f8c5d SHA512 387c6bff3eafac7e92030d11c02b3461b4ead059d2aad7f6d903e176f304d2ac0a426132fcd452507868f0d22bb360a30734edf3e73dfd514037458f08406e98 +DIST wine-3.11.tar.xz 20501100 BLAKE2B 793fe0a83ed13f4ca436c710198ffcbde5e0109d9890551a410b1d836d79adf4060f0cc7e20861eb806878db79f8003023821ac1b0d72a0710235412863c4576 SHA512 8f7226364648ec30eb77f1848ee6bf01be2445fd96f902309575ac1f6ece31bf54d415516fcda76ae438010a36a9d4846d22cc37365aac4a230701376f9589d7 DIST wine-3.9.tar.xz 20508952 BLAKE2B 6fbf22673588963c483b7b31e82287c09e15b579b8f57267e2731768f95a1f986954bb473ee0dfa2428802fe9331b8599a01c782dd1152d36ce2002b6a4e6bde SHA512 4c4e5a741a61b9427c175e015177df5806638736f7dfd92098ed95239d41a373cbab876c054d3c948e1db6a7de359db3babd63bc194edc8c2c3be28b58f75e64 EBUILD wine-vanilla-2.0-r1.ebuild 17165 BLAKE2B 355d7a3892b96a92d3f2336e6ae450407ebe8d1b73ad21910459855de6371fd8aca117c162601d0f303265e234c4d06f35339157bdcc0c1f03d5227f3a746777 SHA512 7d6d3d0659100bdd88a294c4728f95f985284e94d4c2e334d3e65ff26f231f33d6a7ab2f34a695683ac51a804a690621cc4d32bc3dec579003526f86ee9e9d69 EBUILD wine-vanilla-2.0.1-r1.ebuild 17164 BLAKE2B 39c1a2facb2c155e5e5f511f6800af9c93c09cf4cd4ff428519448cdbdbc15afb87e58e12d051ddf0b672726841cce3aa7777aec1c72e19bc3e693c3cf53b4b2 SHA512 b6ff0335579045d560d4a30970b3b8150b07a5e2de086fe4b7377a151924fbb9abee62feddce77ab1c69133f70366640bdc43e0f58820fe7b7563c83bca225c1 @@ -15,7 +15,7 @@ EBUILD wine-vanilla-2.0.3.ebuild 16974 BLAKE2B 61a9d93162ba22248f95f518026024c7c EBUILD wine-vanilla-2.0.4.ebuild 16976 BLAKE2B a1b0391d257ffd77cf58bfe5c2614e85e421c5c4db3a1b3157b1a3176d47d6f02bf709c866df146b8cb6f17aa929752cbe9731119a32b83d66115860bc0755a6 SHA512 9b692447e013c31db521d4443b1b3f059279e8f5e0c9c17a629af38c5619a2481321a429f76e8543bac833a4483fcf33d085706672c3068f02b638fa12a93c6a EBUILD wine-vanilla-3.0.1.ebuild 17125 BLAKE2B 51d4eeb0ef880774cfd8ffce30c8482e9c0a847cbfbecb15159e95497c9a56f62a7ecb1c941bda4f31fe4d89bd11fb740d747f28df28275ead43503af994eaf5 SHA512 011941555712a3a02ff08bdab12b467da71a151efdeb0bce060b9c51c02f8ffec5368b70969a36424b9272ad981e2e8a4725f7de35a8d6064e9e8ad00ccb0f35 EBUILD wine-vanilla-3.10.ebuild 17329 BLAKE2B 4e0f08f51a31405ea56bcd7fa6e27c6e2060bc34fcb23dc7c6342d33abac6d62b5b664da6727094e9cc5105ccef9e026d75bc24a9c3aaa266069fe5fcddd29e1 SHA512 44d9a8470cfd621237c1f7fc389040b11eb0439429804f6472b1488b6372a091b123159f6ea32f2b911df320f303983ea94449e87814cc6840cefbbfedd7887c -EBUILD wine-vanilla-3.8.ebuild 17251 BLAKE2B 6f86d2c1eba973215361c17201fd31af1567a06e479310246ffa999bc1de381113ecb8f6a7c41ec9580fad3c2ae4e1bd7c2af9d6d408e0763242ce86c1ae3054 SHA512 72e6cc94623fecb0110f0097765accb9561af19831c9faa873a72f59344a8e203a69cc8f517395ae493094a9917e5a469e417a00c8d1f631151f1ae73ca0a8a0 +EBUILD wine-vanilla-3.11.ebuild 17329 BLAKE2B 4e0f08f51a31405ea56bcd7fa6e27c6e2060bc34fcb23dc7c6342d33abac6d62b5b664da6727094e9cc5105ccef9e026d75bc24a9c3aaa266069fe5fcddd29e1 SHA512 44d9a8470cfd621237c1f7fc389040b11eb0439429804f6472b1488b6372a091b123159f6ea32f2b911df320f303983ea94449e87814cc6840cefbbfedd7887c EBUILD wine-vanilla-3.9.ebuild 17329 BLAKE2B 4e0f08f51a31405ea56bcd7fa6e27c6e2060bc34fcb23dc7c6342d33abac6d62b5b664da6727094e9cc5105ccef9e026d75bc24a9c3aaa266069fe5fcddd29e1 SHA512 44d9a8470cfd621237c1f7fc389040b11eb0439429804f6472b1488b6372a091b123159f6ea32f2b911df320f303983ea94449e87814cc6840cefbbfedd7887c EBUILD wine-vanilla-9999.ebuild 17329 BLAKE2B 4e0f08f51a31405ea56bcd7fa6e27c6e2060bc34fcb23dc7c6342d33abac6d62b5b664da6727094e9cc5105ccef9e026d75bc24a9c3aaa266069fe5fcddd29e1 SHA512 44d9a8470cfd621237c1f7fc389040b11eb0439429804f6472b1488b6372a091b123159f6ea32f2b911df320f303983ea94449e87814cc6840cefbbfedd7887c MISC metadata.xml 3082 BLAKE2B 5ddadb49dd2e5b9da259d3313e2406e37871271f8261e9501508a50220a8ea31a68185d5fcecce968bc4f4915de6901060d980476ce2ddd61d1866d2766b0cfe SHA512 fa40b440a418dd442bdebb7914c84f648f74a18286f91d59726cbfefa1bebec8afab1f9a7b6ed8c7ae2788253dcaea9dc13cb4eff09ca6da56370e280952be70 diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.11.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.11.ebuild new file mode 100644 index 000000000000..cdb123c486e7 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-3.11.ebuild @@ -0,0 +1,531 @@ +# Copyright 1999-2018 Gentoo Foundation +# 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 estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator 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=$(get_version_component_range 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 +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 )" # 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}] ) + 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.7.1 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-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 "WINE_COMMIT" + 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}" EGIT_COMMIT="${WINE_COMMIT}" 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 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-3.8.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.8.ebuild deleted file mode 100644 index 9bebca2da60a..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-3.8.ebuild +++ /dev/null @@ -1,529 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# 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 estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator 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=$(get_version_component_range 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 +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 vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - test? ( abi_x86_32 )" # 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}] ) - 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}] ) - 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.7.1 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-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 "WINE_COMMIT" - 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}" EGIT_COMMIT="${WINE_COMMIT}" 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 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 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 -} -- cgit v1.2.3