diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-08-04 08:53:53 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-08-04 08:53:53 +0100 |
commit | e3872864be25f7421015bef2732fa57c0c9fb726 (patch) | |
tree | 9cb29a544215119b5c5538e37211b994ce1c87ae /app-emulation | |
parent | 480486b52ea64765faf696c88b2c6a26a5a454d4 (diff) |
gentoo resync : 04.08.2018
Diffstat (limited to 'app-emulation')
57 files changed, 3602 insertions, 293 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz Binary files differindex d4834c971d0a..fa7be5b31104 100644 --- a/app-emulation/Manifest.gz +++ b/app-emulation/Manifest.gz diff --git a/app-emulation/buildah/Manifest b/app-emulation/buildah/Manifest index 87b0c2bb15b6..6f9187f6cec2 100644 --- a/app-emulation/buildah/Manifest +++ b/app-emulation/buildah/Manifest @@ -1,3 +1,5 @@ DIST buildah-1.1.tar.gz 4253820 BLAKE2B ae30a677a2f569d87da0ab85732078912598cf25f7b22ad25540f5d89797983a8549eef1bc8d151d4e0be078b97e024df145bb882bdd8443becb07774bfb5875 SHA512 9957590d7413436195307746682496616fd2350b832242f33fb4cb07c1144addae445eeff062f403d26a68329f1153468489032bc9bbcf870839c760a720ef95 +DIST buildah-1.2.tar.gz 4403310 BLAKE2B df3a1d12a41e9d585d3191103140fc232a2c247283996f394bd151f61615057b15d934e165be47794465c30217c32b3e6b53fbf4d2ef5a2f3349840dadad8171 SHA512 0aac0a80c3c50f0171199e549c0321ce1a756ca838dd9d92b0b0d58bd6b4e212390642c8a4a2aea794616292058624ab0c8707d2ea0cdcbcc555b387df611dc2 EBUILD buildah-1.1.ebuild 1388 BLAKE2B 8dd9609a8d7c8e2f132e7f0d07b311c05fb0a364cd9c63d3f68c065e40bfe4776c3b1650463064ff96b40dc64ebaec9c87c6ed346705f371925822b2d097a7db SHA512 fb2c0381296021c4e4e60649532413b154c2a5e28fcc91fa3998e8be1e845d0c5f215bb17b0397441df63fd5bfea7d72b9f281ec891cf11b1bd309b2e52d8bcb +EBUILD buildah-1.2.ebuild 1407 BLAKE2B b57e8bf75b9db19b56b8a9f4bda2cf0c9347a2919b41c22194b17a88880ea98b7e3e75f00bdc4bea61b314ad90d511c64732fe7dd0f37409b9cc727a394f2ca3 SHA512 3a69febb77c2a22d93e5bf868db42b498b5d464e73182916f4754fabe7e55f91033cfc302c025ac45519f559f48f32524daad04e0ee89ded3b964d6481035f90 MISC metadata.xml 433 BLAKE2B 5b06389433033a1cf28f5fcae5dd41f4ebe0582d9537e8e163fad82046a66477a6ac3ed26ea63e60ea392919afcd3f0f45ae8ddabefd3a518707d5adff04e9d6 SHA512 3ab67ceda6ca0c8bd10f8868172d9686c8eeaa856760453be1c3ba907abb734ba37f5e9885547a16f69c67aa8d96e576de1ddf3208c08f4d44c2d90b081c74a6 diff --git a/app-emulation/buildah/buildah-1.2.ebuild b/app-emulation/buildah/buildah-1.2.ebuild new file mode 100644 index 000000000000..437d140179f6 --- /dev/null +++ b/app-emulation/buildah/buildah-1.2.ebuild @@ -0,0 +1,56 @@ +# 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="ostree selinux" +EGO_PN="${HOMEPAGE#*//}" +EGIT_COMMIT="v${PV}" +GIT_COMMIT="be87762" +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:= + selinux? ( sys-libs/libselinux:= )" +DEPEND="${RDEPEND}" +RESTRICT="test" +REQUIRED_USE="!selinux? ( !ostree )" +S="${WORKDIR}/${P}/src/${EGO_PN}" + +src_prepare() { + default + sed -e 's|^\(GIT_COMMIT := \).*|\1'${GIT_COMMIT}'|' -i Makefile || die + + [[ -f ostree_tag.sh ]] || die + use ostree || { echo -e "#!/bin/sh\necho containers_image_ostree_stub" > \ + ostree_tag.sh || die; } + + [[ -f selinux_tag.sh ]] || die + use selinux || { echo -e "#!/bin/sh\ntrue" > \ + selinux_tag.sh || die; } +} + +src_compile() { + GOPATH="${WORKDIR}/${P}" emake all +} + +src_install() { + dodoc CHANGELOG.md CONTRIBUTING.md README.md troubleshooting.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/cadvisor/Manifest b/app-emulation/cadvisor/Manifest index 6a06e4d5b824..46ab012a03cc 100644 --- a/app-emulation/cadvisor/Manifest +++ b/app-emulation/cadvisor/Manifest @@ -1,6 +1,8 @@ AUX cadvisor.initd 555 BLAKE2B eaea61c2f974f9cfd97244243581d20da2f0312b4772f732193a2e3cededa3807ddfebcb417086c4d6d61257ce209019766b01f11b68eb0225cd131c90d4bf34 SHA512 c38d258b2416070076a51354f0b78be42809c571064a2b4098482137130b63c731fe8c97f9d8295170302b04d6bd5b5313c682594a36787f66193dc3d4f67429 DIST cadvisor-0.28.3.tar.gz 4110487 BLAKE2B d6b9d6de67e5672a3ba57ea0c28f38e2e96ec43910f8f5bbbe17b377ccbadf026d4418928234149e9ad3936f4c0871d7c371dda2bea49111735a33520154b2d3 SHA512 da111d74bfa3485c42a03a027ccbf833886e561f3244a081ad5439f7a714767cf4666c43c17b0b976089ea40916089aaa2c6070ec4aefc19798a1d5325e005e4 DIST cadvisor-0.29.1.tar.gz 4152413 BLAKE2B 7eca61553f98a27b9d42f81618b67ebec2003c047557ea2bb749d0d36545c9c5ed76b67f8558ba335f396f16b6c496271875dd68b0d9f3554f92e20a63cc0cf5 SHA512 ce3a937607be2725388434cecb23ea8417bf3ddbd662cedcf128f090d52cc96c052dc016eeab32c34d3338fbb5b56091ee62720c32fb3313a5d41a556bc0b575 +DIST cadvisor-0.30.2.tar.gz 4126305 BLAKE2B c0ded9a4e4d9f2942b2ae92dbc8037a4e6310686f82ff256dabdc6acc966b684621e213702ac97aac1648bd4dfcc6f757ce0c3a100b6830caa9d72e442a419c4 SHA512 415e89879c768d236dba1ad8a470b416406f53fc29d9654c011bf511b507c531e0be073c43110bba9c46f284a9235f76b743959f3363dcdc9d76a5631da530e2 EBUILD cadvisor-0.28.3-r1.ebuild 1067 BLAKE2B abc96e7260ef9e215c4c9343484b4247d8d492537103e25c12dc890a0bc707eb2a1509f860aac3c1228548c8d0f7e91ff25d2441805be6ba0564bed95ce1f8b2 SHA512 c995afee18eef221f57339d58588a3ae98a659e83da0079b84175b98e36cf2e512d216e78e4b72ed0498497dfd5955438130a2eb9694b1fa2cccfdbcb2afd92d EBUILD cadvisor-0.29.1.ebuild 1067 BLAKE2B 83487dadf84efd4ff521d7918e73ad3bafd3ffb8cb5ef8a85d5d9bcf9420e8058b6ea590be27becd4f6757de97237eef90658d470b912f1d1b96b0ad4584dc71 SHA512 587fa4ca9c97602f9e4a40c01c98ee9b5bd3226d4acd2b1ce69f79700a57d5a0b87ee0ac2f13892521038c824ef2add7e35babb5d39addde60e069b16c0d84dd +EBUILD cadvisor-0.30.2.ebuild 1067 BLAKE2B 57f0ef43b289b9002a2df0c774fca3d75c7e52a0ae24ec66412808595050a9329a9751bf7953be15de6173577bb8c280ceac00307963833acf69657fd0dc5adb SHA512 fb3993d343c2181cae6c1f85c6a4f411c607e2ac5bcd50ad48da209f8ced9be9d576ef1b8287174d26b0c981f99458a9929d0bcfcedb7c23da3ebb9d9580450a MISC metadata.xml 325 BLAKE2B 3a83be7d0ee504a5ef4b25d8826101878da8bac2228afbe0598ec0aef7435d69ed6d754b88453336fd84a1ef38ab1646eb890bfbff1e8549836aa12c7d497f4b SHA512 d083dae5366eaea34ba9697c49a4399e822000a19b11cffffe82e08f4a331eb0f4672c8271ac342cebb79a66c1a245e41a17ff1d40ecbad2354940bfa14c1b06 diff --git a/app-emulation/cadvisor/cadvisor-0.30.2.ebuild b/app-emulation/cadvisor/cadvisor-0.30.2.ebuild new file mode 100644 index 000000000000..8ab87087b4f9 --- /dev/null +++ b/app-emulation/cadvisor/cadvisor-0.30.2.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +EGO_PN="github.com/google/cadvisor" + +inherit user golang-build golang-vcs-snapshot +SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +COMMIT="de723a0" +KEYWORDS="~amd64" + +DESCRIPTION="Analyzes resource usage and performance characteristics of running containers" +HOMEPAGE="https://github.com/google/cadvisor" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 /dev/null ${PN} +} + +src_prepare() { + sed -i -e "/go get/d" src/${EGO_PN}/build/assets.sh || die + sed -i -e "s/git describe.*/echo ${PV} )/"\ + -e "s/git rev-parse --short HEAD.*/echo ${COMMIT} )/"\ + src/${EGO_PN}/build/build.sh || die + default +} + +src_compile() { + pushd "src/${EGO_PN}" + GO_FLAGS="-v -work -x" VERBOSE="true" GOPATH="${S}:$(get_golibdir_gopath)" emake build + popd || die +} + +src_install() { + newinitd "${FILESDIR}"/${PN}.initd ${PN} + dobin src/${EGO_PN}/${PN} + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} diff --git a/app-emulation/containerd/Manifest b/app-emulation/containerd/Manifest index ec2ca93f6adf..f72b94711743 100644 --- a/app-emulation/containerd/Manifest +++ b/app-emulation/containerd/Manifest @@ -3,7 +3,7 @@ DIST containerd-1.0.3.tar.gz 3776722 BLAKE2B 31e9f2e56b23d09341e4cdd546198233517 DIST containerd-1.1.1.tar.gz 5123253 BLAKE2B e3e14311f4b444531b9b5d22ad7babd3fe9e7f4bf540c98153ebfc7445c34dad9c1268863e90a383bdab8630fc6576d1425e3e6a7f37e25fe6fb392aac389e2f SHA512 429070dbe0b486f8bbf5411c037e020f50fd008741091d6db1c13a0b526b2b4d0b22bb458401dd2ed142dc34e9bdcbd1ea30eabba39f11a50c294b94ce9867bd DIST containerd-1.1.2.tar.gz 5124208 BLAKE2B d989519d6bef4e12d1fa04aa00bfee223e94676a90525304d4357f4caf46326b4d2b897b885e9e137fe01ce66b93bc92fb7da7bd2b5dd5019edda5bb0bbc6d0a SHA512 fe4121a43e72a354cd87577b5227f2c2e0d54674244001e6fdb695da78873b3fd3f46b6bda6bbd0c8793b33f50e0d725cb356bb75b789a273c862bbe7d4f719c EBUILD containerd-1.0.3.ebuild 1238 BLAKE2B 57722c15880f5484d32e4ab7247210ff96588b1f66537c10cac26e08da553eb636995e0db4959847795542c8354ee1d6a32dfc074bb97ae6496f53aad72cca07 SHA512 55a5317e985b95878e31b2b28907bff8a10b35ae90cc3c83e24534f1d0f33aeccdf321b1bdf34ecc0450853218476015a546b6191817d7747567d573a80aa2cc -EBUILD containerd-1.1.1.ebuild 1289 BLAKE2B e5ace69d6c9a0cd9271ae86da50bd75a224c2cc6c5d04b5dfee43cee92f4fa3084337978a409408c4dc447ea86964e4ec22868bffaae547bbd0ea3dec6b4299f SHA512 9ea0297903f3317aff7de788300920b3a30a77c892c6942f2a2e99e22da8b3aad25af24db398f890e760c0c707eb1acad9caa8a158d140064a8c5fff6e2826e7 -EBUILD containerd-1.1.2.ebuild 1443 BLAKE2B d89b48bc2afd30e2a194f4eb9a1d62c517638f32c5c944b8ab9b06b08455476afb0d935daeb5c452c19490daecce7e52c5cb0f2eac7a3ccadc209cba0daab437 SHA512 f635fd95faf1651974cca042a2c7183de014f22bcfc29359c55e3d50648efa53ff6ee47214042e3e84917dc7bdf7c5dbd4ddcb03dc189a0fd36e88ec020c5cda +EBUILD containerd-1.1.1.ebuild 1296 BLAKE2B 19ac8685f774a4ccafbe0433a11b15a2b31c270af9b199a6f543789f93403f1715ac021d24f68e2a7278fab25065900ba02c3efca92e18aa44589d54667d6571 SHA512 f37c5cacabd3f6713af25a9343cb532ba6f73ec842d5d7cbe600bed510a4e11e3c7b27541666af6542dda2be658129c144929c4d2e7a0d8824e308983b4a0a66 +EBUILD containerd-1.1.2.ebuild 1450 BLAKE2B 0174e508f81a91dea17e850be32381ac4da751afef576d87edace87416553d833cbc231fd00f49f92348e2ff23a745c4daa26bf32fa6a552ffe323b4185c7139 SHA512 d51bb4e28649c9d0de1ada72e8b6089fd1a7e28620fb3d79941ca826bb8ee7eb2850c75c0e08be412dd4cf0300614763e9d3290774bcd940ff8b46b1c624e2d9 EBUILD containerd-9999.ebuild 965 BLAKE2B b671ff0dd3c5b8c72f2d713c04926047a304b7eec201051b5051a4ce49550176683a934d0b03350d5302fdff242e8e11f31b3db0b3962b73bcac85a0ed1a116d SHA512 b2acd6bd1c237a1058cec02875877d82e2e8c568bf3143cca020c64e13a0649975e3adcdb68540216e8ce1bcdbc7141eda8476c1c01ee2ca313120eca2850012 MISC metadata.xml 1088 BLAKE2B c4002c4c1278d979180f2bb2819f5485f0d415b09e85f83e14969842b16ce93970743d2df77f2b72f9d1e7f253f1dfacc7dbdba6aa872c4f866df48cc3b723f7 SHA512 edd35f07b6ebb489442c514d078831409fca1be2e3da7e77bf8ee3e7f422e288f68373cbb59f83fadc6c707476d7909fe64563ae48a4ea972041c0d2a3aecda3 diff --git a/app-emulation/containerd/containerd-1.1.1.ebuild b/app-emulation/containerd/containerd-1.1.1.ebuild index d3c39d6cfab5..0dc6845f4ea2 100644 --- a/app-emulation/containerd/containerd-1.1.1.ebuild +++ b/app-emulation/containerd/containerd-1.1.1.ebuild @@ -13,7 +13,7 @@ else EGIT_COMMIT="v${MY_PV}" CONTAINERD_COMMIT="d64c661f1d51c48782c9cec8fda7604785f93587" SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~ppc64" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64" inherit golang-vcs-snapshot fi diff --git a/app-emulation/containerd/containerd-1.1.2.ebuild b/app-emulation/containerd/containerd-1.1.2.ebuild index 2aebd40c4137..4bd98d13a3b3 100644 --- a/app-emulation/containerd/containerd-1.1.2.ebuild +++ b/app-emulation/containerd/containerd-1.1.2.ebuild @@ -13,7 +13,7 @@ else EGIT_COMMIT="v${MY_PV}" CONTAINERD_COMMIT="468a545b9edcd5932818eb9de8e72413e616e86e" SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~ppc64" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64" inherit golang-vcs-snapshot fi diff --git a/app-emulation/ganeti-instance-debootstrap/Manifest b/app-emulation/ganeti-instance-debootstrap/Manifest index 610f882bd759..716461053f5f 100644 --- a/app-emulation/ganeti-instance-debootstrap/Manifest +++ b/app-emulation/ganeti-instance-debootstrap/Manifest @@ -1,7 +1,5 @@ DIST ganeti-instance-debootstrap-0.11.tar.gz 67946 BLAKE2B 0dbf3d16ae4058f0093adcd0a33c473719cf6de267dbc4e99e3326a2885d57693e2d0408b1079681056be88c7db23ab168e38f38d4051e8847d3b552fa42d4a1 SHA512 d39ae29b49e3e0e25e9052ee5201d5aeeedfa229cc0b8674ea01a26b1b615b262c1464ca16b5268884a0fa28981e5126eec084d7bb9298a4b405574925b85b4e -DIST ganeti-instance-debootstrap-0.12.tar.gz 69835 BLAKE2B 096bd1534a41de21cb26883397f1f07db2e9ea5991cfea05d8c4e44344659d642fded54ed90e350b1db3225385badd350f88c5137e9c035d5ee7fa24bd7098c2 SHA512 5f1813510071addca9bee5e36f7b34a5cbd06f53db8222f6345cb788af8d686aeb94d11ec098eb63b8e11ded18a03c233dd99237f2db9190894bab6189353ab5 DIST ganeti-instance-debootstrap-0.16.tar.gz 23020 BLAKE2B 8e96597ee94e5806de78ade571f5287e68c5442a91fb8ef3f6e2dbb95301e036fa79225b3c8a2517b05ff14eba0fb541c792556218d0f9a9346f1ebe524a6b38 SHA512 43197d034d719b81ea8737ea60763d43bf71bc9b15b0fbee60bd42e5b0c0f3821805986d4f564db91207a83c2396e87fe081180eec3a5da77d18f2d510fbff1f EBUILD ganeti-instance-debootstrap-0.11.ebuild 754 BLAKE2B b2127379cb20e6a727a9ddd04c5f233ddcf1dc61184b580edbb82955f8b2943ef4f134eb8b5fe43c024b23b8dbefd1a9f3642fbf24f6c14f27c9953408cdd100 SHA512 8b7567e8ca01eb60cac1052ea9aa1f2decff3c7f051846ac94fa7de986fc28e30ab788f1b6973dc3c5ff3b8d58cc0560a473f46947f7d152df888d6b0f21ca27 -EBUILD ganeti-instance-debootstrap-0.12.ebuild 756 BLAKE2B 2bad6ddd56879f8c16c439f57ca956decf925e28e65e025a2b03af7eb230bb292dafc23acbee4df1309a27efe898ac22b0092f47fc180ca7692a865e8851880f SHA512 c7501faf82959a41f3d1bde365d41f53a9b23852ea93f3c11768ab3b97b3908870e6aa7ea6b2212c6f287b624ac30ba308a1aa72536192131985335f1ea5142e EBUILD ganeti-instance-debootstrap-0.16.ebuild 846 BLAKE2B 1958a53d66b67c49c2534e775cbefbeff8ce5ff43d8a3f5cd11ece43c9b2636b776b6e6e41178dc676ce7d38e13b09128f2fe8ea01940bb1efff8d27d903d7b0 SHA512 49a465b86bc87209fa0e55c6ad21541476a8b4a6f28b03c905ae9339f72de06109b7d389cfe92e811eda69ddf136efe92c3e7b2e1e9acc129b82b7ec1c090111 MISC metadata.xml 693 BLAKE2B 8e67678f49377a1e982361b80d67e2af5b4a093996d7416e1ac98925ee3cd9f3a79fcd23f9146df831c55b6aa9aa8ed4e7c5e735d9fd191b48406b256757d340 SHA512 5cc8e1aa819d16acfd1645a8f4921343e931423af0e4e6414d92599d3d9a0ea301b1549a767b9c768cb7f35d9bf580657ddf25d1165ccf59cdda54e0099fbcb3 diff --git a/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.12.ebuild b/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.12.ebuild deleted file mode 100644 index 8d6740a836aa..000000000000 --- a/app-emulation/ganeti-instance-debootstrap/ganeti-instance-debootstrap-0.12.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=2 - -inherit eutils - -DESCRIPTION="Scripts to build Ganeti VMs with debootstrap" -HOMEPAGE="http://www.ganeti.org/" -SRC_URI="https://ganeti.googlecode.com/files/ganeti-instance-debootstrap-${PV}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="" -RDEPEND="app-arch/dpkg - app-arch/dump - app-emulation/ganeti - dev-util/debootstrap - >=sys-apps/coreutils-6.10-r1 - sys-apps/util-linux - sys-fs/e2fsprogs" - -src_configure() { - econf --docdir=/usr/share/doc/${P} || die "econf failed" -} - -src_install() { - emake DESTDIR="${D}" install || die "install failed" - insinto /etc/ganeti/instance-debootstrap/hooks - doins examples/hooks/* -} diff --git a/app-emulation/img/Manifest b/app-emulation/img/Manifest index e75537b3c387..59d5a9eec63b 100644 --- a/app-emulation/img/Manifest +++ b/app-emulation/img/Manifest @@ -1,5 +1,3 @@ -DIST img-0.4.6.tar.gz 5635103 BLAKE2B 88e0ae3bdc0b9e1784d4d67635d119084a5e9dbe258b55da10f549b97f2d566f312226687bef0d28ad1ae3b13c764a44071bfe10ec0a189ad4bcf0bc8c83df5f SHA512 7f75d66237fe5ccf5923774e1d40ef04d9447f3e7de6641167679a1bf5b6305880a046e664fa7adb93dc4bd28e9f0e1ee790ecf2a225aa98b0202e47b8d01987 -DIST img-0.4.7.tar.gz 5642840 BLAKE2B 0cff71ad2e3ee7e7a21273bd7171a1cafb51b932a55981081bcd809f62c463e8a58d739ed5e7e46355a596650e272a90b848eb6c1818e948e6512cb07ac5fc5e SHA512 23e059537baedf20c17724f972db2fa2b81677bf7d62ce3f78cabde9984f10923f4fe56d3f02252f578b15e06112066c5ea7e6b41d61554bcafc618cca85d014 -EBUILD img-0.4.6.ebuild 921 BLAKE2B a0fc0c56c0bc10a929fa4932d1095f8d6e3f1af6bd65125eb85f8011fefdcc5e89aa12ba0755ea75b562cfe3f23c60d42ed1b7e094dddefc487ecd3e34baee71 SHA512 78ee9d32a0493d3d1bd8bd4611d81a25dfc69502a56e1b4ec5000d0f8c3356dd8f72569866ed74e75959834801a24536465316b34180905b693e5353a15c7cc9 -EBUILD img-0.4.7.ebuild 921 BLAKE2B 5993ad25c6e4aeec106c4919eae7748bafabb977151953c2f66944b282f70f327dd716916d4a4e6243463119ddef8c409d8837bcc04fa755215392a505087100 SHA512 e7a44443f989aade1b86db9fb7114b843cc3323b218fcd2f813354d8e79c7b21462d84cf3ee32b9269e82026bc51d59d0bf3f24eb80e97d778c598fd419cc9dd +DIST img-0.4.8.tar.gz 5587652 BLAKE2B 5b74ff24e6f36674b66b3f87abe928a9d8c8361835eb61cb04ddfce6bfc7cb7b8e6e1f41d61d9f75c09c3646d0d697074882e1f7b87259b60d7c53303718e325 SHA512 fb5b97c4794798dc2dba5d4c9493da9708a55a9e5e7b2259585409c4e7973fecd362132dabb81c72f20b61956c5a8bc67b58db49c22e7ce56eaec784bbb51ca5 +EBUILD img-0.4.8.ebuild 921 BLAKE2B 050b449fa9c34e4171573810ccb204ae2eba7e0ad9a50da5e3c0673f0b9c74b81e611d9a6e07506b560e4570fc2ee5ffc7455d95ba071ab6e23aef9abdf413cf SHA512 9871ad935ed3382eddc90a3955ce68462a6e34a0f8c4299fec30ff0791924c7bd6ab75e02767afd36a2283aa705636d7c28683fea53b1ecc19352319ac0792a1 MISC metadata.xml 326 BLAKE2B bade1307a8d5bd0a9945fbb417b8506b7aaa4b66d5a502e18af1f7b008e325b5514e0fc018932396aba1116b5a3c11b12b89c43d925f7e97c8a75efcd9ef4f3d SHA512 a75050de970991e19edf7b7560ca46d27c959b9a91dcf87d40d31532c85c7af24ab29743d7295c731a3153774d33b03afa5c92470ca0c0c572d50c6ec65e5692 diff --git a/app-emulation/img/img-0.4.7.ebuild b/app-emulation/img/img-0.4.7.ebuild deleted file mode 100644 index 2b843d8ad2b3..000000000000 --- a/app-emulation/img/img-0.4.7.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit golang-build golang-vcs-snapshot - -EGO_PN="github.com/genuinetools/img" -EGIT_COMMIT="v${PV}" -GIT_COMMIT="e76c25809631da79d0071966901675f9acb16edb" -ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~amd64" - -DESCRIPTION="Standalone daemon-less unprivileged Dockerfile and OCI container image builder" -HOMEPAGE="https://github.com/genuinetools/img" -SRC_URI="${ARCHIVE_URI}" -LICENSE="MIT" -SLOT="0" -IUSE="seccomp" - -RESTRICT="test" - -src_compile() { - local TAGS=$(usex seccomp 'seccomp' '') - pushd src/${EGO_PN} || die - GOPATH="${S}" go build -tags "noembed ${TAGS}" -v -ldflags "-X ${EGO_PN}/version.GITCOMMIT=${GIT_COMMIT} -X ${EGO_PN}/version.VERSION=${PV}" -o "${S}"/bin/img . || die - popd || die -} - -src_install() { - dobin bin/* - dodoc -r src/${EGO_PN}/README.md -} diff --git a/app-emulation/img/img-0.4.6.ebuild b/app-emulation/img/img-0.4.8.ebuild index 00b9e9fe0d17..8c9d8c988abb 100644 --- a/app-emulation/img/img-0.4.6.ebuild +++ b/app-emulation/img/img-0.4.8.ebuild @@ -6,7 +6,7 @@ inherit golang-build golang-vcs-snapshot EGO_PN="github.com/genuinetools/img" EGIT_COMMIT="v${PV}" -GIT_COMMIT="9c9f6f6fa351ddf9afd6a39cdb1a44ab290dd6a3" +GIT_COMMIT="88f96d872335cf2746380fa87ba62fd5b63540b4" ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64" diff --git a/app-emulation/kompose/Manifest b/app-emulation/kompose/Manifest index 38fb6960e616..59e76deb361d 100644 --- a/app-emulation/kompose/Manifest +++ b/app-emulation/kompose/Manifest @@ -1,7 +1,9 @@ DIST kompose-1.13.0.tar.gz 5238799 BLAKE2B 8f51d9c4b162104636578b5b6b044060997d7c8fbd8a58fdf42d8db1e5fbce51cbfd2e010e84e80707462edc29603da3a6ac729f95873f2c84b7a43baeac8284 SHA512 6ec870f03762bde138e2c22e9b8a85a1e974897f3857f096e1fcd56bd402d1f3379936752b075ee57497e5d4f1c7c7d0c82b09d6c4e90860cc04aee434123419 DIST kompose-1.14.0.tar.gz 5238716 BLAKE2B 27c054b58d2804fcb37627652d2d48ff377504203f9319c4321fcba08e9c8dd9c41f307ff599de3b65ae9a177370322d63314b70e5cb80edf1ce071eeaf15e24 SHA512 f356f2f38c99f0ca9d8f58a4dfa171ba0c41b3127b66ab887484c3bbc76b66470fbe8f52ca3eeba700b57a86e0ff264066ee92645f71a93bfe77077655f81e97 DIST kompose-1.15.0.tar.gz 5239685 BLAKE2B fed8d978584e6f8006eac44c732476745520d28c83b122613baee24aba71723446c269b6e60197e0eec5f4e3cf481ed38756fb7c2c8840d3f885b9a790529f73 SHA512 55296b1227324e77c5febbb9a3701c8548049e8fb22b97c86e6a936024b00dcc55b7bc101469783656fdc05fdd72f8ba2282b3619e75e0f04ebe0d2446c1e245 +DIST kompose-1.16.0.tar.gz 5241785 BLAKE2B 9958b200827b70c94a499981880cc7a5d8137354205d96657d854aefebbd877e332ac3047f59e13b62dd6b9a9235d1ed83bb8b8de973d59f81906b3f376176a0 SHA512 267601ba51f5cfcbb95b9fbf52bbb99f9c810de8edb301b635a50936d7a714dc8410352ff3a4aa8819de1659a45cbb42caf5e552023cfa594a0eb8e99db57522 EBUILD kompose-1.13.0.ebuild 914 BLAKE2B 3d7a24dac2a68fda2454e96b829dd4b8bfb330939cf136283fa52fe2ee5f9636077c08cc86d1aec9495faf18a99df4659435eaa2a473833858093ee727a7ad33 SHA512 4b245704d29c8ad0fda59264a777133b92b75bdc84813280afff3740cea4f1b53bcea556f0f55548f6cef3e81f0133d9faaed35392ceaec8994450bb96abfb89 EBUILD kompose-1.14.0.ebuild 914 BLAKE2B 0136b088d67eb8856ed41190273942f699d8a1fa5867d763b40e3ad6070dde0ffd5a266bd730dd456ffabfcc335f334f1c0549696aadfefff71326f0c0615dee SHA512 709f2ea7683c4aa2011a1f618f0425eaf96eb99c7f5cd8f7c0ac5bf9451e1f1bae56d6a32fd4f3344c7fc7412b0fe75702494e9c3a2ed542aa6dc273ad88a251 EBUILD kompose-1.15.0.ebuild 914 BLAKE2B 92200964849693ad38399ec431ec8586b0a4f62df0ac2fa6186b925f81e906526a9c54eb1bd9344c7a25e32d528b0a795d577281cafcfc5c1864da90b34279d6 SHA512 82ef8d3fdcc7b80854841e2bd91a77dc76ba076c3e887c46958038e29835fea8981235aa0ed610da79ae3ba05a9f71aa80d7290661007313e9a21ee0e8282709 +EBUILD kompose-1.16.0.ebuild 914 BLAKE2B 135028b699263569332cc9e7e1d9559ac448ddcae5517505bf170a17b591a581b3513eb9d29deda4d103a93b556ddc2bc77f052b80ab4f786f7f4003254f63e6 SHA512 ad339be916fe398edd62cab08a67c47b83eb91cd91603402520609e9e3dc4218d3ed5d206f386cad75c8b0b0b0a63efc13cf1514166b1eacab9b63663a2e6231 MISC metadata.xml 328 BLAKE2B ad1e8cb1083ed13de1f3f341fdbe9bba7ba3ab4364c8c36c9e3b63f63688da6926fc6bebc9f72aada52dfac1a4834b11cb27eee04aaaae484192b8ed74214aa6 SHA512 e2091ec84a909ad6c2453bd832817461e39b7c355c28bd99c19d9e85dc4a621606c34066f596a68585c3762b6b156455ca012495c5c336b9ba929d163b923042 diff --git a/app-emulation/kompose/kompose-1.16.0.ebuild b/app-emulation/kompose/kompose-1.16.0.ebuild new file mode 100644 index 000000000000..8804d097f4eb --- /dev/null +++ b/app-emulation/kompose/kompose-1.16.0.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot + +EGO_PN="github.com/kubernetes/kompose" +EGIT_COMMIT="v${PV}" +GIT_COMMIT="0c01309fe899c587e8cb02e9c31196ee66ab5093" +ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Tool to move from docker-compose to Kubernetes" +HOMEPAGE="https://github.com/kubernetes/kompose https://kompose.io" +SRC_URI="${ARCHIVE_URI}" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="hardened" + +RESTRICT="test" + +src_compile() { + export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" + GOPATH="${S}" go build -v -ldflags="-X github.com/kubernetes/kompose/cmd.GITCOMMIT=${GIT_COMMIT}" -o bin/kompose src/${EGO_PN}/main.go || die +} + +src_install() { + dobin bin/* + dodoc -r src/${EGO_PN}/{docs,{README,RELEASE,ROADMAP,CHANGELOG,CONTRIBUTING}.md} +} diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index 0fb8cc066e16..1d7083d04d9a 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -19,5 +19,5 @@ DIST libvirt-4.5.0.tar.xz 14743956 BLAKE2B 930852765104b1b22744df0ec4f1c74d89bc0 EBUILD libvirt-4.3.0.ebuild 9634 BLAKE2B 3c3b4e444e212646c214ae782697fc6ce015285974c24c74438e241ed2435921e67f457283a72c114f6c697e9dd3c2ad862e64e33202070e4a3601b6dd51d82e SHA512 c3e74163883e4c97a234b848170a9aea0c29d0af9d06e469e98a5e688874616c05ef68dc43c01c2f7b08463ad90d9b732a317291c1460263ed2e9fb3b97e8409 EBUILD libvirt-4.4.0-r1.ebuild 9523 BLAKE2B 08efe71e6b957c611fd44c67173c103780d47b14f853c1f99fa41c5c90a211e3e48dd57fe9cc13350a364f3da9accb3ab8ba6a52328dfbebc0bfbff201a8f0f3 SHA512 91f42cbf16cf8918182e427d574dbcfaa90698715e725e60a0106b38347df21fa11dffcb3dcbd8cb7de2597e3024c14f8ad27236e9981349cac5bb5005b61187 EBUILD libvirt-4.5.0-r1.ebuild 9582 BLAKE2B d46f83fcc183d0c1e5621dc327f00fc96ad5bbcbb5c748445fb7d662a1be69481c7f7169d81eca3f96f4d6f189be528d35e6657bc7d3ac7afc364b7b74a0a106 SHA512 dbb648d799768d65ed975aed8177272f972a24358ba667d25dad1e06aec5dd9f31afe3006c1c4a399cefeced87a3533bca1ebf494d6ca388c5f4dcef2a1e2c20 -EBUILD libvirt-9999.ebuild 9538 BLAKE2B 6775030c2af741aeae1f6e54d1dcf7cdfe84b57250201f7b19e0554732e1d881b4e32b72dc571826b925c00334464013f821215ca96f4cfcd31d0ed6452a2f65 SHA512 817ad093814fb2810928ef27e98a039f96548e69bf719bd0b4121282e420560df7a4f14459d35a8b37173518aa96cc27249e776a2acac134c400d0e408395c37 +EBUILD libvirt-9999.ebuild 9544 BLAKE2B ac7c45f69d26ca59bbfcc8254f645d52bbbedf629d8c49a24d2a8cf35fec71cf9d947d4476864c2d3fc3c7046699a780cdee050b771ab9ef3084461564fe5b1d SHA512 7d8b0994e94b76efd85290e81f7d8e63a98174287e2a11d0bb5bb0259d76b10d30eed36c00772602270b5fabb0c18be23856de2fbe6d446b22518e599f9e9806 MISC metadata.xml 3766 BLAKE2B 38d8b1dfb815871ca19c35c80ab390a422e1833b6ef09c6691889d5d6c01e25bb9fb5d187231456c443cb22764583312a56ed8e1a772f810b58050752ba9f2de SHA512 10d96f652bdcf32e34ea415a37de0c3c4aae3a716403a0ca73228af640788734119cbf4ade26a450cc3cda81ef6182391a6f590a851a6834d52394b7c81c49ed diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index 7ffce4b394e3..3743f3a0b723 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -89,7 +89,7 @@ RDEPEND=" policykit? ( >=sys-auth/polkit-0.9 ) qemu? ( >=app-emulation/qemu-0.13.0 - dev-libs/yajl + dev-libs/jansson ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) @@ -263,7 +263,7 @@ src_configure() { $(use_with phyp) $(use_with policykit polkit) $(use_with qemu) - $(use_with qemu yajl) + $(use_with qemu jansson) $(use_with rbd storage-rbd) $(use_with sasl) $(use_with selinux) diff --git a/app-emulation/lxc-templates/Manifest b/app-emulation/lxc-templates/Manifest index ddeccde351a8..e1923cae974c 100644 --- a/app-emulation/lxc-templates/Manifest +++ b/app-emulation/lxc-templates/Manifest @@ -1,4 +1,4 @@ AUX lxc-templates-3.0.1-no-cache-dir.patch 241 BLAKE2B ba9fc4fe3d663384a64600977de1c5aba413e876e6ca43464b5f5986d21d5e01729c82eb1e6ea03b087644611b9fc7bf083436e467bc69e2b3779020ca287984 SHA512 504721074d9aa4c1d71e5fb5f59c8179cbb0247b6d56d7622a68a7c55a5fdd5fa25cb92199e5400457f1bf2e4bc8e2d91d5169fb02180688c7bbca655881bdb5 DIST lxc-templates-3.0.1.tar.gz 256074 BLAKE2B 8a5dab2d69fbc29e0246a0853690726c07d24e0fe6d4e761d8ec8b4559cdf285a82e17c8f4d2a6bf2355896c667000d4341511b3c5f1805a55849b4812eb7efe SHA512 cae47b670654dc6c143827d196f0477c5354cb6d81ae4028192622fb73912e8bb3b62a0a68786e9212885bb52b593c6e742cfbfefb70ec33260d599e5d5c8290 -EBUILD lxc-templates-3.0.1.ebuild 516 BLAKE2B 33bfbce343805b0a4ff0a8f154d57a89027ed83047fd27fed299c3155908a4943b89ab18ae9c84e294d8249a752b8f1bd0c5db8efa4d5de42c1913267602bab8 SHA512 9d2d40937d4a87937322538fe0a99f3f9e4364203b318c503cc0bdfaf9cff9810c7c89a54950d2b83744d49e9b795c0ad22d375e8e17ee4a15b54be095d51bc4 +EBUILD lxc-templates-3.0.1.ebuild 513 BLAKE2B 15749a19b3c24df787d3d4eb8d7f6ebf902cff1c22fe0ee4bed0eafb8b5eb53860b5ff20d54e9775ef659f4ad46e160fccbd95bc2331a3f8b167c6332585aed0 SHA512 428a61af6aba82737427a699275522f992f6aba3eb870719e298f1b7b4a24842a21a33af2b7dfbd2a0e05f78b8316224f907ddaedfa2984d0117a67f0e064025 MISC metadata.xml 446 BLAKE2B d0b14eed14b0882b35ddb982ba432f6a5a3b63fdf8bb1c926c9d0db7b9cf7757c78cccca1244cd039d0db7e52c360e99c3fc0a2e915653543d5416054fec62af SHA512 473e0a28d72d39643f91e17910481331b1732b07e4cd74bac024c8a5a933e40a838948d5a8b0bef808332eac751422f7f88ec91501f63b779763606b71696acc diff --git a/app-emulation/lxc-templates/lxc-templates-3.0.1.ebuild b/app-emulation/lxc-templates/lxc-templates-3.0.1.ebuild index 528f6b711d1d..df31caace625 100644 --- a/app-emulation/lxc-templates/lxc-templates-3.0.1.ebuild +++ b/app-emulation/lxc-templates/lxc-templates-3.0.1.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="Old style template scripts for LXC" HOMEPAGE="https://linuxcontainers.org/" SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +KEYWORDS="amd64 ~arm ~arm64 ppc64 x86" LICENSE="LGPL-3" SLOT="0" diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest index b9ce1e275878..fa83fd403c2a 100644 --- a/app-emulation/lxc/Manifest +++ b/app-emulation/lxc/Manifest @@ -4,12 +4,9 @@ AUX lxc-2.1.1-cgroups-enable-container-without-CAP_SYS_ADMIN.patch 5145 BLAKE2B AUX lxc-2.1.1-fix-cgroup2-detection.patch 856 BLAKE2B e877e8a968d059c2034a2b5c23946241a6b45172f893e313bff30a7f798e3b1440e5a1e8ee277816308fb509901b52584a44021a156a91671e299964dd69b1bd SHA512 eb0fc8dee5a59d1641e8b3024bf79be2273aa15131fd7eaee98d80585c39ddb93d8d9cfe98c7f866ab2461fe8c6c7e3c038ec1a1263a6f9b02ed323a267b87f2 AUX lxc-3.0.0-bash-completion.patch 915 BLAKE2B 8bb879e391cec349d211b47d321c64ea091c8475ac9a8c4adfb45918c044f6c49d9b9bce546082907d696f697baf0870893c4427abeafa496db89f99190cd091 SHA512 2f3728fcf5e88eecc1ae05bf038ef83baa375194c5bef0d0ef68feaf4d8092cdd8efef6b3c27207c4abd28b085f087af517242c65747b47d0a8fa840f6b9d279 AUX lxc.initd.7 3468 BLAKE2B 37b0d044594f1c66631f991315e49c4ceea4640bf6c459e6bba713fb76ef9a8ee1fcbc49da68bd0f1e2929cf9904e0113a3b321166f7c3d360fcebeab6665e5a SHA512 c5841cff7d8b58d4283a26719e8a5db1be2c4add0f31065393b863b6626460180d91632106bc50cde4d3e74ae46a57d581fa1f01140dfa95522aba12277f9eaa -AUX lxc_at.service 232 BLAKE2B 12dd7142330cbaeda69d5f4c6ef14dae6ab435d2668e4a3279d8d54dac05f54a877afdc1705aa5a18db1855d6bcf68518f86431aa5105058598e97604fe00133 SHA512 4c3bab4f2cc9aea8b0753dcaf2fd7ed5f1cd7d97d286d6204b2fc17505b6edaac2f536bbda5c1466856311d0e93d75de91dec51e9b0f665d67afedbf40c19170 AUX lxc_at.service.4 265 BLAKE2B 4454528e69a5c986c23c0c4ccc10ebe03a0650e47cd30208355d2f4a70a4cb46392473eccddd736988f1b72954948876601aaf99977d8e6014a7c774a416160f SHA512 d61e7103e90e6ffb3202533e7d7555d8c02b943f06ec6c0d673713c1c0ede58641312c65d6dd6a15907c1171522e6148c2313d7b11acbd85d59fe65758cd52b3 DIST lxc-2.1.1.tar.gz 1378640 BLAKE2B 5fca516540a886729434579ff99acf3baa06977fa0e0b6f24dbf15094626335fc073597d308276e3dd20e27ceabf1477cc8e99d1fd24cf50b9aed2720b887b69 SHA512 2989d57acddfe091adcf8031721c3c9a2f8eff5476bd6155366b76ea7511e0f6120e669276e056e3963863e0f0acf3b095d44c36fa6652e67c197671f28cbdd4 -DIST lxc-3.0.0.tar.gz 1233316 BLAKE2B ba726a07f48b1d32366012c8d885a853e33f88d8c45c910b061d9deecf472d940f7d45a1e742c8194517ba3231e1875a49bbf303b2c3fd2c9ece33b941670bb7 SHA512 21372e6fe4d38e2cf54707fab4133137793deff1dd500ed7ed02c03bbaa809de56c7490971594cddbdcb2b96f0c03ab5dfb43a8582a584598a12c5943b7ca490 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 5139 BLAKE2B 680faa18d1cc190114b57463edbef7a6d74a3656c5a8189212b39245243299dbd64832163de7505629c77914b7526b6bee8cae16a9ad22e8bad27d040b6a8abb SHA512 75ac0fc7c240581991ea7b27b3aa3bc31f08861cca2cd715e4c44397451c1df2ebf969133fd3b805e9a71cf756b2bd6101cfd96070708543be611719d5b1f271 +EBUILD lxc-3.0.1.ebuild 5136 BLAKE2B 3e439cf609c87cbd2d88e0d9c646b64998f072a7cc2c04b0e5f5537d0297d9f0d66ff39e184d03a8828fec5f32ea959b76bb5b4c9471d546102bceee46577329 SHA512 1f02404f7d8ad22bb7517d0ed25987ce1ef73034736f6a1d2f7ff2b804d1be8ae712545575725736a9ac4019e316629b43bed0e21ebe60e5ed094334840c67fa MISC metadata.xml 670 BLAKE2B 1318dc9a17178a46375589bcc92685e1a49146cd7384e36d996e675875a55c8402e2a037546dadd2ce1399557b77366f03179d8ef51cdbe106e9b27c3f3dbff9 SHA512 c1d3d15e52953b8dcd280c90d73467258cdf41d6f6505f231c0c031f40b0a467147798651bb327b498dd4ac694783441896584941a0c05d34e45af8dc9c6db70 diff --git a/app-emulation/lxc/files/lxc_at.service b/app-emulation/lxc/files/lxc_at.service deleted file mode 100644 index 1ef449775306..000000000000 --- a/app-emulation/lxc/files/lxc_at.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Linux Container %I -After=network.target - -[Service] -Restart=always -ExecStart=/usr/sbin/lxc-start -n %i -ExecReload=/usr/sbin/lxc-restart -n %i -ExecStop=/usr/sbin/lxc-stop -n %i - -[Install] -WantedBy=multi-user.target diff --git a/app-emulation/lxc/lxc-3.0.0.ebuild b/app-emulation/lxc/lxc-3.0.0.ebuild deleted file mode 100644 index 4122c2e8599d..000000000000 --- a/app-emulation/lxc/lxc-3.0.0.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools bash-completion-r1 linux-info flag-o-matic systemd readme.gentoo-r1 pam - -DESCRIPTION="LinuX Containers userspace utilities" -HOMEPAGE="https://linuxcontainers.org/" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz" - -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" - -LICENSE="LGPL-3" -SLOT="0" -IUSE="examples pam seccomp selinux" - -RDEPEND=" - net-libs/gnutls - sys-libs/libcap - pam? ( virtual/pam ) - seccomp? ( sys-libs/libseccomp ) - selinux? ( sys-libs/libselinux )" - -DEPEND="${RDEPEND} - >=app-text/docbook-sgml-utils-0.6.14-r2 - >=sys-kernel/linux-headers-3.2" - -RDEPEND="${RDEPEND} - sys-apps/util-linux - app-misc/pax-utils - virtual/awk" - -CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE - ~CPUSETS ~CGROUP_CPUACCT - ~CGROUP_SCHED - - ~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 - - ~POSIX_MQUEUE - ~!NETPRIO_CGROUP - - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS - ~!GRKERNSEC_PROC - ~!GRKERNSEC_SYSFS_RESTRICT -" - -ERROR_DEVPTS_MULTIPLE_INSTANCES="CONFIG_DEVPTS_MULTIPLE_INSTANCES: needed for pts inside container" - -ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" - -ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" -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." - -ERROR_GRKERNSEC_CHROOT_MOUNT="CONFIG_GRKERNSEC_CHROOT_MOUNT: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_DOUBLE="CONFIG_GRKERNSEC_CHROOT_DOUBLE: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_PIVOT="CONFIG_GRKERNSEC_CHROOT_PIVOT: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_CHMOD="CONFIG_GRKERNSEC_CHROOT_CHMOD: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_CAPS="CONFIG_GRKERNSEC_CHROOT_CAPS: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_PROC="CONFIG_GRKERNSEC_PROC: this GRSEC feature is incompatible with unprivileged containers" -ERROR_GRKERNSEC_SYSFS_RESTRICT="CONFIG_GRKERNSEC_SYSFS_RESTRICT: this GRSEC feature is incompatible with unprivileged containers" - -DOCS=(AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt) - -pkg_setup() { - kernel_is -lt 4 7 && CONFIG_CHECK="${CONFIG_CHECK} ~DEVPTS_MULTIPLE_INSTANCES" - linux-info_pkg_setup -} - -src_prepare() { - eapply "${FILESDIR}"/${PN}-3.0.0-bash-completion.patch - #558854 - eapply "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch - eapply_user - eautoreconf -} - -src_configure() { - append-flags -fno-strict-aliasing - - # I am not sure about the --with-rootfs-path - # /var/lib/lxc is probably more appropriate than - # /usr/lib/lxc. - # Note by holgersson: Why is apparmor disabled? - - # --enable-doc is for manpages which is why we don't link it to a "doc" - # USE flag. We always want man pages. - econf \ - --localstatedir=/var \ - --bindir=/usr/bin \ - --sbindir=/usr/bin \ - --with-config-path=/var/lib/lxc \ - --with-rootfs-path=/var/lib/lxc/rootfs \ - --with-distro=gentoo \ - --with-runtime-path=/run \ - --disable-apparmor \ - --disable-werror \ - --enable-doc \ - $(use_enable examples) \ - $(use_enable pam) \ - $(use_with pam pamdir $(getpam_mod_dir)) \ - $(use_enable seccomp) \ - $(use_enable selinux) -} - -src_install() { - default - - mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die - bashcomp_alias ${PN}-start \ - ${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,wait} - - keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc - rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed" - - find "${D}" -name '*.la' -delete - - # Gentoo-specific additions! - newinitd "${FILESDIR}/${PN}.initd.7" ${PN} - - # Remember to compare our systemd unit file with the upstream one - # config/init/systemd/lxc.service.in - systemd_newunit "${FILESDIR}"/${PN}_at.service.4 "lxc@.service" - - DOC_CONTENTS=" - For openrc, there is an init script provided with the package. - You _should_ only need to symlink /etc/init.d/lxc to - /etc/init.d/lxc.configname to start the container defined in - /etc/lxc/configname.conf. - - Correspondingly, for systemd a service file lxc@.service is installed. - Enable and start lxc@configname in order to start the container defined - in /etc/lxc/configname.conf. - - If you want checkpoint/restore functionality, please install criu - (sys-process/criu)." - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog -} diff --git a/app-emulation/lxc/lxc-3.0.1.ebuild b/app-emulation/lxc/lxc-3.0.1.ebuild index a13e4267ee57..8c26d2c163c9 100644 --- a/app-emulation/lxc/lxc-3.0.1.ebuild +++ b/app-emulation/lxc/lxc-3.0.1.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="LinuX Containers userspace utilities" HOMEPAGE="https://linuxcontainers.org/" SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +KEYWORDS="amd64 ~arm ~arm64 ppc64 x86" LICENSE="LGPL-3" SLOT="0" diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index e6f75e1bf3fd..8bdf568e3249 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -51,7 +51,9 @@ DIST github.com-syndtr-gocapability-db04d3cc01c8b54962a58ec7e491717d06cfcc16.tar DIST lxd-2.21.tar.gz 882352 BLAKE2B 80542bcc03c05667ee0207dfbfd2bf41c5a6ef69178aec06ad62fe3521ed012ed9b82c68c0254e0299e8e1dfd274a0622f32bde730480a950ab6ba15ddae5f4b SHA512 9a8ec3a97e4c861a80311dbdecbf5a485c0af85d6ba6b20680ca17e6ac877de3f27cfdcf0a111ba0db2b7c562dfe2f41336b562b7c13350c4543505b3c17357e DIST lxd-3.1.tar.gz 27979442 BLAKE2B 0b74e3f76a7ab835b042b52b469a6fe11e7077d567e0658d13fab2192fd25d99518d65ba319c981a2e4677319e280cccae26f70ef99e9911264dc028ca5628fd SHA512 61f64d08dd80f7f676f386912f4dfc0d0af38cce0287de7865123b9da667b54ab91d22b76ffe03480e04ae0fbd8dc837d7d519d0e34409377c3d7e6624bf636c DIST lxd-3.2.tar.gz 28183660 BLAKE2B 9aabc9fd0bd66d3b4e0178448a65ca39c69e4e7a14d01309e0e023501de1c17b2b7887a9da5b84fcfde27db3f521cce3451beace9955232da9bd5e5136bc0043 SHA512 82c37e87d75e328a29b1f2876a24fedec43a253bb72f3ea55fa9cdb928d11947eda723a01e758f90ef77ed4492f86ec6dd5f1f88240d05e771d926dfdc9888fb +DIST lxd-3.3.tar.gz 28414680 BLAKE2B 7f3eecf400761548935e6e3c81d894379cd667ffbe6d8ef67a7dd3ad4f1c13846f524fcefc4cdc306674fb990706bda0b2c4ef390f320c41561fa86cf610586c SHA512 ed5d792c1080f2be7f48f34051fbfa28d138b4ccb5405edb13cd630776ec34312da491a1881f77dddbe1a121e589b44952e73ce1e61f2cba72243f3b8f4c0177 EBUILD lxd-2.21.ebuild 7883 BLAKE2B f933f15dd551c335bbe7cf95a9dbe35f4b272ff720e7aa080f984705e899e5da47c4e6f0617860896467bcec481a50591f6f3c0f731f1f2ff2df0178aaaf8882 SHA512 27167d7c8a2dc7aa988016cbb90bd3ae272732a709d8938ae3b77ffbacf12b818df27bf1ddaec9c3372403ad1380dcc7b9df6f8bce237742d02fb881b60aa552 EBUILD lxd-3.1.ebuild 5334 BLAKE2B 14511c25eb06a4c72ea07c3f297aaec32c9d1dd78248620c6f8326f1b74fe23bf4b149041ad23381c8d196da2a3872b83da53255c98234263b9de39618bfb739 SHA512 f7e998cbfaa91ce34eda0e1694091a51da236dc5d82e10380f66484c0c1454dd852ad5af605e8280a9f03c30aa35292c88014d9393b5a9a29ce12d24ff1831fb -EBUILD lxd-3.2.ebuild 5378 BLAKE2B 400bea1de1cd22ab422a89bcbbd7449b7009f0fbf756d1fa578133c7b9c7de3804cc01d725ace16c6063f04fe18816fc28f6eb688437ef1173c70d929ddb882a SHA512 c26e49f6a8e242e5ed3be12a9e4a0f5a68e60471f98c5338460bd4b290093504a5d6afc8535d0989da310cddc48c3d0dfc5c00a417261ca08b7bda7d3fe07511 +EBUILD lxd-3.2.ebuild 5377 BLAKE2B 504f1656d7e12e51651198100973e398ceab70c04fcce54c98e5086f3358c60a87c916130d2ed1423a1578c91a0dcea9aa653c139790c7b754d9d7c70f454867 SHA512 2ae8e8837c1ab9694c3aaf6495252567bdaa866ac6b4b6781e1bb9e7790069ab29855d1280a9cd277c5b09312c3dc81d4c4127bee004848060350bccdf772262 +EBUILD lxd-3.3.ebuild 5443 BLAKE2B 6e73f0272c1415f7f17224bd610644be5489d87c7aee4addb054abf67d0619d848a8160864331afd1b6110480cccfef27b6aa631071539fc704a6ea9f9672394 SHA512 ba13c312f9f0dc9aca75119c1246fd7ceb97a6ffe5fdc95ee3e611ab027efe5e2fc57d0e40f32952e44a15e91a4bc3798a19b142135e31e9a334e6e076a6a030 MISC metadata.xml 966 BLAKE2B ea90426aa76918bdf1d5a90d07ad3626990cce2d7161f104a0793121aecc0430750c0e1df5fe973d1304dd6d1077b98345d489989875d1a83c54185ded58fe60 SHA512 4f95b628aa3467ba6213758bfacdd8d41922307d11c51bee12ad3cdff568ac095a0147976a913bacfa4625cc9e6d5f101c68f1077d7d8acac663c06d4411d1e7 diff --git a/app-emulation/lxd/lxd-3.2.ebuild b/app-emulation/lxd/lxd-3.2.ebuild index 1f0f3db33a23..473f52df5378 100644 --- a/app-emulation/lxd/lxd-3.2.ebuild +++ b/app-emulation/lxd/lxd-3.2.ebuild @@ -8,7 +8,7 @@ HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="+daemon +ipv6 +dnsmasq nls test" diff --git a/app-emulation/lxd/lxd-3.3.ebuild b/app-emulation/lxd/lxd-3.3.ebuild new file mode 100644 index 000000000000..16a412be6a96 --- /dev/null +++ b/app-emulation/lxd/lxd-3.3.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="Fast, dense and secure container management" +HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" + +LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="+daemon +ipv6 +dnsmasq nls test" + +inherit bash-completion-r1 linux-info systemd user + +SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" + +DEPEND=" + >=dev-lang/go-1.9.4 + dev-libs/protobuf + nls? ( sys-devel/gettext ) + test? ( + app-misc/jq + net-misc/curl + sys-devel/gettext + ) +" + +RDEPEND=" + daemon? ( + app-arch/xz-utils + >=app-emulation/lxc-2.0.7[seccomp] + dnsmasq? ( + net-dns/dnsmasq[dhcp,ipv6?] + ) + net-misc/rsync[xattr] + sys-apps/iproute2[ipv6?] + sys-fs/squashfs-tools + virtual/acl + ) +" + +CONFIG_CHECK=" + ~BRIDGE + ~DUMMY + ~IP6_NF_NAT + ~IP6_NF_TARGET_MASQUERADE + ~IPV6 + ~IP_NF_NAT + ~IP_NF_TARGET_MASQUERADE + ~MACVLAN + ~NETFILTER_XT_MATCH_COMMENT + ~NET_IPGRE + ~NET_IPGRE_DEMUX + ~NET_IPIP + ~NF_NAT_MASQUERADE_IPV4 + ~NF_NAT_MASQUERADE_IPV6 + ~VXLAN +" + +ERROR_BRIDGE="BRIDGE: needed for network commands" +ERROR_DUMMY="DUMMY: needed for network commands" +ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" +ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" +ERROR_IPV6="IPV6: needed for network commands" +ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" +ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" +ERROR_MACVLAN="MACVLAN: needed for network commands" +ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" +ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" +ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" +ERROR_NET_IPIP="NET_IPIP: needed for network commands" +ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" +ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" +ERROR_VXLAN="VXLAN: needed for network commands" + +EGO_PN="github.com/lxc/lxd" + +PATCHES=( + "${FILESDIR}/ja-translation-newline.patch" # https://github.com/lxc/lxd/pull/4572 + "${FILESDIR}/de-translation-newline.patch" +) + +# LXD tarball is packaged with a nice "dist" folder containing all dependencies +# that were vendored by upstream at release time. That saves us the trouble of +# vendoring the dependencies ourselves. This is why there was this drastic drop +# in ebuild complexity compared to pre 3.0.0-r2 ebuilds. +src_compile() { + export GOPATH="${S}/dist" + + # We don't use the Makefile here because it builds targets with the + # assumption that `pwd` is in a deep gopath namespace, which we're not. + # It's simpler to manually call "go install" than patching the Makefile. + # + # ABOUT "-tags libsqlite3": we used to link to the system's sqlite3 library + # but since v3.0.0, LXD depends on github.com/CanonicalLtd/dqlite which + # at the time of this writing, depends on patched version of sqlite with + # replication capabilities added. We don't have that patch in dev-db/sqlite. + # Therefore, we let LXD use its own private copy of sqlite. + go install -v -x ${EGO_PN}/lxc || die "Failed to build the client" + + if use daemon; then + go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift" + go install -v -x ${EGO_PN}/lxd || die "Failed to build the daemon" + fi + + use nls && emake build-mo +} + +src_test() { + if use daemon; then + export GOPATH="${S}/dist" + # This is mostly a copy/paste from the Makefile's "check" rule, but + # patching the Makefile to work in a non "fully-qualified" go namespace + # was more complicated than this modest copy/paste. + # Also: sorry, for now a network connection is needed to run tests. + # Will properly bundle test dependencies later. + go get -v -x github.com/rogpeppe/godeps + go get -v -x github.com/remyoudompheng/go-misc/deadcode + go get -v -x github.com/golang/lint/golint + go test -v ${EGO_PN}/lxd + else + einfo "No tests to run for client-only builds" + fi +} + +src_install() { + local bindir="dist/bin" + dobin ${bindir}/lxc + if use daemon; then + dosbin ${bindir}/lxd + dobin ${bindir}/fuidshift + fi + + if use nls; then + domo po/*.mo + fi + + if use daemon; then + newinitd "${FILESDIR}"/${PN}.initd lxd + newconfd "${FILESDIR}"/${PN}.confd.1 lxd + + systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service + fi + + newbashcomp scripts/bash/lxd-client lxc + + dodoc AUTHORS README.md doc/* +} + +pkg_postinst() { + einfo + einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information," + einfo "including a Quick Start." + + # The messaging below only applies to daemon installs + use daemon || return 0 + + # The control socket will be owned by (and writeable by) this group. + enewgroup lxd + + # Ubuntu also defines an lxd user but it appears unused (the daemon + # must run as root) + + einfo + einfo "Though not strictly required, some features are enabled at run-time" + einfo "when the relevant helper programs are detected:" + einfo "- sys-apps/apparmor" + einfo "- sys-fs/btrfs-progs" + einfo "- sys-fs/lvm2" + einfo "- sys-fs/lxcfs" + einfo "- sys-fs/zfs" + einfo "- sys-process/criu" + einfo + einfo "Since these features can't be disabled at build-time they are" + einfo "not USE-conditional." + einfo + einfo "Be sure to add your local user to the lxd group." + einfo + einfo "Networks with bridge.mode=fan are unsupported due to requiring" + einfo "a patched kernel and iproute2." +} diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 043e112dd12e..7eda6ddb3e02 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -2,6 +2,7 @@ AUX 65-kvm.rules-r1 120 BLAKE2B a0d95f60e48f80e5f00b3a7ef3b520861fb781868844aff7 AUX bridge.conf 454 BLAKE2B 2f3e828a001ac77de96c8a11e3fc462149e1c16972c28b8367659c2896b7c3dd147e978ef6401b280fc3474bc959bee50f65d7525bee8bc04c19bc657ba7e22f SHA512 a907ee86b81a1b61033bb7621ded65112504131ef7b698c53e4014b958ee6fc79e66f63069015a01e41362cb70a7d0ed26dd9a03033cf776f4846f0e1f8f1533 AUX qemu-2.11.0-glibc-2.27.patch 1481 BLAKE2B 513430c8c3d10d3e9ec2d16bf95013fc639266a73d7e9d1d285a9daa62cb2567212b167d07235c4d6df31c63d48a4924d180bbcc568f60dc2f042f7087dd7eb0 SHA512 b3fe1d933f43e4a545e3aa6bce024d38b4431fa854cfa2342888875d0735a0a3171a00da2032238da9dc3b7a1ad4fc456a8d5b469394e2de1eea79b0957cbb7c AUX qemu-2.11.1-capstone_include_path.patch 264 BLAKE2B 955b498c0ea2657ee4c9d0054a32693ac2096232ae8358848fa8518bcb87c1cce5d9145ccf560320ba53d60ae8ed85f6be801b72707a964b247e8f1f1844f9cd SHA512 ebf1d6450b7c499a8e490b19f87a3b4f8bbc50ea44edaac8c12b0993947513a8b616af2d4cf6240c8e265824a44463f917333ffa510e6ffedf379921e28fc3ab +AUX qemu-2.12.0-aarch64-simd-fix.patch 1362 BLAKE2B 4899fe348b602f0f9544af5cd40fc0409007230e2fc44816c4d046ac8c35bcb71c9bdf5e8dc5e148601d6d9e2a9014fa07d7ad17942ab945c4b676290f1370fa SHA512 7b1dca7c49a140f3347c1bffa0ff64ada9b5ee47a1bc23ebde78171547f49d1e2a6dab0abd6068bb6788ce388d514e524f6d9f77c2fe213c6c9461f61f6e157f AUX qemu-2.5.0-cflags.patch 410 BLAKE2B 1d072b5dd00369bb565b30c2aa7047de92b441bf103faadb5dd42daf36ad1c5e39c5bdfdc2b5f2bb0bfec2ea1255b4182caeb467614a487f5cfcb341109a4884 SHA512 0194d28de08b4e51c5bd1c9a2cc7965ba7f66dfddb8fd91de3da93677e6cf2d38ad3270f69aaea8a20cf2533c2980018d6e0fed711be2806fe2053fba7c081f3 AUX qemu-2.5.0-sysmacros.patch 333 BLAKE2B 8c38410c6ea789f669d89c7321cdc9e5c734bb3db332272657302977241f157b04fb07e27bda4f67ee560e39a7494344ad79616835e6ff483927f2b72ed9c597 SHA512 329632c5bff846ca3ffcdb4bc94ae62f17c6bdbb566f9bec0784357c943523e8ca7773790b83a9617734cab3b003baa3d636cbd08f7385810a63b0fa0383c4f0 AUX qemu-binfmt.initd.head 1445 BLAKE2B 5762a38034331a13e308f6fc8cb979e38ae01a053691726edfc1d99e1bca1698919ad564a593e018308f1fd00e2f887865fd9db157d8de83941295bc47c1db6c SHA512 a735268ae9ac84d8f2f2893bf018ee6de33231fa94a823bd8502b529bb456635c1ab5cf9b440df5ede8e414291f8bf45fc53898c2f3939c50d5ec4ffa554396a @@ -12,5 +13,6 @@ DIST qemu-2.12.0-patches-r5.tar.xz 5536 BLAKE2B 751a0fd7a6dd2433542dbfc8a1c9726f DIST qemu-2.12.0.tar.bz2 41196232 BLAKE2B f258e570558249ea647c3571908f90b8bacdcef9a1814009b98571cf0e96406194d44aa041fd0a97c9b673f39a9eaae8d873824745509778a6784cd85f8398b0 SHA512 91d829f44c431e4c1cd335f3efea5afff9da62d832b0296a92417463ea0826d09ce226c2ea8ac167fe7b99b6bb976c7cb1357aaf17735ee57af6602161e46346 EBUILD qemu-2.11.1-r2.ebuild 23622 BLAKE2B cd2249a4ae34c67ccadfce510e9def671a147d0eb921db68b02d0a5d13ff45548cdbfcca1dd086be1436bed77ddec3c9215139ed361c485fbd5e87de7177177d SHA512 af5677ff0fd37b77305b41f963767cceff6d4dd5074eefc2239447607e64587464f3fb989c3cee7110c65c1aecabd29b47ab48bfee25705007a9edffac533af5 EBUILD qemu-2.12.0-r3.ebuild 24023 BLAKE2B d97adb9b86903c3b4a414c7f4a61bae69e79882d1a2723c2bedc0d874cd6b465a780cb002373e5dfbb9be3642e6c9b9b6e90b3b3aa08e9d36671e16938b23a34 SHA512 e662d443129692f3abc55a90911fbe40c2bafbe8d1679803b580b51a3b450353eae692948bce1f94cef329c44f02579f483c57d31e472d87773b76fe80ef67ff +EBUILD qemu-2.12.0-r4.ebuild 24076 BLAKE2B e4f21949247f7f2abc076bca7f049132dca38ed13911ed991440b5c5127f87729cc9d6791e09fdd492487a7e9ad26416dce5924873d8830e79af6dd6ced92f57 SHA512 7c6cfa3ff4f844762d956b142f23354235969efb7ef4f8bf4aa24cb1002fe393f5b3ef6a1472cc2f90497b3aa70c60ce8f4fcbbeae8f9c59cc7a52e0bc2a3530 EBUILD qemu-9999.ebuild 23895 BLAKE2B b1745b293f65ebe366c82794e7fd106a5270ee25321220d7f3fd85eff9743cc3c13118fd06c017c7f349029016a5c617550a85ab69b1013ecd277db0b03b9153 SHA512 93a979ac66de5761a1a98313a7cda346afc904315eb2f503e9efb21c2179a8ac6c53ce60d3a2b8017610925f96ef18e7d4f7c080ffdbb69f95ca0d2cfbbfb2b5 MISC metadata.xml 4014 BLAKE2B e3ef3f3da149b756119932e7796ba2daf3327a841776dc64476730f33345e6a10abd45d8a52a45f1881f052d43902c0a6de0f3df02219ab9f8b5ce1fec12b635 SHA512 fd582b65e3eecacef5447b787fb465565fceb84a7fda9cd7079e5ae5b2ef4183ff7cd3187a5e751900bea6877fdda8e8357c792eef5431e76c4d672eb631481b diff --git a/app-emulation/qemu/files/qemu-2.12.0-aarch64-simd-fix.patch b/app-emulation/qemu/files/qemu-2.12.0-aarch64-simd-fix.patch new file mode 100644 index 000000000000..c8b8a02354cc --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.12.0-aarch64-simd-fix.patch @@ -0,0 +1,36 @@ +From: Richard Henderson <richard.henderson@linaro.org>
+To: qemu-devel@nongnu.org
+Cc: Jason@zx2c4.com,
+ qemu-stable@nongnu.org
+Subject: [PATCH for-3.0] tcg/i386: Mark xmm registers call-clobbered
+Date: Sun, 22 Jul 2018 18:29:41 -0700
+Message-Id: <20180723012941.16920-1-richard.henderson@linaro.org>
+X-Mailer: git-send-email 2.17.1
+
+When host vector registers and operations were introduced, I failed
+to mark the registers call clobbered as required by the ABI.
+
+Fixes: 770c2fc7bb7
+Cc: qemu-stable@nongnu.org
+Reported-by: Jason A. Donenfeld <Jason@zx2c4.com>
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+---
+ tcg/i386/tcg-target.inc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c
+index e87b0d445e..a91e4f1313 100644
+--- a/tcg/i386/tcg-target.inc.c
++++ b/tcg/i386/tcg-target.inc.c
+@@ -3532,7 +3532,7 @@ static void tcg_target_init(TCGContext *s)
+ tcg_target_available_regs[TCG_TYPE_V256] = ALL_VECTOR_REGS;
+ }
+
+- tcg_target_call_clobber_regs = 0;
++ tcg_target_call_clobber_regs = ALL_VECTOR_REGS;
+ tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EAX);
+ tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EDX);
+ tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_ECX);
+--
+2.17.1
+
diff --git a/app-emulation/qemu/qemu-2.12.0-r4.ebuild b/app-emulation/qemu/qemu-2.12.0-r4.ebuild new file mode 100644 index 000000000000..6ece9e3bd0a2 --- /dev/null +++ b/app-emulation/qemu/qemu-2.12.0-r4.ebuild @@ -0,0 +1,819 @@ +# 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} ) +PYTHON_REQ_USE="ncurses,readline" + +PLOCALES="bg de_DE fr_FR hu it tr zh_CN" + +FIRMWARE_ABI_VERSION="2.11.1-r50" + +inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ + user udev fcaps readme.gentoo-r1 pax-utils l10n + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="git://git.qemu.org/qemu.git" + inherit git-r3 + SRC_URI="" +else + SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd" + + # Gentoo specific patchsets: + SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r5.tar.xz" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" +IUSE="accessibility +aio alsa bluetooth bzip2 capstone +caps +curl debug + +fdt glusterfs gnutls gtk gtk2 infiniband iscsi +jpeg kernel_linux + kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png + pulseaudio python rbd sasl +seccomp sdl sdl2 selinux smartcard snappy + spice ssh static static-user systemtap tci test usb usbredir vde + +vhost-net virgl virtfs +vnc vte xattr xen xfs" + +COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel + mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x + sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" +IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} + lm32 moxie ppcemb tricore unicore32" +IUSE_USER_TARGETS="${COMMON_TARGETS} + aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus + tilegx" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + gtk2? ( gtk ) + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + sdl2? ( sdl ) + static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio !snappy ) + virtfs? ( xattr ) + vte? ( gtk )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the external library. +ALL_DEPEND=" + >=dev-libs/glib-2.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + dev-libs/libxml2[static-libs(+)] + x11-libs/libxkbcommon[static-libs(+)] + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bluetooth? ( net-wireless/bluez ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + gtk2? ( + x11-libs/gtk+:2 + vte? ( x11-libs/vte:0 ) + ) + !gtk2? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + ) + infiniband? ( + sys-fabric/libibumad:=[static-libs(+)] + sys-fabric/libibverbs:=[static-libs(+)] + sys-fabric/librdmacm:=[static-libs(+)] + ) + iscsi? ( net-libs/libiscsi ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + ncurses? ( + sys-libs/ncurses:0=[unicode] + sys-libs/ncurses:0=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl,gbm] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + rbd? ( sys-cluster/ceph[static-libs(+)] ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + !sdl2? ( + media-libs/libsdl[X] + >=media-libs/libsdl-1.2.11[static-libs(+)] + ) + sdl2? ( + media-libs/libsdl2[X] + media-libs/libsdl2[static-libs(+)] + ) + ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:= ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] )" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-2017_p20180211[binary] + ~sys-firmware/ipxe-1.0.0_p20180211[binary] + ~sys-firmware/seabios-1.11.0[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre8[binary] + ) + !pin-upstream-blobs? ( + sys-firmware/edk2-ovmf + sys-firmware/ipxe + >=sys-firmware/seabios-1.10.2[seavgabios] + sys-firmware/sgabios + )" +PPC64_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-1.11.0[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-1.10.2[seavgabios] + ) +" + +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + dev-lang/perl + =dev-lang/python-2* + sys-apps/texinfo + virtual/pkgconfig + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + gtk? ( nls? ( sys-devel/gettext ) ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.5.0-cflags.patch + "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch + "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${PN}-2.12.0-aarch64-simd-fix.patch + "${WORKDIR}"/patches +) + +STRIP_MASK="/usr/share/qemu/palcode-clipper" + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a <USER> kvm +then have <USER> re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requres a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +pkg_setup() { + enewgroup kvm 78 +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +handle_locales() { + # Make sure locale list is kept up-to-date. + local detected sorted + detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) + sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "PLOCALES: ${sorted}" + eerror " po/*.po: ${detected}" + die "sync PLOCALES" + fi + + # Deal with selective install of locales. + if use nls ; then + # Delete locales the user does not want. #577814 + rm_loc() { rm po/$1.po || die; } + l10n_for_each_disabled_locale_do rm_loc + else + # Cheap hack to disable gettext .mo generation. + rm -f po/*.po + fi +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + # Alter target makefiles to accept CFLAGS set via flag-o + sed -i -r \ + -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \ + Makefile Makefile.target || die + + default + + # Fix ld and objcopy being called directly + tc-export AR LD OBJCOPY + + # Verbose builds + MAKEOPTS+=" V=1" + + # Run after we've applied all patches. + handle_locales + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --libdir=/usr/$(get_libdir) + --docdir=/usr/share/doc/${PF}/html + --disable-bsd-user + --disable-guest-agent + --disable-strip + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + --enable-docs + $(use_enable tci tcg-interpreter) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser bluetooth bluez) + $(conf_notuser capstone) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_notuser seccomp) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh2) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser virgl virglrenderer) + $(conf_notuser virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + ) + + if [[ ${buildtype} == "user" ]] ; then + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts="oss" + use alsa && audio_opts="alsa,${audio_opts}" + use sdl && audio_opts="sdl,${audio_opts}" + use pulseaudio && audio_opts="pa,${audio_opts}" + conf_opts+=( + --audio-drv-list="${audio_opts}" + ) + use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) ) + use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + pax-mark m */qemu-system-* #515550 + emake -j1 check + emake -j1 check-report.html + fi +} + +qemu_python_install() { + python_domodule "${S}/scripts/qmp/qmp.py" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + cat <<EOF >>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + echo ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dohtml check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" + emake DESTDIR="${ED}" install + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" + dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + # PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + rm "${ED}/usr/share/qemu/sgabios.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + rm "${ED}"/usr/share/qemu/pxe-*.rom + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + fcaps cap_net_admin /usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} diff --git a/app-emulation/vagrant/Manifest b/app-emulation/vagrant/Manifest index f94619a99b4a..12da8bfb2a13 100644 --- a/app-emulation/vagrant/Manifest +++ b/app-emulation/vagrant/Manifest @@ -3,6 +3,6 @@ AUX vagrant.in 1872 BLAKE2B 9a5f7f98d1aa0713b2e9777b8d4b5d01f7fc23068c7d920e5117 DIST vagrant-2.1.1.tar.gz 1204711 BLAKE2B 88a6254091104eed702e07a4203a264b883869fb028b8d30fd51ddfc2053aec363683a2e73d1454ce92b705440920d5c80c0f967e4dc110bf425ce17973efccd SHA512 6cc82b4c33b196fce2bc460447afd152e53c3c17b45db5d80958ff631f6747c386b625ff26e3d8830a88b2feca82d550ad1de32e7c7607dffb25960af43092f5 DIST vagrant-2.1.2.tar.gz 1218801 BLAKE2B 742f27ca6c28c9738c09ef61c742be07121b5a804fa401115520633e5840c62c8e879fae078c5532704f6f6f7d7a9081d48e3f7570cfe6e6dd84f8df244a34ae SHA512 d9a2612697842885d23d1a9a452ef9d8b03defa4e6f7a808725ac7c3a87300affcfdd89ee3a42334259601e19f1e56bfd86a5aa7b404eac26bc22dcfd4a57751 EBUILD vagrant-2.1.1.ebuild 2075 BLAKE2B 412016e151348fa62e3f94376a81e7c3420c70ac0dfbe8796314a5e2db27a9929c90087ca4e6ed56ef74bb9895ae7fdedc60ea4d5161ffac5c7727604c2ecd40 SHA512 1da7a6a487a76f98bf41da3f99312c1046ee98f36ce2fa3375d3284378c92feb01ab26539e4676d542f64cc2efe39d8f0f1a736072720c3d6ded73752c0992af -EBUILD vagrant-2.1.2-r1.ebuild 2085 BLAKE2B b3a07bb29f54786bd9b7393e5deef15b0e15c089809eddd87d09ae68e281aaf39079371e568f09ba6ff517893d0fcb1615cdc2aa8cf05c5ff632c9fda1e64fb6 SHA512 77ed7e9942fad7c94b7fe4d625135da0a82f3372d9344a8ac257542f17fb7c1fc39a06283ffe11fe4dae3c6d51031a97e4b88b6d29cd521c1839591261943bc9 +EBUILD vagrant-2.1.2-r1.ebuild 2357 BLAKE2B 069cdcd2ef93186b0c6c00e75d675f2cdbb62fb43964e8a653237ad5a811221b64409200d624255618398755112d42a7ece2258182deef4205cf96a89ae247ec SHA512 726d646c291ecd830fcbf6b7ca83ab53faac323d5ea1e75e0b32a975034416f407593abe8f5b9690c0784f3903ec75fc61e08b898ba176752f530fb3c871cca6 EBUILD vagrant-2.1.2.ebuild 2075 BLAKE2B 412016e151348fa62e3f94376a81e7c3420c70ac0dfbe8796314a5e2db27a9929c90087ca4e6ed56ef74bb9895ae7fdedc60ea4d5161ffac5c7727604c2ecd40 SHA512 1da7a6a487a76f98bf41da3f99312c1046ee98f36ce2fa3375d3284378c92feb01ab26539e4676d542f64cc2efe39d8f0f1a736072720c3d6ded73752c0992af MISC metadata.xml 526 BLAKE2B ccdcda8f6095d1efa5a66bd3ef549d1039c719a4aaaa89efa2e776f466e38602f636d0d538a235a29bf0a5ea581bde659d4a77b6b4231da4c51e06913269aaad SHA512 784f97e3a9e96beba6afb232c46e6c42fe318b471125e48926363d9aec430ff4d37d74c82d2ee4efd1e036f89de2fe37415121dbbdd050a56954ba12d666b328 diff --git a/app-emulation/vagrant/vagrant-2.1.2-r1.ebuild b/app-emulation/vagrant/vagrant-2.1.2-r1.ebuild index c41ac30accbd..77b5794d5670 100644 --- a/app-emulation/vagrant/vagrant-2.1.2-r1.ebuild +++ b/app-emulation/vagrant/vagrant-2.1.2-r1.ebuild @@ -41,8 +41,12 @@ ruby_add_rdepend " <dev-ruby/mime-types-3:* " +# upstream specifies rake>=12 but it apparently doesn't need something this +# recent. Because vagrant builds fine with rake 10 and because stabilizing rake +# is tricky, we specify a lower dependency requirement here. This way, we'll be +# able to stabilize vagrant sooner. ruby_add_bdepend " - >=dev-ruby/rake-12.0.0 + >=dev-ruby/rake-10.0.0 " all_ruby_prepare() { diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest index 2377d389ee43..c8cf07f356fb 100644 --- a/app-emulation/virtualbox-additions/Manifest +++ b/app-emulation/virtualbox-additions/Manifest @@ -4,6 +4,6 @@ DIST VBoxGuestAdditions_5.2.14.iso 57978880 BLAKE2B de5cb3c5b7e2f3ee018588308573 DIST VBoxGuestAdditions_5.2.16.iso 57976832 BLAKE2B 78c8d71e2a68306efaf2951d73099b7199e15d83d9fc2c70f73266fdf59798948b22815234a5e30eff43471fcb8a5967c74a439d79b5ed47971dd170498145de SHA512 f25bf8ce789f640e5a80ac55c5d1918702bfed711aeacddc951948dcb56a4aa43a5a4e8760e3b8cc6e18eee18eabff032dd8fff8b95cc18bc60177b0a481b592 EBUILD virtualbox-additions-5.1.36-r1.ebuild 729 BLAKE2B f792450477b1a6b5689018926bce6a30608b288db6a9f546ea52bbc2dd463ba1c71c5dbe4a4970bce3a7dd3d92d6b9fa1e30ffc288f7a4597214021b6bacbde9 SHA512 3d90155e5c821b4831a31a154cbb7fcc31dd2b88637853b5dc8c3393158f555d1b6c3b5bff1856b363b12cd6e6ee039e08dec1aace2751ad618aa719dfef7074 EBUILD virtualbox-additions-5.1.38.ebuild 731 BLAKE2B 4784dde2f78825df471f012b87a1af33b1de8c1ed38771f9063eaf03fd186b3410c373012044884107fc9645ad97ccabcb80643215a02754d357fb4b58c68309 SHA512 e0b2b41a355e2d46efbc4205bf7721fe0d8647e479200e93ebc1576b5cbfc1609a4dc35b215798006a53e45908908f75366919226b05527b6cad7647d06b03db -EBUILD virtualbox-additions-5.2.14.ebuild 715 BLAKE2B 62ab7ae8b0a0fd236b4ca76a01948c1e5cd55def6e61983e73e7270e5cf45a7e679157bb9b0dd82c6fdd159d0a4d03d24beebc3b5c0ba24a3e225b65d52c9340 SHA512 92ad5b98e63888de898eaa86042fcd306b9a97502dac4805da502cff8e0462828200c09cbc59ad110508527ca830a288e311d15917410b42fdc7729ac2b2f49d +EBUILD virtualbox-additions-5.2.14.ebuild 713 BLAKE2B a15e47b3d4c380d7fcf8c10a9bef4a16ccb0c34e0cad6fcdc7ccbbe20bb6a869a3d9906f98169219e7b6e6e77fc1f18d93859c133fe50dfae34899ddbbf9de44 SHA512 4898ace6d451998c593dffcbaf841c7e6b0944d96e364bde9c301d600f00dd8c0037e96bc0b42c4d0e5f5e5a35d1eb7ed1f8260541505ba8cf88cb17e9fb0e26 EBUILD virtualbox-additions-5.2.16.ebuild 715 BLAKE2B 62ab7ae8b0a0fd236b4ca76a01948c1e5cd55def6e61983e73e7270e5cf45a7e679157bb9b0dd82c6fdd159d0a4d03d24beebc3b5c0ba24a3e225b65d52c9340 SHA512 92ad5b98e63888de898eaa86042fcd306b9a97502dac4805da502cff8e0462828200c09cbc59ad110508527ca830a288e311d15917410b42fdc7729ac2b2f49d MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-5.2.14.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-5.2.14.ebuild index 93e9fc9b6d49..34d1dfef14cd 100644 --- a/app-emulation/virtualbox-additions/virtualbox-additions-5.2.14.ebuild +++ b/app-emulation/virtualbox-additions/virtualbox-additions-5.2.14.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="" RESTRICT="mirror" diff --git a/app-emulation/virtualbox-bin/Manifest b/app-emulation/virtualbox-bin/Manifest index 901f92df117f..6c1794466a48 100644 --- a/app-emulation/virtualbox-bin/Manifest +++ b/app-emulation/virtualbox-bin/Manifest @@ -22,6 +22,6 @@ DIST VirtualBoxSDK-5.2.14-123301.zip 10154044 BLAKE2B 273219029c59ffd685fffb7e14 DIST VirtualBoxSDK-5.2.16-123759.zip 10158952 BLAKE2B 66140092c221b998919a3840745e2ae58671b65f1db774ddb6691d085e95a35cdfa1e939a84cb032e2f67bd4485bd8f940f5db6d3712569942cbcc2a0f1bf234 SHA512 2b735016ea99e94317876f2e845cf94dd845bf51a86b42e938cae4bee003483f6061a7d89150f3d1fe5b84970a4fa83ae5bed7acf6570b849df5258efc8eb38f EBUILD virtualbox-bin-5.1.36.122089.ebuild 8381 BLAKE2B 16a4aed3c9ae0fe4621fd97d30ce46808ff7c56783dbc27e2a4c2e6a6a1f290506d71659ad98c4def219d75789ff6f7f66c8d79ff90d2285ca0e1fceec14635a SHA512 a5cd6523a8a08b64f7d60ebd00d56576c7dbb33dbde06dee28b56ae1a31648a3155b7a1f3c3a739e71fa824d427c33b74ccd31dc1fb3520256b759c0e79dd193 EBUILD virtualbox-bin-5.1.38.122592.ebuild 8383 BLAKE2B 0f07fa4a3383dde55f6ee12bebcbc44da33f96c498dd58eacd8dc1fd19bded41f720be5400e2ad9dcd01d80752a9825f89b68ca610105362d1eeffd9e2395c85 SHA512 96ac84742f050251faf70537d768654a21dd9f918ec282ca229f5490071e9d0aa7dd3dda3121bf39534f0f1547b039f1f138a15b1d5fd4b85bf5d82d79df216b -EBUILD virtualbox-bin-5.2.14.123301.ebuild 8332 BLAKE2B a7ca997e4da4bd000ab990d0aad48c32ab87806d82ddff744c16c9a1d1351f94fe76d640f74cded7caa66925e985a0a8e5930e9266dd67de522d5ec65a212a13 SHA512 907d13a5a2008872f3a336532064c297253f53877198ae95531f06bdc823d789d91d88c2d0a3e6a3c3fba9dd7209512b0805ecaeeec741f3b828acbc3ba2d59e +EBUILD virtualbox-bin-5.2.14.123301.ebuild 8330 BLAKE2B 6eb8f7e32b98ebede7cfe40e8dc4cfaaa91937b0a119226828b06edd207703981570eda551c78295d5cc78c65338c806ce5ceaa158fe7a219037e8af41753c47 SHA512 e7efb17b49257d1d0a4cec26bf229013e46aae6076dbeef0238faf21f84b81f7223e9986a3c6107ccb202a7aeeaa97ed8ac40d787d5e5e22ba9c8b06bfaae24e EBUILD virtualbox-bin-5.2.16.123759.ebuild 8332 BLAKE2B a7ca997e4da4bd000ab990d0aad48c32ab87806d82ddff744c16c9a1d1351f94fe76d640f74cded7caa66925e985a0a8e5930e9266dd67de522d5ec65a212a13 SHA512 907d13a5a2008872f3a336532064c297253f53877198ae95531f06bdc823d789d91d88c2d0a3e6a3c3fba9dd7209512b0805ecaeeec741f3b828acbc3ba2d59e MISC metadata.xml 599 BLAKE2B 2af2e738880f4fb9b684baa124df483d90548177fc8f5a8223dc13a5c96a3bf7f84754a41c4d2bd5821140dd2479874b4d7c8b99b04a83febc5027f4370fb70f SHA512 4306caf88c97be9f63238727dd70ad834011dc33650aa809eaf4ac285febecd7604dc030b285a31167ecb338434fc68eff011528533cda53acdd72ad6a5b5aa0 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.2.14.123301.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.14.123301.ebuild index 424d6d96060f..308c711876e1 100644 --- a/app-emulation/virtualbox-bin/virtualbox-bin-5.2.14.123301.ebuild +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.14.123301.ebuild @@ -34,7 +34,7 @@ SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_am LICENSE="GPL-2 PUEL" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" RESTRICT="mirror" diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest index 89be27bc8841..d726d77d7a26 100644 --- a/app-emulation/virtualbox-extpack-oracle/Manifest +++ b/app-emulation/virtualbox-extpack-oracle/Manifest @@ -4,6 +4,6 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.14-123301.tar.gz 19589209 BLAKE2B 3 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.16-123759.tar.gz 19588810 BLAKE2B 51fb01ace72f6bc3f0e1ab6804c44ca44463ad24986af08b79c41bb06f43776c9f022d1766d07a4f9a47615119963636cad52d8f7d7bcc9f5e58f51c093f0bcd SHA512 8dfadb83111226a7bbc522d1caf16327051d76ee9382cb62281df5735f87d0e26994dd38a279027dae27c0371120bf95066d5260e79003c5a8982710579ecbce EBUILD virtualbox-extpack-oracle-5.1.36.122089.ebuild 1087 BLAKE2B 6c233d604a66c0abd454b537e5d374210a83e8a6a1cff28ab07d78af52fd94385f7eda46c9efa320b53f2deb2f6baf6d3581a0ab56bac91e841f074585d5d3c5 SHA512 ce18fe7011e3d6942d4718617d2d1218d19e50bc8fa80e03db4c78a2d16739a6dedee75de58bfaea6a28b45010cc26c8fda09d85ead4e69f229911c5a7f61e05 EBUILD virtualbox-extpack-oracle-5.1.38.122592.ebuild 1089 BLAKE2B 89bfe2611b6f560d44f12abc203e9f3fabdd0ded2c9c6c6315509c989897b71acffa3fa0c33cdc3feb51ffcdcfe3a8daff0dedf13d2360a1f447328978f45673 SHA512 714732f55a0ed46ce33a89a0170247be72d06f0832ef0a0d5adc282a560111842d77898096fb768a63acb26e8e96962d0ede3555bc13aa6ad5985f611f3de8bb -EBUILD virtualbox-extpack-oracle-5.2.14.123301.ebuild 1010 BLAKE2B 476281386029dc67f5ee851d33a3f35902e7afc90a216fde7f611af20d2445cf53d6d2e356b9334e7db9861a5ea53c1cb5b0b14aa029094a6e162c1fe291875e SHA512 4ec9f04169e5b60ccd2020d888fe0340c921afa363d4484c075aeaa02693906ad0983c0c1836cc80f6f8eb0da3b875e0c4186fe76a75d8e7262dc3a0fdf7eece +EBUILD virtualbox-extpack-oracle-5.2.14.123301.ebuild 1008 BLAKE2B 5f2de91f90e5eb060a0eb3982b676ddf8956ed2cd730686740198bb5836f373949064c7db28cc699a00f2e40a643fd662bb9b3217bb61dc19ed343589856fb46 SHA512 ac29c2a036b7fdb9088a3ff1d77f1148f6ef8e05783e667b616bfb4243cf6a8f082b282ce76aea06296af56605c65f4c9429de6e5cfed71f905e4b619516e2a5 EBUILD virtualbox-extpack-oracle-5.2.16.123759.ebuild 1010 BLAKE2B 476281386029dc67f5ee851d33a3f35902e7afc90a216fde7f611af20d2445cf53d6d2e356b9334e7db9861a5ea53c1cb5b0b14aa029094a6e162c1fe291875e SHA512 4ec9f04169e5b60ccd2020d888fe0340c921afa363d4484c075aeaa02693906ad0983c0c1836cc80f6f8eb0da3b875e0c4186fe76a75d8e7262dc3a0fdf7eece MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.14.123301.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.14.123301.ebuild index d46e764cf177..dfbdffec4d55 100644 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.14.123301.ebuild +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.14.123301.ebuild @@ -25,7 +25,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpac LICENSE="PUEL" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="" RESTRICT="mirror strip" diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index cc3e11207691..96166e4bbcd8 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -13,6 +13,6 @@ DIST virtualbox-5.2.12-patches-01.tar.xz 2616 BLAKE2B 5731484d185414d83588ee227b DIST virtualbox-5.2.16-patches-01.tar.xz 2952 BLAKE2B 1d23d83bdb4d9576d402b67cc81d4427c5fe9163550d2817546382e1c1087000553d4a9a864f2527a909f52ce389105bcfe5518b5407de1299c7d2a62ee3cc21 SHA512 88c21583c51ae8e22e5fd3f08baae686045e884883153e2e365c35ba19f2773d5964c523a4ad3777fe30ca96bf76fab8819e09beeadf8350193041bff783893d EBUILD virtualbox-guest-additions-5.1.36.ebuild 5995 BLAKE2B c34c1d3e312781ad4a4a390f12e4986ee197a690f5875f829bf3e87fa7a0741d5eb2c08f506d9a5b43590ea762eb26cf516db591a1b55a2f27e5c36f8fc313e8 SHA512 068ae5ecd8aa8e9f30f5272f1a1f58f8da92b78ee0f62784e335ebcbd63605b34d6654bbb35b16d4b4572bce75478827de217aeacc062bfdd7e206d7d38c7bb6 EBUILD virtualbox-guest-additions-5.1.38.ebuild 5997 BLAKE2B bd1110242825d9eccfa7235ce8de8fafd720610652dee85169f9e14c4fa6c806619736ab8db2b4f8041aef0a7fe0c6fa8dcd7a49a488287d8b0677b099894494 SHA512 b28006deb4ebe0bb199296262dec479bafc5a02c239116f2e3da9cf8198aca5fbbb281f6679b8415d3a0ffb88e3e42de4f71b808b2f0c38203af66cdebb36683 -EBUILD virtualbox-guest-additions-5.2.14.ebuild 6030 BLAKE2B 958d03973c922d1012f46631741fbad9d76374b70d2145a2ae388edbb57dbdc40ae1177351b22890fa169e66898dbd3d60cadf391f3c380c2dd814251c68fd2c SHA512 0896bf89ab514354ec6ea50ba528332a4f12e0feed2b18856accc0dc3a5e02f6a1d10912fb076d660bbe9464df7b385b7c6f32daf581f45294b10269ddf2f644 +EBUILD virtualbox-guest-additions-5.2.14.ebuild 6028 BLAKE2B dc97a2c0a9f8f610ba8b2e5708138ba566d4aaeab741f119919f81955375dbf81ecaf5094046a89f8fd7f588cc3a9fee043ceffcd5ffb067411223f954955844 SHA512 7ae738ffc57edb72d11cfc9131c82456c76497ad4b1d8424b1e32ac14c3686bab2ac7f8132fa05ea73394d7e6a1444574ef739dbffae3a0cecfcfc9030042764 EBUILD virtualbox-guest-additions-5.2.16.ebuild 6072 BLAKE2B 82dd3e0a88c0d4295eea1be44adeddf553459f799b62af523ff624eb3362d75ba524615bf770fb51b59c007ee86e5cf2db6806975ca384916e1308b6d22d8696 SHA512 7901c8bccce613faa42b2b34209a69940cd323a2b5e98a3fc79d9211c46fa74f1c8d707c0693584de7d47d803890c6bad601fb47e1e5c108132c058b2a10c505 MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild index f5c54e455f53..f5deb742885e 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="X" RDEPEND=" diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index 2f8b88a6c16a..8ac13e63e62c 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -9,6 +9,6 @@ DIST vbox-kernel-module-src-5.2.14.tar.xz 637352 BLAKE2B 7ccefbb13f25fe995e0f769 DIST vbox-kernel-module-src-5.2.16.tar.xz 638172 BLAKE2B 80a27100bb0be97796f03b368c589965d476e6d0c79424b94a5100561dc84bc2baf28b271a744b7b4ad53e015fb463faf2871d24596fafc83c80ccbe16087730 SHA512 35169a46ca9018f169b25359c0f4bf658622d71ea284768912bf0a8d2ac34ecec94f5dc774f77f0c02d1b83363faad53158baac7423f588deedfe8073a1e56a3 EBUILD virtualbox-modules-5.1.36.ebuild 1431 BLAKE2B 9ea7afbf141d43d3c6a22d5bb934bddb1c67a6afa69d65ac905df930cde73d5c8b921b11f4954e3577b6b63a1b1c156d23c97c9aaceeb2fd51be75d81df1d936 SHA512 e5becf1d7298567966b7653b73e3245a9db59b3eca1659890b004d8116a1c150e8c7042a81bb7fd9c0757328895dfe12c39baee9a49375110903d83f6422c988 EBUILD virtualbox-modules-5.1.38.ebuild 1350 BLAKE2B abf66852d4f907de436721b8c8f06dfd3c3676a0676d6e569147e01aced9b6f5492c9e9a2ddaee5798b38aba0fbc8d812179427d8eb7c45e732ef9093542d40f SHA512 e09b4178d5e20260cdd59597c514a4cc7d78b8caa8e126248f213f3bb4a665762216f07076efb6e81b822920a80c09979a94df11a952488397ced662f8862108 -EBUILD virtualbox-modules-5.2.14.ebuild 1199 BLAKE2B 467a7073743e16f5efb3e1a68402bad71bbe6afef8c9ae9f56e2029ea4d517eeafc46576e8149899f8c63cd6fee30e1e20d179006174714309eb4eab29bbe431 SHA512 67ca645212bd521d7655e38c390d346299ecf13e7485e7a269fe1891eebcdccf98c02cd4832ba563c449a9dbf3b11e9d242b1a2c5be6bc7bfb741282186087f5 +EBUILD virtualbox-modules-5.2.14.ebuild 1197 BLAKE2B ea60276403c90846417bbf24cd2df6bccc67403900987e07697bcdb0a4801422690a7e413be9e87fe2be93eec4fa491d50e4fe1c3035145725bf432738cb0e86 SHA512 cfc1fec4a8fbc000bb40cdc68f66ab7f6b0da91d956fabd462e44fcb7ba7dd2a22b798a8cc129d9abd492d1f04e994da2ab1680467a6d94fa1b23f90381ef548 EBUILD virtualbox-modules-5.2.16.ebuild 1199 BLAKE2B 467a7073743e16f5efb3e1a68402bad71bbe6afef8c9ae9f56e2029ea4d517eeafc46576e8149899f8c63cd6fee30e1e20d179006174714309eb4eab29bbe431 SHA512 67ca645212bd521d7655e38c390d346299ecf13e7485e7a269fe1891eebcdccf98c02cd4832ba563c449a9dbf3b11e9d242b1a2c5be6bc7bfb741282186087f5 MISC metadata.xml 353 BLAKE2B d7de13b3a8966ab3bca54ae77f7f6c7dfd57f2c5941f09ab1b5f79ac798687ffaaa183afdf9c034a9d50fda8507a3aaa2ef0c11d0fdfa6e09a55a1bdb9f30f4a SHA512 40029c9a246dde5ed51119f42ec5448b7ae08a47ee4d6be201fef282305c809d7d3182abf807dd2444ffe1a980abcd670878567d948bcd3661a55c6848a37000 diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.14.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.14.ebuild index 89e331b6d043..83434a84f929 100644 --- a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.14.ebuild +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.14.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="pax_kernel" RDEPEND="!=app-emulation/virtualbox-9999" diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 83f4464a1de3..7662eb9124b2 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -19,6 +19,6 @@ DIST virtualbox-5.2.12-patches-01.tar.xz 2616 BLAKE2B 5731484d185414d83588ee227b DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450 EBUILD virtualbox-5.1.36.ebuild 13795 BLAKE2B b988e0db6a107ae6f5f736dd42472e6d3484c5ca99834039156eeb72ef399bc17e06a0d635cd993070450132e4fe847aa0d3b3d4b300cc5fc35507034f4f1fc1 SHA512 5d0cd2e29ebc2603deca6ededf55db38c087a5ecd0245a131fdbc52ea00b293da8f741fb1a44677b39259932930485c27821ea9205ff391011541688f014c01f EBUILD virtualbox-5.1.38.ebuild 13797 BLAKE2B efbb490230e3ed1468a397ba3257334bbfa7274e609f2d2c9b454e5f98458c6c78bdda845bf227edc59fda60afe92a0ac3d0e07473619166292c30453ca7c9a9 SHA512 e201534862e708eab0088e08b92b524db3723d6c2a4153507b7f760d45d4f85bb2bf4823d145ecebe7fc12ad06790a2b612e9efae7fa85de950a3147e58fd45b -EBUILD virtualbox-5.2.14-r1.ebuild 13841 BLAKE2B 214d86ba21c8885d3e93641423557017b442b3ed19b9effe2247b0ac7df03d47184068430a97dcefd2ff23c4cea2fb9b0a2298a37538b6a09a47a4d84083d1f2 SHA512 060ecf17a73b3f3a6c45044ffcb1419459e307c6775b15e46368138120d024e2f53bae36da2634293d4922c3bcc416418b980af132001f6b8cbb31e7a0d7b278 +EBUILD virtualbox-5.2.14-r1.ebuild 13839 BLAKE2B 22507a4802ef4e0f8f50e622dbd0bde33ec66e23e968caa3ab22f965f9411aedeeac6fbc4ce716d7c6d48cafc4df89f30274a0ffedb05cfc86c1d230454cca4f SHA512 e0e58c4249c6b62b95f64f190217955ce4bba0b4998084fd3cfa0f5ece4466ecdb9df8084c9baf766d88ae873352dd3adaea354d86fe1bfe71d663c20072195a EBUILD virtualbox-5.2.16.ebuild 13908 BLAKE2B 400edf7c47f640eadae99e040afdc8fbf5bca74765998da8cae05f20cc5890b3630e4ec6d18fb7b3d12caa4286f28b96afba901bd833945f9c14b148aed632b9 SHA512 69cc9c884a3080d9b2604779c571d754224ab8ccb8f2ce3aa7bce9032a716c8669576403fc228d67e8057cb2d87c806de65c4d9392e57992d0c6db40e41560a4 MISC metadata.xml 805 BLAKE2B 6ff816d3f6e3f51eef32f3695c7892d5be15dbd544fb384404c1409f5297df60383b3f956166230a6f6f7094647093cd4c08b3258017e0513504d74f785788f4 SHA512 5f13d0dd36d8bd45ef142c23a9a60128e31b4f40b388fee30e465100c1ee61172db4d1888dc93363f145181cab40f56ce9ae7c14b8d9f3cc91f076be86099eea diff --git a/app-emulation/virtualbox/virtualbox-5.2.14-r1.ebuild b/app-emulation/virtualbox/virtualbox-5.2.14-r1.ebuild index 25b19f71be1c..d2a03ffef0d5 100644 --- a/app-emulation/virtualbox/virtualbox-5.2.14-r1.ebuild +++ b/app-emulation/virtualbox/virtualbox-5.2.14-r1.ebuild @@ -17,7 +17,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="alsa debug doc headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" RDEPEND="!app-emulation/virtualbox-bin diff --git a/app-emulation/wine-any/Manifest b/app-emulation/wine-any/Manifest index 92ae92497591..79515f1f5417 100644 --- a/app-emulation/wine-any/Manifest +++ b/app-emulation/wine-any/Manifest @@ -14,6 +14,7 @@ DIST wine-staging-3.13.tar.gz 9936353 BLAKE2B f5791c6f1bc43395860ea938cfadefe88e EBUILD wine-any-2.0-r1.ebuild 20915 BLAKE2B 7ff1002e303dd2a083267fbf24e4b6cb0e3ff620d6bbf78b8fb15d66fb4d11669812233f1edeea0f46e75b9a0c8a9e63244aa4bebb594b95d158d55fc2506e6d SHA512 8e1bd0d4391f1e9336f9c39ce46d97f921f70cae75d961bc8fe8c7ec6c51bbba621c19a3171f0c351ce6e038d37a7f9a73f6f0bb4622f176e5a994e4a989b2e7 EBUILD wine-any-3.11.ebuild 20850 BLAKE2B 602ff47811c6b486aa28f338d6b8838b303ee9b0078b6d7b775cb62c2fa3bb864ac9c4ee39122be4c4a8f40de72b512e701fe8ec83ab27463a7df4c7c5fe6b67 SHA512 0240bfd7bb01322ed053118fd3a65cec336493e33ecbb8f5db10505e8500a50b4136e2d323ce7af3a58c53396e2c7635203fddef21343924007e59c519ee8820 EBUILD wine-any-3.12.ebuild 20957 BLAKE2B d31df15a6217a94c2ca9b0a6f377dc41d39d400bdc3c67a5d7b45274085b1ce6a362630a7f1fce1100d5500d2ca79042a00faff7e64213eb03d4b18067bc2686 SHA512 dfb9c90b227a78cbd939268e65ae2641bdc06d5e7b1b80d97b707c30cd9b962a2eeb1c2651eb05bbb6284ec2b42791d066dac6d469301d597529f3d2860d46b1 +EBUILD wine-any-3.13-r1.ebuild 20957 BLAKE2B d775aef9f6fb05ecd1ed7e1d0500a4e31839a0290a9372663f636babdc859237b8b44e64e1de0b8b80bfded2cb8cf472471ca99a3142c0fa248c6122adb5f7a5 SHA512 191c03e280fdaf8c3a371d65f5cd3540c02264f4d52665d3c5f150160f95f0bfaa73760f1ee4fb2a0c31b52461a4ea4297d2d205a13ff41f01480c32f5341d60 EBUILD wine-any-3.13.ebuild 20957 BLAKE2B d31df15a6217a94c2ca9b0a6f377dc41d39d400bdc3c67a5d7b45274085b1ce6a362630a7f1fce1100d5500d2ca79042a00faff7e64213eb03d4b18067bc2686 SHA512 dfb9c90b227a78cbd939268e65ae2641bdc06d5e7b1b80d97b707c30cd9b962a2eeb1c2651eb05bbb6284ec2b42791d066dac6d469301d597529f3d2860d46b1 -EBUILD wine-any-9999.ebuild 20957 BLAKE2B d31df15a6217a94c2ca9b0a6f377dc41d39d400bdc3c67a5d7b45274085b1ce6a362630a7f1fce1100d5500d2ca79042a00faff7e64213eb03d4b18067bc2686 SHA512 dfb9c90b227a78cbd939268e65ae2641bdc06d5e7b1b80d97b707c30cd9b962a2eeb1c2651eb05bbb6284ec2b42791d066dac6d469301d597529f3d2860d46b1 +EBUILD wine-any-9999.ebuild 20957 BLAKE2B d775aef9f6fb05ecd1ed7e1d0500a4e31839a0290a9372663f636babdc859237b8b44e64e1de0b8b80bfded2cb8cf472471ca99a3142c0fa248c6122adb5f7a5 SHA512 191c03e280fdaf8c3a371d65f5cd3540c02264f4d52665d3c5f150160f95f0bfaa73760f1ee4fb2a0c31b52461a4ea4297d2d205a13ff41f01480c32f5341d60 MISC metadata.xml 3938 BLAKE2B 229f46077b9df226c74b9001708696aec52d9d52cc14707caae883e6a8d4e16c7cb50cba84caa6c17ff13ff26d3bdc1327630dd03263922c0ca1e79922e8614c SHA512 c3c2d969dae75796e689395def7e18cd3c7988b6fee62841757a616f288a05117ea2fded37d71a5cbbe1fb59df8ff888a764230c218fcf98f2b9ae84e320d07d diff --git a/app-emulation/wine-any/wine-any-3.13-r1.ebuild b/app-emulation/wine-any/wine-any-3.13-r1.ebuild new file mode 100644 index 000000000000..8d4e1a7fbcf3 --- /dev/null +++ b/app-emulation/wine-any/wine-any-3.13-r1.ebuild @@ -0,0 +1,640 @@ +# 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 ffmpeg +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + ffmpeg? ( staging ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging )" # 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}] + ) + ffmpeg? ( >=media-video/ffmpeg-4:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + themes? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:4.7.3 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-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 ffmpeg) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with v4l) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + use staging && myconf+=( + --with-xattr + $(use_with themes gtk3) + $(use_with vaapi va) + ) + 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 6380a95584b1..8d4e1a7fbcf3 100644 --- a/app-emulation/wine-any/wine-any-9999.ebuild +++ b/app-emulation/wine-any/wine-any-9999.ebuild @@ -138,7 +138,7 @@ RDEPEND="${COMMON_DEPEND} !app-emulation/wine:0 dos? ( >=games-emulation/dosbox-0.74_p20160629 ) gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:4.7.1 ) + mono? ( app-emulation/wine-mono:4.7.3 ) perl? ( dev-lang/perl dev-perl/XML-Simple diff --git a/app-emulation/wine-d3d9/Manifest b/app-emulation/wine-d3d9/Manifest index 74a5c76b96b3..c004776dd067 100644 --- a/app-emulation/wine-d3d9/Manifest +++ b/app-emulation/wine-d3d9/Manifest @@ -10,6 +10,7 @@ DIST wine-d3d9-3.13.tar.gz 50546 BLAKE2B 2773503ad2c952c47982258c8b7d7486b5822bf EBUILD wine-d3d9-2.0-r1.ebuild 18408 BLAKE2B d076c6114c7a8044803c22cc9e3b2ade886c2c5fe95f476fcb69558058733d1e75f178a956ebd5fde2c753690cc120df3c3161293af97031043d59a5f4ba4e7c SHA512 c6e0d90d32af5981ab83093680c0119c39c0843d818672270a83e9d40c5cf368641818fc8e82f29c7de07759cfc18d94990f400564987693c17bd24acb18f413 EBUILD wine-d3d9-3.11.ebuild 18573 BLAKE2B 8bc4d2359a4652beaee2ac1b7b459ad03408f2c0d2ff9145ff3889ffa5660797d8378f9e73c612e923d5121ba5af79b5f85fc2d4e81f0129033e5c6147e264c1 SHA512 8558b0e5c6f06bdbca8f26c9a47c9e0befba46a0a80282a90911e416f5b21f2f08a1299a0b4919ae701df1e5ad1db541d50058e3b55b03744e9643c1f1b96c46 EBUILD wine-d3d9-3.12.ebuild 18573 BLAKE2B 8bc4d2359a4652beaee2ac1b7b459ad03408f2c0d2ff9145ff3889ffa5660797d8378f9e73c612e923d5121ba5af79b5f85fc2d4e81f0129033e5c6147e264c1 SHA512 8558b0e5c6f06bdbca8f26c9a47c9e0befba46a0a80282a90911e416f5b21f2f08a1299a0b4919ae701df1e5ad1db541d50058e3b55b03744e9643c1f1b96c46 +EBUILD wine-d3d9-3.13-r1.ebuild 18573 BLAKE2B 2a0d981c8d827a908d74231224893a08216b35aa92985c7dfafe9a09029be4fa323cd899c3f2c0db407ceeb861a49343e5ed00d002ec09e358ed3c28ccafe2ef SHA512 1a561075c0193b47fb6debd8f4a70985635ca1580b87d4367668a2ee6f8278e3af8a15f47fd1b0e0a61e03ab14c2a8f68bbb69678efcfa3f8414bfc4121ec34c EBUILD wine-d3d9-3.13.ebuild 18573 BLAKE2B 8bc4d2359a4652beaee2ac1b7b459ad03408f2c0d2ff9145ff3889ffa5660797d8378f9e73c612e923d5121ba5af79b5f85fc2d4e81f0129033e5c6147e264c1 SHA512 8558b0e5c6f06bdbca8f26c9a47c9e0befba46a0a80282a90911e416f5b21f2f08a1299a0b4919ae701df1e5ad1db541d50058e3b55b03744e9643c1f1b96c46 -EBUILD wine-d3d9-9999.ebuild 18573 BLAKE2B 8bc4d2359a4652beaee2ac1b7b459ad03408f2c0d2ff9145ff3889ffa5660797d8378f9e73c612e923d5121ba5af79b5f85fc2d4e81f0129033e5c6147e264c1 SHA512 8558b0e5c6f06bdbca8f26c9a47c9e0befba46a0a80282a90911e416f5b21f2f08a1299a0b4919ae701df1e5ad1db541d50058e3b55b03744e9643c1f1b96c46 +EBUILD wine-d3d9-9999.ebuild 18573 BLAKE2B 2a0d981c8d827a908d74231224893a08216b35aa92985c7dfafe9a09029be4fa323cd899c3f2c0db407ceeb861a49343e5ed00d002ec09e358ed3c28ccafe2ef SHA512 1a561075c0193b47fb6debd8f4a70985635ca1580b87d4367668a2ee6f8278e3af8a15f47fd1b0e0a61e03ab14c2a8f68bbb69678efcfa3f8414bfc4121ec34c MISC metadata.xml 3320 BLAKE2B bbf5e79928f29d124d8a7dd947aa42fdf690d0d7f8905a0e0f43185b7026d4dde787809844ce230c3ab285a3c476c807973b899589d0d383931c96c9f1d54966 SHA512 14e380383fa5345cbd6c5366456f8d122c7bccbf54db863945e5c7673457f29f97e629ec3538030bd991f254d0262045a2d97a467cb100e80e1989728ba65c96 diff --git a/app-emulation/wine-d3d9/wine-d3d9-3.13-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-3.13-r1.ebuild new file mode 100644 index 000000000000..11b99cc481cc --- /dev/null +++ b/app-emulation/wine-d3d9/wine-d3d9-3.13-r1.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.3 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-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-9999.ebuild b/app-emulation/wine-d3d9/wine-d3d9-9999.ebuild index 76dbf2536327..11b99cc481cc 100644 --- a/app-emulation/wine-d3d9/wine-d3d9-9999.ebuild +++ b/app-emulation/wine-d3d9/wine-d3d9-9999.ebuild @@ -122,7 +122,7 @@ RDEPEND="${COMMON_DEPEND} !app-emulation/wine:0 dos? ( >=games-emulation/dosbox-0.74_p20160629 ) gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:4.7.1 ) + mono? ( app-emulation/wine-mono:4.7.3 ) perl? ( dev-lang/perl dev-perl/XML-Simple diff --git a/app-emulation/wine-mono/Manifest b/app-emulation/wine-mono/Manifest index c06680b5fdf5..689d57518359 100644 --- a/app-emulation/wine-mono/Manifest +++ b/app-emulation/wine-mono/Manifest @@ -1,7 +1,9 @@ DIST wine-mono-4.6.4.msi 45592064 BLAKE2B 30099b7f02276e47e350a96af07bf64b43c857b3b3323d0cab85864b753e9810c0d7b5d496e2f53f5b2c3a434eb440a19f9928707c4127303aa0335928e39097 SHA512 1d50df5d4d000998c74fbee79b8ffc691d88ee3b34db9fd7124e0df68d6f84768ece489ac8c3f5f3141c2073c8666b93ae23ca6cd652a6542a821df3d1b66b6d DIST wine-mono-4.7.0.msi 64625152 BLAKE2B 9c533d9f9a5cec6aefa66ed916e88f0a03ab76e8292f112a669208c5b26855a314657c9950993a205941cd314f0c93a55f621ed71ebb4846a66d30fa9af3c855 SHA512 07cd2b26f3bfe6fc796a126b83e9c0aa655d3e8152af536ae2e8ae419013742706ddae6f93cc2341c94a2f3b8ae7d1b27d12f891d371928189291428f9ed877c DIST wine-mono-4.7.1.msi 56470528 BLAKE2B b1b9dd832f725cb70b80889c08db524540c389c4eb8c990415f0c1b4a17274fc96390808c943bd0ff42c79f4bbb376b3d599d31ed42b5ebcb4be79dbc273eeec SHA512 d47f21fa3ddb31522366056a2062cf7b77eec0a12f96dc05326561c9d2604405128441ff40d1b9567a6e6cd1c19ee03444d2ba02dd3b8dd2d150030dfb52f765 +DIST wine-mono-4.7.3.msi 56470528 BLAKE2B 59397f851bd0883f060fd359228fcdedea5a32ce06349fd563411dfa603a6c8700496111821fd9e571cfd4586e829acb12321528a4a8330d1fb6f92855482225 SHA512 d51c0e21c8448a4d11c3e4fd530bda340cc93cd420080e08aadd7b704183dcadf8553b0937e02c7a54a8a2fb46a395718a3e807b85f19936b0e4ee7b92052dfe EBUILD wine-mono-4.6.4.ebuild 504 BLAKE2B 1a454ab2e605655328cc00e7ae539b83fcb8f3f3efca9e4873cb5b9c7036e71e696005a21ab0420cf110a07496b3772a8164eafe1dda7591d02155538ea75367 SHA512 cd729b803383bd1416152ac70567ed6a8231b87ccec1bbd47768abf08dd1bbced711c9356c42759d1e9458fb35b9edd438f2b58c40ef80d15f9bdf5a8b7b4605 EBUILD wine-mono-4.7.0.ebuild 506 BLAKE2B 6219e5761bf91cfc349d872085991688cfee7b9ed5b5aad964f7580e26fa0cc213e21e20a0afcf7f0dae315a27c022511d089f2c2aaea8c7d8cd97033e7b81c1 SHA512 64b8eceae407dba1f415c113c2f1c0a5342a178850d940c22e49bc483e8c4eab2efcb34a1a053d28e8fa0637f3386a9846b1a90ab4baaa84e3b9fb9d71267bc3 EBUILD wine-mono-4.7.1.ebuild 504 BLAKE2B 6f8fa48c32e6ea7e3a768fb04b8255ddf503b5a584ad2015358dd35476ddac5b092bb5d887bde7ca89928442bb03d6f6e398998a7fc30d3fcde958fadb66fab7 SHA512 8531ae9d10aa4d40c7fe2c59eea82007b494bcb6c546253d9211e773c23d8bc61cc67e3dc563219957f9d6364572c00400ae5178bc2ea88e23b9915ae47e4258 +EBUILD wine-mono-4.7.3.ebuild 506 BLAKE2B 1e661c78fd619232d98ecc239126f97e7b0f3a99d472e99c8ad99398c85318f9f827bb2b224747cc621531870c5dec3328c8947a791d29d37b84ab3185e58902 SHA512 823f6a18b5d87dff909817011e6505417c636901a02af09180f7a0d4881d13c4b1322f57ba8d0454facb597e0aa36a1a2e2893e4d63c0607a18b8f9ebc8e09f0 MISC metadata.xml 614 BLAKE2B e45f9e8581cec69afc21a5af29aa71eec05ba7fa626624e6c06000a5f013a3606674074beec999a0f8f91c91fc8912995b20cb88f8ad8a40bffbd964c5bf020f SHA512 5655c4bd737975334e66b4ea0c6cdb447dd647a7a3c76c0cd9782c405c9540ae396c87677bde408d3977b838813e00f12249f0f84267b75894e5554b2c6bcb6c diff --git a/app-emulation/wine-mono/wine-mono-4.7.3.ebuild b/app-emulation/wine-mono/wine-mono-4.7.3.ebuild new file mode 100644 index 000000000000..e18bbd1ddb62 --- /dev/null +++ b/app-emulation/wine-mono/wine-mono-4.7.3.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi" + +LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1" +SLOT="${PV}" +KEYWORDS="~amd64 ~x86" + +DEPEND="!!app-emulation/wine:0" + +S="${WORKDIR}" + +src_install() { + insinto /usr/share/wine/mono + doins "${DISTDIR}/${P}.msi" +} diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest index f7288caaa6bc..dd0a183d3a96 100644 --- a/app-emulation/wine-staging/Manifest +++ b/app-emulation/wine-staging/Manifest @@ -10,6 +10,7 @@ DIST wine-staging-3.13.tar.gz 9936353 BLAKE2B f5791c6f1bc43395860ea938cfadefe88e EBUILD wine-staging-2.0-r1.ebuild 19947 BLAKE2B 44adc4926d0a93bdcb8ef176d0c058eb2a7ec6896ebc00f253e417f541fdd14e7236e4c1123b8aa93e7b386e15a34b356103e573e2a06ca2be4449073180d2ad SHA512 0d1173b27696344bd491f53fe2e6b11e88ba9d5d1b55869c9907ab292c20e248e48fc05b776c573a6f4dd6a49b8cbc247535e59c39990d80633bcbc55ef7c31c EBUILD wine-staging-3.11.ebuild 19882 BLAKE2B 7db7a015866bfdd71263b163c525bdb74307712ac6a32b8b499278cb948f41addf9e122cd2d01553f97eff7f06614679cd0be6ed80ce388b6dc7de942704a66f SHA512 cf53120963fd78fa5c5dcebce9632f5363317cc0761817cea9ace6d2197da8453736b54127026b392c4cb6a69af630ea83fc13d8a981e5a6690ab2b90698c8da EBUILD wine-staging-3.12.ebuild 19989 BLAKE2B f0795b778938a606485b6c46689e1581f307031726a1360e934b9697f1a718ff67cab2207cf3c9371615bf0b4c02f0520c002b7c657bc16c1dd54c3280541d04 SHA512 5ff3744b85e543a105c80a498430fbe40aa82472767f942dd852079f4207f08a1cb71f548b6e2f53fcd56f6aa53c89c7b93d2f95e6e49fad7ae690d7edcd990c +EBUILD wine-staging-3.13-r1.ebuild 19989 BLAKE2B b54f5945ccff622d025a1e199cf8d13978689a19c3ec7cecc8216fa82b0f3a635fc1661441a3bf454700948a2cc77e20f49eeaef272f61914f9a70e046bff017 SHA512 42e601fbf3ba284aedb358f5ab42eafa2a32c55b20aac50e30e9f4fecf4e917c3b305d4d82f63e1266be7cb08203e358da62de9baaabedebc25c588fe2807119 EBUILD wine-staging-3.13.ebuild 19989 BLAKE2B f0795b778938a606485b6c46689e1581f307031726a1360e934b9697f1a718ff67cab2207cf3c9371615bf0b4c02f0520c002b7c657bc16c1dd54c3280541d04 SHA512 5ff3744b85e543a105c80a498430fbe40aa82472767f942dd852079f4207f08a1cb71f548b6e2f53fcd56f6aa53c89c7b93d2f95e6e49fad7ae690d7edcd990c -EBUILD wine-staging-9999.ebuild 19989 BLAKE2B f0795b778938a606485b6c46689e1581f307031726a1360e934b9697f1a718ff67cab2207cf3c9371615bf0b4c02f0520c002b7c657bc16c1dd54c3280541d04 SHA512 5ff3744b85e543a105c80a498430fbe40aa82472767f942dd852079f4207f08a1cb71f548b6e2f53fcd56f6aa53c89c7b93d2f95e6e49fad7ae690d7edcd990c +EBUILD wine-staging-9999.ebuild 19989 BLAKE2B b54f5945ccff622d025a1e199cf8d13978689a19c3ec7cecc8216fa82b0f3a635fc1661441a3bf454700948a2cc77e20f49eeaef272f61914f9a70e046bff017 SHA512 42e601fbf3ba284aedb358f5ab42eafa2a32c55b20aac50e30e9f4fecf4e917c3b305d4d82f63e1266be7cb08203e358da62de9baaabedebc25c588fe2807119 MISC metadata.xml 3591 BLAKE2B 748c2fc43338e250665dc5c18cef4aaa96b95b3f4a64768eb4fa97da65ecc3e65713833eb9fdb67f27e102221e621ee6fabc90babf982c97b455a2e9638ecfc1 SHA512 d60cc92fcd7391ffc92a5107b1e294bdb9f1bf6c02bc3495af67dfa9c30f06ee7868802ca7fa8c0e2a79c52edcd088e071d5d12663b3ea83c9112002e01ea524 diff --git a/app-emulation/wine-staging/wine-staging-3.13-r1.ebuild b/app-emulation/wine-staging/wine-staging-3.13-r1.ebuild new file mode 100644 index 000000000000..5a5e118f347f --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-3.13-r1.ebuild @@ -0,0 +1,611 @@ +# 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 ffmpeg +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + ffmpeg? ( staging ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging )" # 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}] ) + ffmpeg? ( >=media-video/ffmpeg-4:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + themes? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:4.7.3 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-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 ffmpeg) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with v4l) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + use staging && myconf+=( + --with-xattr + $(use_with themes gtk3) + $(use_with vaapi va) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${D%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + else + if use staging; then + eselect wine register --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + else + if use staging; then + eselect wine deregister --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild index e7da95dd642e..5a5e118f347f 100644 --- a/app-emulation/wine-staging/wine-staging-9999.ebuild +++ b/app-emulation/wine-staging/wine-staging-9999.ebuild @@ -128,7 +128,7 @@ RDEPEND="${COMMON_DEPEND} !app-emulation/wine:0 dos? ( >=games-emulation/dosbox-0.74_p20160629 ) gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:4.7.1 ) + mono? ( app-emulation/wine-mono:4.7.3 ) perl? ( dev-lang/perl dev-perl/XML-Simple diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 215ce503fe9e..1d05601237b8 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -8,6 +8,7 @@ EBUILD wine-vanilla-3.0.1.ebuild 17123 BLAKE2B 5aef4adb2ece22b4abaee6fcff8fc28aa EBUILD wine-vanilla-3.0.2.ebuild 17125 BLAKE2B 51d4eeb0ef880774cfd8ffce30c8482e9c0a847cbfbecb15159e95497c9a56f62a7ecb1c941bda4f31fe4d89bd11fb740d747f28df28275ead43503af994eaf5 SHA512 011941555712a3a02ff08bdab12b467da71a151efdeb0bce060b9c51c02f8ffec5368b70969a36424b9272ad981e2e8a4725f7de35a8d6064e9e8ad00ccb0f35 EBUILD wine-vanilla-3.11.ebuild 17329 BLAKE2B 4e0f08f51a31405ea56bcd7fa6e27c6e2060bc34fcb23dc7c6342d33abac6d62b5b664da6727094e9cc5105ccef9e026d75bc24a9c3aaa266069fe5fcddd29e1 SHA512 44d9a8470cfd621237c1f7fc389040b11eb0439429804f6472b1488b6372a091b123159f6ea32f2b911df320f303983ea94449e87814cc6840cefbbfedd7887c EBUILD wine-vanilla-3.12.ebuild 17329 BLAKE2B 4e0f08f51a31405ea56bcd7fa6e27c6e2060bc34fcb23dc7c6342d33abac6d62b5b664da6727094e9cc5105ccef9e026d75bc24a9c3aaa266069fe5fcddd29e1 SHA512 44d9a8470cfd621237c1f7fc389040b11eb0439429804f6472b1488b6372a091b123159f6ea32f2b911df320f303983ea94449e87814cc6840cefbbfedd7887c +EBUILD wine-vanilla-3.13-r1.ebuild 17329 BLAKE2B 5ed8456f9f3e5961eb828e58f7829b4de2a5f2e4eb30430fecc98968acb0660b2fa1534672018d871222fca26cc9b667b9d570f8bc02121db6ae333322942db3 SHA512 660dcd599cfd1fda4f63d2dbf1bf5e3a8c22efa2a3954e311113b551c9974c23a8ffcf25075f13fcf231ff7076d902e0b739f31704fe7af5ceb3d3e3ddcf85db EBUILD wine-vanilla-3.13.ebuild 17329 BLAKE2B 4e0f08f51a31405ea56bcd7fa6e27c6e2060bc34fcb23dc7c6342d33abac6d62b5b664da6727094e9cc5105ccef9e026d75bc24a9c3aaa266069fe5fcddd29e1 SHA512 44d9a8470cfd621237c1f7fc389040b11eb0439429804f6472b1488b6372a091b123159f6ea32f2b911df320f303983ea94449e87814cc6840cefbbfedd7887c -EBUILD wine-vanilla-9999.ebuild 17329 BLAKE2B 4e0f08f51a31405ea56bcd7fa6e27c6e2060bc34fcb23dc7c6342d33abac6d62b5b664da6727094e9cc5105ccef9e026d75bc24a9c3aaa266069fe5fcddd29e1 SHA512 44d9a8470cfd621237c1f7fc389040b11eb0439429804f6472b1488b6372a091b123159f6ea32f2b911df320f303983ea94449e87814cc6840cefbbfedd7887c +EBUILD wine-vanilla-9999.ebuild 17329 BLAKE2B 5ed8456f9f3e5961eb828e58f7829b4de2a5f2e4eb30430fecc98968acb0660b2fa1534672018d871222fca26cc9b667b9d570f8bc02121db6ae333322942db3 SHA512 660dcd599cfd1fda4f63d2dbf1bf5e3a8c22efa2a3954e311113b551c9974c23a8ffcf25075f13fcf231ff7076d902e0b739f31704fe7af5ceb3d3e3ddcf85db MISC metadata.xml 3082 BLAKE2B 5ddadb49dd2e5b9da259d3313e2406e37871271f8261e9501508a50220a8ea31a68185d5fcecce968bc4f4915de6901060d980476ce2ddd61d1866d2766b0cfe SHA512 fa40b440a418dd442bdebb7914c84f648f74a18286f91d59726cbfefa1bebec8afab1f9a7b6ed8c7ae2788253dcaea9dc13cb4eff09ca6da56370e280952be70 diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.13-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.13-r1.ebuild new file mode 100644 index 000000000000..96e3367ccf48 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-3.13-r1.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.3 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-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-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild index cdb123c486e7..96e3367ccf48 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild @@ -107,7 +107,7 @@ RDEPEND="${COMMON_DEPEND} !app-emulation/wine:0 dos? ( >=games-emulation/dosbox-0.74_p20160629 ) gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:4.7.1 ) + mono? ( app-emulation/wine-mono:4.7.3 ) perl? ( dev-lang/perl dev-perl/XML-Simple |