From f70a1bfc721336d4fc7dfb711c2f518a6b18cf16 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 30 Sep 2020 17:27:54 +0100 Subject: gentoo resync : 30.09.2020 --- app-emulation/Manifest.gz | Bin 20335 -> 20340 bytes app-emulation/containerd/Manifest | 4 +- app-emulation/containerd/containerd-1.3.7.ebuild | 84 +++ app-emulation/containerd/containerd-1.4.1.ebuild | 85 --- app-emulation/docker-compose/Manifest | 2 + .../docker-compose/docker-compose-1.27.4.ebuild | 73 +++ app-emulation/docker-proxy/Manifest | 2 + .../docker-proxy-0.8.0_p20200617.ebuild | 35 ++ app-emulation/docker/Manifest | 2 +- app-emulation/docker/docker-19.03.13-r1.ebuild | 314 ----------- app-emulation/docker/docker-19.03.13-r2.ebuild | 316 +++++++++++ app-emulation/edumips64/Manifest | 2 - app-emulation/edumips64/edumips64-1.1.ebuild | 46 -- app-emulation/libguestfs-appliance/Manifest | 2 - .../libguestfs-appliance-1.36.1.ebuild | 44 -- app-emulation/qemu-init-scripts/Manifest | 1 - .../qemu-init-scripts-0.3.0.ebuild | 38 -- app-emulation/runc/Manifest | 3 +- app-emulation/runc/runc-1.0.0_rc10-r1.ebuild | 78 +++ app-emulation/runc/runc-1.0.0_rc92.ebuild | 80 --- app-emulation/ski/Manifest | 5 +- app-emulation/ski/files/ski-1.3.2-lex-deps.patch | 17 + app-emulation/ski/metadata.xml | 4 - app-emulation/ski/ski-1.3.2-r4.ebuild | 1 + app-emulation/uade/Manifest | 3 +- app-emulation/uade/uade-2.13-r1.ebuild | 2 +- app-emulation/uade/uade-2.13.ebuild | 34 -- app-emulation/vice/Manifest | 2 +- app-emulation/vice/vice-3.4_p38553.ebuild | 1 + app-emulation/vkd3d/Manifest | 4 +- app-emulation/vkd3d/vkd3d-1.2.ebuild | 40 ++ app-emulation/vkd3d/vkd3d-9999.ebuild | 3 +- app-emulation/wine-staging/Manifest | 8 +- .../wine-staging/wine-staging-5.14.ebuild | 621 --------------------- .../wine-staging/wine-staging-5.18.ebuild | 621 +++++++++++++++++++++ .../wine-staging/wine-staging-9999.ebuild | 2 +- app-emulation/wine-vanilla/Manifest | 6 +- .../wine-vanilla/wine-vanilla-5.14.ebuild | 539 ------------------ .../wine-vanilla/wine-vanilla-5.18.ebuild | 539 ++++++++++++++++++ .../wine-vanilla/wine-vanilla-9999.ebuild | 2 +- app-emulation/xe-guest-utilities/Manifest | 4 - .../xe-guest-utilities-5.6.0_p595.ebuild | 56 -- .../xe-guest-utilities-6.1.0_p1033.ebuild | 56 -- app-emulation/xen-tools/Manifest | 6 +- app-emulation/xen-tools/xen-tools-4.13.1-r4.ebuild | 506 +++++++++++++++++ app-emulation/xen-tools/xen-tools-4.14.0-r1.ebuild | 511 ----------------- app-emulation/xen-tools/xen-tools-4.14.0-r2.ebuild | 511 +++++++++++++++++ app-emulation/xen/Manifest | 6 +- app-emulation/xen/xen-4.13.1-r4.ebuild | 165 ++++++ app-emulation/xen/xen-4.14.0-r1.ebuild | 165 ------ app-emulation/xen/xen-4.14.0-r2.ebuild | 165 ++++++ 51 files changed, 3188 insertions(+), 2628 deletions(-) create mode 100644 app-emulation/containerd/containerd-1.3.7.ebuild delete mode 100644 app-emulation/containerd/containerd-1.4.1.ebuild create mode 100644 app-emulation/docker-compose/docker-compose-1.27.4.ebuild create mode 100644 app-emulation/docker-proxy/docker-proxy-0.8.0_p20200617.ebuild delete mode 100644 app-emulation/docker/docker-19.03.13-r1.ebuild create mode 100644 app-emulation/docker/docker-19.03.13-r2.ebuild delete mode 100644 app-emulation/edumips64/edumips64-1.1.ebuild delete mode 100644 app-emulation/libguestfs-appliance/libguestfs-appliance-1.36.1.ebuild delete mode 100644 app-emulation/qemu-init-scripts/qemu-init-scripts-0.3.0.ebuild create mode 100644 app-emulation/runc/runc-1.0.0_rc10-r1.ebuild delete mode 100644 app-emulation/runc/runc-1.0.0_rc92.ebuild create mode 100644 app-emulation/ski/files/ski-1.3.2-lex-deps.patch delete mode 100644 app-emulation/uade/uade-2.13.ebuild create mode 100644 app-emulation/vkd3d/vkd3d-1.2.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-5.14.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-5.18.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.14.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.18.ebuild delete mode 100644 app-emulation/xe-guest-utilities/xe-guest-utilities-5.6.0_p595.ebuild delete mode 100644 app-emulation/xe-guest-utilities/xe-guest-utilities-6.1.0_p1033.ebuild create mode 100644 app-emulation/xen-tools/xen-tools-4.13.1-r4.ebuild delete mode 100644 app-emulation/xen-tools/xen-tools-4.14.0-r1.ebuild create mode 100644 app-emulation/xen-tools/xen-tools-4.14.0-r2.ebuild create mode 100644 app-emulation/xen/xen-4.13.1-r4.ebuild delete mode 100644 app-emulation/xen/xen-4.14.0-r1.ebuild create mode 100644 app-emulation/xen/xen-4.14.0-r2.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 073090db9e7c..f36115adf644 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/containerd/Manifest b/app-emulation/containerd/Manifest index 2b97f17e7b6e..8e516f68baaf 100644 --- a/app-emulation/containerd/Manifest +++ b/app-emulation/containerd/Manifest @@ -9,7 +9,7 @@ DIST containerd-1.3.0.tar.gz 5697153 BLAKE2B c334cfd2aa11dd430c74bc9f3fe6f31d83f DIST containerd-1.3.1.tar.gz 5703741 BLAKE2B 6eae3fe9714128e7a5378484115378629baf6c4f7ef4b795e625cc1fbc05323a123c2337c5b203a2c3c3b34486c81f7e5b3ad200c000c961931fc99347ef4513 SHA512 4991286d1a8a221dad24121c5e6cd31a00685d91e652546d0d97745624486450bc05ff4f889f2975c178c4c175fedd7b15f89121a7ce4e6687919aabd04501b4 DIST containerd-1.3.2.tar.gz 5704320 BLAKE2B 32ea22ff445cc66f4c8db8abdbaaa7fa0c8c620b294bda54f2319045af1925398057ba1a5cb5c265cfc73bcff5b49943013b517ecb3bd05f4504920c4a8d6f29 SHA512 768a19eb0829e196a61ddedaa11b0d6691caf8f9cc590a3e47ac77c1acad62e64b7a55017a1a6cccfcb87785a083d5ce131048b0e39e48c65e6cd5922382fc3c DIST containerd-1.3.4.tar.gz 5700890 BLAKE2B 9d5642399eafbf3df25d2bdb6ffeb8e98362e9f2c6cdcd7a64fff12bad40f58fa97451228a607def408cc8a8cfbfce67c47fcfdf86865d8086d0b7aad7595d5a SHA512 b186d5aef3e5a0d35c12dcc3cfa5d48a9602f6278c4650942859a1ab6abd1299d33a1bc623376955a834a2626491196b604591d92a05d39745dfc33ff51ad5aa -DIST containerd-1.4.1.tar.gz 6168048 BLAKE2B f050808d77c66caead8acba595b1cf91d7f386a77aae84d08840f458ba8141bb0e8763222f37b4295d2afedd5eb2fc311e8a69f6c01a08740ad27d2e7380b61f SHA512 e16196db59ba71cfd7e5515b8d2bc6336503e996419182274dfc5ac9caca901cf712f465698e9ff667747959faf93cdf66fe652c47a83a6ead6f6a3a22add43b +DIST containerd-1.3.7.tar.gz 5709989 BLAKE2B 0cfa6f5bcd41c1591e64f41dbba2720bed5f25d61625b6d09be19df56fe74b61532b627c35a830e1e4937333f790f7ff8a5fad18b8869a679a6fec18daf238d3 SHA512 7c6de27b6529e3fb3f924ec67a260a51bc45186d69baa4cae6720a08e5c3b74aeb43d236c0a4739f297b2863233bde7d2246a597c9e17713c48bec767c6bbfee EBUILD containerd-1.2.10.ebuild 1435 BLAKE2B 4b55020f19d1349c90c2faa063c59f161a9ce1c7f9a02aef795de49f8b6ec3229964c2726547b3ad803ea84c7d2ab12c6b7f7b8afd53181a6e2f06e3e4df41ae SHA512 138989a2beb954c4e2d1be54fab432f3e38838cbd18c6341b297afae0c896f7fc9f4d234d96c70af3faee5b9d53bc095a0637c1e8b44b682c6359078bc8b69b4 EBUILD containerd-1.2.12.ebuild 1434 BLAKE2B b1f6f907d6502dc829780b2e6150dc0e523ea9138840e31e0c88862aa0d07f489966a78d081c208e51e57ee5383ecf5b02cae19f2dda542ab8a6616ea0aaddd6 SHA512 2c9d32a48c78e7dbbf7837dcef9ffaff7d2e5c8fec67da47aff3985a6f898134317e7a13e4f370eb681013238eb085ed7c49d35ba240729cc605731bb5bfa301 EBUILD containerd-1.2.13.ebuild 1438 BLAKE2B f4fd763e2ce0a731cfd1f66c001365a55a660c070a828d4e0a0d23b308d7956ebfd4b17b71bdf9c6892f6fc40107fb3481cef97226db95ba7797854462dd2c6c SHA512 07dcffcc0c3c946a83fdf04db6b6b8148996b3bba682e53d33ba8e968e316c0e1cb9babc6502e07d8508d89a17dc98c1f19d973d1f04219432ae892f998ccfd6 @@ -19,5 +19,5 @@ EBUILD containerd-1.3.0.ebuild 1436 BLAKE2B 221c0f5bf08fcaa1c1956859fc59b8b69830 EBUILD containerd-1.3.1.ebuild 1403 BLAKE2B 27f63eea492f0b4069edbd19692ef501cb79d227ac02623684c408fc33da1d974ca2f2dbd78cdc1c6af9269f146b77c37ff427aea47c5b578eafc3c8d0f81550 SHA512 829b2b8943714ffe79759acf7b40d279e24047a9e77858910f7f820a89331fba8b91a8968cf4a4469a7395c1bec990d27702d583a15d074bd765104942505bca EBUILD containerd-1.3.2.ebuild 1407 BLAKE2B 82b111b3749b2f67729854cb50367139a7ac0ca25bc552713f875c5a7d9f7daad9c80c4e6071c01d7e3145d41bd608d08b28b6fd32b1508a2ec8b2324ad3c8fb SHA512 85cb4c29b6d2a77b0c278882ceac51315e34f103491bb7f5c209667572917facfb4debfc4b822728d8316a9ec0f771c3f6cb75d4b5c1b4c1e35ef6ff69837d99 EBUILD containerd-1.3.4.ebuild 1407 BLAKE2B 559bed738625533707473147c978b4ea26e7df2cf952e2e5c0dffa1499caefc8a7b956b40867e9c38516822e72dbc214327347e10a33c3acbe3fef7843cb083b SHA512 8529ff278c6a01393ce70a7f8ffb124323c6214a6d509571f479bd8c309f6f3537721c6fe9ac1b0c6898c5a69aa4539af2653ea49752875e567acacb16094a4f -EBUILD containerd-1.4.1.ebuild 1865 BLAKE2B de2e9a93a7cb506f42dfbb84f50afd27cdab96aa431a1e59aa08dae6974b42a31829c5c4081ade8aa3548cb1796bc9ebc972d38540d8afe0a60ab6b307a8b9f3 SHA512 474fa3181fb40b0169dfad83c11db000da92337f7940d5c3b75f81ccd2d33f14fb7aa0eaccd3715501b3fe6bdbee5a0e64ddc9376efd9ac32bde217da1fd1cb4 +EBUILD containerd-1.3.7.ebuild 1980 BLAKE2B 18a5668b632031753d3424b531d246210f3f5edb864b7a641a58ec2011d83af24b8b4409d6d842fe3574cba5196cd02621f05bd8c3b27db91e13fac0fe7b4075 SHA512 3076c05d721347f1fc15866a73451c99e877e8ecffc66d8b491642e3d44bc723255d6c87d1b419e0adf43a55c82645cd9ea28513301717f01ad8c4de84850187 MISC metadata.xml 1063 BLAKE2B 17fdb23d44430d8a8f87218b2c6d75a617487a6f204e2b77dd4139c972626ad503a8379e1455f55a644db6219779dc37501d66e75a3f8e90bdf89d095223c449 SHA512 05f28554ebddf8e7e6f8911a39ca744ae13e4802a90b24f2edd438aaa591c0f73d39fb186da546cb4834c312c66dc5e7f96f9cf36216d8d7d0b910ae7e422323 diff --git a/app-emulation/containerd/containerd-1.3.7.ebuild b/app-emulation/containerd/containerd-1.3.7.ebuild new file mode 100644 index 000000000000..9a7b8db286a6 --- /dev/null +++ b/app-emulation/containerd/containerd-1.3.7.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# update on bump, look for https://github.com/docker\ +# docker-ce/blob//components/engine/hack/dockerfile/install/containerd.installer +CONTAINERD_COMMIT="8fba4e9a7d01810a393d5d25a3621dc101981175" +EGO_PN="github.com/containerd/${PN}" + +inherit golang-vcs-snapshot toolchain-funcs + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.io/" +SRC_URI="https://github.com/containerd/${PN}/archive/${CONTAINERD_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +RDEPEND=" + ${DEPEND} + ~app-emulation/runc-1.0.0_rc10 +" + +BDEPEND=" + dev-go/go-md2man + virtual/pkgconfig + test? ( "${RDEPEND}" ) +" + +# tests require root or docker +# upstream does not recommend stripping binary +RESTRICT+=" strip test" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +src_prepare() { + default + sed -i -e "s/git describe --match.*$/echo ${PV})/"\ + -e "s/git rev-parse HEAD.*$/echo ${CONTAINERD_COMMIT})/"\ + -e "s/-s -w//" \ + Makefile || die +} + +src_compile() { + local options=( + $(usev apparmor) + $(usex btrfs "" "no_btrfs") + $(usex cri "" "no_cri") + $(usex device-mapper "" "no_devmapper") + $(usev seccomp) + $(usev selinux) + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + DESTDIR="${ED}" + LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') + ) + + export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor + export GOFLAGS="-v -x -mod=vendor" + emake "${myemakeargs[@]}" all man +} + +src_install() { + dobin bin/* + doman man/* + newinitd "${FILESDIR}"/${PN}.initd-r1 "${PN}" + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -rf docs/man || die + local DOCS=( README.md PLUGINS.md docs/. ) + einstalldocs +} diff --git a/app-emulation/containerd/containerd-1.4.1.ebuild b/app-emulation/containerd/containerd-1.4.1.ebuild deleted file mode 100644 index b1eae77465c4..000000000000 --- a/app-emulation/containerd/containerd-1.4.1.ebuild +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# update on bump -CONTAINERD_COMMIT="c623d1b" -EGO_PN="github.com/containerd/${PN}" -MY_PV="${PV/_rc/-rc.}" - -inherit golang-vcs-snapshot toolchain-funcs - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" -IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test" - -# ~pinned dependencies described in vendor.conf -DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -RDEPEND=" - ${DEPEND} - ~app-emulation/runc-1.0.0_rc92 -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig - test? ( "${RDEPEND}" ) -" - -# tests require root or docker -# upstream does not recommend stripping binary -RESTRICT="strip test" - -S="${WORKDIR}/${P}/src/${EGO_PN}" - -src_prepare() { - default - sed -i -e "s/git describe --match.*$/echo ${PV})/"\ - -e "s/git rev-parse HEAD.*$/echo ${CONTAINERD_COMMIT})/"\ - -e "s/-s -w//" \ - Makefile || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - DESTDIR="${ED}" - LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') - ) - - export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor - export GOFLAGS="-v -x -mod=vendor" - emake "${myemakeargs[@]}" all man -} - -src_install() { - dobin bin/* - doman man/* - newinitd "${FILESDIR}"/${PN}.initd-r1 "${PN}" - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -rf docs/man || die - local DOCS=( README.md PLUGINS.md docs/. ) - einstalldocs -} diff --git a/app-emulation/docker-compose/Manifest b/app-emulation/docker-compose/Manifest index 89fd448f498e..f0778035aa66 100644 --- a/app-emulation/docker-compose/Manifest +++ b/app-emulation/docker-compose/Manifest @@ -5,8 +5,10 @@ DIST docker-compose-1.25.5.tar.gz 308569 BLAKE2B 5d5d1fd60f9bcb87f7e9628dbe10b27 DIST docker-compose-1.26.2.tar.gz 313494 BLAKE2B 656bac181547a3484c45d0ede7111384007db8109aaf3673a06b848bb9b27059cfb8b2cd583e6bc7acd0ebbd90d40e485251d473eefe56a6493abe187132e520 SHA512 4cb8a2f5e25f17eb842e36dea96fae8862df099d706ec590e6fc0790c7a814bed3bb60ec00207e4afc15bf8ad4ca37075320fd28ee0bea5bbec1646f3aed681f DIST docker-compose-1.27.2.tar.gz 309004 BLAKE2B 1017016989b25afa812d2e7251c6dbf45922867d66ef0c69292889a5de8f31908c8d2f418b2c29c319fbd7d0ba4e213d932665e7128b61164295105f35b23579 SHA512 2156a2b283d0ace6a8bfb0d6bbe93bfca7cd651c30fdeea4e1fa2acc6a85790d34a869d4625ef83ad11e9ecc1fbc1e9acac6f40eb8ef5225ccc36bab2ddcf847 DIST docker-compose-1.27.3.tar.gz 309220 BLAKE2B eaf066f24bfff893e515a460be9abba79a59e5112a3a34a9002870babefd93950cf92ef66db469102c37e781d7fb986de069eef3fa09e4041b3a43d8bf1a3d30 SHA512 43e34760574d1ec009faa7a1fa09d621a2708f01f05819b46c67fe7ebf280807f97d9a5867cbfe75e9af6f097cd3f7c8c8fee66aa5392a4c62cdf44c7fb38075 +DIST docker-compose-1.27.4.tar.gz 309308 BLAKE2B 098af5e0308de4fe72f8f7d5c9cbdb285ec1cb6fbd492baef8a4223f93591321c585ebabd4c7e4a40d7a1bce3ab2d7ccf4cee1d0a15e7f59bb80eb4df5b6c8d6 SHA512 b41b7cf88b1380021a30f9becb7567d1e154ef875c42b37483673b5107f1a26dae6868b92c6a61f695001eb63759b25f3729e6783272eb784047717cafea3b80 EBUILD docker-compose-1.25.5.ebuild 1935 BLAKE2B 1290c12b6cad7e41f6450c68a5284f17acfa505fa3d0dbc1a7489a0d07d960fd1624c273f3fe57ded1c8098b1f69020d8eb3f1c2babff8f63f2b9ba008600579 SHA512 9ceb962c7acb6beaf2a2c5005380be0b2685c6a802cd00795f734034b5a8a43e9272ed665c7d11184ad5247f4d9d76a20f49fe724e901f4d735524c0f1938930 EBUILD docker-compose-1.26.2.ebuild 2075 BLAKE2B c8e6bcdd6a79366828d9c4a0993398b56c95681ad61e5114d31065a222005ec53bb2d8afa00ccca215d9e1e46c3ac3e728719f2867dfd5c907913c68aa577a1d SHA512 56c3ef2e46b5b48d691989a424e91cb16d6ba2397254da61e358faa6173c1572bb72c83b2fae78c14c9a5e81672819f09b07551b32d39f59ef4cf06ea0c0a8be EBUILD docker-compose-1.27.2.ebuild 2112 BLAKE2B 3a483383fd0b410fc4f2675a8df27ca2e5f1e61363abffc5cb180e8744973c40265027776c02e76063e7422e8c92131f5817f6898aec0ef72bbd552668de06ce SHA512 2ecef6032c24a4c7dc226dee463a3d0d1651a8f3f6f261f4c8aef682a6e4c217608def560055bfb88287eb9ccec6784944e56e72c701f98cfaf999e3a7a74425 EBUILD docker-compose-1.27.3.ebuild 2112 BLAKE2B 3a483383fd0b410fc4f2675a8df27ca2e5f1e61363abffc5cb180e8744973c40265027776c02e76063e7422e8c92131f5817f6898aec0ef72bbd552668de06ce SHA512 2ecef6032c24a4c7dc226dee463a3d0d1651a8f3f6f261f4c8aef682a6e4c217608def560055bfb88287eb9ccec6784944e56e72c701f98cfaf999e3a7a74425 +EBUILD docker-compose-1.27.4.ebuild 2112 BLAKE2B 3a483383fd0b410fc4f2675a8df27ca2e5f1e61363abffc5cb180e8744973c40265027776c02e76063e7422e8c92131f5817f6898aec0ef72bbd552668de06ce SHA512 2ecef6032c24a4c7dc226dee463a3d0d1651a8f3f6f261f4c8aef682a6e4c217608def560055bfb88287eb9ccec6784944e56e72c701f98cfaf999e3a7a74425 MISC metadata.xml 326 BLAKE2B 264e99e7fdc551ca2a29d4295d21fb587cb1eeb0bf995b9df63e63015b01b22a51db9254b3a6cb3eb76b8a4eb9e8bf3a1a4c6a936212690fa996e7edf20167dd SHA512 0c50efc71462eb8b312b5bab5b5de85450478f3b7a548c7f3725a4be5514078fb125305f277d14b5fa082027c805171e640367b6094668c05660d426c65043fc diff --git a/app-emulation/docker-compose/docker-compose-1.27.4.ebuild b/app-emulation/docker-compose/docker-compose-1.27.4.ebuild new file mode 100644 index 000000000000..21b5b42471fc --- /dev/null +++ b/app-emulation/docker-compose/docker-compose-1.27.4.ebuild @@ -0,0 +1,73 @@ +# Copyright 2018-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9} ) +DISTUTILS_USE_SETUPTOOLS=rdepend + +inherit bash-completion-r1 distutils-r1 + +MY_PV=${PV/_/-} +DESCRIPTION="Multi-container orchestration for Docker" +HOMEPAGE="https://github.com/docker/compose" +SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}] + >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] + >=dev-python/docker-py-4.3.1[${PYTHON_USEDEP}] + >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] + >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] + >=dev-python/python-dotenv-0.13.0[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] + dev-python/paramiko[${PYTHON_USEDEP}] + >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] + >=dev-python/requests-2.20.0[${PYTHON_USEDEP}] + >=dev-python/six-1.3.0[${PYTHON_USEDEP}] + >=dev-python/texttable-0.9.0[${PYTHON_USEDEP}] + >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]" + +DEPEND="${RDEPEND} + test? ( + >=dev-python/pytest-5[${PYTHON_USEDEP}] + >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}] + )" + +S="${WORKDIR}/compose-${MY_PV}" + +PATCHES=( + # Bug #679968 -- https://bugs.gentoo.org/679968 + # Bug #681002 -- https://bugs.gentoo.org/681002 + "${FILESDIR}"/${PN}-1.27.0_rc3-setup-py.patch +) + +DOCS=( CHANGELOG.md README.md ) + +src_prepare() { + # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command." + sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die + + default +} + +python_test() { + distutils_install_for_testing + ${PYTHON} -m pytest tests/unit/ || die "tests failed under ${EPYTHON}" +} + +python_install_all() { + newbashcomp contrib/completion/bash/docker-compose ${PN} + + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/* + + distutils-r1_python_install_all +} diff --git a/app-emulation/docker-proxy/Manifest b/app-emulation/docker-proxy/Manifest index aeb657906fcc..886ec811ec6b 100644 --- a/app-emulation/docker-proxy/Manifest +++ b/app-emulation/docker-proxy/Manifest @@ -2,8 +2,10 @@ DIST docker-proxy-0.8.0_p20190513.tar.gz 2705298 BLAKE2B ff897b18b8265b3d718caf7 DIST docker-proxy-0.8.0_p20190604.tar.gz 2721379 BLAKE2B edc36302ca4b2be297505a5bfd8acd45f17bc752e88bcaa72f34e2d972230d92b9bfe3d0dccbb2f1e04718fb1adc95631fc0f533ca5572bdcfc468d843ce480e SHA512 dea31fd82ab2d445fbd39fe15550a91f7e489a06f6dedd32ea1925f7e9a7971952d26b874f9687249609a0d204ea35da357e0a957b819df2026a0cf8109cb354 DIST docker-proxy-0.8.0_p20190807.tar.gz 3377742 BLAKE2B c1ccc76dd9157c715d09db27b6800a86b0dc7532089d87eb78a6e656f3b42d4c4824c34e972196038f915e3b08b12197f305fd1a86e3fe75fec621ed49e5e71a SHA512 ffe18805dc6b85f8b058e342cde2baedf2497465298daa444fecba8222885606c85242ca59016bc32a5c2c0164c1c980b92ed3d5f82e011a7e9871a67d67b947 DIST docker-proxy-0.8.0_p20191011.tar.gz 3377526 BLAKE2B 10dd1817ffa65dc75855daba5efbe6dc7c8a048e8868354d2ad7c2cc4e99dcedb95ba4c5e37a54d60e4bd89c5f5bcac5fde4db8d21b7cc903fd42e4224a084e0 SHA512 a21b9b5883056cf75dda9f229ff199e6daad63d94dcf75ebe3e21204bdeef89c41ddd5730bb6bb4387af9a84a8a81e7adfaf726b2fdd299d8aa9d6d35a096ce2 +DIST docker-proxy-0.8.0_p20200617.tar.gz 3386043 BLAKE2B b32c3b6ef97f656414fdf026307f4054d4dd11cc91dc44a235eb5e5dc9f5f3da0cc4b001eaa28387b79f8f79f0124e6c01b8aab56d5c9e37d777e21cc186cb9c SHA512 fe8644611e975c051ee6e7ad4871624fb45862d9b4a2fd62ea4283e76ad9804d91d585e2165915b09356f11f9dfb31c40dd9ce6a66d63c5032c8c62354960538 EBUILD docker-proxy-0.8.0_p20190513.ebuild 780 BLAKE2B 46a02fb28634760b3fb4b048eee895b152f53fde4f501df7896966bf7e8290d2438c61a0545a2c9782fb2b7bb308a1040c493b8f180991b05a581eda747d7d02 SHA512 bd52763fab7f7b59361e6acdd2249209e72bae8cc50542f0dfa3ea8010a65cc8ebee33c4bb5891a59840d35988048c6a8a3bafc82f6c735f01860a66c066ed95 EBUILD docker-proxy-0.8.0_p20190604.ebuild 770 BLAKE2B b89a0056ae26fa7e122bbf72b9a6b7688e44de38f1c6173d4c80641e4c1a98bb403349863fa16f05aedc30b658836748e85b28018a79f6345baa76dc5ea6536c SHA512 77d3f27c7beb8c2208774d81954f5b699ab685a0e6aa5d39d973be74050128fda2c753790c06976aebc2aa4e8f842d7df2bcebba897424d6b09ef3841fc93257 EBUILD docker-proxy-0.8.0_p20190807.ebuild 770 BLAKE2B 8a90022b2b412cc1e0d389b55e84bfac47c3d3965c5b0a1817b0b68acd9f2e446fe458e8c69aa1136f5c965f9b586b33251213aaca6fee5a1d3af64d3f374f39 SHA512 6b634b77da647e181ed5ba4d546919cc8dc068ddc6055fd7ebddba099b3f938b47aa862af3c2946c9221f20befadc626b05e86bb6417904c986e9fc61893b03e EBUILD docker-proxy-0.8.0_p20191011.ebuild 774 BLAKE2B 3d98c5a5dc92ca6be8c0ce434e9698eca75c47cf82a8467d24007a96c3cf57b99c2ca7187b0b1dd227f56ebd55a1e318cb562b54ffe96ec678fc6127e048dcd8 SHA512 b72ffd1c62d2c6a03ddd04d3353d3bad54b63cf9afb10dcc779610b289b9ac809bfda8c426d6fa83cc7d43368dce54f67a5f898736dd97e294e3f9c879eaac9f +EBUILD docker-proxy-0.8.0_p20200617.ebuild 775 BLAKE2B a8496e32d965dbc60747594e26e31bbac867dfa204ff93d02552b2a31a651df47c6c93169449ca40782fa367b87c5085027edd3dd12bc4c0cb0b03a2cfeab080 SHA512 746b958a06bd4527d2efba88b197161858fd5c5fc3c96e29a2dbf1d779c16a001a0e5e8645ee1b68cfdd088af81a3aedda71807437cc967d50d756a1f98ed5bd MISC metadata.xml 437 BLAKE2B e1e8e4680a6932366f93a597fbaa002026990819ee646be0c2590c7fb2bbf3975a4a828271ba0281c43815354de1b371b29cc7fd691d7dcd0838539f1e02fa45 SHA512 c1f8a89b90f7fa05cf838a6aaafbbd12a3193e3e91f7802ed9c24b177cb7fea4a067892821ce50d2efd4af0369a3196f329978f2c37608f6140b29f662ca74ce diff --git a/app-emulation/docker-proxy/docker-proxy-0.8.0_p20200617.ebuild b/app-emulation/docker-proxy/docker-proxy-0.8.0_p20200617.ebuild new file mode 100644 index 000000000000..20556e5fc46e --- /dev/null +++ b/app-emulation/docker-proxy/docker-proxy-0.8.0_p20200617.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +EGO_PN="github.com/docker/libnetwork" + +if [[ ${PV} == *9999 ]]; then + inherit golang-vcs +else + EGIT_COMMIT="026aabaa659832804b01754aaadd2c0f420c68b6" + SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + inherit golang-vcs-snapshot +fi + +DESCRIPTION="Docker container networking" +HOMEPAGE="https://github.com/docker/libnetwork" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +S=${WORKDIR}/${P}/src/${EGO_PN} + +# needs dockerd +RESTRICT="test" + +src_compile() { + GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die +} + +src_install() { + dodoc README.md CHANGELOG.md + dobin bin/docker-proxy +} diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest index 3878adaf7a12..b4965971adcd 100644 --- a/app-emulation/docker/Manifest +++ b/app-emulation/docker/Manifest @@ -1,5 +1,5 @@ DIST docker-19.03.12.tar.gz 18218138 BLAKE2B a018a1677d36c01a9eb8d9c597e6b264304a742929bf7f8bb3c12b03c75748bc6f3313f8e7c293323bc3ae013b5555044f7cf1ad7a8750a5794418bee05e405a SHA512 6ede7e0c5494882d88dae5b4ae45049937dfc65b9d655988ae4c0d6f9759bcac8799251f37a3e4ce49cdfbb04e31f9a6a05d131fb5005b382d2306ca0d5fcfa3 DIST docker-19.03.13.tar.gz 18242693 BLAKE2B c19afed62694274298b42fc9af3b36c4cc6429b40f7e5447a996b87636a0d2e916476875652e20abd7aeab4e5e0e1cf887a04dcade1de03ded549fc36d911ac4 SHA512 5f34a14ef0b36a309d4a08926ac482ca82d24cdd873aa359c5ba7c65473cbb2e987fe615c38c1bc1c50135284da78a7eb98a8a0106d7d073aeda0cd8f1c31873 EBUILD docker-19.03.12.ebuild 8466 BLAKE2B 6537d7d5adba8122814efc90943f6497e84f5f6da9e4345eddfba5e53f72684879b9ace45046402c2d3efaa5cd5baa46fabebc99c3bba37a4a8faacbc5ce2c9c SHA512 9b8cf5724a855998eeecc453b412e010e08c0614972024ea842d9b842a3593680f2e4d65396c83e32a50f511deab307e6aaaa6c00b967fbd542124223f41fdb0 -EBUILD docker-19.03.13-r1.ebuild 8658 BLAKE2B 3803c3058a3e8796bb5f8efa3b5983c254336d4e207bb58d2e9a208593f0d0094793f98cf42cf27ed8fd918b4dea5ea7a098dfdb7531f5256815e3deaae7ac65 SHA512 4464964f106e14e161de06c1c96a19903d1c5463ea1ba757a0be18174f24c6bb1595a7d906acbfbfa3bea9abd7c2bbe546022791cdfc8ec400c152883e75bdf7 +EBUILD docker-19.03.13-r2.ebuild 8792 BLAKE2B aaca56e033bd5bb424212e0265dec1ebfa961c6fe7a46cda140694a41b26199e729face3834da2f5eac2994a35d8798d56ea8b5f2d6b8e532ffe33c918c713bd SHA512 f3f574dcd1e0bc8223056bd0b4a28c3133bc035fd32f1460d086af17e2a98c6dcf265ec3ed0ffe9956770d3485c192b72511b5d5f9f04ae6f9b8a91608bb452c MISC metadata.xml 1480 BLAKE2B d55259087f20646d81686efc1def000be31b841eb450b16b41de984955688282c541dbf127d3638cabc1219f22d2dad77c6c0431a374148329f73f0ab91f8ca7 SHA512 2ca140b93f15f63d3e07989f4ff1e702b61e4ef62d199564e1fd91f995750740c08f28aafe35f0a0945fa588bc6240e3f02aa84aa06c6be7944ad5f5d2764bfa diff --git a/app-emulation/docker/docker-19.03.13-r1.ebuild b/app-emulation/docker/docker-19.03.13-r1.ebuild deleted file mode 100644 index f00a011e8547..000000000000 --- a/app-emulation/docker/docker-19.03.13-r1.ebuild +++ /dev/null @@ -1,314 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -EGO_PN="github.com/docker/docker-ce" - -if [[ ${PV} = *9999* ]]; then - # Docker cannot be fetched via "go get", thanks to autogenerated code - EGIT_REPO_URI="https://${EGO_PN}.git" - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}" - inherit git-r3 -else - DOCKER_GITCOMMIT=4484c46d9d - MY_PV=${PV/_/-} - SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!" - inherit golang-vcs-snapshot -fi -inherit bash-completion-r1 golang-base linux-info systemd udev - -DESCRIPTION="The core functions you need to create Docker images and run Docker containers" -HOMEPAGE="https://www.docker.com/" -LICENSE="Apache-2.0" -SLOT="0" -IUSE="apparmor aufs btrfs +container-init device-mapper hardened overlay seccomp selinux" - -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies -BDEPEND=" - >=dev-lang/go-1.13.12 - dev-go/go-md2man - virtual/pkgconfig -" - -DEPEND=" - acct-group/docker - >=dev-db/sqlite-3.7.9:3 - apparmor? ( sys-libs/libapparmor ) - btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) - device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] ) - seccomp? ( >=sys-libs/libseccomp-2.2.1 ) -" - -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies -# also look at components/*/vendor.conf for exact version of ~pinned dependencies -RDEPEND=" - ${DEPEND} - !sys-apps/systemd[-cgroup-hybrid(+)] - >=net-firewall/iptables-1.4 - sys-process/procps - >=dev-vcs/git-1.7 - >=app-arch/xz-utils-4.9 - dev-libs/libltdl - ~app-emulation/containerd-1.4.1[apparmor?,btrfs?,device-mapper?,seccomp?,selinux?] - ~app-emulation/runc-1.0.0_rc92[apparmor?,seccomp?,selinux?] - ~app-emulation/docker-proxy-0.8.0_p20191011 - container-init? ( >=sys-process/tini-0.18.0[static] ) -" - -RESTRICT="installsources strip" - -S="${WORKDIR}/${P}/src/${EGO_PN}" - -# see "contrib/check-config.sh" from upstream's sources -CONFIG_CHECK=" - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG - ~KEYS - ~VETH ~BRIDGE ~BRIDGE_NETFILTER - ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS - ~IP_NF_NAT ~NF_NAT - ~POSIX_MQUEUE - - ~USER_NS - ~SECCOMP - ~CGROUP_PIDS - ~MEMCG_SWAP - - ~BLK_CGROUP ~BLK_DEV_THROTTLING - ~CGROUP_PERF - ~CGROUP_HUGETLB - ~NET_CLS_CGROUP - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED - ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR - - ~VXLAN - ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER - ~IPVLAN - ~MACVLAN ~DUMMY - - ~OVERLAY_FS - ~EXT4_FS_SECURITY - ~EXT4_FS_POSIX_ACL -" - -ERROR_KEYS="CONFIG_KEYS: is mandatory" -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" - -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering" -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering" -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" -ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks" -ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks" - -pkg_setup() { - if kernel_is lt 3 10; then - ewarn "" - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported." - ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies" - fi - - if kernel_is le 3 18; then - CONFIG_CHECK+=" - ~RESOURCE_COUNTERS - " - fi - - if kernel_is le 3 13; then - CONFIG_CHECK+=" - ~NETPRIO_CGROUP - " - else - CONFIG_CHECK+=" - ~CGROUP_NET_PRIO - " - fi - - if kernel_is lt 4 5; then - CONFIG_CHECK+=" - ~MEMCG_KMEM - " - ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional" - fi - - if kernel_is lt 4 7; then - CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES - " - fi - - if kernel_is lt 5 1; then - CONFIG_CHECK+=" - ~NF_NAT_IPV4 - ~IOSCHED_CFQ - ~CFQ_GROUP_IOSCHED - " - fi - - if kernel_is lt 5 2; then - CONFIG_CHECK+=" - ~NF_NAT_NEEDED - " - fi - - if kernel_is lt 5 8; then - CONFIG_CHECK+=" - ~MEMCG_SWAP_ENABLED - " - fi - - if use aufs; then - CONFIG_CHECK+=" - ~AUFS_FS - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY - " - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3" - fi - - if use btrfs; then - CONFIG_CHECK+=" - ~BTRFS_FS - ~BTRFS_FS_POSIX_ACL - " - fi - - if use device-mapper; then - CONFIG_CHECK+=" - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY - " - fi - - linux-info_pkg_setup -} - -src_compile() { - export GOPATH="${WORKDIR}/${P}" - - # setup CFLAGS and LDFLAGS for separate build target - # see https://github.com/tianon/docker-overlay/pull/10 - export CGO_CFLAGS="-I${ROOT}/usr/include" - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)" - - # if we're building from a tarball, we need the GITCOMMIT value - [[ ${DOCKER_GITCOMMIT} ]] && export DOCKER_GITCOMMIT - - # fake golang layout - ln -s docker-ce/components/engine ../docker || die - ln -s docker-ce/components/cli ../cli || die - - # let's set up some optional features :) - export DOCKER_BUILDTAGS='' - for gd in aufs btrfs device-mapper overlay; do - if ! use $gd; then - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" - fi - done - - for tag in apparmor seccomp selinux; do - if use $tag; then - DOCKER_BUILDTAGS+=" $tag" - fi - done - - pushd components/engine || die - - if use hardened; then - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \ - -i hack/make/dynbinary-daemon || die - grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed' - fi - - # build daemon - VERSION="$(cat ../../VERSION)" \ - ./hack/make.sh dynbinary || die 'dynbinary failed' - - popd || die # components/engine - - pushd components/cli || die - - # build cli - DISABLE_WARN_OUTSIDE_CONTAINER=1 emake \ - LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \ - VERSION="$(cat ../../VERSION)" \ - GITCOMMIT="${DOCKER_GITCOMMIT}" \ - dynbinary - - # build man pages - go build -o gen-manpages github.com/docker/cli/man || die - ./gen-manpages --root . --target ./man/man1 || die - ./man/md2man-all.sh -q || die - rm gen-manpages || die - # see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man) - - popd || die # components/cli -} - -src_install() { - dosym containerd /usr/bin/docker-containerd - dosym containerd-shim /usr/bin/docker-containerd-shim - dosym ../sbin/runc /usr/bin/docker-runc - use container-init && dosym tini /usr/bin/docker-init - - pushd components/engine || die - newbin bundles/dynbinary-daemon/dockerd-${PV} dockerd - - newinitd contrib/init/openrc/docker.initd docker - newconfd contrib/init/openrc/docker.confd docker - - systemd_dounit contrib/init/systemd/docker.{service,socket} - - udev_dorules contrib/udev/*.rules - - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md - dodoc -r docs/* - - insinto /usr/share/vim/vimfiles - doins -r contrib/syntax/vim/ftdetect - doins -r contrib/syntax/vim/syntax - - # note: intentionally not using "doins" so that we preserve +x bits - dodir /usr/share/${PN}/contrib - cp -R contrib/* "${ED}/usr/share/${PN}/contrib" - popd || die # components/engine - - pushd components/cli || die - - newbin build/docker-* docker - - doman man/man*/* - - sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die - dobashcomp contrib/completion/bash/* - bashcomp_alias docker dockerd - insinto /usr/share/fish/vendor_completions.d/ - doins contrib/completion/fish/docker.fish - insinto /usr/share/zsh/site-functions - doins contrib/completion/zsh/_* - popd || die # components/cli -} - -pkg_postinst() { - udev_reload - - elog - elog "To use Docker, the Docker daemon must be running as root. To automatically" - elog "start the Docker daemon at boot, add Docker to the default runlevel:" - elog " rc-update add docker default" - elog "Similarly for systemd:" - elog " systemctl enable docker.service" - elog - elog "To use Docker as a non-root user, add yourself to the 'docker' group:" - elog " usermod -aG docker youruser" - elog - - elog " Devicemapper storage driver has been deprecated" - elog " It will be removed in a future release" -} diff --git a/app-emulation/docker/docker-19.03.13-r2.ebuild b/app-emulation/docker/docker-19.03.13-r2.ebuild new file mode 100644 index 000000000000..466ac242d032 --- /dev/null +++ b/app-emulation/docker/docker-19.03.13-r2.ebuild @@ -0,0 +1,316 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGO_PN="github.com/docker/docker-ce" + +if [[ ${PV} = *9999* ]]; then + # Docker cannot be fetched via "go get", thanks to autogenerated code + EGIT_REPO_URI="https://${EGO_PN}.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}" + inherit git-r3 +else + DOCKER_GITCOMMIT=4484c46d9d + MY_PV=${PV/_/-} + SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!" + inherit golang-vcs-snapshot +fi +inherit bash-completion-r1 golang-base linux-info systemd udev + +DESCRIPTION="The core functions you need to create Docker images and run Docker containers" +HOMEPAGE="https://www.docker.com/" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="apparmor aufs btrfs +container-init device-mapper hardened overlay seccomp selinux" + +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies +BDEPEND=" + >=dev-lang/go-1.13.12 + dev-go/go-md2man + virtual/pkgconfig +" + +DEPEND=" + acct-group/docker + >=dev-db/sqlite-3.7.9:3 + apparmor? ( sys-libs/libapparmor ) + btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) + device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] ) + seccomp? ( >=sys-libs/libseccomp-2.2.1 ) +" + +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies +# https://github.com/docker/docker-ce/tree/master/components/engine/hack/dockerfile/install +# make sure containerd, docker-proxy, runc and tini pinned to exact versions from ^, +# for appropriate brachch/version of course +RDEPEND=" + ${DEPEND} + !sys-apps/systemd[-cgroup-hybrid(+)] + >=net-firewall/iptables-1.4 + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + dev-libs/libltdl + ~app-emulation/containerd-1.3.7[apparmor?,btrfs?,device-mapper?,seccomp?,selinux?] + ~app-emulation/runc-1.0.0_rc10[apparmor?,seccomp?,selinux(-)?] + ~app-emulation/docker-proxy-0.8.0_p20200617 + container-init? ( >=sys-process/tini-0.18.0[static] ) +" + +RESTRICT="installsources strip" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +# see "contrib/check-config.sh" from upstream's sources +CONFIG_CHECK=" + ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS + ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG + ~KEYS + ~VETH ~BRIDGE ~BRIDGE_NETFILTER + ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE + ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS + ~IP_NF_NAT ~NF_NAT + ~POSIX_MQUEUE + + ~USER_NS + ~SECCOMP + ~CGROUP_PIDS + ~MEMCG_SWAP + + ~BLK_CGROUP ~BLK_DEV_THROTTLING + ~CGROUP_PERF + ~CGROUP_HUGETLB + ~NET_CLS_CGROUP + ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED + ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR + + ~VXLAN + ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER + ~IPVLAN + ~MACVLAN ~DUMMY + + ~OVERLAY_FS + ~EXT4_FS_SECURITY + ~EXT4_FS_POSIX_ACL +" + +ERROR_KEYS="CONFIG_KEYS: is mandatory" +ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" +ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" + +ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering" +ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering" +ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" +ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" +ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks" +ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks" + +pkg_setup() { + if kernel_is lt 3 10; then + ewarn "" + ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported." + ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies" + fi + + if kernel_is le 3 18; then + CONFIG_CHECK+=" + ~RESOURCE_COUNTERS + " + fi + + if kernel_is le 3 13; then + CONFIG_CHECK+=" + ~NETPRIO_CGROUP + " + else + CONFIG_CHECK+=" + ~CGROUP_NET_PRIO + " + fi + + if kernel_is lt 4 5; then + CONFIG_CHECK+=" + ~MEMCG_KMEM + " + ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional" + fi + + if kernel_is lt 4 7; then + CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES + " + fi + + if kernel_is lt 5 1; then + CONFIG_CHECK+=" + ~NF_NAT_IPV4 + ~IOSCHED_CFQ + ~CFQ_GROUP_IOSCHED + " + fi + + if kernel_is lt 5 2; then + CONFIG_CHECK+=" + ~NF_NAT_NEEDED + " + fi + + if kernel_is lt 5 8; then + CONFIG_CHECK+=" + ~MEMCG_SWAP_ENABLED + " + fi + + if use aufs; then + CONFIG_CHECK+=" + ~AUFS_FS + ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3" + fi + + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + ~BTRFS_FS_POSIX_ACL + " + fi + + if use device-mapper; then + CONFIG_CHECK+=" + ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + fi + + linux-info_pkg_setup +} + +src_compile() { + export GOPATH="${WORKDIR}/${P}" + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + export CGO_CFLAGS="-I${ROOT}/usr/include" + export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)" + + # if we're building from a tarball, we need the GITCOMMIT value + [[ ${DOCKER_GITCOMMIT} ]] && export DOCKER_GITCOMMIT + + # fake golang layout + ln -s docker-ce/components/engine ../docker || die + ln -s docker-ce/components/cli ../cli || die + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in aufs btrfs device-mapper overlay; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + for tag in apparmor seccomp selinux; do + if use $tag; then + DOCKER_BUILDTAGS+=" $tag" + fi + done + + pushd components/engine || die + + if use hardened; then + sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die + grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' + sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \ + -i hack/make/dynbinary-daemon || die + grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed' + fi + + # build daemon + VERSION="$(cat ../../VERSION)" \ + ./hack/make.sh dynbinary || die 'dynbinary failed' + + popd || die # components/engine + + pushd components/cli || die + + # build cli + DISABLE_WARN_OUTSIDE_CONTAINER=1 emake \ + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \ + VERSION="$(cat ../../VERSION)" \ + GITCOMMIT="${DOCKER_GITCOMMIT}" \ + dynbinary + + # build man pages + go build -o gen-manpages github.com/docker/cli/man || die + ./gen-manpages --root . --target ./man/man1 || die + ./man/md2man-all.sh -q || die + rm gen-manpages || die + # see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man) + + popd || die # components/cli +} + +src_install() { + dosym containerd /usr/bin/docker-containerd + dosym containerd-shim /usr/bin/docker-containerd-shim + dosym runc /usr/bin/docker-runc + use container-init && dosym tini /usr/bin/docker-init + + pushd components/engine || die + newbin bundles/dynbinary-daemon/dockerd-${PV} dockerd + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + udev_dorules contrib/udev/*.rules + + dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md + dodoc -r docs/* + + insinto /usr/share/vim/vimfiles + doins -r contrib/syntax/vim/ftdetect + doins -r contrib/syntax/vim/syntax + + # note: intentionally not using "doins" so that we preserve +x bits + dodir /usr/share/${PN}/contrib + cp -R contrib/* "${ED}/usr/share/${PN}/contrib" + popd || die # components/engine + + pushd components/cli || die + + newbin build/docker-* docker + + doman man/man*/* + + sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die + dobashcomp contrib/completion/bash/* + bashcomp_alias docker dockerd + insinto /usr/share/fish/vendor_completions.d/ + doins contrib/completion/fish/docker.fish + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/_* + popd || die # components/cli +} + +pkg_postinst() { + udev_reload + + elog + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot, add Docker to the default runlevel:" + elog " rc-update add docker default" + elog "Similarly for systemd:" + elog " systemctl enable docker.service" + elog + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog " usermod -aG docker youruser" + elog + + elog " Devicemapper storage driver has been deprecated" + elog " It will be removed in a future release" +} diff --git a/app-emulation/edumips64/Manifest b/app-emulation/edumips64/Manifest index a7b978c5dc78..b358ea9f02ba 100644 --- a/app-emulation/edumips64/Manifest +++ b/app-emulation/edumips64/Manifest @@ -1,7 +1,5 @@ AUX edumips64-1.2-javadoc-cp.patch 483 BLAKE2B a419aaafa7839115cfdcb911c501b973ac3159d89d570172834cf94ed3600c1ae9cf11233832d6afc7c2a19901336d7fa604f10d334d8f739d91da77d6b28bc6 SHA512 f46c16f88e0624dd587a8e8d4f243f8e435344809406af91e7fa3ba63593da373ec93b815681e8a5660ffa0fc80c66b9e89b1b9fd5c80dc236cd626474e43549 AUX edumips64-javadoc-cp.patch 530 BLAKE2B ac98978ce391c3af6486b327d90bc0364d42afa0c72dcdc0681e84ce99974d4f8d94c2c177781f115c28b89a36961989a33d081615e5e9996ec397941c259921 SHA512 5a0d51507542a484cda3c812a536bef7c58f8d7cff68a07d5c6ead2d4c3bc73ea9b20a550404fac3682d129f8b3f95a8819760420170d08dfe7360657181730f -DIST edumips64-1.1.tar.bz2 551083 BLAKE2B c76b29d1fbcfe6b03afae11e5c99717db2ef2c3046b66411b0d98ffc3bb119aac147d2283c938ef9947d4737fde141bfd89cee6f46d5db72f75a949a25b74cff SHA512 ca4884bbdb5bb41fe96abca566500af7dc31b330390f352bc6413aacb0561f58b5e95a90e22f58d18065324c155c97bd4d79beb7769efdafc3541cc37145579c DIST edumips64-1.2.tar.bz2 551455 BLAKE2B 614bf851964ea32d6954fb5345f6b07b6292bf90e24dca5d3ea8d86c1b910e1e9ade6ebfece054922ad3506586e9f32c1f6570a7248023e6a867a8b5c09b1203 SHA512 93a5bcae3ab96c35688de7589b9ecb465fe841b007a50e1b04f8194d12a45a4e7134951584f4fbfad5cee51925d1d21b0f425f182999f66fe57a31adbd3f6602 -EBUILD edumips64-1.1.ebuild 1055 BLAKE2B 57dfaa0cd8a3a0c929e5f719830181ad0075a2ee496054a194d1a7ae2abdd911dab64c8d1dc318ccb7eb0023b446d87216c974285af0265b58091f943740f73b SHA512 4d6411ac753d68c7887b1f40d3f006ae7fa78831bda5898ef546c21d3331b3830775ad5ce638b4ac9ace901b447d49b509e61bdaf04ceaf6ccd6c515827540db EBUILD edumips64-1.2.ebuild 1076 BLAKE2B b0fd1593dc9915b86f1424b804ccb292a36b21df434ca8494b424249e46613f49cccacdda0bd480e908a6468df6acc521caa6600bcb37821cf4ecbfb377da356 SHA512 bd3ab8afa73b8a4fb2624669f61ab92c1aa7ac8cec9b0e282fb3ca13e84aa462bf44ef8e6a01aa7624913e681a204f73d705dca5f2e42c4da7e11237f96461b3 MISC metadata.xml 325 BLAKE2B fa644dd786234b486da85e620556900d3ddf69fdaad914f35e888780c2c5a3e17b5ee62fde9919a725e07f9203092741d8e68af7c3418416d182078751ffacce SHA512 e6541353f8d7f6c508bfa2996a938b41c5f98f163f03119c5885e60cf447f1820bc8ab17aa57d45241189e4c1528ec6667048a019042b70df2ecbf95505d2882 diff --git a/app-emulation/edumips64/edumips64-1.1.ebuild b/app-emulation/edumips64/edumips64-1.1.ebuild deleted file mode 100644 index 9a2d22592836..000000000000 --- a/app-emulation/edumips64/edumips64-1.1.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -JAVA_PKG_IUSE="doc test" - -inherit eutils java-pkg-2 java-ant-2 - -DESCRIPTION="A visual and cross-platform MIPS64 CPU Simulator" -HOMEPAGE="https://www.edumips.org" -SLOT="0" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" -LICENSE="GPL-2" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="dev-python/sphinx - dev-java/javahelp:0 - >=virtual/jdk-1.6 - doc? ( sys-devel/make ) - test? ( - dev-java/junit:4 - dev-java/ant-junit4 - )" -RDEPEND=">=virtual/jre-1.6" - -EANT_BUILD_TARGET="slim-jar" -EANT_DOC_TARGET="htmldoc" - -src_prepare() { - epatch "${FILESDIR}/${PN}-javadoc-cp.patch" - java-pkg_jar-from --build-only --into libs javahelp jhall.jar - use test && java-pkg_jar-from --build-only --into libs junit-4 junit.jar junit-4.10.jar - java-pkg-2_src_prepare -} - -src_install() { - java-pkg_newjar ${PN}-${PV}-nodeps.jar ${PN}.jar - dodoc RELEASE_NOTES authors - use doc && java-pkg_dojavadoc docs/en/output/html -} - -src_test() { - ANT_TASKS="ant-junit4" eant test -} diff --git a/app-emulation/libguestfs-appliance/Manifest b/app-emulation/libguestfs-appliance/Manifest index d29f751f2e5b..ee516f61a20f 100644 --- a/app-emulation/libguestfs-appliance/Manifest +++ b/app-emulation/libguestfs-appliance/Manifest @@ -1,6 +1,4 @@ AUX env.file 47 BLAKE2B 2b9034e60acea9f2300ec234a7ccdd6b438d2370808f8c30c8470c735287d1ed5ee6f75f0c1fa05423a39e558ca5daa258de44b1125999ac47e289c7c4df332d SHA512 74b5c63ab4421238b4e2c54dfc9579dea719101c0b9066341ddf3aa64ff1ed739e6d38e837b388ded1f741bc57c47a52772bf22ee52318acc5cb34908f1df1fd -DIST appliance-1.36.1.tar.xz 91514476 BLAKE2B 4cb328178e93b2430c85d1eb23450633220cabfa16e4dbbb11e0e5b75f7fc4c33daabc171dd19aee46ce385ec06665010e52d8dafac7581695cf40ff5d194dcb SHA512 2af550078a0e6b37e97988018f579df0e19072d06cbb53eccd85c2873850b472cabf34bbfb4e0ef5f43b5a1af4155f014eeefb85a1b05035d7916c7b1187d722 DIST appliance-1.38.0.tar.xz 96537604 BLAKE2B 8b425b624dec274f2913ab9ff89cc02fea6c9244d6e3ee64f054d2a91f7959d9dbc03d55e9f5b4f5df835007581a18914b5c790f55b01c3398412ce5a7e9309d SHA512 a423fd54627ffb9c2ae05b26ad60b9089f8119a99d30612a33921a2662ba42332ad0a7a7ad6c33b7042fc02a5c4dc9b563158650c6cb4a3eaaae6b764f7d7082 -EBUILD libguestfs-appliance-1.36.1.ebuild 1062 BLAKE2B 4279472548f0bbafdc592974217c8267ece2304838d21344035fcff6d1a15292699607c7f9454f2cdbf95f55ada9cadde4ec10a7e74e64a02da6e449c48299f1 SHA512 12f8ffa19b7d8a318e3b1234a4fa42f9a97b9b849e78a978b0b663b76568921ef5675f87698e18c4638c5e473acc1a3ddba2402e67ddd6dfbe2064e9510f3335 EBUILD libguestfs-appliance-1.38.0.ebuild 1059 BLAKE2B f1d9fc8b2aa64d04fb9d16533dbee9cd157b41cb514c8ffbae7e50b3b035c7ef91b2bcb4f55b95ba225e56b20e14f6f17adeaa620c168f80b24e911d7ec0b1bf SHA512 840969c47f6b36051a41d850a294ccee2c9c322a3907f911dd1d2b0dc8a0c481878ae9f3ce08db879c1f1a5399f0657200aa4209a82a96c568db770fc1bdf7f1 MISC metadata.xml 427 BLAKE2B 2763fa9795cb6e147d2675776259d7387d86b182b80ec5fdf8727bdc3f2cb64eea725e467d783a9900e8c64d25e06bbe1f868ccf076c06da731026ddaad47482 SHA512 a092635a5738a6cdc8ae88d69016a34fa027a4037ac5b87165f04bdaaa9ae80af65f6cf0e5ae458c688d04f9acea8e9be745e44d62e6733ad8ed95f1d904f9b7 diff --git a/app-emulation/libguestfs-appliance/libguestfs-appliance-1.36.1.ebuild b/app-emulation/libguestfs-appliance/libguestfs-appliance-1.36.1.ebuild deleted file mode 100644 index 7f91b08c3f97..000000000000 --- a/app-emulation/libguestfs-appliance/libguestfs-appliance-1.36.1.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -CHECKREQS_DISK_USR=500M -CHECKREQS_DISK_BUILD=500M - -inherit check-reqs - -DESCRIPTION="VM appliance disk image used in libguestfs package" -HOMEPAGE="http://libguestfs.org/" -SRC_URI="http://libguestfs.org/download/binaries/appliance/appliance-${PV}.tar.xz" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="app-arch/xz-utils" -# Mixing libguestfs versions causes weird problems. #501588 -RDEPEND="!/components/engine/hack/dockerfile/install/runc.installer +RUNC_COMMIT="dc9208a3303feef5b3839f4323d9beb36df0a9dd" +CONFIG_CHECK="~USER_NS" +EGO_PN="github.com/opencontainers/${PN}" + +DESCRIPTION="runc container cli tools" +HOMEPAGE="http://runc.io" +SRC_URI="https://github.com/opencontainers/${PN}/archive/v${RUNC_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 BSD-2 BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="apparmor +ambient hardened +kmem +seccomp selinux test" + +DEPEND="seccomp? ( sys-libs/libseccomp )" + +RDEPEND=" + ${DEPEND} + !app-emulation/docker-runc + apparmor? ( sys-libs/libapparmor ) +" + +BDEPEND=" + dev-go/go-md2man + test? ( "${RDEPEND}" ) +" + +# tests need busybox binary, and portage namespace +# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox +# majority of tests pass +RESTRICT+=" test" + +src_compile() { + # Taken from app-emulation/docker-1.7.0-r1 + export CGO_CFLAGS="-I${ROOT}/usr/include" + export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '') + -L${ROOT}/usr/$(get_libdir)" + + # build up optional flags + local options=( + $(usev ambient) + $(usev apparmor) + $(usev seccomp) + $(usev selinux) + $(usex kmem '' 'nokmem') + ) + + myemakeargs=( + BINDIR="${ED}/usr/bin" + BUILDTAGS="${options[*]}" + COMMIT=${RUNC_COMMIT} + DESTDIR="${ED}" + PREFIX="${ED}/usr" + GOPATH="${S}" + -C "src/${EGO_PN}" + ) + + emake "${myemakeargs[@]}" runc man +} + +src_install() { + emake "${myemakeargs[@]}" install install-man install-bash + + local DOCS=( src/"${EGO_PN}"/{README.md,PRINCIPLES.md,docs/.} ) + einstalldocs +} + +src_test() { + emake "${myemakeargs[@]}" localunittest +} diff --git a/app-emulation/runc/runc-1.0.0_rc92.ebuild b/app-emulation/runc/runc-1.0.0_rc92.ebuild deleted file mode 100644 index 0f6763825b49..000000000000 --- a/app-emulation/runc/runc-1.0.0_rc92.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Change this when you update the ebuild -RUNC_COMMIT=dc9208a3303feef5b3839f4323d9beb36df0a9dd - -inherit go-module linux-info - -CONFIG_CHECK="~USER_NS" - -MY_PV="${PV/_/-}" -SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" - -DESCRIPTION="runc container cli tools" -HOMEPAGE="http://runc.io" - -LICENSE="Apache-2.0 BSD-2 BSD MIT" -SLOT="0" -IUSE="apparmor hardened +kmem +seccomp selinux test" - -DEPEND="seccomp? ( sys-libs/libseccomp )" - -RDEPEND=" - ${DEPEND} - !app-emulation/docker-runc - apparmor? ( sys-libs/libapparmor ) -" - -BDEPEND=" - dev-go/go-md2man - test? ( "${RDEPEND}" ) -" - -S="${WORKDIR}/${PN}-${MY_PV}" - -# tests need busybox binary, and portage namespace -# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox -# majority of tests pass -RESTRICT+=" test" - -src_compile() { - # Taken from app-emulation/docker-1.7.0-r1 - export CGO_CFLAGS="-I${ROOT}/usr/include" - export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '') - -L${ROOT}/usr/$(get_libdir)" - - # build up optional flags - local options=( - $(usev apparmor) - $(usev seccomp) - $(usev selinux) - $(usex kmem '' 'nokmem') - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - COMMIT=${RUNC_COMMIT} - DESTDIR="${ED}" - PREFIX="${ED}/usr" - ) - - # prevent double manpage generation - sed -i 's/^install-man: man/install-man:/' Makefile || die - - emake "${myemakeargs[@]}" runc man -} - -src_install() { - emake "${myemakeargs[@]}" install install-man install-bash - - local DOCS=( README.md PRINCIPLES.md docs/. ) - einstalldocs -} - -src_test() { - emake "${myemakeargs[@]}" localunittest -} diff --git a/app-emulation/ski/Manifest b/app-emulation/ski/Manifest index 14e4885f7b87..911a943f0caf 100644 --- a/app-emulation/ski/Manifest +++ b/app-emulation/ski/Manifest @@ -4,6 +4,7 @@ AUX ski-1.3.2-binutils.patch 1039 BLAKE2B 72a03fc70b3473ba760297f97cd8722c6f3b9a AUX ski-1.3.2-configure-withval.patch 634 BLAKE2B 3a32acdfd37d7b2622f6add89ebdb5ca0d55a9ef6bb13f78bc4b6d82638ba63c2473bf12f1971a1aaca83f10ad0061a2d16a031bee50f9dcba5cc2c01efcd86f SHA512 38e612baf0a3fee74c3d3fa0f106b6169eb5d5594b5cfd437ab65f888dfaf151863a0d5b312ebe0b4ff882937fa4a5c2a3b6b0064fc0dabe6fd57990de4eb9ec AUX ski-1.3.2-gcc-10.patch 538 BLAKE2B aed07964852d344b9d2888dd4c86a31fd7b2b0c89067fb01cf2c513289faccee1f4bfffafda98298e7a2268d5b4a4c8abdc54c089408b94df0dd7dba0275e25b SHA512 9e4e4c852fce92c6566df35d95e9b35d9c655ab8fe0eb3fb8eef6a76a8241a6b882b2587ec99510368a905e2ddb5d29ffa8aef19316cd7078d94ca87ed258844 AUX ski-1.3.2-glibc-2.28.patch 240 BLAKE2B 279fe68c7ddb734554fbe7e098eb049d710439c9f3cc63dda231c5f8f1e9551909017bd9945f390a4fe1acd82d8bb9f7ead5ac75bfea4103b4af908397df8d40 SHA512 84913716d3b6ed9ccdfac4bb15ddece97013967c5ae4e22dd6ddc7235e013832131e3f21bcba76bc07cbce4d949e149c8b8df6a59ff2141308f7a550eedbfcdc +AUX ski-1.3.2-lex-deps.patch 358 BLAKE2B fbb49379ae9608cd23bfc30a6182b2d63782474a3b2fe660c300fef6fd89b3e1e840733ef4932e09d392d4ddcc01ffe1efb1d69addc1d31efa937f6171b2dcf2 SHA512 a987ba9bd4c3de6d5a2d095118e594d70b28ede82b9e8e34f1eed50c7d43033c0887b0546b9cffc54b1f4e3608a1e38f4df04d4fc86e02aac00f9a59ff0dedf2 AUX ski-1.3.2-ncurses-config.patch 584 BLAKE2B a6876394e368f1f793bce339618c668e9d117c9206455e7d3cf74372b3214c9984fde52753fb453e73d390a3f57011c7a3406a40daaaee04fc8231fbb40d34d1 SHA512 64bd0b4ee7d7e9117f9907eaf71f92b0b74dc4d1c4724845de31820a9853199f8834d3d01afdfb725c389d45f353e2d8b99264aa5ddff5c3067c22e990cd967e AUX ski-1.3.2-no-local-ltdl.patch 366 BLAKE2B 1d4de13c62a474c41aa77ec91db2c6c0da51d65992d2d1dcc15518dd34fbdcd101c9df2a50585ef6cc54b71197d9354ad1f4092b80de2e1714986e7744ae83c6 SHA512 70ecc14b4449065ade95b00b18b79cd6106f3efc1553310b2ae3b6df10f1f31886c9d7c3832e727daf51bd0ce22d53f818fb30b9e8c11dea597315bbeb442f81 AUX ski-1.3.2-prototypes.patch 656 BLAKE2B 6f85c3acd7eff720f7f25fbad77389c16c203a31d3cc00494b0624e38b333fd694912ad5882abc61efefaa033042e9bbb28c932870e29bc7336565345428aba3 SHA512 d1f37e57a0aaea4621a749b94453121f16cd3ce6c51cae4cdde8b6258f5a4a7a63c5b35e8bc50cf43d5462ab8be9abfc4196443e329641622ab848f56e27616d @@ -11,5 +12,5 @@ AUX ski-1.3.2-remove-hayes.patch 682 BLAKE2B 5a304115ac6353b1c61ae4ddeeebc821ced AUX ski-1.3.2-syscall-linux-includes.patch 397 BLAKE2B dfb72fef3be8110ab5acacb8fa0f33e8c68fc5de873b92398dd4a048307f3d4db47eb2d04a8323ce3748e893e190d42ca5168de442c892edff92834544edad52 SHA512 f0784af8eb8ecc8df92f96f1ce2f714f4cb1a9e60409a06c02cf300316a9680b01be6b6d1f83854b1fb3bd364cf0b08262a99a63190695fd9722691ef1fa3d6f AUX ski-1.3.2-uselib.patch 582 BLAKE2B b0d91fed1a01c6d4c2db464a1dbe6c4855a0302eacb21367865a3510b081a95756f1b09f79a015a1e20b3cb87d31e08785a5abed4a661203aec82a4a311538bf SHA512 f119e1a18ef08f40758fa1ddde61a88533b432c75111bba38ffc134edfee66f28ee01336509ed106461bddfc438d1eac48213ab4940e82f5128b924e584b974e DIST ski-1.3.2.tar.gz 2715791 BLAKE2B 5e6b237ea21bf410e44dbaa88150d980f2af66728effeab4e8bcef02f27c24069c4bcaf42d3814ad15c3bd759819d468f163b6c64a89408c09d1ffbdc9302c0f SHA512 21f2e1dd87cb517602d4d6ef62707ec6042c1b6ec5dfd063db7315d13bbc3fb47b491c15b7efb0433fc82f27c7924e2d50b2f57fe24e49aeb864ce2c3c2c8bd0 -EBUILD ski-1.3.2-r4.ebuild 1515 BLAKE2B 2c9a19e5b8e07d9d2eabb4c94b5aaabea02f93bfb55c14b76069e2147d67cd8b3397a05413cb1e250c1497a2ecadff8c73b06aa989945bb14324fab7a176ed85 SHA512 08e667d9a77ce117493f33298b4b1e956e79448654db4293bdda4644e2272296d2f7690128c32038af04202c792bf10c55f2c2fd8e6634d9024371e96424f5a9 -MISC metadata.xml 568 BLAKE2B c632e41082b9077bfd5506b8f6b83708a0b240ceac97b41b70f73dd15c79767e5d61b0830b0e17136939d2815a6a5d52afa0537fa30a198fe70f26496ca46dbe SHA512 0c4da2abeb032d48f3cc26dec9d4b95fe9f32c014461f2d0c3e3f599780e701df593e9f7873df1be5859ef2fdd12c9004d973c1b43be9b997736df6c73331c50 +EBUILD ski-1.3.2-r4.ebuild 1558 BLAKE2B cc28e4ba990db883074b505a50ad823d9104e7fb6f8746fa14e4de1f707556a6bd1bf7ab5c0b33f99b3e2b949c5c4220ed72258c2aca1ad282332842cc357a02 SHA512 cc7eccadc7ddd10c247afc8b5ff840fcf93d9452396c553cc3401040a58b2c6e03ab8692a0cf99fd33d92c0f0b2b937e5ddd11bc42008531f37ec301e72a6ed9 +MISC metadata.xml 445 BLAKE2B c044a6cef20657adc98ec1e0d38b14393b04cbba0b71ec4efae3763c8de2a676bfc17569cf9f92d67306dbaf0cc058ef042cb3b0b54631f0f21458d3afacc6e9 SHA512 bfde8716ac8ae245b21561f97a6e4ad69617d9ddc994ec89e032b9a2d512be61f05c8aa94e2ada7dfb93cd24d45f49fb7ea6d0b934367bb9e256fb3f18f1e0c2 diff --git a/app-emulation/ski/files/ski-1.3.2-lex-deps.patch b/app-emulation/ski/files/ski-1.3.2-lex-deps.patch new file mode 100644 index 000000000000..1dc8470864e2 --- /dev/null +++ b/app-emulation/ski/files/ski-1.3.2-lex-deps.patch @@ -0,0 +1,17 @@ +escan.l depends on generated eparse.h. +If eparse.h is not present yet escan.o +could be built before ${YACC) is ran. + +https://bugs.gentoo.org/744676 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -113,7 +113,8 @@ BUILT_SOURCES= \ + $(DAS_INSTR_DERIVED) \ + $(ASM_HASH_DERIVED) \ + $(ICNT_DERIVED) \ +- instr.c ++ instr.c \ ++ eparse.h + + ski_SOURCES= \ + main.c diff --git a/app-emulation/ski/metadata.xml b/app-emulation/ski/metadata.xml index b37238378ea2..ab1c2fb53a4b 100644 --- a/app-emulation/ski/metadata.xml +++ b/app-emulation/ski/metadata.xml @@ -5,10 +5,6 @@ slyfox@gentoo.org Sergei Trofimovich - - ia64@gentoo.org - Gentoo Linux IA-64 Development - enable extra binary emulation debugging via sys-libs/binutils-libs diff --git a/app-emulation/ski/ski-1.3.2-r4.ebuild b/app-emulation/ski/ski-1.3.2-r4.ebuild index 3d904abf6d44..ed996625c01d 100644 --- a/app-emulation/ski/ski-1.3.2-r4.ebuild +++ b/app-emulation/ski/ski-1.3.2-r4.ebuild @@ -39,6 +39,7 @@ PATCHES=( "${FILESDIR}"/${P}-prototypes.patch "${FILESDIR}"/${P}-glibc-2.28.patch "${FILESDIR}"/${P}-gcc-10.patch #707144 + "${FILESDIR}"/${P}-lex-deps.patch #744676 ) src_prepare() { diff --git a/app-emulation/uade/Manifest b/app-emulation/uade/Manifest index 208d7f31b79e..7aabe2d84d77 100644 --- a/app-emulation/uade/Manifest +++ b/app-emulation/uade/Manifest @@ -1,5 +1,4 @@ AUX uade-2.13-configure.patch 620 BLAKE2B 4266246e968f5bcbfee755896047c5c0587a5199d8fc7882b4f9665175865a94491d6bfceaf3549b6f825e46688ab2f6164f6b4111101212f907d9bdec3f2b28 SHA512 08d5caa315054553414961cd44149f949099341f9c91b4dd7ee957649fa029b9c1927f583bd581e6b213f381b3eb43fe5097a87747ce7e36e94487fafdc96c76 DIST uade-2.13.tar.bz2 2897931 BLAKE2B 7d5ba128fc53bb683a6a21616e3c9c2a7376361086f3d91a59026ac89eb48d9520f89342914078ccb4614a16826a8c90f86a6052caffc9d5cc4e1e0ab6b092f0 SHA512 675c3369ed55a314cab81ae7ba8a09b277ab1cfe2354eac92194f746803ec2464b7603d665cf30da41caef5997c21515e69f0313d8d2b079c242a08fef786183 -EBUILD uade-2.13-r1.ebuild 824 BLAKE2B 383a094b4634f1f733832b2c3d66d71d7f4f28ff2d85c0e41f20652c2c9da5d320868b077f49dc558fade5c82548fac5e81f53f433cace622b91eb382f0489b7 SHA512 c61726e48b585d2ec2b96e4c765793e601c036855f2b5e29fcea888d51e704550c90efdf49a6297edb77f1b408ee0cb5ba6e5f2425541e1f3cd97cdb4bb693f0 -EBUILD uade-2.13.ebuild 703 BLAKE2B f70f7552702e66e71bb5762cc98675dafaf6009f7d5b8dce66d0be26dc8aafffbfe50bfa68a9cf3fed562900bd0b13b886706514d9c298726f08cedee8c8af41 SHA512 51aa80ca564ec7baa6c89a36be7f4ac36c5e6884cc936099b4cfb426f0de154f6239183de22b26767b3310a627865060194aa73217bd5e1ec2eac08910d8a531 +EBUILD uade-2.13-r1.ebuild 821 BLAKE2B 56bbaf3dc9be81d371389e55a72a7affdd2d22bb92459a2cd57ce7e3a7df265febcd173a5ce7a0ef33b5ef0536d86890b0413cc003fe3de986ba0412eed731f1 SHA512 7947a265d8589cc2e7d4d57bf0139f3344235ab8764f0e2eff329ac1b04cd2d6948f8c63ee2f70a1ed249465b1ca03f5f9ac9072303a9ed12c43b7eb5dd92e6b MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 diff --git a/app-emulation/uade/uade-2.13-r1.ebuild b/app-emulation/uade/uade-2.13-r1.ebuild index c98dd0660e1a..28ceda581e45 100644 --- a/app-emulation/uade/uade-2.13-r1.ebuild +++ b/app-emulation/uade/uade-2.13-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://zakalwe.fi/uade/uade2/${P}.tar.bz2" LICENSE="GPL-2+ LGPL-2+" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="amd64 ppc x86" RDEPEND="media-libs/libao" DEPEND="${RDEPEND}" diff --git a/app-emulation/uade/uade-2.13.ebuild b/app-emulation/uade/uade-2.13.ebuild deleted file mode 100644 index c11c43b58d14..000000000000 --- a/app-emulation/uade/uade-2.13.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit eutils - -DESCRIPTION="Unix Amiga Delitracker Emulator - plays old Amiga tunes through UAE emulation" -HOMEPAGE="http://zakalwe.fi/uade" -SRC_URI="http://zakalwe.fi/uade/uade2/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ppc x86" -IUSE="" - -RDEPEND="media-libs/libao" -DEPEND="${RDEPEND} - virtual/pkgconfig" - -src_configure() { - ./configure \ - --prefix=/usr \ - --package-prefix="${D}" \ - --with-uade123 \ - --with-text-scope \ - --without-xmms \ - --without-audacious || die -} - -src_install() { - DOCS="AUTHORS ChangeLog doc/BUGS doc/PLANS" \ - default - doman doc/uade123.1 -} diff --git a/app-emulation/vice/Manifest b/app-emulation/vice/Manifest index ec5874d91de3..38bf1da34256 100644 --- a/app-emulation/vice/Manifest +++ b/app-emulation/vice/Manifest @@ -2,5 +2,5 @@ AUX vice-pkg-config-3.4_p38553.patch 816 BLAKE2B 58fdde3647c520b12434b221197b91d DIST vice-emu-code-r37498-trunk-vice.zip 26810776 BLAKE2B 05baa0d123e9a0f1141ef68940455b5abfccde0204d0ffeb0a806212977be6f1f2c777267cad077272f4e09fa3c6adb9e95436adaaee5482b2ce918a3485caeb SHA512 5b4c31e51efc67ac08f6fe9361c42b80115b315fc24c128861341f2eea7567bdbb1761e52bc914df442ed5cc7f2ca7c6b0a2694441d63e63f9f693bcf72c70c0 DIST vice-emu-code-r38553-trunk-vice.zip 27146846 BLAKE2B 5139e4b1e9269c3885313889dffc055298c52152da77e5a824270feb0af6ba61a1726160a6d259e9f8840fefe486cc184f5bfda3ba1797e0359159ccf1e9824f SHA512 c4d3f132bae2980163e74695126e979bd68dddecb17c2eea8227edbb675985d1f04ade665b946a5e3c707bc17e260efb61f57aa141b6ef712385d4d85a68ef86 EBUILD vice-3.4_p37498.ebuild 4112 BLAKE2B 3e30d925e86759e7d35a05617102975e95ee15cda966645c724b30e72df7ba9233e84fb104e42c527038ccbca03ea9a959aef186d4cec9c5c514fd87a737a88f SHA512 65f9367778d826d487d0f6fea6f6faa3b09e86d6e1e82f526b4fc77739944c64ff1343c4afaceade3ca0f242084dc6d071c872909b060511352dfe6576397001 -EBUILD vice-3.4_p38553.ebuild 4383 BLAKE2B 1c9a80163086c51601a9bdbb9cee04dfdb3311b2f4bd9430a6ace4a9223bb74daca0aac0d8c08fbe9b782d5b88356142bfda877778010f3372c08f51315ab8da SHA512 3a493f086914381019789e035caa6698f9cf1cd47c86d481502dcbadc6c9bfa1fdca7e77dc0381ca8b1085cc6d390ee43b968b1f2c7b62dcf73aa1ca1db3236a +EBUILD vice-3.4_p38553.ebuild 4412 BLAKE2B d8c7c9b01a5189916dc555bae8e44a318a090288b8ef5382f59f3feb5693e5217f13a4a5239f8d44f89e04ffe6d9befca9e3d32a610b34dcb95199d8f340cb9b SHA512 3564aa2fe0552fc2d07a59bc3956e4e5545668ba1a35bc0e2d565d463b45f9900cee16d6457800b23b1238f0950b6edab7d0de3b6df7c90dd5cd213ee94d1505 MISC metadata.xml 692 BLAKE2B d9f0e48aab3fb0ed8ccc7b044f561a96cd563eeeabfae63371cf4b3772a8068c2b4191c09d89465402a202496a2aac7234ffab8adbcc4c17be54ab0e0c9d307c SHA512 f7be3c1e6a6394452d3f7aac52b25ba0eeb098841ecac32bbcc92257a7f09430f9a18927234ba166014523eb7b930c66d803d9105025b79ac1dbebed781fec96 diff --git a/app-emulation/vice/vice-3.4_p38553.ebuild b/app-emulation/vice/vice-3.4_p38553.ebuild index 0c04ce33e086..6035ab43a443 100644 --- a/app-emulation/vice/vice-3.4_p38553.ebuild +++ b/app-emulation/vice/vice-3.4_p38553.ebuild @@ -72,6 +72,7 @@ BDEPEND=" virtual/pkgconfig virtual/yacc doc? ( virtual/texi2dvi ) + gtk? ( x11-misc/xdg-utils ) " S="${WORKDIR}/${MY_P}" diff --git a/app-emulation/vkd3d/Manifest b/app-emulation/vkd3d/Manifest index f885c9d1734a..d1f995d12a3e 100644 --- a/app-emulation/vkd3d/Manifest +++ b/app-emulation/vkd3d/Manifest @@ -1,8 +1,10 @@ AUX vkd3d-1.1-Fix-build.patch 707 BLAKE2B 6d9ae111c19c61bbb63115bbd960d32a1c28c37aec8bb49fb631d1931b8f2987ccc6dbe2ff5d293480bda96da406e8045e05c7fc502e865da31beed28d70b54c SHA512 1d5316b4efb48fa8e8af99db675f02a4225a82b5095a6799c060a648977da83f8c3fd54ac3d6a86bfcdb6e05c1f455db68aaea7b7fc636b92f1274ba0fefd63b DIST vkd3d-1.0.tar.xz 461884 BLAKE2B 4dbd729f9e795d3d81178abc1a8774c0bbe6a5257c96c97acf1e4b4cdb5b7e30c77235e8b8fa57f7db3196caf30c55c3b0c07e2981629dd6177436a3cd117d33 SHA512 55712528688cdedc63049e168b371b470dbb8e31ddc36d8b23b0655f4a061726eb8556b9abf3cb887f6bd21379959aed9fab93ba0fd53813aec413ebec71d615 DIST vkd3d-1.1.tar.xz 487452 BLAKE2B 834ca06d2159a5857dde457f27e541f06624e87633af6aca7445867abc38c56a1da1fe34b6795ffbd6aa73e983ac0e4301402ae35ef8358fa8cc79c12972b11d SHA512 e107612bdca95e998f9d819bdf74e4ffe1b4d400d250ab855c4ebf94b7d3f088b3221591fef03b1c6b8ecb030feb1673f74831bd8bd8edda2989d09a8846b0f7 +DIST vkd3d-1.2.tar.xz 611240 BLAKE2B e7ea3f7120ad1092be0239bdc2e6d0dfdfecc3b1c2e7c359c4bfbd8c259f092e041a75a0e896da9a1c6370d5716590711128d31c9e552897b177b300b9a15107 SHA512 ca9d5b11e7770747b78b61f43196b45b7bda8d2dd4f1d76da915f895a04dc28c20499e1e433f5ce17416964fe0f37cdc907e7aa540ec9105afbc8a100094f3e7 EBUILD vkd3d-1.0.ebuild 926 BLAKE2B 414506ab4d6f240d57ca56e6e3ac080722d2bd375db9c790089ca310ff6340af1d5cd33185af795cdd581405d93f19610b1026087eedd358a3769159b29d4eb1 SHA512 29625db76407d29252f534b11296f0d3df7dcdbc567c9a0e0201765ee75370b28bf9098e96752e128ec4533209eef8dd0bf1f3000f818b5c97bdf12a32404466 EBUILD vkd3d-1.1-r1.ebuild 985 BLAKE2B dfaef748ee70113d4f0abf98365f05e625cbf97f9e18268df53e5f8e2cf420b97f56c2add1c4fee960ca9f2130e34437f6855a2eb57899a4da0ac97020c5ab1a SHA512 82a8db41ab48684612840bf9e4ce84480da3ac5193778e543ac912327cbc53ccc614cd3452b509cc1ca82ae9a9a9fe8853289d321a9f30d69766c2e84cdcdb7f EBUILD vkd3d-1.1.ebuild 929 BLAKE2B 3b1a8b289d47ab301fec2a45d5bde71759a0c23a36c6f9009ea7626860436a77f3bb3ff45184ed94f1b26cb859b5a6ae874cb66258edb0a52b8bf78b0ae9dfaf SHA512 db1e44ca23bcc636a61f9019a02558efc948bf7347e6ba11034ac0bae7cd0562555788b69dc98f0ccf67f4760b4c02338e81c54d5ccd8ee8d3ccd004bbbf66a4 -EBUILD vkd3d-9999.ebuild 1013 BLAKE2B d69666c130b15fa5dea83b104a953b6ac0c79f3854a9b11b09079b64d20c08557e0cc37f87aba29ed7166136b7d14d1fd4599ca258a64819065dc2f1ee552394 SHA512 b6a8fd7302f21d1e5278ab521e8d01769214ba860c413b4981a7c933c457d75f4d2172ae296f8e4a951350632df411674434c8994ea50fdc33bea61695ce8b8b +EBUILD vkd3d-1.2.ebuild 955 BLAKE2B 162af813760b507b720587dc289a6b918526de090bb75b0b1b4c7bdb8b3c80f890c8e20d7125377c052f1f35069fa608e4feb13ded93e0b5d43392af523d38ae SHA512 91ca964bdab48060eed0173490ab62249995248600791d05d87b25aea199062fa0ab965f11f475ce5a7ed3eed87fac44e96f6bf6029d5f30bba87dc9a46a72c2 +EBUILD vkd3d-9999.ebuild 1037 BLAKE2B 41cbb9344a3bac1cd1a69f9b4439d020754bb2e5363f416393209c52c0e0c32dbc948065df09a1fd0b75d0d47fddb22e383f1bb3bac16c0652ae699f49c5a0d9 SHA512 ebd0d6514789760d0dedb7f4fd95fc435c0b9feeb39e9e1e86f501b3dc75d1e75a290451761bf631e50a48665ca7c34ceb537c825237b0d2bd13dfc3db906afa MISC metadata.xml 562 BLAKE2B 2409531d0bc65f547844ae83bfd7aaea4d996f2cdf11ebbf7e95775465d4bed916a39a38a0aae0c6df91a417df484ecaf63b29ea4286fdcfd11b07c8177e3496 SHA512 2150c80fd4315d922521b43c650012008864b3ed1ff7d80e43622ad916e52411c6ef855b46693f96165e9d89fd6a6f18cdc88baab13bec9f7053c0c1795bcd71 diff --git a/app-emulation/vkd3d/vkd3d-1.2.ebuild b/app-emulation/vkd3d/vkd3d-1.2.ebuild new file mode 100644 index 000000000000..90e8035e37ba --- /dev/null +++ b/app-emulation/vkd3d/vkd3d-1.2.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib-minimal + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://source.winehq.org/git/vkd3d.git" + inherit git-r3 +else + KEYWORDS="~amd64 ~x86" + SRC_URI="https://dl.winehq.org/vkd3d/source/${P}.tar.xz" +fi + +IUSE="spirv-tools" +RDEPEND="spirv-tools? ( dev-util/spirv-tools:=[${MULTILIB_USEDEP}] ) + media-libs/vulkan-loader[${MULTILIB_USEDEP},X] + x11-libs/xcb-util:=[${MULTILIB_USEDEP}] + x11-libs/xcb-util-keysyms:=[${MULTILIB_USEDEP}] + x11-libs/xcb-util-wm:=[${MULTILIB_USEDEP}]" + +DEPEND="${RDEPEND} + dev-util/spirv-headers + dev-util/vulkan-headers" + +DESCRIPTION="D3D12 to Vulkan translation library" +HOMEPAGE="https://source.winehq.org/git/vkd3d.git/" + +LICENSE="LGPL-2.1" +SLOT="0" + +multilib_src_configure() { + local myconf=( + $(use_with spirv-tools) + --disable-doxygen-pdf + ) + + ECONF_SOURCE=${S} econf "${myconf[@]}" +} diff --git a/app-emulation/vkd3d/vkd3d-9999.ebuild b/app-emulation/vkd3d/vkd3d-9999.ebuild index 8f9fdffa3c6b..0e542af46662 100644 --- a/app-emulation/vkd3d/vkd3d-9999.ebuild +++ b/app-emulation/vkd3d/vkd3d-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -40,6 +40,7 @@ src_prepare() { multilib_src_configure() { local myconf=( $(use_with spirv-tools) + --disable-doxygen-pdf ) ECONF_SOURCE=${S} econf "${myconf[@]}" diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest index d9e3f51571da..459d0861d1d5 100644 --- a/app-emulation/wine-staging/Manifest +++ b/app-emulation/wine-staging/Manifest @@ -1,15 +1,15 @@ DIST gentoo-wine-patches-20200523.tar.xz 59740 BLAKE2B 951d7f305a6e5b3759c8095629d48de4830b8a0c9558de859a9e02d9824fe85553fda2bc0820ca97022a0ca63ac28473dadfe827821220445dbf1a7fd15c7c98 SHA512 46eea45c982b475e3ff444cbd87c6a0a235fc8dcaf3d83d89655a10ed8841a9ddb09e5a638a05803f3bf2c3bd34165c16067aba561efa4c183ee396dc31cdf75 -DIST wine-5.14.tar.xz 23975804 BLAKE2B bc14b84f4044323cd65c8c0a715a09b296bb8ecad043062513c1a584a7b542bba9934e7563bec8e2d798c27f54683db37ffc227dd4cbf8e58f6ef1931b884c14 SHA512 21240d832497ba9a4313613ae27c21316ef383290dfcce81aebfbbf45edb7db6981739fe2ad42138b6df0a75a434d5aa8e4d87f9745f98c5f14000e1949ec342 DIST wine-5.15.tar.xz 23999688 BLAKE2B af462d9e4c9fe5e364fd474bc17b6ea61b3390428762845291271811feab13cf6ccd39c8c5847b0cc922bd273d42227d95b871dfa04cf055560a3cff65349275 SHA512 90baf7df915cf1ce88022a4aebe4a6975b4b0defcc043a0c6738fefb9b853e0bfbcc645c39e33cdbb20673fab5df7561ab5b55e38a4e0a68907912a80e556ae3 DIST wine-5.16.tar.xz 24025256 BLAKE2B 2008b428b16870ec6fa6a38866152d6b94a8a83b3d673557bab9c0c435897900bd0b4b7b73e685698cf7445a6c3eda12f88132d4f43e7b2108213ea947a76c09 SHA512 e198478bcf91106af82b37c87f42961a6c37aa80ea5cf05c268a36ba2ba73c23ac6864b183b927cf3c10d666d60b9f6877edccf7746eafe8968a36b5ce3740be DIST wine-5.17.tar.xz 24064512 BLAKE2B a84433ff7bb93a1f43c41f3106ff3f9c648631665100e8140340ab7d347daf6f2c3b54ea8177e1a2c2222574aa67264f5b576d99f6ef461548c74af48c62eb62 SHA512 05338036fa9b195d9cf8a84a1bcc03f35422d5f07744ec4430f20874601829be5904be10060353599cb0187728123f959ccc75e79f1ce1c47178ae9cd55ef696 +DIST wine-5.18.tar.xz 24160316 BLAKE2B 4f359b6e869707a514d2198d2b8ba810b8552ea53ff3f37cbc7c23b732152db0fa5c0c909d2c16a03f6b0ff122435c92f8a9b8b462577aa50a39b2dcfa7bcd05 SHA512 70565fbea61b78580ca86443fcb4c10c7814c1dffcfa49ee38746fef21a52a00f2e040d9d2515892fed4021e7868720cc22b650d18872656838e4610d4d4e823 DIST wine-staging-150ce22fa21ffa040816e725ead34ed1de516bd8.tar.gz 9840427 BLAKE2B e263d6563a5438973309346ba820acdb5079ef236c5c55694bdfa16c54f3f4fe76750ab324d6c5e1f0b429df634b917f138f4a1db38417ac2b49ce41ee36a211 SHA512 37f05909ca6cb28a3527f31882562146d3971f47345312b96783b5e62bc95ee61779f12f4c13e3d05ec5f331463a7600c16d5bc428d13c42bf3e3568f4d3923e -DIST wine-staging-5.14.tar.gz 9780843 BLAKE2B 03b964fd8b71a8a9e54f53074e4be82dd633a6489cdc30bade6e844e458ca43437bbd34c1a629fd0c1090173e37379a048be45561172bfff8e003daaf4104583 SHA512 da81b572480a6fc12aa39a93070e2b88593bba1463d5b0545083dbd6eaa306ec57fe39e77f24544d2a1a396a3e64c1687c12b69e0643e11a909e4e31a3e46014 DIST wine-staging-5.16.tar.gz 9830408 BLAKE2B 0c4fd5e9942f4b5a666b21cb2ab3fdb059bca5762fd622b69358fd5df7f5c770681a3cbe6f9a0433e83f3be95b69808d95ed5f76df86b9713dcedb72a398966e SHA512 62e103dd5b591bc1066b91299a95c318bf1588f273f8380c1ac43d5367b695055a1684b8cc6473255a0b449b21a483ff4e87adc3ae332d0fb520023340fff79f DIST wine-staging-5.17.tar.gz 10342408 BLAKE2B aa8f864560eb476a4c2011e588df9b24410e4e4a8d6c8d81b5ff63208b3b4474870ae8bd718ba22cdb14b920b52aeac54274710bdb1b4dd427b7c7b0e8e9d14b SHA512 38c9860c8109e29026dd773a6448c9ac6faa373c0dfc04011a5f0b22be69c66dd6bdba95cb28bfb8e3656a53d726f2ffc0bae74bce4d437c4fe5a532e75a19ec -EBUILD wine-staging-5.14.ebuild 20430 BLAKE2B 3a6112683291ed2e3856e1dc4317384e38335d0c79ecff56c9e2281c10c2dbb4584a75cfe711bf27a818b8009f94b86f3880bbae99d4f0b1dabc8467ed1bc64a SHA512 bb27944dd8c5a5572b0cc3dd40320e238c81ea0e583d30b20beb7bef88c6013ef27f2d941ddd38aaa65c617549e6eb44b09a03d6a8250258d0e6bba7d31092d2 +DIST wine-staging-5.18.tar.gz 10357038 BLAKE2B 07df0de55d1bfa36d3492498a48d8f1402dffa161f3b02f3326185d524bea9a2f0893b85a70650797bf1b74c06f5814ddc09cb184a5977cfacb968921020aee1 SHA512 75911ac4d5aaf6cfef41aa487290369d714f153b1fba2279daca75d6c5cbc7e7de9d3f8ef55eb7c311a05b86a212163e2b81ff685c1527fb0e90f223ec23dcab EBUILD wine-staging-5.15.ebuild 20510 BLAKE2B 3af262cc7b538088e2ff34679e1f3acbb72569f5f2bc0a2dd7d77f6102c9c4bf6560092a9bc52e78fc9b8e73d4589afe37d1945a4d83f20e160710d9e5d0807d SHA512 7f6f53332e0e91107f77fb0271a3b2381b28f37eb40eb8bda0acdb3f74f08c31fcf1846c534e38b648d6be8d8fe61935cce23e4da1a6dc6f346922d9235b0887 EBUILD wine-staging-5.16.ebuild 20430 BLAKE2B 3a6112683291ed2e3856e1dc4317384e38335d0c79ecff56c9e2281c10c2dbb4584a75cfe711bf27a818b8009f94b86f3880bbae99d4f0b1dabc8467ed1bc64a SHA512 bb27944dd8c5a5572b0cc3dd40320e238c81ea0e583d30b20beb7bef88c6013ef27f2d941ddd38aaa65c617549e6eb44b09a03d6a8250258d0e6bba7d31092d2 EBUILD wine-staging-5.17.ebuild 20430 BLAKE2B 3a6112683291ed2e3856e1dc4317384e38335d0c79ecff56c9e2281c10c2dbb4584a75cfe711bf27a818b8009f94b86f3880bbae99d4f0b1dabc8467ed1bc64a SHA512 bb27944dd8c5a5572b0cc3dd40320e238c81ea0e583d30b20beb7bef88c6013ef27f2d941ddd38aaa65c617549e6eb44b09a03d6a8250258d0e6bba7d31092d2 -EBUILD wine-staging-9999.ebuild 20355 BLAKE2B 1cff1a2621de3a421e1f8d96cc0c19fe4d8575987847092dad676bda6fdfd95ddddd4cafd0b84529632cc99f7329282a18b781d58e24cb26bf6b29394f0cddb3 SHA512 9d18cb888cecdc39d3ee78fbed3c653ee6fc06a2a4022bfad425888ca86b4e153c3f880fa275226b3b2ebbe29f2faadd86c4b2c6865328c696c06ba90df16bf2 +EBUILD wine-staging-5.18.ebuild 20436 BLAKE2B 522ef18a86d633267119e239986bd2fba09eedad6358fb5f441dde3d05ad95af673bb29940e45b17b90415650f7b6e6da6d6c66fa4a1a746c48ef5373b18723f SHA512 37e945cdd14814105bf8d395ea2a36c0e845352bfa11deda2226db61c42706113ca849c11f230b5607dc81cf694be583542026b9b5c9d23463c5dc009bd2b92f +EBUILD wine-staging-9999.ebuild 20361 BLAKE2B 456f7127858924ffaebe4039771b105d44538030f43275e6aa74605a858a57640fcb24a8932d218db2a1d27fc62071608203ff2239832ee806efc07113c9aff4 SHA512 68cafcfb0a7a52e0a19049bef1e1740012d9ea84e7c4d9a9b53653312bb8257c4d71bafbeafd9ee7051799f266d0b8a8830214aa89945e3c025c75be74a32c28 MISC metadata.xml 3813 BLAKE2B de077c2b962c962401ae0922aa8a244f08db7a5f0773d8d1466497dd3d2cd6e8b60186c5025f0806b49238266117035986df25c9c939fb9d9ec98ac7af5ebbf4 SHA512 edac5258e3d47f8c0285eb382cb5209996630bd65722c864a2b548dad09d72073d1c3e797fdda0f0cbf46bb87abbc5cbf1020fec2984b08c164d019a90fc4902 diff --git a/app-emulation/wine-staging/wine-staging-5.14.ebuild b/app-emulation/wine-staging/wine-staging-5.14.ebuild deleted file mode 100644 index 674958ea886a..000000000000 --- a/app-emulation/wine-staging/wine-staging-5.14.ebuild +++ /dev/null @@ -1,621 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" - -STAGING_P="wine-staging-${PV}" -STAGING_DIR="${WORKDIR}/${STAGING_P}" -GWP_V="20200523" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -if [[ ${PV} == "9999" ]] ; then - STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" -else - SRC_URI="${SRC_URI} - staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" -fi - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - pipelight? ( staging ) - test? ( abi_x86_32 ) - themes? ( staging ) - vaapi? ( staging ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - themes? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - x11-libs/gtk+:3[${MULTILIB_USEDEP}] - ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.1.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - staging? ( - dev-lang/perl - dev-perl/XML-Simple - ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${pn_live_val} ]]; then - if use staging; then - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" - eerror "cannot be used to set the commit. Instead, you may use the" - eerror "environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi - fi - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - if use staging; then - local CURRENT_WINE_COMMIT=${EGIT_VERSION} - - EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack - - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die - - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." - einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" - fi - fi - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - if use staging; then - ewarn "Applying the Wine-Staging patchset. Any bug reports to the" - ewarn "Wine bugzilla should explicitly state that staging was used." - - local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" - - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches - ebegin "Running Wine-Staging patch installer" - ( - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} - cd "${STAGING_DIR}/patches" - source "${STAGING_DIR}/patches/patchinstall.sh" - ) - eend $? || die "Failed to apply Wine-Staging patches" - fi - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gcrypt) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with v4l v4l2) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - use staging && myconf+=( - --with-xattr - $(use_with themes gtk3) - $(use_with vaapi va) - ) - - local PKG_CONFIG AR RANLIB - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - # set AR and RANLIB to make QA scripts happy; #483342 - tc-export PKG_CONFIG AR RANLIB - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - else - if use staging; then - eselect wine register --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - else - if use staging; then - eselect wine deregister --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-staging/wine-staging-5.18.ebuild b/app-emulation/wine-staging/wine-staging-5.18.ebuild new file mode 100644 index 000000000000..5b6a507ddc06 --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-5.18.ebuild @@ -0,0 +1,621 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +STAGING_P="wine-staging-${PV}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" +GWP_V="20200523" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +if [[ ${PV} == "9999" ]] ; then + STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" +else + SRC_URI="${SRC_URI} + staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + themes? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${pn_live_val} ]]; then + if use staging; then + eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" + eerror "cannot be used to set the commit. Instead, you may use the" + eerror "environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi + fi + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + if use staging; then + local CURRENT_WINE_COMMIT=${EGIT_VERSION} + + EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack + + local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die + + if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then + einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." + einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." + einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" + fi + fi + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + if use staging; then + ewarn "Applying the Wine-Staging patchset. Any bug reports to the" + ewarn "Wine bugzilla should explicitly state that staging was used." + + local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176 + use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" + + # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches + ebegin "Running Wine-Staging patch installer" + ( + set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} + cd "${STAGING_DIR}/patches" + source "${STAGING_DIR}/patches/patchinstall.sh" + ) + eend $? || die "Failed to apply Wine-Staging patches" + fi + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gcrypt) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + use staging && myconf+=( + --with-xattr + $(use_with themes gtk3) + $(use_with vaapi va) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + else + if use staging; then + eselect wine register --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + else + if use staging; then + eselect wine deregister --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild index 2b9e5595802a..19d8082c2129 100644 --- a/app-emulation/wine-staging/wine-staging-9999.ebuild +++ b/app-emulation/wine-staging/wine-staging-9999.ebuild @@ -115,7 +115,7 @@ COMMON_DEPEND=" unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] ) vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 7fd2d04cafea..fb56879f1a22 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -4,16 +4,16 @@ DIST gentoo-wine-patches-20200523.tar.xz 59740 BLAKE2B 951d7f305a6e5b3759c809562 DIST wine-4.0.3.tar.xz 21680420 BLAKE2B a7caf4b82fa2594f77e31f29b2a3da59c08bb58f213268d61bdf48998345162bc36fbfc24db94d11cb07b6da347b3471e9d8976d9abfa0f76c183c0a519aa73e SHA512 a8fde0bcf600eaec56c3ce58c9aa992386784c85cf1c93aa84d50aff4c842b12a6b099c23391d3ad9a0059f3dc9069c0f8e00fad293305ba8a33afc70bf26e14 DIST wine-5.0.1.tar.xz 22476496 BLAKE2B 8fd7729812c0144b6c9ec7f28ecc25bca5bc7801d9927346928f43fc46ca0be89ecb4caefb7a93cf2f3365e088d11e6bd53a028ea8cc9e170ef864ff63f21a5a SHA512 d9756f0a74417ea9e05d08a94ff29b83ebff3db3a3cbaa90979d5312754371ddfcab6bded73a246ef980252b908d8a26e93de2779b766c4bff92c91f8c315d98 DIST wine-5.0.2.tar.xz 22484932 BLAKE2B 93253a86605b32dc8f7c79a16336643e6f84937094f8c96ea336289c2076a4d9f759fc1ad128f7b1a009da5eb2ed25cdc893da99e338093608bf5fc0ef1a85fc SHA512 9ff902ff929d9ac8c81843eea141c96446d26b14f70781a40a3ea1fdef5f412ca4c87374a5a3af9b42b52236159645e55d6e54f8b06178a4d210a72fb1d5358e -DIST wine-5.14.tar.xz 23975804 BLAKE2B bc14b84f4044323cd65c8c0a715a09b296bb8ecad043062513c1a584a7b542bba9934e7563bec8e2d798c27f54683db37ffc227dd4cbf8e58f6ef1931b884c14 SHA512 21240d832497ba9a4313613ae27c21316ef383290dfcce81aebfbbf45edb7db6981739fe2ad42138b6df0a75a434d5aa8e4d87f9745f98c5f14000e1949ec342 DIST wine-5.15.tar.xz 23999688 BLAKE2B af462d9e4c9fe5e364fd474bc17b6ea61b3390428762845291271811feab13cf6ccd39c8c5847b0cc922bd273d42227d95b871dfa04cf055560a3cff65349275 SHA512 90baf7df915cf1ce88022a4aebe4a6975b4b0defcc043a0c6738fefb9b853e0bfbcc645c39e33cdbb20673fab5df7561ab5b55e38a4e0a68907912a80e556ae3 DIST wine-5.16.tar.xz 24025256 BLAKE2B 2008b428b16870ec6fa6a38866152d6b94a8a83b3d673557bab9c0c435897900bd0b4b7b73e685698cf7445a6c3eda12f88132d4f43e7b2108213ea947a76c09 SHA512 e198478bcf91106af82b37c87f42961a6c37aa80ea5cf05c268a36ba2ba73c23ac6864b183b927cf3c10d666d60b9f6877edccf7746eafe8968a36b5ce3740be DIST wine-5.17.tar.xz 24064512 BLAKE2B a84433ff7bb93a1f43c41f3106ff3f9c648631665100e8140340ab7d347daf6f2c3b54ea8177e1a2c2222574aa67264f5b576d99f6ef461548c74af48c62eb62 SHA512 05338036fa9b195d9cf8a84a1bcc03f35422d5f07744ec4430f20874601829be5904be10060353599cb0187728123f959ccc75e79f1ce1c47178ae9cd55ef696 +DIST wine-5.18.tar.xz 24160316 BLAKE2B 4f359b6e869707a514d2198d2b8ba810b8552ea53ff3f37cbc7c23b732152db0fa5c0c909d2c16a03f6b0ff122435c92f8a9b8b462577aa50a39b2dcfa7bcd05 SHA512 70565fbea61b78580ca86443fcb4c10c7814c1dffcfa49ee38746fef21a52a00f2e040d9d2515892fed4021e7868720cc22b650d18872656838e4610d4d4e823 EBUILD wine-vanilla-4.0.3.ebuild 17273 BLAKE2B 31f49631a2eb96a0d20c98891c3ace1874bab916e8c75d6b6a003b7cf35b84f2014891c99defb1da6a77d2ce56353566e212282c4c4f607312245c6ec7e66803 SHA512 341f4e04041395f2b4a46dde9e46854e783936a4dbf0859946d4f7cb4b25072fb28f397b61c1916bb3aa9708d2e6a7a1e04ac157bd36f03be63b4d6180b9fb05 EBUILD wine-vanilla-5.0.1.ebuild 17552 BLAKE2B 45440982bf2bfd3f6a2788af10b3a1712f4a4d82a0d4d0d139e9b9eb8f6c4af2b4a516e23a17ace87a6c6cf0e4cf9f3d1a0738b380203a77798b3fae437f1ed9 SHA512 2a92a7f78ac86289439a6bc507ec48a6f6a44a1d666f8a2b0705c4bb6fbd6b5d1f667347db96ea98ead1b5473b1cb7b0cb396446c84182165145842648795d5a EBUILD wine-vanilla-5.0.2.ebuild 17554 BLAKE2B 4fb5c237a16645195516f980e6a0bb96a9a263423b7489b8f425326a65ab5b06a75fc705862940220bc762dbaba5816eb340ef9f8427f08a2a6678fdb05b9429 SHA512 33011fd9ba031978b4351f8ff5b8eeffa692062df4a511fb105231e493742d55c0430a256551cc08cc8caf9c546de38eb0a4e1fe1ee98db0a391233b231a5d1c -EBUILD wine-vanilla-5.14.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 EBUILD wine-vanilla-5.15.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 EBUILD wine-vanilla-5.16.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 EBUILD wine-vanilla-5.17.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 -EBUILD wine-vanilla-9999.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 +EBUILD wine-vanilla-5.18.ebuild 17601 BLAKE2B efd932ad64172c60f13c39edb835e50f9ab3f1df117099292746b58830c5f55dd286f1ec461f2884ddb6ae247071590bdcc3a5e0e288af2384c02a41081ae643 SHA512 dd8c204bf708d837979d16ae85496494e01bc788f3194e7ca38c2e649a3c0c8d4062feca86deef942ef03ca614b4cb5af33527593af9873a702d221bce01af7b +EBUILD wine-vanilla-9999.ebuild 17601 BLAKE2B efd932ad64172c60f13c39edb835e50f9ab3f1df117099292746b58830c5f55dd286f1ec461f2884ddb6ae247071590bdcc3a5e0e288af2384c02a41081ae643 SHA512 dd8c204bf708d837979d16ae85496494e01bc788f3194e7ca38c2e649a3c0c8d4062feca86deef942ef03ca614b4cb5af33527593af9873a702d221bce01af7b MISC metadata.xml 3141 BLAKE2B 07e1e174d2acc8cb6e5b2767daa8b70490f75102e95f17d8b55e416aa50c4cc47c163cf7b0d95140bab074213b490fdd0f1297703369d413d7c00486800b8232 SHA512 d5eec710aebe9ae4eab2bb4e9c14079884c60882f1cec1b3e42bcb95008acb29e26ce633b55518bd5bab4c581e1194bdb104f0e630c683360994bfd666b059e4 diff --git a/app-emulation/wine-vanilla/wine-vanilla-5.14.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.14.ebuild deleted file mode 100644 index fed13ca5bb03..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-5.14.ebuild +++ /dev/null @@ -1,539 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" - -GWP_V="20200523" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - test? ( abi_x86_32 ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.1.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environmental variables" - eerror "EGIT_OVERRIDE_COMMIT_WINE" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with v4l v4l2) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - local PKG_CONFIG - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - tc-export PKG_CONFIG - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-vanilla/wine-vanilla-5.18.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.18.ebuild new file mode 100644 index 000000000000..f411a705130e --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-5.18.ebuild @@ -0,0 +1,539 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +GWP_V="20200523" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + test? ( abi_x86_32 ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "EGIT_OVERRIDE_COMMIT_WINE" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + local PKG_CONFIG + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + tc-export PKG_CONFIG + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild index fed13ca5bb03..f411a705130e 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild @@ -95,7 +95,7 @@ COMMON_DEPEND=" udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] ) vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) diff --git a/app-emulation/xe-guest-utilities/Manifest b/app-emulation/xe-guest-utilities/Manifest index 5282b08ba7f0..143238eb6c41 100644 --- a/app-emulation/xe-guest-utilities/Manifest +++ b/app-emulation/xe-guest-utilities/Manifest @@ -3,10 +3,6 @@ AUX xe-guest-utilities-5.6.100_p651-gentoo.patch 1004 BLAKE2B 03762683b5f0d8fa7a AUX xe-guest-utilities-5.6.100_p651-update-guest-attrs.patch 558 BLAKE2B 672698b5408aa6f07f0216afdd58aa6421fa3dad46d11e9d1699f90c0a9adceb36fd692ec55fa730bf4bc574850fcb74b73b713335719d7b5f9bda1855c1fb95 SHA512 84fb3d8f231e9597616770960e6c0bae8a4bed2d165dd185cccbd6b64d72836f2271d17574f8cbf524e39c0090a7d5a6f646959d214c38d3074e930fde2e9852 AUX xe-guest-utilities-6.2.0_p1120-Guest-Attributes.patch 4599 BLAKE2B 6bcbd37c9386ed91635d23cbe43ea07ea321063d4c859688735303f14734b08b7895886f49791c000d64eff0e9b458f266a2c921e7c4fd202cd6d10fafcf1b76 SHA512 c9147d9a93b45d7300441b6c398c27bf3c38d39c0a6908f80a2708b8c26329c9b138522ca3b7ae7b4af2ace3b43ededda03dd39b9c8cafd31dbe32beae739690 AUX xe-guest-utilities-6.2.0_p1120-Linux-Distribution.patch 2146 BLAKE2B 6875bf6ff48acd48cee2e590402cc546dd53df8a0861a6941b2de0d8c8caeb509f107d2b24c4e5c5d665890c15972c84c80c299eab718ec81131dc0594b6a5ec SHA512 93f5c1445b7ee449fedaed3c73a3f21b6adc0fad67d90e3bb35213749ae659ffae85dec3ddf43d4b5df21500e8b651651dd7496a2ffb8fa2d9091dd246c839de -DIST xe-guest-utilities-5.6.0-595.src.rpm 454569 BLAKE2B ded5b93d74f268d069ddeebbf36aad7c098a8009e7f19e538343d71a5fe07e6a25e1089aba90540ae82511c2807dd792d3c3e59a40c1a55c9ef02ba1fe160154 SHA512 967f7708f074f4382c95a823e24dcf07c677e44d75a97e57078d63284584c85d2acf24e0a4b58ec2f26ba034ccaa1baad5793391f736fa4d72c04f7511bd78aa -DIST xe-guest-utilities-6.1.0-1033.src.rpm 554621 BLAKE2B c76db0e9ab163f18c59687f33af3a91a75c602b3ff90a5e2a4405dd4797c31be215b599e01829d874c4f69e2bb1a675d8d017c09cdfa8818add167d886c3fbf1 SHA512 65ab85974fb5e73619aa3bac22c861cf989d6256e4f856da3c14767a0e8fe8f1c34713db32166c6f901c589e61f2fcc3c285bd8eded4925daa829e4adb07e9e2 DIST xe-guest-utilities-6.2.0-1120.src.rpm 566881 BLAKE2B b2c727c551996f218c021d509ba1841baa07c70cbaf7660c0ec9cbeae696c4e77921d8ca12e8dfdf934a6894058c62ee6bf4e86bd1918e304cc76ee28d396fad SHA512 b945b3bf8175816b41b3a07a7dd8f0d9d2fdb1a7144448a5bb7fb4b6729736c67cea88fd45031df41abdd99416addb17fa1ee9cfe1fc76acf610cde3b3213880 -EBUILD xe-guest-utilities-5.6.0_p595.ebuild 1490 BLAKE2B 807f9be5ceac0345e4f7e92732537a12231cb6f9dbd22a2116c47738b7e130df8bfb69412ef2c512ecb1038d8f778a9f9499bf98ba2fcdc885c726bb8d37ff9b SHA512 1a95d5c3ba95b6006b8198442570b10673d47ea87073593ab79b096f9b8d89328bc9aee80d2e16ce595b01c571d12aad723d4b0d85a8003d128995a456dab952 -EBUILD xe-guest-utilities-6.1.0_p1033.ebuild 1498 BLAKE2B ed8304c90962627d9c078d9d00a7b5b6f08c17efb4a8da9f3fa12d70985fb1e8807ae59c310d616347fac7be6bfeb8c105a3996ac1d9d7f3f9454ce2eab7e62f SHA512 7445f259f022a37e8a44989f51a4c78214f6909ffb2eb70cbf0b35cc0ccab363227c10736915c0d56884d5ec4b22201cc824f8de7dd8877c914e7b5f1d68cddd EBUILD xe-guest-utilities-6.2.0_p1120.ebuild 1503 BLAKE2B ad1bfc862229957baa6f3253cc534bfcea7e98b84c11af707445691d59070ecec3ed64323ef198353f21cb30065a7b471844537f04e65b63e0e61387aeca1489 SHA512 dfeffca4ae4c29234163d461efd1c1d20c20f9ff1545283e6966878f2a4edeaffabde845b7f040be0b535f200bfab05fadd51a89115a6dfdb72d77aa4201ca59 MISC metadata.xml 776 BLAKE2B 549a89776c54711d874588740a6f6e425ee80f53aab06143337acfe1627b012aa6090b798875ea16c17f312596b01a6a6129e914b28de7b0cfcc23b032099e9f SHA512 de26a707e9e20f25c2a4115f6c1b960bf9c7a228ceec45ce112d06b622c5bcbf6cd84599357e836b5daa91156e10a6af24f2fb93ced24c25c89f9ad7a4579b60 diff --git a/app-emulation/xe-guest-utilities/xe-guest-utilities-5.6.0_p595.ebuild b/app-emulation/xe-guest-utilities/xe-guest-utilities-5.6.0_p595.ebuild deleted file mode 100644 index 9a057370c6ba..000000000000 --- a/app-emulation/xe-guest-utilities/xe-guest-utilities-5.6.0_p595.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit eutils rpm linux-info -DESCRIPTION="XenServer Virtual Machine Tools" -HOMEPAGE="https://www.citrix.com/" -PV_BASE=${PV/_*} -PV_FULL=${PV/_p/-} -SRC_URI="http://updates.vmd.citrix.com/XenServer/${PV_BASE}/rhel4x/SRPMS/xe-guest-utilities-${PV_FULL}.src.rpm" -LICENSE="LGPL-3 LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64" -IUSE="xenstore" -DEPEND="app-arch/rpm2targz" -RDEPEND=" - !xenstore? ( app-emulation/xen-tools ) - xenstore? ( !app-emulation/xen-tools )" -S=${WORKDIR} -CONFIG_CHECK="~XEN_COMPAT_XENFS ~XENFS" -QA_PREBUILT="usr/bin/xenstore* usr/bin/xeninfo" - -src_unpack() { - rpm_src_unpack ${A} - # Upstream includes xenstore-sources.tar.bz2 - # but it is NOT the complete source :-( -} - -src_prepare() { - epatch "${FILESDIR}"/${PN}-5.6.100_p651-gentoo.patch - epatch "${FILESDIR}"/${PN}-5.6.100_p651-update-guest-attrs.patch -} - -src_install() { - newinitd "${FILESDIR}/xe-daemon.initd" xe-daemon - dosbin xe-daemon - dosbin xe-linux-distribution - dosbin xe-update-guest-attrs - insinto /lib/udev/rules.d - newins xen-vcpu-hotplug.rules 10-xen-vcpu-hotplug.rules - - if use xenstore; then - dobin usr/bin/xeninfo - dobin usr/bin/xenstore - dobin usr/bin/xenstore-* - fi -} - -pkg_postinst() { - if [ ! -e /etc/runlevels/boot/xe-daemon ]; then - elog "To start the xe-daemon automatically by default" - elog "you should add it to the boot runlevel :" - elog "'rc-update add xe-daemon boot'" - elog - fi -} diff --git a/app-emulation/xe-guest-utilities/xe-guest-utilities-6.1.0_p1033.ebuild b/app-emulation/xe-guest-utilities/xe-guest-utilities-6.1.0_p1033.ebuild deleted file mode 100644 index c8993996dc9b..000000000000 --- a/app-emulation/xe-guest-utilities/xe-guest-utilities-6.1.0_p1033.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit eutils rpm linux-info -DESCRIPTION="XenServer Virtual Machine Tools" -HOMEPAGE="https://www.citrix.com/" -PV_BASE=${PV/_*} -PV_FULL=${PV/_p/-} -SRC_URI="http://updates.vmd.citrix.com/XenServer/${PV_BASE}/rhel4x/SRPMS/xe-guest-utilities-${PV_FULL}.src.rpm" -LICENSE="LGPL-3 LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64" -IUSE="xenstore" -DEPEND="app-arch/rpm2targz" -RDEPEND=" - !xenstore? ( app-emulation/xen-tools ) - xenstore? ( !app-emulation/xen-tools )" -S=${WORKDIR} -CONFIG_CHECK="~XEN_COMPAT_XENFS ~XENFS" -QA_PREBUILT="usr/bin/xenstore* usr/bin/xeninfo" - -src_unpack() { - rpm_src_unpack ${A} - # Upstream includes xenstore-sources.tar.bz2 - # but it is NOT the complete source :-( -} - -src_prepare() { - epatch "${FILESDIR}"/${PN}-6.2.0_p1120-Guest-Attributes.patch - epatch "${FILESDIR}"/${PN}-6.2.0_p1120-Linux-Distribution.patch -} - -src_install() { - newinitd "${FILESDIR}/xe-daemon.initd" xe-daemon - dosbin xe-daemon - dosbin xe-linux-distribution - dosbin xe-update-guest-attrs - insinto /lib/udev/rules.d - newins xen-vcpu-hotplug.rules 10-xen-vcpu-hotplug.rules - - if use xenstore; then - dobin usr/bin/xeninfo - dobin usr/bin/xenstore - dobin usr/bin/xenstore-* - fi -} - -pkg_postinst() { - if [ ! -e /etc/runlevels/boot/xe-daemon ]; then - elog "To start the xe-daemon automatically by default" - elog "you should add it to the boot runlevel :" - elog "'rc-update add xe-daemon boot'" - elog - fi -} diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest index e6e70fe028ad..65b85da91c5f 100644 --- a/app-emulation/xen-tools/Manifest +++ b/app-emulation/xen-tools/Manifest @@ -20,12 +20,14 @@ DIST ipxe-git-1dd56dbd11082fb622c2ed21cfaced4f47d798a6.tar.gz 3810726 BLAKE2B b9 DIST seabios-1.12.1.tar.gz 613450 BLAKE2B cb926b650c41a9962db407945cb5b6558079b061bd61f32ea56aedf0d37a00d10ad4434acbe717ffbc0dd1d1c0767304af8e640a53b0fc3784969dfa1590f681 SHA512 58755ce842adcb99c0f2f3ebbf9ec6d4a5072753966ab46805a96db1570847b109a90e6e03d61f9088ef877ca8ba96a8006777dc38ec434fce6b487f6c1f91d0 DIST seabios-1.13.0.tar.gz 620952 BLAKE2B 460a7dd2b2775b981bbd890ed0a50fe905794c68b0b895799667dd1378bb84125712330c2f6945112709d42cfb7b01196c7fff99051e44b6211d47d19531cfae SHA512 7f158badf7deecc2998eab2a08f3615dfe5a7c0a51323f7b4568a4d1280935bc32bb466c8226d87d2ca7e13f9f117ff0092befcc0699bc31c5018e84754e8393 DIST xen-4.13.1-upstream-patches-2.tar.xz 53744 BLAKE2B 769b5b8022f7db66f677d8107c6473606376718bffeac7eba09c4270f4005811f472fb9ed2a2804260e0486228edbadfcf8f81bf1dae6d68df37da213d281390 SHA512 b07c865b96c6f48b9d0b4e4c2f3ec19f4dc44884f4024e440a3e537f594f9f5edd6edf805bdefc82e5f1f2520f35f940b64c158972cbf5bfdc8fb2ca7a1b0ac1 +DIST xen-4.13.1-upstream-patches-3.tar.xz 87056 BLAKE2B 01d7133b8f7e3c9a42b9771dcb7739777f79f229941114cce70ba2897dd52bf53f08de35602a0b40a120fc155c274dbf91e107856f4afdae2c4f7b4bc0a67cdd SHA512 d67e9ddfbf27dc5a23a77679b1b2524a49c2aec3ff9eb3472f9e075893d87401f8e99707b0652744eb4af7a3ed9a815c3925de49995bcd7c82d97c13a69b5309 DIST xen-4.13.1.tar.gz 39024612 BLAKE2B efff138699fac2c14fad2e0dfd4535ebd744577df3dddccc2a589b81a76f24fc81c75e295f4cd33ca2e820929417b22d714504b576cb0737a563037bd56b6a95 SHA512 b56d20704155d98d803496cba83eb928e0f986a750831cd5600fc88d0ae772fe1456571654375054043d2da8daca255cc98385ebf08b1b1a75ecf7f4b7a0ee90 -DIST xen-4.14.0-upstream-patches-0.tar.xz 6872 BLAKE2B 958ad668362c9c02af39f2a02cde2baa9b9fc8853116c390f43a77bb17c649bfc6a4b51db5cbe564a8c3c440ce736603e44b97f45c50a7836c9a43bfb0d2255a SHA512 a30d9708e64e1405f837b14c1e5a0e28fcb9e7a177c822570e25d0ed118a9c58c380f4ed64a40bf970a9389baf9848e52f7d161efe922b883ee990c8029e7e1f +DIST xen-4.14.0-upstream-patches-1.tar.xz 45360 BLAKE2B 0f72a2cc3d18557b86a2a83f97e4141be46a20e3ba59ccc881a34a4408988eba9827e3b927bc07aba9678123d783303e7d47d789e57323a7f6691d718c019dc8 SHA512 3d5093e4367d27e7f6e8d4cc31841a5c80cc3fb870d6cb32131d064e16cbb559e9a783c70eec1ce13c960b3e2a8d5e23e18d26b936bc418b434df3bb801d3e4f DIST xen-4.14.0.tar.gz 39950576 BLAKE2B db4c3e79cfdfb10260d0d14d9d28e8c8bd9bf23f42aee743acf8f560bf4cdb96a425c0df887c70f9755f62680be24bfbe0149e52a4cb843ae83090cd9d6afc71 SHA512 ebce47a2f754955d8517123d69f62006634d97620fbbe3784869a0667466e586a249f57ffaf7846d5bcb45d69377cde43354c82c233fbb5407e55653b9a33ac0 DIST xen-gentoo-patches-21.tar.xz 18280 BLAKE2B 95446da72fc16cb82e4e51df8796c64db05a30894a351a98dbd6700ce354c34956ca09a1af98125a4e56c337936e8fae296d806519b8afa23a82b078aa0db8f1 SHA512 3cffac162606a09b10b47dca604f167897e6ac8d153411d3464ef29a7a4d46ac5b92340884cb21279cb2d053b131f1ea5cb2111e3e9a21b3298b5ab3320ee34d DIST xen-gentoo-patches-22.tar.xz 18764 BLAKE2B e0da49b39fbc6b689db47e40a4fbb4f6568644fe192b114cce01b0406cba4bf23339ad1bf39b972f895df004916827b6e774f97fc079aeb8ac436763efda5fc3 SHA512 5b7959af4ed30edd2526698ab60a86353e35d9dc48dc941b6df7659a7c4904260461e0decbd8d788542bd69384736f2175861d4943c3738618d20788b19ea9b1 DIST xen-security-patches-28.tar.xz 1580 BLAKE2B c304894801b37259508582fc6947e26c0b8665e982d91de86c16efd5eaecd6c9bb19570534642d39e81175fe58baccf576990a481f40f8848692d3465ad17a85 SHA512 b442b5568e76e0f2a5cfc91063515b96347f8b30f6101a81536b78edecc400861fd99281e1994bc6626bff28ece3df8f8306575c8abbb2cddaf3a6d3542c0b2f EBUILD xen-tools-4.13.1-r3.ebuild 15978 BLAKE2B ce60f87f9e7aa7f200f0f3d0de0f5fe21f3548d60706386fce233eb76fd451d76820b1f9275768efe6845bb6cc94d528050adcf345aed82129b69a403ad665d9 SHA512 cf081bf356145d7e7d0dbbe773b2f3eeb1ebc4e3d81c7682a7f19db98384312aa13bade6c9f676e5be1ef46b6746b5af4d27b2418ae027ec1070150fc2154aac -EBUILD xen-tools-4.14.0-r1.ebuild 16144 BLAKE2B f777ef83bc507aef362df2b13047777570368ca3e3524c228bf8efde53d1bc0e45ba0f7bb1cacb8f25029938312e7214a25836d2b37747b781747df850330eb5 SHA512 cf6b9ee685bd97554ee6dc3ae99fda02fabfef6520004495d8d5e3ed00b4ad66cc95b0ae859a433ab1566d91fa7806aacca75a4907e08cd0df61cef53a769da4 +EBUILD xen-tools-4.13.1-r4.ebuild 15980 BLAKE2B ff890853a05e02081c95fdaca2b4db15f84c2f63ded48f48c2abf1c1c5afb5a6a1d48a9b6e01b3bef4384ad0c4d821e8daff09248086ee0c531faf51ec05d299 SHA512 17a73d584c5096b78fe996c3340cf6b579cf95960be6ad1b59017d6611ea2232d7a4738a3ee9900557f70fed123369da5050fd3a08a1f3a04531e568a16beff4 +EBUILD xen-tools-4.14.0-r2.ebuild 16144 BLAKE2B 91debac0bc70fed709ddba0d3791c2685fff2e362fa36e345ace02cf566c34b2ac41d2a995a0e29fc3d1af755aacb93abdbc937b2a3b6e8423f58515bdb357d6 SHA512 98e6cc7ea5c7f0652504affedf2f5e65599e2528e8a1a45f98edeab06568c61e3178a7de04e3c92cc3b61c68c4417c9f6b567b892c87215a25f57cfb05b0dc76 MISC metadata.xml 1662 BLAKE2B 1b243436df5eb36e30f73b36db45d859aa03f7e9d3360fcdb91c35e3a1c00f1217e5e7cd1461b65d9da2883f5e8ca969b958f9b2160def4c1f15347c1887b2cd SHA512 d6cdf124c7767727f7c8d16a2dc0f85a7213db21f8d1595f7d8899c7cb81d47849fd05759ccfc460630c32917e64ea31ef6384dc050ab0eb392f571b12db68ed diff --git a/app-emulation/xen-tools/xen-tools-4.13.1-r4.ebuild b/app-emulation/xen-tools/xen-tools-4.13.1-r4.ebuild new file mode 100644 index 000000000000..75da75730f98 --- /dev/null +++ b/app-emulation/xen-tools/xen-tools-4.13.1-r4.ebuild @@ -0,0 +1,506 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) +PYTHON_REQ_USE='ncurses,xml,threads(+)' + +inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs + +MY_PV=${PV/_/-} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + REPO="xen.git" + EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" + S="${WORKDIR}/${REPO}" +else + KEYWORDS="~amd64 ~arm ~arm64 ~x86" + UPSTREAM_VER=3 + SECURITY_VER=28 + # xen-tools's gentoo patches tarball + GENTOO_VER=21 + # xen-tools's gentoo patches version which apply to this specific ebuild + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER= + + SEABIOS_VER="1.12.1" + EDK2_COMMIT="20d2e5a125e34fc8501026613a71549b2a1a3e54" + EDK2_OPENSSL_VERSION="1_1_1b" + EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037" + IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6" + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" + [[ -n ${OVMF_VER} ]] && \ + OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" + + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz + https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz + ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz ) + ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz + https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz + https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz + ${OVMF_PATCHSET_URI} ) + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" + + S="${WORKDIR}/xen-${MY_PV}" +fi + +DESCRIPTION="Xen tools including QEMU and xl" +HOMEPAGE="https://www.xenproject.org" +DOCS=( README ) + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make +# >=dev-lang/ocaml-4 stable +# Masked in profiles/eapi-5-files instead +IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ipxe? ( rombios ) + ovmf? ( hvm ) + pygrub? ( python ) + rombios? ( hvm ) + system-ipxe? ( rombios ) + ?? ( ipxe system-ipxe ) + ?? ( qemu system-qemu )" + +COMMON_DEPEND=" + sys-apps/pciutils + dev-libs/lzo:2 + dev-libs/glib:2 + dev-libs/yajl + dev-libs/libaio + dev-libs/libgcrypt:0 + sys-libs/zlib + ${PYTHON_DEPS} +" + +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-4.11 + $(python_gen_cond_dep ' + dev-python/lxml[${PYTHON_MULTI_USEDEP}] + pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) + ') + x86? ( sys-devel/dev86 + system-ipxe? ( sys-firmware/ipxe[qemu] ) + sys-power/iasl ) + api? ( dev-libs/libxml2 + net-misc/curl ) + + ovmf? ( + !arm? ( !arm64? ( dev-lang/nasm ) ) + $(python_gen_impl_dep sqlite) + ) + !amd64? ( >=sys-apps/dtc-1.4.0 ) + amd64? ( sys-power/iasl + system-seabios? ( sys-firmware/seabios ) + system-ipxe? ( sys-firmware/ipxe[qemu] ) + rombios? ( sys-devel/bin86 sys-devel/dev86 ) ) + dev-lang/perl + app-misc/pax-utils + doc? ( + app-text/ghostscript-gpl + app-text/pandoc + $(python_gen_cond_dep ' + dev-python/markdown[${PYTHON_MULTI_USEDEP}] + ') + dev-texlive/texlive-latexextra + media-gfx/transfig + ) + hvm? ( x11-base/xorg-proto ) + qemu? ( + app-arch/snappy:= + x11-libs/pixman + sdl? ( + media-libs/libsdl[X] + media-libs/libsdl2[X] + ) + ) + system-qemu? ( app-emulation/qemu[xen] ) + ocaml? ( dev-ml/findlib + >=dev-lang/ocaml-4 ) + python? ( >=dev-lang/swig-4.0.0 )" + +RDEPEND="${COMMON_DEPEND} + sys-apps/iproute2[-minimal] + net-misc/bridge-utils + screen? ( + app-misc/screen + app-admin/logrotate + )" + +# hvmloader is used to bootstrap a fully virtualized kernel +# Approved by QA team in bug #144032 +QA_WX_LOAD=" + usr/libexec/xen/boot/hvmloader + usr/share/qemu-xen/qemu/hppa-firmware.img + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +QA_PREBUILT=" + usr/libexec/xen/bin/elf2dmp + usr/libexec/xen/bin/ivshmem-client + usr/libexec/xen/bin/ivshmem-server + usr/libexec/xen/bin/qemu-edid + usr/libexec/xen/bin/qemu-img + usr/libexec/xen/bin/qemu-io + usr/libexec/xen/bin/qemu-keymap + usr/libexec/xen/bin/qemu-nbd + usr/libexec/xen/bin/qemu-pr-helper + usr/libexec/xen/bin/qemu-system-i386 + usr/libexec/xen/bin/virtfs-proxy-helper + usr/libexec/xen/libexec/xen-bridge-helper + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/s390-netboot.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +RESTRICT="test" + +pkg_setup() { + python_setup + export "CONFIG_LOMOUNT=y" + + #bug 522642, disable compile tools/tests + export "CONFIG_TESTS=n" + + if [[ -z ${XEN_TARGET_ARCH} ]] ; then + if use x86 && use amd64; then + die "Confusion! Both x86 and amd64 are set in your use flags!" + elif use x86; then + export XEN_TARGET_ARCH="x86_32" + elif use amd64 ; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi +} + +src_prepare() { + local i + + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + eapply "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + EPATCH_SUFFIX="patch" + EPATCH_FORCE="yes" + + source "${WORKDIR}"/patches-security/${PV}.conf || die + + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + + # apply qemu-xen/upstream patches + pushd "${S}"/tools/qemu-xen/ > /dev/null + for i in ${XEN_SECURITY_QEMUU}; do + eapply "${WORKDIR}"/patches-security/qemuu/$i + done + popd > /dev/null + + # apply qemu-traditional patches + pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null + for i in ${XEN_SECURITY_QEMUT}; do + eapply "${WORKDIR}"/patches-security/qemut/$i + done + popd > /dev/null + fi + + # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err + mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die + pushd tools/firmware/ > /dev/null + ln -s seabios-dir-remote seabios-dir || die + popd > /dev/null + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then + einfo "Try to apply Gentoo specific patch set" + source "${FILESDIR}"/gentoo-patches.conf || die + _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} + for i in ${!_gpv}; do + eapply "${WORKDIR}"/patches-gentoo/$i + done + fi + + # Ovmf's patchset + if use ovmf; then + if [[ -n ${OVMF_VER} ]];then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/edk2-*/ > /dev/null + eapply "${WORKDIR}"/patches-ovmf + popd > /dev/null + fi + mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die + rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die + rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die + mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die + mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die + cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die + fi + + # ipxe + if use ipxe; then + cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die + + # gcc 10 + cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die + echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die + fi + + mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die + + # Fix texi2html build error with new texi2html, qemu.doc.html + sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die + + use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die + sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ + -i tools/firmware/Makefile || die + + # Drop .config, fixes to gcc-4.6 + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + # drop flags + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + unset CPPFLAGS + + if ! use pygrub; then + sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die + fi + + if ! use python; then + sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die + fi + + if ! use hvm; then + sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die + # Bug 351648 + elif ! use x86 && ! has x86 $(get_all_abis); then + mkdir -p "${WORKDIR}"/extra-headers/gnu || die + touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die + export CPATH="${WORKDIR}"/extra-headers + fi + + if use qemu; then + if use sdl; then + sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ + tools/Makefile || die + else + sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ + tools/qemu-xen-traditional/xen-setup || die + sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ + tools/Makefile || die + fi + else + # Don't bother with qemu, only needed for fully virtualised guests + sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die + fi + + # Reset bash completion dir; Bug 472438 + sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ + -i Config.mk || die + sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die + + # xencommons, Bug #492332, sed lighter weight than patching + sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ + -i tools/hotplug/Linux/init.d/xencommons.in || die + + # fix bashishm + sed -e '/Usage/s/\$//g' \ + -i tools/hotplug/Linux/init.d/xendriverdomain.in || die + + # respect multilib, usr/lib/libcacard.so.0.0.0 + sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ + -i tools/qemu-xen/configure || die + + #bug 518136, don't build 32bit exactuable for nomultilib profile + if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then + sed -i -e "/x86_emulator/d" tools/tests/Makefile || die + fi + + # uncomment lines in xl.conf + sed -e 's:^#autoballoon=:autoballoon=:' \ + -e 's:^#lockfile=:lockfile=:' \ + -e 's:^#vif.default.script=:vif.default.script=:' \ + -i tools/examples/xl.conf || die + + # disable capstone (Bug #673474) + sed -e "s:\$\$source/configure:\0 --disable-capstone:" \ + -i tools/Makefile || die + + # disable glusterfs + sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \ + -i tools/Makefile || die + + default +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --localstatedir=${EPREFIX}/var \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_enable api xenapi) \ + $(use_enable ipxe) \ + $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \ + $(use_enable ocaml ocamltools) \ + $(use_enable ovmf) \ + $(use_enable pam) \ + $(use_enable rombios) \ + --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ + " + + use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" + use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" + use amd64 && myconf+=" $(use_enable qemu-traditional)" + tc-ld-disable-gold # Bug 669570 + econf ${myconf} +} + +src_compile() { + local myopt + use debug && myopt="${myopt} debug=y" + use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y" + + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} + + if use doc; then + emake -C docs build + else + emake -C docs man-pages + fi +} + +src_install() { + # Override auto-detection in the build system, bug #382573 + export INITD_DIR=/tmp/init.d + export CONFIG_LEAF_DIR=../tmp/default + + # Let the build system compile installed Python modules. + local PYTHONDONTWRITEBYTECODE + export PYTHONDONTWRITEBYTECODE + + emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ + XEN_PYTHON_NATIVE_INSTALL=y install-tools + + # Created at runtime + rm -rv "${ED}/var/run" || die + + # Fix the remaining Python shebangs. + python_fix_shebang "${D}" + + # Remove RedHat-specific stuff + rm -rf "${D}"/tmp || die + + if use doc; then + emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs + dodoc -r docs/{pdf,txt} + else + emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032 + fi + dodoc ${DOCS[@]} + + newconfd "${FILESDIR}"/xendomains.confd xendomains + newconfd "${FILESDIR}"/xenstored.confd xenstored + newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled + newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains + newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored + newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled + newinitd "${FILESDIR}"/xencommons.initd xencommons + newconfd "${FILESDIR}"/xencommons.confd xencommons + newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev + newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev + newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog + + if use screen; then + cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die + cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die + keepdir /var/log/xen-consoles + fi + + # For -static-libs wrt Bug 384355 + if ! use static-libs; then + rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a + fi + + # for xendomains + keepdir /etc/xen/auto + + # Remove files failing QA AFTER emake installs them, avoiding seeking absent files + find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ + -o -name openbios-ppc -o -name palcode-clipper \) -delete || die + + keepdir /var/lib/xen/dump + keepdir /var/lib/xen/xenpaging + keepdir /var/lib/xenstored + keepdir /var/log/xen + + if use python; then + python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py" + python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so" + fi + + python_optimize +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "https://wiki.xen.org/wiki/Main_Page" + elog "" + elog "Recommended to utilise the xencommons script to config system at boot" + elog "Add by use of rc-update on completion of the install" + + if ! use hvm; then + echo + elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" + elog "support enable the hvm use flag." + elog "An x86 or amd64 system is required to build HVM support." + fi + + if use qemu; then + elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" + elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" + elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" + elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" + fi +} diff --git a/app-emulation/xen-tools/xen-tools-4.14.0-r1.ebuild b/app-emulation/xen-tools/xen-tools-4.14.0-r1.ebuild deleted file mode 100644 index 7cf7cb407e7c..000000000000 --- a/app-emulation/xen-tools/xen-tools-4.14.0-r1.ebuild +++ /dev/null @@ -1,511 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6..9} ) -PYTHON_REQ_USE='ncurses,xml,threads(+)' - -inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs - -MY_PV=${PV/_/-} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - REPO="xen.git" - EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" - S="${WORKDIR}/${REPO}" -else - KEYWORDS="~amd64 ~arm ~arm64 ~x86" - UPSTREAM_VER=0 - SECURITY_VER=28 - # xen-tools's gentoo patches tarball - GENTOO_VER=22 - # xen-tools's gentoo patches version which apply to this specific ebuild - GENTOO_GPV=0 - # xen-tools ovmf's patches - OVMF_VER= - - SEABIOS_VER="1.13.0" - EDK2_COMMIT="20d2e5a125e34fc8501026613a71549b2a1a3e54" - EDK2_OPENSSL_VERSION="1_1_1b" - EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037" - IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6" - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" - [[ -n ${OVMF_VER} ]] && \ - OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" - - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz - https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz - ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz ) - ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz - https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz - https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz - ${OVMF_PATCHSET_URI} ) - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" - - S="${WORKDIR}/xen-${MY_PV}" -fi - -DESCRIPTION="Xen tools including QEMU and xl" -HOMEPAGE="https://www.xenproject.org" -DOCS=( README ) - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make -# >=dev-lang/ocaml-4 stable -# Masked in profiles/eapi-5-files instead -IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - ipxe? ( rombios ) - ovmf? ( hvm ) - pygrub? ( python ) - rombios? ( hvm ) - system-ipxe? ( rombios ) - ?? ( ipxe system-ipxe ) - ?? ( qemu system-qemu )" - -COMMON_DEPEND=" - sys-apps/pciutils - dev-libs/lzo:2 - dev-libs/glib:2 - dev-libs/yajl - dev-libs/libaio - dev-libs/libgcrypt:0 - sys-libs/zlib - ${PYTHON_DEPS} -" - -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.11 - $(python_gen_cond_dep ' - dev-python/lxml[${PYTHON_MULTI_USEDEP}] - pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) - ') - x86? ( sys-devel/dev86 - system-ipxe? ( sys-firmware/ipxe[qemu] ) - sys-power/iasl ) - api? ( dev-libs/libxml2 - net-misc/curl ) - - ovmf? ( - !arm? ( !arm64? ( dev-lang/nasm ) ) - $(python_gen_impl_dep sqlite) - ) - !amd64? ( >=sys-apps/dtc-1.4.0 ) - amd64? ( sys-power/iasl - system-seabios? ( sys-firmware/seabios ) - system-ipxe? ( sys-firmware/ipxe[qemu] ) - rombios? ( sys-devel/bin86 sys-devel/dev86 ) ) - dev-lang/perl - app-misc/pax-utils - doc? ( - app-text/ghostscript-gpl - app-text/pandoc - $(python_gen_cond_dep ' - dev-python/markdown[${PYTHON_MULTI_USEDEP}] - ') - dev-texlive/texlive-latexextra - media-gfx/transfig - ) - hvm? ( x11-base/xorg-proto ) - qemu? ( - app-arch/snappy:= - x11-libs/pixman - sdl? ( - media-libs/libsdl[X] - media-libs/libsdl2[X] - ) - ) - system-qemu? ( app-emulation/qemu[xen] ) - ocaml? ( dev-ml/findlib - >=dev-lang/ocaml-4 ) - python? ( >=dev-lang/swig-4.0.0 )" - -RDEPEND="${COMMON_DEPEND} - sys-apps/iproute2[-minimal] - net-misc/bridge-utils - screen? ( - app-misc/screen - app-admin/logrotate - )" - -# hvmloader is used to bootstrap a fully virtualized kernel -# Approved by QA team in bug #144032 -QA_WX_LOAD=" - usr/libexec/xen/boot/hvmloader - usr/share/qemu-xen/qemu/hppa-firmware.img - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -QA_PREBUILT=" - usr/libexec/xen/bin/elf2dmp - usr/libexec/xen/bin/ivshmem-client - usr/libexec/xen/bin/ivshmem-server - usr/libexec/xen/bin/qemu-edid - usr/libexec/xen/bin/qemu-img - usr/libexec/xen/bin/qemu-io - usr/libexec/xen/bin/qemu-keymap - usr/libexec/xen/bin/qemu-nbd - usr/libexec/xen/bin/qemu-pr-helper - usr/libexec/xen/bin/qemu-system-i386 - usr/libexec/xen/bin/virtfs-proxy-helper - usr/libexec/xen/libexec/xen-bridge-helper - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/s390-netboot.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -RESTRICT="test" - -pkg_setup() { - python_setup - export "CONFIG_LOMOUNT=y" - - #bug 522642, disable compile tools/tests - export "CONFIG_TESTS=n" - - if [[ -z ${XEN_TARGET_ARCH} ]] ; then - if use x86 && use amd64; then - die "Confusion! Both x86 and amd64 are set in your use flags!" - elif use x86; then - export XEN_TARGET_ARCH="x86_32" - elif use amd64 ; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi -} - -src_prepare() { - local i - - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patch set" - eapply "${WORKDIR}"/patches-upstream - fi - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - EPATCH_SUFFIX="patch" - EPATCH_FORCE="yes" - - source "${WORKDIR}"/patches-security/${PV}.conf || die - - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - - # apply qemu-xen/upstream patches - pushd "${S}"/tools/qemu-xen/ > /dev/null - for i in ${XEN_SECURITY_QEMUU}; do - eapply "${WORKDIR}"/patches-security/qemuu/$i - done - popd > /dev/null - - # apply qemu-traditional patches - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null - for i in ${XEN_SECURITY_QEMUT}; do - eapply "${WORKDIR}"/patches-security/qemut/$i - done - popd > /dev/null - fi - - # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err - mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die - pushd tools/firmware/ > /dev/null - ln -s seabios-dir-remote seabios-dir || die - popd > /dev/null - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patch set" - source "${FILESDIR}"/gentoo-patches.conf || die - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} - for i in ${!_gpv}; do - eapply "${WORKDIR}"/patches-gentoo/$i - done - fi - - # Ovmf's patchset - if use ovmf; then - if [[ -n ${OVMF_VER} ]];then - einfo "Try to apply Ovmf patch set" - pushd "${WORKDIR}"/edk2-*/ > /dev/null - eapply "${WORKDIR}"/patches-ovmf - popd > /dev/null - fi - mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die - rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die - rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die - mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die - mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die - cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die - fi - - # ipxe - if use ipxe; then - cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die - - # gcc 10 - cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die - echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die - fi - - # gcc 10 - # libxlu_pci.c:32:18: error: 'func' may be used uninitialized in this function - sed -e '/CFLAGS/s/Werror/Wno-error/g' \ - -i tools/libxl/Makefile || die - - mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die - - # Fix texi2html build error with new texi2html, qemu.doc.html - sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die - - use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ - -i tools/firmware/Makefile || die - - # Drop .config, fixes to gcc-4.6 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - # drop flags - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - unset CPPFLAGS - - if ! use pygrub; then - sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die - fi - - if ! use python; then - sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die - fi - - if ! use hvm; then - sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die - # Bug 351648 - elif ! use x86 && ! has x86 $(get_all_abis); then - mkdir -p "${WORKDIR}"/extra-headers/gnu || die - touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die - export CPATH="${WORKDIR}"/extra-headers - fi - - if use qemu; then - if use sdl; then - sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ - tools/Makefile || die - else - sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ - tools/qemu-xen-traditional/xen-setup || die - sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ - tools/Makefile || die - fi - else - # Don't bother with qemu, only needed for fully virtualised guests - sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die - fi - - # Reset bash completion dir; Bug 472438 - sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ - -i Config.mk || die - sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die - - # xencommons, Bug #492332, sed lighter weight than patching - sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ - -i tools/hotplug/Linux/init.d/xencommons.in || die - - # fix bashishm - sed -e '/Usage/s/\$//g' \ - -i tools/hotplug/Linux/init.d/xendriverdomain.in || die - - # respect multilib, usr/lib/libcacard.so.0.0.0 - sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ - -i tools/qemu-xen/configure || die - - #bug 518136, don't build 32bit exactuable for nomultilib profile - if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then - sed -i -e "/x86_emulator/d" tools/tests/Makefile || die - fi - - # uncomment lines in xl.conf - sed -e 's:^#autoballoon=:autoballoon=:' \ - -e 's:^#lockfile=:lockfile=:' \ - -e 's:^#vif.default.script=:vif.default.script=:' \ - -i tools/examples/xl.conf || die - - # disable capstone (Bug #673474) - sed -e "s:\$\$source/configure:\0 --disable-capstone:" \ - -i tools/Makefile || die - - # disable glusterfs - sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \ - -i tools/Makefile || die - - default -} - -src_configure() { - local myconf="--prefix=${PREFIX}/usr \ - --libdir=${PREFIX}/usr/$(get_libdir) \ - --libexecdir=${PREFIX}/usr/libexec \ - --localstatedir=${EPREFIX}/var \ - --disable-werror \ - --disable-xen \ - --enable-tools \ - --enable-docs \ - $(use_enable api xenapi) \ - $(use_enable ipxe) \ - $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \ - $(use_enable ocaml ocamltools) \ - $(use_enable ovmf) \ - $(use_enable pam) \ - $(use_enable rombios) \ - --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ - " - - use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" - use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" - use amd64 && myconf+=" $(use_enable qemu-traditional)" - tc-ld-disable-gold # Bug 669570 - econf ${myconf} -} - -src_compile() { - local myopt - use debug && myopt="${myopt} debug=y" - use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y" - - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} - - if use doc; then - emake -C docs build - else - emake -C docs man-pages - fi -} - -src_install() { - # Override auto-detection in the build system, bug #382573 - export INITD_DIR=/tmp/init.d - export CONFIG_LEAF_DIR=../tmp/default - - # Let the build system compile installed Python modules. - local PYTHONDONTWRITEBYTECODE - export PYTHONDONTWRITEBYTECODE - - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ - XEN_PYTHON_NATIVE_INSTALL=y install-tools - - # Created at runtime - rm -rv "${ED}/var/run" || die - - # Fix the remaining Python shebangs. - python_fix_shebang "${D}" - - # Remove RedHat-specific stuff - rm -rf "${D}"/tmp || die - - if use doc; then - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs - dodoc -r docs/{pdf,txt} - else - emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032 - fi - dodoc ${DOCS[@]} - - newconfd "${FILESDIR}"/xendomains.confd xendomains - newconfd "${FILESDIR}"/xenstored.confd xenstored - newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled - newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains - newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled - newinitd "${FILESDIR}"/xencommons.initd xencommons - newconfd "${FILESDIR}"/xencommons.confd xencommons - newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev - newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev - newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog - - if use screen; then - cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die - cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die - keepdir /var/log/xen-consoles - fi - - # For -static-libs wrt Bug 384355 - if ! use static-libs; then - rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a - fi - - # for xendomains - keepdir /etc/xen/auto - - # Remove files failing QA AFTER emake installs them, avoiding seeking absent files - find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ - -o -name openbios-ppc -o -name palcode-clipper \) -delete || die - - keepdir /var/lib/xen/dump - keepdir /var/lib/xen/xenpaging - keepdir /var/lib/xenstored - keepdir /var/log/xen - - if use python; then - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py" - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so" - fi - - python_optimize -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://wiki.gentoo.org/wiki/Xen" - elog "https://wiki.xen.org/wiki/Main_Page" - elog "" - elog "Recommended to utilise the xencommons script to config system at boot" - elog "Add by use of rc-update on completion of the install" - - if ! use hvm; then - echo - elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" - elog "support enable the hvm use flag." - elog "An x86 or amd64 system is required to build HVM support." - fi - - if use qemu; then - elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" - elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" - elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" - elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" - fi -} diff --git a/app-emulation/xen-tools/xen-tools-4.14.0-r2.ebuild b/app-emulation/xen-tools/xen-tools-4.14.0-r2.ebuild new file mode 100644 index 000000000000..6e50b8d46e37 --- /dev/null +++ b/app-emulation/xen-tools/xen-tools-4.14.0-r2.ebuild @@ -0,0 +1,511 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..9} ) +PYTHON_REQ_USE='ncurses,xml,threads(+)' + +inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs + +MY_PV=${PV/_/-} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + REPO="xen.git" + EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" + S="${WORKDIR}/${REPO}" +else + KEYWORDS="~amd64 ~arm ~arm64 ~x86" + UPSTREAM_VER=1 + SECURITY_VER=28 + # xen-tools's gentoo patches tarball + GENTOO_VER=22 + # xen-tools's gentoo patches version which apply to this specific ebuild + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER= + + SEABIOS_VER="1.13.0" + EDK2_COMMIT="20d2e5a125e34fc8501026613a71549b2a1a3e54" + EDK2_OPENSSL_VERSION="1_1_1b" + EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037" + IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6" + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" + [[ -n ${OVMF_VER} ]] && \ + OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" + + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz + https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz + ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz ) + ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz + https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz + https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz + ${OVMF_PATCHSET_URI} ) + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" + + S="${WORKDIR}/xen-${MY_PV}" +fi + +DESCRIPTION="Xen tools including QEMU and xl" +HOMEPAGE="https://www.xenproject.org" +DOCS=( README ) + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make +# >=dev-lang/ocaml-4 stable +# Masked in profiles/eapi-5-files instead +IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ipxe? ( rombios ) + ovmf? ( hvm ) + pygrub? ( python ) + rombios? ( hvm ) + system-ipxe? ( rombios ) + ?? ( ipxe system-ipxe ) + ?? ( qemu system-qemu )" + +COMMON_DEPEND=" + sys-apps/pciutils + dev-libs/lzo:2 + dev-libs/glib:2 + dev-libs/yajl + dev-libs/libaio + dev-libs/libgcrypt:0 + sys-libs/zlib + ${PYTHON_DEPS} +" + +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-4.11 + $(python_gen_cond_dep ' + dev-python/lxml[${PYTHON_MULTI_USEDEP}] + pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) + ') + x86? ( sys-devel/dev86 + system-ipxe? ( sys-firmware/ipxe[qemu] ) + sys-power/iasl ) + api? ( dev-libs/libxml2 + net-misc/curl ) + + ovmf? ( + !arm? ( !arm64? ( dev-lang/nasm ) ) + $(python_gen_impl_dep sqlite) + ) + !amd64? ( >=sys-apps/dtc-1.4.0 ) + amd64? ( sys-power/iasl + system-seabios? ( sys-firmware/seabios ) + system-ipxe? ( sys-firmware/ipxe[qemu] ) + rombios? ( sys-devel/bin86 sys-devel/dev86 ) ) + dev-lang/perl + app-misc/pax-utils + doc? ( + app-text/ghostscript-gpl + app-text/pandoc + $(python_gen_cond_dep ' + dev-python/markdown[${PYTHON_MULTI_USEDEP}] + ') + dev-texlive/texlive-latexextra + media-gfx/transfig + ) + hvm? ( x11-base/xorg-proto ) + qemu? ( + app-arch/snappy:= + x11-libs/pixman + sdl? ( + media-libs/libsdl[X] + media-libs/libsdl2[X] + ) + ) + system-qemu? ( app-emulation/qemu[xen] ) + ocaml? ( dev-ml/findlib + >=dev-lang/ocaml-4 ) + python? ( >=dev-lang/swig-4.0.0 )" + +RDEPEND="${COMMON_DEPEND} + sys-apps/iproute2[-minimal] + net-misc/bridge-utils + screen? ( + app-misc/screen + app-admin/logrotate + )" + +# hvmloader is used to bootstrap a fully virtualized kernel +# Approved by QA team in bug #144032 +QA_WX_LOAD=" + usr/libexec/xen/boot/hvmloader + usr/share/qemu-xen/qemu/hppa-firmware.img + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +QA_PREBUILT=" + usr/libexec/xen/bin/elf2dmp + usr/libexec/xen/bin/ivshmem-client + usr/libexec/xen/bin/ivshmem-server + usr/libexec/xen/bin/qemu-edid + usr/libexec/xen/bin/qemu-img + usr/libexec/xen/bin/qemu-io + usr/libexec/xen/bin/qemu-keymap + usr/libexec/xen/bin/qemu-nbd + usr/libexec/xen/bin/qemu-pr-helper + usr/libexec/xen/bin/qemu-system-i386 + usr/libexec/xen/bin/virtfs-proxy-helper + usr/libexec/xen/libexec/xen-bridge-helper + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/s390-netboot.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +RESTRICT="test" + +pkg_setup() { + python_setup + export "CONFIG_LOMOUNT=y" + + #bug 522642, disable compile tools/tests + export "CONFIG_TESTS=n" + + if [[ -z ${XEN_TARGET_ARCH} ]] ; then + if use x86 && use amd64; then + die "Confusion! Both x86 and amd64 are set in your use flags!" + elif use x86; then + export XEN_TARGET_ARCH="x86_32" + elif use amd64 ; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi +} + +src_prepare() { + local i + + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + eapply "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + EPATCH_SUFFIX="patch" + EPATCH_FORCE="yes" + + source "${WORKDIR}"/patches-security/${PV}.conf || die + + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + + # apply qemu-xen/upstream patches + pushd "${S}"/tools/qemu-xen/ > /dev/null + for i in ${XEN_SECURITY_QEMUU}; do + eapply "${WORKDIR}"/patches-security/qemuu/$i + done + popd > /dev/null + + # apply qemu-traditional patches + pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null + for i in ${XEN_SECURITY_QEMUT}; do + eapply "${WORKDIR}"/patches-security/qemut/$i + done + popd > /dev/null + fi + + # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err + mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die + pushd tools/firmware/ > /dev/null + ln -s seabios-dir-remote seabios-dir || die + popd > /dev/null + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then + einfo "Try to apply Gentoo specific patch set" + source "${FILESDIR}"/gentoo-patches.conf || die + _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} + for i in ${!_gpv}; do + eapply "${WORKDIR}"/patches-gentoo/$i + done + fi + + # Ovmf's patchset + if use ovmf; then + if [[ -n ${OVMF_VER} ]];then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/edk2-*/ > /dev/null + eapply "${WORKDIR}"/patches-ovmf + popd > /dev/null + fi + mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die + rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die + rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die + mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die + mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die + cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die + fi + + # ipxe + if use ipxe; then + cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die + + # gcc 10 + cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die + echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die + fi + + # gcc 10 + # libxlu_pci.c:32:18: error: 'func' may be used uninitialized in this function + sed -e '/CFLAGS/s/Werror/Wno-error/g' \ + -i tools/libxl/Makefile || die + + mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die + + # Fix texi2html build error with new texi2html, qemu.doc.html + sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die + + use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die + sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ + -i tools/firmware/Makefile || die + + # Drop .config, fixes to gcc-4.6 + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + # drop flags + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + unset CPPFLAGS + + if ! use pygrub; then + sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die + fi + + if ! use python; then + sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die + fi + + if ! use hvm; then + sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die + # Bug 351648 + elif ! use x86 && ! has x86 $(get_all_abis); then + mkdir -p "${WORKDIR}"/extra-headers/gnu || die + touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die + export CPATH="${WORKDIR}"/extra-headers + fi + + if use qemu; then + if use sdl; then + sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ + tools/Makefile || die + else + sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ + tools/qemu-xen-traditional/xen-setup || die + sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ + tools/Makefile || die + fi + else + # Don't bother with qemu, only needed for fully virtualised guests + sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die + fi + + # Reset bash completion dir; Bug 472438 + sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ + -i Config.mk || die + sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die + + # xencommons, Bug #492332, sed lighter weight than patching + sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ + -i tools/hotplug/Linux/init.d/xencommons.in || die + + # fix bashishm + sed -e '/Usage/s/\$//g' \ + -i tools/hotplug/Linux/init.d/xendriverdomain.in || die + + # respect multilib, usr/lib/libcacard.so.0.0.0 + sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ + -i tools/qemu-xen/configure || die + + #bug 518136, don't build 32bit exactuable for nomultilib profile + if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then + sed -i -e "/x86_emulator/d" tools/tests/Makefile || die + fi + + # uncomment lines in xl.conf + sed -e 's:^#autoballoon=:autoballoon=:' \ + -e 's:^#lockfile=:lockfile=:' \ + -e 's:^#vif.default.script=:vif.default.script=:' \ + -i tools/examples/xl.conf || die + + # disable capstone (Bug #673474) + sed -e "s:\$\$source/configure:\0 --disable-capstone:" \ + -i tools/Makefile || die + + # disable glusterfs + sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \ + -i tools/Makefile || die + + default +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --localstatedir=${EPREFIX}/var \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_enable api xenapi) \ + $(use_enable ipxe) \ + $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \ + $(use_enable ocaml ocamltools) \ + $(use_enable ovmf) \ + $(use_enable pam) \ + $(use_enable rombios) \ + --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ + " + + use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" + use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" + use amd64 && myconf+=" $(use_enable qemu-traditional)" + tc-ld-disable-gold # Bug 669570 + econf ${myconf} +} + +src_compile() { + local myopt + use debug && myopt="${myopt} debug=y" + use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y" + + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} + + if use doc; then + emake -C docs build + else + emake -C docs man-pages + fi +} + +src_install() { + # Override auto-detection in the build system, bug #382573 + export INITD_DIR=/tmp/init.d + export CONFIG_LEAF_DIR=../tmp/default + + # Let the build system compile installed Python modules. + local PYTHONDONTWRITEBYTECODE + export PYTHONDONTWRITEBYTECODE + + emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ + XEN_PYTHON_NATIVE_INSTALL=y install-tools + + # Created at runtime + rm -rv "${ED}/var/run" || die + + # Fix the remaining Python shebangs. + python_fix_shebang "${D}" + + # Remove RedHat-specific stuff + rm -rf "${D}"/tmp || die + + if use doc; then + emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs + dodoc -r docs/{pdf,txt} + else + emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032 + fi + dodoc ${DOCS[@]} + + newconfd "${FILESDIR}"/xendomains.confd xendomains + newconfd "${FILESDIR}"/xenstored.confd xenstored + newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled + newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains + newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored + newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled + newinitd "${FILESDIR}"/xencommons.initd xencommons + newconfd "${FILESDIR}"/xencommons.confd xencommons + newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev + newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev + newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog + + if use screen; then + cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die + cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die + keepdir /var/log/xen-consoles + fi + + # For -static-libs wrt Bug 384355 + if ! use static-libs; then + rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a + fi + + # for xendomains + keepdir /etc/xen/auto + + # Remove files failing QA AFTER emake installs them, avoiding seeking absent files + find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ + -o -name openbios-ppc -o -name palcode-clipper \) -delete || die + + keepdir /var/lib/xen/dump + keepdir /var/lib/xen/xenpaging + keepdir /var/lib/xenstored + keepdir /var/log/xen + + if use python; then + python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py" + python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so" + fi + + python_optimize +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "https://wiki.xen.org/wiki/Main_Page" + elog "" + elog "Recommended to utilise the xencommons script to config system at boot" + elog "Add by use of rc-update on completion of the install" + + if ! use hvm; then + echo + elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" + elog "support enable the hvm use flag." + elog "An x86 or amd64 system is required to build HVM support." + fi + + if use qemu; then + elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" + elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" + elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" + elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" + fi +} diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest index 7bc05c5b22b5..76ab23eabc43 100644 --- a/app-emulation/xen/Manifest +++ b/app-emulation/xen/Manifest @@ -1,9 +1,11 @@ AUX xen-4.11-efi.patch 1971 BLAKE2B b24f9315cff7f2de2a945088363429b9f4dd7a4101d3f1c0d4bf9733189808f5e1c47f1d90d1784f17fa52ca1626972c81d20c5e1ee3d42d082cdefcf67eb8dc SHA512 17208dc107f4ae4c5ec226c2ac05126817134fb6084cd8923204dc1b014e645e12c34cd11296319127e595ccbf17747931e9df78218bf49814f66e3cc6a789fd AUX xen-4.14-efi.patch 1969 BLAKE2B dec62e9b04ce23025443caa68df2fd69c50a3fdf650bf26047b28f3a72d1aa58124127274cd2c1373a4e133784b2691145c49c9a182bd635aa9c60bb1e45a0c1 SHA512 3e32aac5ba2ec371a3877d64532e8d134c3b4fe3a6644477ee8ecf56cbb8378b20f9d5d7415bec891d96910550a787848779c82ee4b9d57046f4c13235531ea0 DIST xen-4.13.1-upstream-patches-2.tar.xz 53744 BLAKE2B 769b5b8022f7db66f677d8107c6473606376718bffeac7eba09c4270f4005811f472fb9ed2a2804260e0486228edbadfcf8f81bf1dae6d68df37da213d281390 SHA512 b07c865b96c6f48b9d0b4e4c2f3ec19f4dc44884f4024e440a3e537f594f9f5edd6edf805bdefc82e5f1f2520f35f940b64c158972cbf5bfdc8fb2ca7a1b0ac1 +DIST xen-4.13.1-upstream-patches-3.tar.xz 87056 BLAKE2B 01d7133b8f7e3c9a42b9771dcb7739777f79f229941114cce70ba2897dd52bf53f08de35602a0b40a120fc155c274dbf91e107856f4afdae2c4f7b4bc0a67cdd SHA512 d67e9ddfbf27dc5a23a77679b1b2524a49c2aec3ff9eb3472f9e075893d87401f8e99707b0652744eb4af7a3ed9a815c3925de49995bcd7c82d97c13a69b5309 DIST xen-4.13.1.tar.gz 39024612 BLAKE2B efff138699fac2c14fad2e0dfd4535ebd744577df3dddccc2a589b81a76f24fc81c75e295f4cd33ca2e820929417b22d714504b576cb0737a563037bd56b6a95 SHA512 b56d20704155d98d803496cba83eb928e0f986a750831cd5600fc88d0ae772fe1456571654375054043d2da8daca255cc98385ebf08b1b1a75ecf7f4b7a0ee90 -DIST xen-4.14.0-upstream-patches-0.tar.xz 6872 BLAKE2B 958ad668362c9c02af39f2a02cde2baa9b9fc8853116c390f43a77bb17c649bfc6a4b51db5cbe564a8c3c440ce736603e44b97f45c50a7836c9a43bfb0d2255a SHA512 a30d9708e64e1405f837b14c1e5a0e28fcb9e7a177c822570e25d0ed118a9c58c380f4ed64a40bf970a9389baf9848e52f7d161efe922b883ee990c8029e7e1f +DIST xen-4.14.0-upstream-patches-1.tar.xz 45360 BLAKE2B 0f72a2cc3d18557b86a2a83f97e4141be46a20e3ba59ccc881a34a4408988eba9827e3b927bc07aba9678123d783303e7d47d789e57323a7f6691d718c019dc8 SHA512 3d5093e4367d27e7f6e8d4cc31841a5c80cc3fb870d6cb32131d064e16cbb559e9a783c70eec1ce13c960b3e2a8d5e23e18d26b936bc418b434df3bb801d3e4f DIST xen-4.14.0.tar.gz 39950576 BLAKE2B db4c3e79cfdfb10260d0d14d9d28e8c8bd9bf23f42aee743acf8f560bf4cdb96a425c0df887c70f9755f62680be24bfbe0149e52a4cb843ae83090cd9d6afc71 SHA512 ebce47a2f754955d8517123d69f62006634d97620fbbe3784869a0667466e586a249f57ffaf7846d5bcb45d69377cde43354c82c233fbb5407e55653b9a33ac0 EBUILD xen-4.13.1-r3.ebuild 4444 BLAKE2B a03adf601033f94e9c6169aa8a109465d8bd1daa4945280a0defdf41b90411123598c626a3cd4b0c6ab22a539c26389f389f1483a1606d8fc8dc35a9cdac929d SHA512 ea5915fe2d39b3d471e0de1b29d0e6a41b1a63a1858be7122db5fc8bc71c310ff13a91b63969d009d33bbbe3d85146df22c151b251bedbbe6971bf08ae3fcfe5 -EBUILD xen-4.14.0-r1.ebuild 4444 BLAKE2B 3d1205af68af583189ba0c790d6fb05875f8a842b1d38845a9f5713e971e5507d3fd4e2f2452eaa043d13f26cb87c3825aea3bdf1c430f8a550d9d45b143c78a SHA512 e616c8f5d90c8c441a909f0b33e1d438dbf52cf298a69b91b34ea9c963f4f2bb7c397cd4168ef487d24bb2beea883b4ff4eacf7f65fd0ae96576be5128befbed +EBUILD xen-4.13.1-r4.ebuild 4445 BLAKE2B 309a956271494090acd7f1d687fe1056f95c34a50ada3dfbee165fe1f3a935aa3a7c92e13d778a425bd587497879170efa73b65c8029ab08cb4716da13cf641b SHA512 f2efcbd096cdd92246a5d8c4d877b7ec17c84ae27f6822c3f62ba43087cb975a395a30753eeb920f6339bd5c1c9c64d2d50e254f9cb10d8db898df87c43c275d +EBUILD xen-4.14.0-r2.ebuild 4444 BLAKE2B 297aa1e2c31336165a71043ac7537a640a2233606b0f725d889548f32fc305f3a335230d8a52fabd841ebb2ef404565983f21855b05ba0f9d2136d3da7647a6b SHA512 d9e933fbaed725d038a23409470e28a606162797bec6708089f0d34347396e3b4003214052c863de3754c586734823e99302885698258b23279163bd1f1cdac7 MISC metadata.xml 645 BLAKE2B ad902c521cc93a54b16faaea212f23c7bdf83a9efe19606eca7bf00b49104386dbc095ff30c4287bb79d5fcd073b77e7c1bbf929ee7b025039a50f8238572f17 SHA512 313d501abeb906c360d7965e35a18d9851e38af73a72a95351517c60a1a39553555a0a250f0bee5bfc8f6496312d6e9c70874be267c14edab45cb4841e34c248 diff --git a/app-emulation/xen/xen-4.13.1-r4.ebuild b/app-emulation/xen/xen-4.13.1-r4.ebuild new file mode 100644 index 000000000000..5bde79cb7c82 --- /dev/null +++ b/app-emulation/xen/xen-4.13.1-r4.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs + +MY_PV=${PV/_/-} +MY_P=${PN}-${MY_PV} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" +else + KEYWORDS="~amd64 ~arm -x86" + UPSTREAM_VER=3 + SECURITY_VER= + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="https://www.xenproject.org" +LICENSE="GPL-2" +SLOT="0" +IUSE="debug efi flask" + +DEPEND="${PYTHON_DEPS} + efi? ( >=sys-devel/binutils-2.22[multitarget] ) + !efi? ( >=sys-devel/binutils-2.22 )" +RDEPEND="" +PDEPEND="~app-emulation/xen-tools-${PV}" + +# no tests are available for the hypervisor +# prevent the silliness of /usr/lib/debug/usr/lib/debug files +# prevent stripping of the debug info from the /usr/lib/debug/xen-syms +RESTRICT="test splitdebug strip" + +# Approved by QA team in bug #144032 +QA_WX_LOAD="boot/xen-syms-${PV}" + +REQUIRED_USE="arm? ( debug )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python-any-r1_pkg_setup + if [[ -z ${XEN_TARGET_ARCH} ]]; then + if use amd64; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi + + if use flask ; then + export "XSM_ENABLE=y" + export "FLASK_ENABLE=y" + fi +} + +src_prepare() { + # Upstream's patchset + [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + source "${WORKDIR}"/patches-security/${PV}.conf + + local i + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + fi + + # Gentoo's patchset + [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo + + eapply "${FILESDIR}"/${PN}-4.11-efi.patch + + # Drop .config + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + if use efi; then + export EFI_VENDOR="gentoo" + export EFI_MOUNTPOINT="/boot" + fi + + default +} + +src_configure() { + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" + + use debug && myopt="${myopt} debug=y" + + # remove flags + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + + tc-ld-disable-gold # Bug 700374 +} + +src_compile() { + # Send raw LDFLAGS so that --as-needed works + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} +} + +src_install() { + local myopt + use debug && myopt="${myopt} debug=y" + + # The 'make install' doesn't 'mkdir -p' the subdirs + if use efi; then + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die + fi + + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install + + # make install likes to throw in some extra EFI bits if it built + use efi || rm -rf "${D}/usr/$(get_libdir)/efi" +} + +pkg_postinst() { + elog "Official Xen Guide:" + elog " https://wiki.gentoo.org/wiki/Xen" + + use efi && einfo "The efi executable is installed in /boot/efi/gentoo" + + elog "You can optionally block the installation of /boot/xen-syms by an entry" + elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" + elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" + + ewarn + ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause" + ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems" + ewarn "to work fine." + ewarn + ewarn "Add sched=credit to xen command line options to use the legacy scheduler." + ewarn + ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B" +} diff --git a/app-emulation/xen/xen-4.14.0-r1.ebuild b/app-emulation/xen/xen-4.14.0-r1.ebuild deleted file mode 100644 index 34ea5e60db56..000000000000 --- a/app-emulation/xen/xen-4.14.0-r1.ebuild +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6..9} ) - -inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="git://xenbits.xen.org/xen.git" - SRC_URI="" -else - KEYWORDS="~amd64 ~arm -x86" - UPSTREAM_VER=0 - SECURITY_VER= - GENTOO_VER= - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" -fi - -DESCRIPTION="The Xen virtual machine monitor" -HOMEPAGE="https://www.xenproject.org" -LICENSE="GPL-2" -SLOT="0" -IUSE="debug efi flask" - -DEPEND="${PYTHON_DEPS} - efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22 )" -RDEPEND="" -PDEPEND="~app-emulation/xen-tools-${PV}" - -# no tests are available for the hypervisor -# prevent the silliness of /usr/lib/debug/usr/lib/debug files -# prevent stripping of the debug info from the /usr/lib/debug/xen-syms -RESTRICT="test splitdebug strip" - -# Approved by QA team in bug #144032 -QA_WX_LOAD="boot/xen-syms-${PV}" - -REQUIRED_USE="arm? ( debug )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - python-any-r1_pkg_setup - if [[ -z ${XEN_TARGET_ARCH} ]]; then - if use amd64; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi - - if use flask ; then - export "XSM_ENABLE=y" - export "FLASK_ENABLE=y" - fi -} - -src_prepare() { - # Upstream's patchset - [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - source "${WORKDIR}"/patches-security/${PV}.conf - - local i - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - fi - - # Gentoo's patchset - [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo - - eapply "${FILESDIR}"/${PN}-4.14-efi.patch - - # Drop .config - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - if use efi; then - export EFI_VENDOR="gentoo" - export EFI_MOUNTPOINT="/boot" - fi - - default -} - -src_configure() { - use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" - - use debug && myopt="${myopt} debug=y" - - # remove flags - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - - tc-ld-disable-gold # Bug 700374 -} - -src_compile() { - # Send raw LDFLAGS so that --as-needed works - emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} -} - -src_install() { - local myopt - use debug && myopt="${myopt} debug=y" - - # The 'make install' doesn't 'mkdir -p' the subdirs - if use efi; then - mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die - fi - - emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install - - # make install likes to throw in some extra EFI bits if it built - use efi || rm -rf "${D}/usr/$(get_libdir)/efi" -} - -pkg_postinst() { - elog "Official Xen Guide:" - elog " https://wiki.gentoo.org/wiki/Xen" - - use efi && einfo "The efi executable is installed in /boot/efi/gentoo" - - elog "You can optionally block the installation of /boot/xen-syms by an entry" - elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" - elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" - - ewarn - ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause" - ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems" - ewarn "to work fine." - ewarn - ewarn "Add sched=credit to xen command line options to use the legacy scheduler." - ewarn - ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B" -} diff --git a/app-emulation/xen/xen-4.14.0-r2.ebuild b/app-emulation/xen/xen-4.14.0-r2.ebuild new file mode 100644 index 000000000000..2738d77fd9d3 --- /dev/null +++ b/app-emulation/xen/xen-4.14.0-r2.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..9} ) + +inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs + +MY_PV=${PV/_/-} +MY_P=${PN}-${MY_PV} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" +else + KEYWORDS="~amd64 ~arm -x86" + UPSTREAM_VER=1 + SECURITY_VER= + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="https://www.xenproject.org" +LICENSE="GPL-2" +SLOT="0" +IUSE="debug efi flask" + +DEPEND="${PYTHON_DEPS} + efi? ( >=sys-devel/binutils-2.22[multitarget] ) + !efi? ( >=sys-devel/binutils-2.22 )" +RDEPEND="" +PDEPEND="~app-emulation/xen-tools-${PV}" + +# no tests are available for the hypervisor +# prevent the silliness of /usr/lib/debug/usr/lib/debug files +# prevent stripping of the debug info from the /usr/lib/debug/xen-syms +RESTRICT="test splitdebug strip" + +# Approved by QA team in bug #144032 +QA_WX_LOAD="boot/xen-syms-${PV}" + +REQUIRED_USE="arm? ( debug )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python-any-r1_pkg_setup + if [[ -z ${XEN_TARGET_ARCH} ]]; then + if use amd64; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi + + if use flask ; then + export "XSM_ENABLE=y" + export "FLASK_ENABLE=y" + fi +} + +src_prepare() { + # Upstream's patchset + [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + source "${WORKDIR}"/patches-security/${PV}.conf + + local i + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + fi + + # Gentoo's patchset + [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo + + eapply "${FILESDIR}"/${PN}-4.14-efi.patch + + # Drop .config + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + if use efi; then + export EFI_VENDOR="gentoo" + export EFI_MOUNTPOINT="/boot" + fi + + default +} + +src_configure() { + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" + + use debug && myopt="${myopt} debug=y" + + # remove flags + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + + tc-ld-disable-gold # Bug 700374 +} + +src_compile() { + # Send raw LDFLAGS so that --as-needed works + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} +} + +src_install() { + local myopt + use debug && myopt="${myopt} debug=y" + + # The 'make install' doesn't 'mkdir -p' the subdirs + if use efi; then + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die + fi + + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install + + # make install likes to throw in some extra EFI bits if it built + use efi || rm -rf "${D}/usr/$(get_libdir)/efi" +} + +pkg_postinst() { + elog "Official Xen Guide:" + elog " https://wiki.gentoo.org/wiki/Xen" + + use efi && einfo "The efi executable is installed in /boot/efi/gentoo" + + elog "You can optionally block the installation of /boot/xen-syms by an entry" + elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" + elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" + + ewarn + ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause" + ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems" + ewarn "to work fine." + ewarn + ewarn "Add sched=credit to xen command line options to use the legacy scheduler." + ewarn + ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B" +} -- cgit v1.2.3