From b49088575eb777ced2551f484da86317332d6087 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 24 Jul 2021 02:11:45 +0100 Subject: gentoo resync : 24.07.2021 --- app-emulation/Manifest.gz | Bin 20514 -> 20538 bytes app-emulation/aqemu/Manifest | 4 +- app-emulation/aqemu/aqemu-0.9.2-r1.ebuild | 42 + app-emulation/aqemu/aqemu-0.9.2.ebuild | 38 - app-emulation/aqemu/files/aqemu-0.9.2-docs.patch | 15 + .../aqemu/files/aqemu-0.9.2-include.patch | 10 + app-emulation/containerd/Manifest | 4 + app-emulation/containerd/containerd-1.4.8.ebuild | 84 ++ app-emulation/containerd/containerd-1.5.4.ebuild | 84 ++ app-emulation/crun/Manifest | 2 +- app-emulation/crun/crun-0.19.1.ebuild | 2 +- app-emulation/docker-compose/Manifest | 2 +- .../docker-compose/docker-compose-1.29.2.ebuild | 2 +- app-emulation/docker-registry/Manifest | 2 +- .../docker-registry-2.7.1-r1.ebuild | 55 ++ .../docker-registry/docker-registry-2.7.1.ebuild | 50 -- app-emulation/fs-uae-launcher/Manifest | 2 +- .../fs-uae-launcher/fs-uae-launcher-3.0.5.ebuild | 10 +- app-emulation/gallium-nine-standalone/Manifest | 6 +- .../gallium-nine-standalone-0.7-r1.ebuild | 103 +++ .../gallium-nine-standalone-0.7.ebuild | 103 --- .../gallium-nine-standalone-0.8-r1.ebuild | 87 ++ .../gallium-nine-standalone-0.8.ebuild | 87 -- .../gallium-nine-standalone-9999.ebuild | 2 +- app-emulation/lxc/Manifest | 6 +- app-emulation/lxc/lxc-4.0.10.ebuild | 173 ++++ app-emulation/lxc/lxc-4.0.6.ebuild | 172 ---- app-emulation/lxd/Manifest | 6 +- app-emulation/lxd/lxd-4.0.5.ebuild | 152 ---- app-emulation/lxd/lxd-4.0.7.ebuild | 163 ++++ app-emulation/nemu/Manifest | 4 +- app-emulation/nemu/nemu-2.2.1.ebuild | 73 -- app-emulation/nemu/nemu-2.5.0-r1.ebuild | 77 ++ app-emulation/nemu/nemu-2.5.0.ebuild | 77 -- app-emulation/protontricks/Manifest | 2 - .../protontricks/protontricks-1.5.0.ebuild | 57 -- app-emulation/qemu/Manifest | 6 +- app-emulation/qemu/qemu-6.0.0-r2.ebuild | 910 ++++++++++++++++++++ app-emulation/qemu/qemu-6.0.0-r50.ebuild | 911 --------------------- app-emulation/qemu/qemu-6.0.0-r52.ebuild | 911 +++++++++++++++++++++ app-emulation/qemu/qemu-6.0.0.ebuild | 910 -------------------- app-emulation/qemu/qemu-9999.ebuild | 4 +- app-emulation/runc/Manifest | 2 + app-emulation/runc/runc-1.0.0.ebuild | 78 ++ app-emulation/virt-manager/Manifest | 8 +- .../virt-manager/virt-manager-2.2.1-r3.ebuild | 10 +- .../virt-manager/virt-manager-3.1.0.ebuild | 12 +- .../virt-manager/virt-manager-3.2.0.ebuild | 12 +- .../virt-manager/virt-manager-9999.ebuild | 14 +- app-emulation/virt-viewer/Manifest | 2 + app-emulation/virt-viewer/virt-viewer-10.0.ebuild | 46 ++ app-emulation/virtualbox-additions/Manifest | 8 +- .../virtualbox-additions-6.1.18.ebuild | 34 - .../virtualbox-additions-6.1.20.ebuild | 34 - .../virtualbox-additions-6.1.22.ebuild | 2 +- .../virtualbox-additions-6.1.24.ebuild | 34 + app-emulation/virtualbox-extpack-oracle/Manifest | 8 +- .../virtualbox-extpack-oracle-6.1.18.142142.ebuild | 43 - .../virtualbox-extpack-oracle-6.1.20.143896.ebuild | 43 - .../virtualbox-extpack-oracle-6.1.22.144080.ebuild | 2 +- .../virtualbox-extpack-oracle-6.1.24.ebuild | 41 + app-emulation/virtualbox-guest-additions/Manifest | 6 +- .../virtualbox-guest-additions-6.1.18-r1.ebuild | 221 ----- .../virtualbox-guest-additions-6.1.22.ebuild | 2 +- .../virtualbox-guest-additions-6.1.24.ebuild | 221 +++++ app-emulation/virtualbox-modules/Manifest | 10 +- .../virtualbox-modules-6.1.18-binutils-2.36.patch | 39 - .../virtualbox-modules-6.1.18-linux-5.11.patch | 16 - .../virtualbox-modules-6.1.18.ebuild | 60 -- .../virtualbox-modules-6.1.20.ebuild | 55 -- .../virtualbox-modules-6.1.22.ebuild | 2 +- .../virtualbox-modules-6.1.24.ebuild | 55 ++ app-emulation/virtualbox/Manifest | 8 +- app-emulation/virtualbox/virtualbox-6.1.18.ebuild | 511 ------------ .../virtualbox/virtualbox-6.1.20-r1.ebuild | 506 ------------ app-emulation/virtualbox/virtualbox-6.1.22.ebuild | 2 +- app-emulation/virtualbox/virtualbox-6.1.24.ebuild | 502 ++++++++++++ app-emulation/wine-staging/Manifest | 6 +- .../wine-staging/wine-staging-6.13.ebuild | 665 +++++++++++++++ app-emulation/wine-staging/wine-staging-6.9.ebuild | 665 --------------- app-emulation/wine-vanilla/Manifest | 4 +- .../wine-vanilla/wine-vanilla-6.13.ebuild | 578 +++++++++++++ app-emulation/wine-vanilla/wine-vanilla-6.9.ebuild | 577 ------------- app-emulation/xen-tools/Manifest | 4 +- app-emulation/xen-tools/xen-tools-4.14.2-r1.ebuild | 8 +- app-emulation/xen-tools/xen-tools-4.15.0-r2.ebuild | 8 +- app-emulation/xen/Manifest | 1 - app-emulation/xen/files/xen-4.11-efi.patch | 36 - 88 files changed, 5035 insertions(+), 5576 deletions(-) create mode 100644 app-emulation/aqemu/aqemu-0.9.2-r1.ebuild delete mode 100644 app-emulation/aqemu/aqemu-0.9.2.ebuild create mode 100644 app-emulation/aqemu/files/aqemu-0.9.2-docs.patch create mode 100644 app-emulation/aqemu/files/aqemu-0.9.2-include.patch create mode 100644 app-emulation/containerd/containerd-1.4.8.ebuild create mode 100644 app-emulation/containerd/containerd-1.5.4.ebuild create mode 100644 app-emulation/docker-registry/docker-registry-2.7.1-r1.ebuild delete mode 100644 app-emulation/docker-registry/docker-registry-2.7.1.ebuild create mode 100644 app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7-r1.ebuild delete mode 100644 app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild create mode 100644 app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8-r1.ebuild delete mode 100644 app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8.ebuild create mode 100644 app-emulation/lxc/lxc-4.0.10.ebuild delete mode 100644 app-emulation/lxc/lxc-4.0.6.ebuild delete mode 100644 app-emulation/lxd/lxd-4.0.5.ebuild create mode 100644 app-emulation/lxd/lxd-4.0.7.ebuild delete mode 100644 app-emulation/nemu/nemu-2.2.1.ebuild create mode 100644 app-emulation/nemu/nemu-2.5.0-r1.ebuild delete mode 100644 app-emulation/nemu/nemu-2.5.0.ebuild delete mode 100644 app-emulation/protontricks/protontricks-1.5.0.ebuild create mode 100644 app-emulation/qemu/qemu-6.0.0-r2.ebuild delete mode 100644 app-emulation/qemu/qemu-6.0.0-r50.ebuild create mode 100644 app-emulation/qemu/qemu-6.0.0-r52.ebuild delete mode 100644 app-emulation/qemu/qemu-6.0.0.ebuild create mode 100644 app-emulation/runc/runc-1.0.0.ebuild create mode 100644 app-emulation/virt-viewer/virt-viewer-10.0.ebuild delete mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.1.18.ebuild delete mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.1.20.ebuild create mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.1.24.ebuild delete mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.18.142142.ebuild delete mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.20.143896.ebuild create mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.24.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18-r1.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.24.ebuild delete mode 100644 app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-binutils-2.36.patch delete mode 100644 app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-linux-5.11.patch delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.18.ebuild delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.20.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.24.ebuild delete mode 100644 app-emulation/virtualbox/virtualbox-6.1.18.ebuild delete mode 100644 app-emulation/virtualbox/virtualbox-6.1.20-r1.ebuild create mode 100644 app-emulation/virtualbox/virtualbox-6.1.24.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-6.13.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-6.9.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-6.13.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-6.9.ebuild delete mode 100644 app-emulation/xen/files/xen-4.11-efi.patch (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index ab3f613cf9aa..8b230870c821 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/aqemu/Manifest b/app-emulation/aqemu/Manifest index 76d13285646a..829aff9c7016 100644 --- a/app-emulation/aqemu/Manifest +++ b/app-emulation/aqemu/Manifest @@ -1,4 +1,6 @@ +AUX aqemu-0.9.2-docs.patch 537 BLAKE2B 5a96b909a29e78aaac8cd71551aa0f5223ef7e4782d365308241a71c59d9e4e8e2acd2e9cdc72d95e876d5ec5dcdae054716b0ed23bf66d5879b2263c691b5c5 SHA512 df50688b5abb1225ce48eb6a1626030869a0d42b701c72ca325e71073d35aad5fda56e97939e5a41f5d3da0af57d89e8c2535845d4c5f0f3eb898f294dc5bef8 +AUX aqemu-0.9.2-include.patch 202 BLAKE2B 1f189a225adbda7e1b9e9e89820e1966c35c8b0f40bc1df0caf89117988c6ddfc4060a2cfeeffc082775b7f11be15fb3aecac623806a9a4d9567aee2746aa9ed SHA512 adb3a92fbfeb8bb5025fd1b3b7587af2b390d111cb42bd48f031b2d5eebebd132a03a84a7026bf0bb17fa627ed49558ef5237e6472d8558f3ba3fff82ab52dad AUX aqemu-0.9.2-qtbindir.patch 514 BLAKE2B 9d6245d1745248db021cf9883bf9f8a00223ba781a2ba9bbc6561e4fb7239aa6c2baab7a1324edbbf157d68a829116ecc07b24bb13d714321ce145de447b9bb6 SHA512 f85e6c2487dfef86470773949f6796af9efdf066d9871ac4cdfddd064c85fbf893574e602ab2c6cd1198dc9eb76f0722b5a85ec046b2dca2275a24799418c996 DIST aqemu-0.9.2.tar.gz 1373465 BLAKE2B 8b2b3ed311f8dd723a0d06ab74659514c6ccda67643c747af832f1677ab86ffcecde3607ead0b3410a310c38a2fe360a5ff187ef86b5953e4f5a5054a862c26c SHA512 9d4808172ee1be82509956560e4d3f9ee349fedd920342146083cc9bc79ef51fc95937c64f20ffb13e2849c577f95f59b5b65271d6e29e2d2e1ec2d1562006ba -EBUILD aqemu-0.9.2.ebuild 811 BLAKE2B 3be9c78f0da01b561c6174997b9c153174f3591ca568b04101cdc7b9d6ac7e18e6827b0ab5797bf4a337387347261f09d59d829ff51984ed39bedd55e49e3b69 SHA512 01cdd4070f7ac34365bc44e5bb7c5c27ce1d16f268901369d8e60fdf646f6162d52a1787511da2cbb90e6849a9cb20b1be917b161dbc18f65a3e045bc3b719b8 +EBUILD aqemu-0.9.2-r1.ebuild 891 BLAKE2B c33021b00ad21604f8559c16d011da11fc58bce8bbf031e6610f445acc19242ec675df97a9eab9e012c4d28a7998cababffe3de0efc9d2f64a2cfcc58091fe90 SHA512 8c65a9956bfe81b400f26ad6d6107ce65c1d5a9042659ed413899da2fbb5a868f6e1bc0188b8c2a50e9f85634a079774ac3824afa034d00a2e48117c886f41bc MISC metadata.xml 298 BLAKE2B c9dd2d8f5a8f0bb97f45ce35d3f1ef7cc6d6220b7bda1f58e3e2e6e7fe3e4c30569b873504878deba139aeeac37159c1ac2cbe75bb7789b042a31d8d766a40e5 SHA512 ca482ea94b7f8249f4174cd9c932a25d14e0632cc861520ca83091c774fa85af4ed58cb61aeab4054880c4beb2fab369ba439d8302d22b0ce5fdcdf2d018a21b diff --git a/app-emulation/aqemu/aqemu-0.9.2-r1.ebuild b/app-emulation/aqemu/aqemu-0.9.2-r1.ebuild new file mode 100644 index 000000000000..d7880171c93e --- /dev/null +++ b/app-emulation/aqemu/aqemu-0.9.2-r1.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="Graphical interface for QEMU and KVM emulators, using Qt5" +HOMEPAGE="https://sourceforge.net/projects/aqemu" +SRC_URI="https://github.com/tobimensch/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="vnc" + +RDEPEND=" + app-emulation/qemu + dev-qt/qtcore:5 + dev-qt/qtnetwork:5 + dev-qt/qtprintsupport:5 + dev-qt/qttest:5 + dev-qt/qtwidgets:5 + vnc? ( net-libs/libvncserver ) +" +DEPEND="${RDEPEND}" + +DOCS=( AUTHORS CHANGELOG README TODO ) +PATCHES=( + "${FILESDIR}/${PN}-0.9.2-qtbindir.patch" + "${FILESDIR}/${PN}-0.9.2-include.patch" + "${FILESDIR}/${PN}-0.9.2-docs.patch" +) + +src_configure() { + local mycmakeargs=( + -DMAN_PAGE_COMPRESSOR=OFF + -DWITHOUT_EMBEDDED_DISPLAY=$(usex vnc OFF ON) + ) + + cmake_src_configure +} diff --git a/app-emulation/aqemu/aqemu-0.9.2.ebuild b/app-emulation/aqemu/aqemu-0.9.2.ebuild deleted file mode 100644 index 86008228bc21..000000000000 --- a/app-emulation/aqemu/aqemu-0.9.2.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake - -DESCRIPTION="Graphical interface for QEMU and KVM emulators, using Qt5" -HOMEPAGE="https://sourceforge.net/projects/aqemu" -SRC_URI="https://github.com/tobimensch/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="vnc" - -RDEPEND=" - app-emulation/qemu - dev-qt/qtcore:5 - dev-qt/qtnetwork:5 - dev-qt/qtprintsupport:5 - dev-qt/qttest:5 - dev-qt/qtwidgets:5 - vnc? ( net-libs/libvncserver ) -" -DEPEND="${RDEPEND}" - -#DOCS=( AUTHORS CHANGELOG README TODO ) -PATCHES=( "${FILESDIR}/${PN}-0.9.2-qtbindir.patch" ) - -src_configure() { - local mycmakeargs=( - -DMAN_PAGE_COMPRESSOR="" - -DWITHOUT_EMBEDDED_DISPLAY=$(usex vnc OFF ON) - ) - - cmake_src_configure -} diff --git a/app-emulation/aqemu/files/aqemu-0.9.2-docs.patch b/app-emulation/aqemu/files/aqemu-0.9.2-docs.patch new file mode 100644 index 000000000000..e3fab7fbf209 --- /dev/null +++ b/app-emulation/aqemu/files/aqemu-0.9.2-docs.patch @@ -0,0 +1,15 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -273,9 +273,9 @@ MACRO( create_docs _sources ) + ENDFOREACH( curFile ) + ENDMACRO( create_docs ) + +-CREATE_DOCS( docs_bz2 AUTHORS CHANGELOG README TODO ) +-ADD_CUSTOM_TARGET( docs ALL DEPENDS ${docs_bz2} ) +-INSTALL( FILES ${docs_bz2} DESTINATION share/doc/aqemu ) ++#CREATE_DOCS( docs_bz2 AUTHORS CHANGELOG README TODO ) ++#ADD_CUSTOM_TARGET( docs ALL DEPENDS ${docs_bz2} ) ++#INSTALL( FILES ${docs_bz2} DESTINATION share/doc/aqemu ) + + # Build RCC files (GUI icons) + MACRO( pack_icons _sources ) diff --git a/app-emulation/aqemu/files/aqemu-0.9.2-include.patch b/app-emulation/aqemu/files/aqemu-0.9.2-include.patch new file mode 100644 index 000000000000..98a14068a7cd --- /dev/null +++ b/app-emulation/aqemu/files/aqemu-0.9.2-include.patch @@ -0,0 +1,10 @@ +--- a/src/docopt/docopt_value.h ++++ b/src/docopt/docopt_value.h +@@ -13,6 +13,7 @@ + #include + #include // std::hash + #include ++#include + + namespace docopt { + diff --git a/app-emulation/containerd/Manifest b/app-emulation/containerd/Manifest index 8853634eeaac..7a4096aa786c 100644 --- a/app-emulation/containerd/Manifest +++ b/app-emulation/containerd/Manifest @@ -1,7 +1,11 @@ AUX containerd.initd 766 BLAKE2B 07b323c35f9cafa156969644ccab7c618baf60a82ad8037538ae23562c5663742a7453e00412eeafa72129a4806f3610f3f77865c7ebf3e58223a7286c9f712e SHA512 b70abb44d6bc0cdd8115104ef1fbb5099a270c29040351ceff738b9b6ff796a802f92dbbe2c49e04ae058043546bbe6a854e25044f5c07bea7bf6b6fc4f66018 DIST containerd-1.4.6.tar.gz 6266709 BLAKE2B 3187ff003da7c1d6023ff9516c7aa510de49ad1188750b9cb782feae638ef1c4c74834f62344324eec8983feb6e881013b56ceb112e91ca0995878b08f20d69f SHA512 4693e67d17a21fe9413add39173981f484c461c7e228b05a8a886052bc445617116808db6321a134bcfdf853f382a6f228e979669588a375b434d1425853b143 +DIST containerd-1.4.8.tar.gz 6400374 BLAKE2B def2d6e47d550d641888289943fee5c860a5523b1b4e347efafbf43a8dbf9d86bbcef0f4286efdf2591a42faf75aa2dc0acad11f2cfcdd99c7e3e89fcd13fa22 SHA512 3c4c52a7a1b3fb76f7837ef7260024e25df14e86ccaea351a0811dd9b7335eddc94019e3fb7e6acb4a41a3dee9c18387d0b44ea406c3534c64e8a4b3dee6a45b DIST containerd-1.5.2.tar.gz 7667262 BLAKE2B 52f61a7d5a423e1e0fbada6084dacf1df49e3e16af034bd35914b35bed4d27f334f0b07e87681d1353eb7da05a301625326adc841be7a2900aea0640a0441f26 SHA512 e4f03e77f2d8f823680629efc8cf41db70a656edf46807dca69652e6500dc51b0ceb0fd174768a8a5069c8af3e78853c20d214d135e36d4f3559399894e2cdf1 +DIST containerd-1.5.4.tar.gz 7675134 BLAKE2B b50061655b0b78a9f4c8bf7355213d02517c5a15e3ff2a623e59ffcde8e7f59ef39aafaf9790f7d977b285eac4d38338505920cdd032d975c50d42605e7157a5 SHA512 91d2fce2dc218070078f0e9e8141d091eca9f23c0b1ff244180260f214a46cdd66ba5c89472b40c0875cbd25580e19765bb030abf2ad749cfd4eea712dacadc1 DIST containerd-man-1.5.2.tar.xz 7424 BLAKE2B 647e61a88c81ebb3087026adb0201b4a71c4e0fe763a37b8d146b3964d9d59aa47ea96d5c5069b7637251fe1fbe5ecc63d72a802673b526b5496d02b2ff5842c SHA512 32ac9e9a91bbea24bbdb63220efc6082bb5dd1db956b558942f5b3b9aa758b9c1c5e8a5eb5e3d950be6de25bc03b20d420a566ecdaa859a8e72e3e2564a9ab84 EBUILD containerd-1.4.6.ebuild 1957 BLAKE2B 37e70d8fb5f2f719762719547696196619185ad50c471d53123e8d85c5fefa5d66f7cfaa1b7eaba1ffed382e6b907057e82ebd755b19a47033e9f261f1d79b64 SHA512 65f9428b86d7ac0720e4354a0d200c15a7305d3042e99919bd773001efbaa4b413d8930a11137a7277584bbde7c8e0f6a1ce54eee4ec8a74639b97486a1a0bdf +EBUILD containerd-1.4.8.ebuild 1954 BLAKE2B 78c0cdc4e78642e3b22ad38d0977f9d4608dc4038e5a0f61eeb8ad144834ee9d7393b9663a2fbd53764402fdd5b3b5ff6625c623f73bccaec36dd5ece398e3df SHA512 5a1a9ce1360846f1fc02e84dabe5e686a1e8d7e7e053e12a70554b27d5162ed6e4ddfe4aa941f8d3a54bae255f9675454c055dc9e827eba30a81a709b28b6d6e EBUILD containerd-1.5.2.ebuild 1821 BLAKE2B a2ec9993e78a72e2331a51087f6c6e727a5eb9b4a1168316b9c640424a182624feb0d918beeff2ceb707f4cd3356062ec73e66a809641be5db2e29d86fa9a124 SHA512 92f10036925446ad3bc9a90386c34bb96d3ccf52a1747a8c36e156e0f008beaff2f0d1c592288fbc6f9a1edb871d1b6f94bfc82aa9860ca060e02697c35cc0a7 +EBUILD containerd-1.5.4.ebuild 1944 BLAKE2B d48f24de2088c4d8e71fbaa716f7ab8c9450924e8029e7d9bf5a892643b47ca63275332b1a5a904d439e4f53abc27b48b082d05898b897c0a5087465df49681e SHA512 6f9a892e1a7eb49ecd22006f751c0dee929644ba65edb1836176ea03e9b1e783420cef4b370d9b29a78db5ebc69f434cb337244d59047e7a579a915d562a6fda MISC metadata.xml 1143 BLAKE2B 2e3705605579b406365f0faca9238c1cfa1047ebbbe04686281d6b161aeb9bd947641116a755070fff9aa01dd8010ee36d570075a1ac7e87e29c727c2b06be7c SHA512 bddfb97b70466a3ff7442a1249708680b960456e6d1058dea59f09a34bcdf262c7b13430ec0fd3a16b0f060d48ffeda569c8ae4d9d9dbca93e4af2ee13ec1a1e diff --git a/app-emulation/containerd/containerd-1.4.8.ebuild b/app-emulation/containerd/containerd-1.4.8.ebuild new file mode 100644 index 000000000000..39f3e5aaf19f --- /dev/null +++ b/app-emulation/containerd/containerd-1.4.8.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CONTAINERD_COMMIT=7eba5930496d9bbe375fdf71603e610ad737d2b2 +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/containerd/archive/v${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" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${DEPEND} + ~app-emulation/runc-1.0.0 +" + +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[*]}" + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" + ) + + export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor + export GOFLAGS="-v -x -mod=vendor" + # race condition in man target https://bugs.gentoo.org/765100 + emake "${myemakeargs[@]}" man -j1 #nowarn + emake "${myemakeargs[@]}" all +} + +src_install() { + dobin bin/* + doman man/* + newinitd "${FILESDIR}"/${PN}.initd "${PN}" + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -r docs/man || die + + local DOCS=( README.md PLUGINS.md docs/. ) + einstalldocs +} diff --git a/app-emulation/containerd/containerd-1.5.4.ebuild b/app-emulation/containerd/containerd-1.5.4.ebuild new file mode 100644 index 000000000000..2ba359035848 --- /dev/null +++ b/app-emulation/containerd/containerd-1.5.4.ebuild @@ -0,0 +1,84 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit go-module systemd toolchain-funcs + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.io/" +SRC_URI="https://github.com/containerd/containerd/archive/v${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" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${DEPEND} + ~app-emulation/runc-1.0.0 +" + +BDEPEND=" + dev-go/go-md2man + virtual/pkgconfig +" + +# tests require root or docker +# upstream does not recommend stripping binary +RESTRICT+=" strip test" + +src_prepare() { + default + sed -i \ + -e "s/-s -w//" \ + Makefile || die + sed -i \ + -e "s:/usr/local:/usr:" \ + containerd.service || 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[*]}" + GO_BUILD_FLAGS="-mod vendor" + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" + REVISION=69107e47a62e1d690afa2b9b1d43f8ece3ff4483 + VERSION=v${PV} + ) + + # race condition in man target https://bugs.gentoo.org/765100 + # we need to explicitly specify GOFLAGS for "go run" to use vendor source + GOFLAGS="-v -x -mod=vendor" emake "${myemakeargs[@]}" man -j1 #nowarn + emake "${myemakeargs[@]}" all + +} + +src_install() { + dobin bin/* + doman man/* + newinitd "${FILESDIR}"/${PN}.initd "${PN}" + systemd_dounit containerd.service + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -r docs/man || die + + local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) + einstalldocs +} diff --git a/app-emulation/crun/Manifest b/app-emulation/crun/Manifest index 1bd331a1cb51..70212b3d5402 100644 --- a/app-emulation/crun/Manifest +++ b/app-emulation/crun/Manifest @@ -1,5 +1,5 @@ DIST crun-0.18.tar.gz 1394857 BLAKE2B db4f0407aaf5e4c5b9069ad5ae6a76308665d91559d92bf370b964e0914f337a84af896f1c1e00184ef4b0625bd1c0f1e2fc3295074c7f5524c5359ce54ba6b4 SHA512 94610d9d4ef95a9be708c6cf8cc38587c9c3b847d9da5cf9dfa4a2eddddb7e6724e39ffb222ed5d6c61bad8374ae50dc9e92d95b6d03ce0b185d5123afeeca46 DIST crun-0.19.1.tar.gz 1870594 BLAKE2B 1780a2936ff39ec80836c4c9ae072e2fc30703a31a79786337290c62dd433b5a35dcfa953be370703d1baab3de93fdb376c99ab76dff1470883c61726c313144 SHA512 f93f79d1d63d6749bcf92d48542d9555f3ad47657c959c7c06701861d7a5a4171969f00f6dff3878286970a48aba3314c25e35c005463e606533b0ff7843d994 EBUILD crun-0.18.ebuild 1393 BLAKE2B 202766c3cd321d12f35214d28cb7dde3c7bd5ba916106ec7523923e54d5f6070d66a7486e198f137a2808684ee9ad2f3acc2c25434ed445a4255519ff04adebf SHA512 db0ffd3ae2a3b9a725c25694095b6c5ee6cc7f96eaff1324f3209dd6d5fdf3e200c0072531bc537a063a5dddcfb1cdb6bcfdc9ef5e58c74204de2f624b4d7113 -EBUILD crun-0.19.1.ebuild 1393 BLAKE2B 202766c3cd321d12f35214d28cb7dde3c7bd5ba916106ec7523923e54d5f6070d66a7486e198f137a2808684ee9ad2f3acc2c25434ed445a4255519ff04adebf SHA512 db0ffd3ae2a3b9a725c25694095b6c5ee6cc7f96eaff1324f3209dd6d5fdf3e200c0072531bc537a063a5dddcfb1cdb6bcfdc9ef5e58c74204de2f624b4d7113 +EBUILD crun-0.19.1.ebuild 1391 BLAKE2B 12467ff7c6a8537132ed36cdb5113258c51c60242cb575429725d51759724b6eb3c4ab8915e21ae85e77aa2371c8897763087915c7906fa85719b377796394e2 SHA512 201aee36f5243014988103b8ae3f29e600cd10fdd68f413aa4b1eba371cd30646d73367de1a23e7a9ead4b41b3e1facc44a2f62f730489582c02a79b6cbdae51 MISC metadata.xml 1299 BLAKE2B cfa5ced999f15c2aabb6633865fb8bc2f2dc7c2d2b4fa61780de40f975c8a00ad87d7c1251517f7a50b01c3413d2afbe8bca2114ce9eb74d0437285ee6d19d91 SHA512 0f2109b828550df8807736022598f3fa36128ff5224aa61cbb4001689c344b670c124bb85805cdedf8b2e7173b4cc6bc29d7d46ef95f7c9f03c4a9b6e1c93493 diff --git a/app-emulation/crun/crun-0.19.1.ebuild b/app-emulation/crun/crun-0.19.1.ebuild index bc97b2bddb13..36091c997004 100644 --- a/app-emulation/crun/crun-0.19.1.ebuild +++ b/app-emulation/crun/crun-0.19.1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz LICENSE="GPL-2+ LGPL-2.1+" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64" +KEYWORDS="amd64 ~arm ~arm64 ppc64" IUSE="+bpf +caps criu +seccomp systemd static-libs" DEPEND=" diff --git a/app-emulation/docker-compose/Manifest b/app-emulation/docker-compose/Manifest index b2683248d33a..177188d6afee 100644 --- a/app-emulation/docker-compose/Manifest +++ b/app-emulation/docker-compose/Manifest @@ -16,5 +16,5 @@ EBUILD docker-compose-1.28.5.ebuild 2106 BLAKE2B 1ba83fc6311c7f57b5f73a19236d0be EBUILD docker-compose-1.28.6.ebuild 2106 BLAKE2B 4c0b6b20bb8c738885b904338b555fc3d48de10cb850113da2c3c8b79deb14f3c951242100ab12b6edf8b006b346c10d4a0b70c2026acdcb708473ec328bcc56 SHA512 c41c7543b214c369bc11b23bfcbbf84f7a3d5f263b16d02036148f191e8ea8a36fd05c243c84ec4478ac985edc8e2e0381dcb8d154c94f6cdc37928f947593cd EBUILD docker-compose-1.29.0.ebuild 2102 BLAKE2B e7608f2ac6c52f6760b8c859f901afca0fe63570782952b73a6be92eb4431786d87382f84468c55ea876fe60cfc9defbc9b3a486a56e1b18dbd70b8e59e2e449 SHA512 fbbe8cd918dd181605bd8e12e0ec1f5facc9779294ca40a67c405304280943feffbe73d199a0c41cfeb46ffc62c248bc6ed2b3f9a5790449dfe2a2af02175f96 EBUILD docker-compose-1.29.1.ebuild 2102 BLAKE2B e7608f2ac6c52f6760b8c859f901afca0fe63570782952b73a6be92eb4431786d87382f84468c55ea876fe60cfc9defbc9b3a486a56e1b18dbd70b8e59e2e449 SHA512 fbbe8cd918dd181605bd8e12e0ec1f5facc9779294ca40a67c405304280943feffbe73d199a0c41cfeb46ffc62c248bc6ed2b3f9a5790449dfe2a2af02175f96 -EBUILD docker-compose-1.29.2.ebuild 2102 BLAKE2B e7608f2ac6c52f6760b8c859f901afca0fe63570782952b73a6be92eb4431786d87382f84468c55ea876fe60cfc9defbc9b3a486a56e1b18dbd70b8e59e2e449 SHA512 fbbe8cd918dd181605bd8e12e0ec1f5facc9779294ca40a67c405304280943feffbe73d199a0c41cfeb46ffc62c248bc6ed2b3f9a5790449dfe2a2af02175f96 +EBUILD docker-compose-1.29.2.ebuild 2101 BLAKE2B 321441c284627fb092af9b0d75c3a9faf34f4fb368afdbd90b3735603798acb25f9e664d5e28a7bce84ea27c38adf456ae1b53d067d39007caa4978a4c346b6c SHA512 2fcc39f7d27a0b06d3d7c97ba1b20e519d89014bb891b3634e2023c3efa54b0db633d7131f5c9d4a5c863d4dfdd074d6cd3209b56f76cd9a7b0a96eefd83d265 MISC metadata.xml 380 BLAKE2B 00c5a74fedd97fdd6dd3274523d134991e50dfb8dcf798027c00049d52cb431c8d06237dd06e48b4793cd14c879eb7a22a95dff01d9ad285cfa4d75e45a19e99 SHA512 04599c73f5b724749979b44f2eb3bcfdc071dc56d06a37c22eedfe7e9b85fee511bc5a0ad5553b96b0e86c054579dab538f2a519bcc21e96b8dbe79b27b95d0e diff --git a/app-emulation/docker-compose/docker-compose-1.29.2.ebuild b/app-emulation/docker-compose/docker-compose-1.29.2.ebuild index 0d5c1a457def..8e60fe4c7510 100644 --- a/app-emulation/docker-compose/docker-compose-1.29.2.ebuild +++ b/app-emulation/docker-compose/docker-compose-1.29.2.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.g LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 ~arm64" IUSE="test" RESTRICT="!test? ( test )" diff --git a/app-emulation/docker-registry/Manifest b/app-emulation/docker-registry/Manifest index 9689a4dbb252..27682cd9a3d3 100644 --- a/app-emulation/docker-registry/Manifest +++ b/app-emulation/docker-registry/Manifest @@ -4,5 +4,5 @@ AUX registry.initd 606 BLAKE2B ed8af2651d91be13578edb561c067cfd3e72dfe42a6111be8 AUX registry.logrotated 89 BLAKE2B c16fab4c6a3c4fd9f48370ae30505408a49e07c2a7ea7fc119717efcd840ad489c92855e27a5546219b3cdeb257642eb65abc2d544859295688925ae2e94ecb3 SHA512 f824b33a1fa38802a8aa79599843b0ea065603799823352e9515c50bfc61c43a03e9eb5327f9c687b8c3864fc633ad1a46bff9e91f4c54a46a09e67d2f6f833b AUX registry.service 323 BLAKE2B 1be481d08a283793d10ef870fc299e1c284087878e67ec54f44e662c616127bc411fdde19659cf7acd69787054c624c5c5206434c36b4e5a0fcceaf79c2e78f0 SHA512 67d2b69c1fc497774e3171628fa73b9b9521e19c76414e32721994f2ba614bd3c6896c578c9d9b8af0ad4972b9da0c504ef787a7585a550be4bfe1bd40eafc15 DIST docker-registry-2.7.1.tar.gz 1996699 BLAKE2B 2e22db69f476be5a4688f5b3d6b41fbbf71460351543ae849f707dd5b3d56624f674815a25214002886b057f0859f75fd197bb275a7b3cc8a7787422f716ad0e SHA512 f6baf0e7aa96ebe828c628f7dfd84ee899331c3c1bdab86662aef595b092702b6d9b2c9be766a6de6d153ff4ca55d85c5fd8785a0968f285f56a32a50092c754 -EBUILD docker-registry-2.7.1.ebuild 1490 BLAKE2B 5bed77a7d89bacec35ffd08b0c582df8a64f48d373b6f756263484acd5959a04b033815787d5095d78e12dad5b68d08b70ba7571815f2d772cddd16fd1cac7f5 SHA512 eb4c39ae5b02508846c19948ac7331abb5223defaecf0ee817f6b7e3d844d13eca370c63b37780807a0150b20bfa9860707f8050b18332390280789d9f2aa852 +EBUILD docker-registry-2.7.1-r1.ebuild 1463 BLAKE2B 21bbb8b8842540b479e22f7b7e5ce6c2c0f4f4c5ac37a64718c87c6abdef2a550b97ed495d35360d92d9545fe003656366713b27eff9b217859f83aaf834d48c SHA512 da38b17318bc05a0de3980dc1e4815dee8b459dab435993ac2b94c75a1fecfbbcd855c04809627e5d08b477a8bfe381425bdb9f85c6ff5558316e44b65fed80b MISC metadata.xml 310 BLAKE2B b7a4e4e347c4b262857668fb0bba20e1efce6abc449cf3614538b34f03c897ce78e637db513a66e8e5ff9b1262df44d864aa41904ef7e86eee384bdafbb014cb SHA512 bcf043907e7e2ad9ef21a4b02b4aeb0f50bd17b1e5315653b2339036d4775bde661d711d4e84536f657c7bf9247ef446f1c95abdf14699620e44a104c9e1fe0a diff --git a/app-emulation/docker-registry/docker-registry-2.7.1-r1.ebuild b/app-emulation/docker-registry/docker-registry-2.7.1-r1.ebuild new file mode 100644 index 000000000000..78708f327413 --- /dev/null +++ b/app-emulation/docker-registry/docker-registry-2.7.1-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit golang-vcs-snapshot systemd + +EGIT_COMMIT="2461543d988979529609e8cb6fca9ca190dc48da" +EGO_PN="github.com/docker/distribution" + +DESCRIPTION="Docker Registry 2.0" +HOMEPAGE="https://github.com/docker/distribution" +SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 MIT ZLIB" +SLOT="0" +KEYWORDS="amd64 ~arm64" + +DEPEND=" + acct-group/registry + acct-user/registry +" +RDEPEND="${DEPEND}" + +SVCNAME="registry" + +src_prepare() { + default + pushd src/${EGO_PN} || die + eapply "${FILESDIR}"/${PN}-2.7.0-notification-metrics.patch + sed -e "s/git describe.*/echo ${PV})/" \ + -e "s/git rev-parse.*/echo ${EGIT_COMMIT})/" \ + -e "s/-s -w/-w/" \ + -i Makefile || die + popd || die +} + +src_compile() { + export -n GOCACHE XDG_CACHE_HOME #681072 + GOPATH="${S}" GO_BUILD_FLAGS="-v" emake -C src/${EGO_PN} binaries +} + +src_install() { + exeinto /usr/libexec/${PN} + doexe src/${EGO_PN}/bin/* + insinto /etc/docker/registry + newins src/${EGO_PN}/cmd/registry/config-example.yml config.yml.example + newinitd "${FILESDIR}/${SVCNAME}.initd" "${SVCNAME}" + newconfd "${FILESDIR}/${SVCNAME}.confd" "${SVCNAME}" + systemd_dounit "${FILESDIR}/${SVCNAME}.service" + keepdir /var/log/${SVCNAME} + fowners ${SVCNAME}:${SVCNAME} /var/log/${SVCNAME} + insinto /etc/logrotate.d + newins "${FILESDIR}/${SVCNAME}.logrotated" "${SVCNAME}" +} diff --git a/app-emulation/docker-registry/docker-registry-2.7.1.ebuild b/app-emulation/docker-registry/docker-registry-2.7.1.ebuild deleted file mode 100644 index 76e7bd12811a..000000000000 --- a/app-emulation/docker-registry/docker-registry-2.7.1.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit golang-vcs-snapshot systemd user - -KEYWORDS="amd64 ~arm64" -EGO_PN="github.com/docker/distribution" -EGIT_COMMIT="2461543d988979529609e8cb6fca9ca190dc48da" -SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -DESCRIPTION="Docker Registry 2.0" -HOMEPAGE="https://github.com/docker/distribution" -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 MIT ZLIB" -SLOT="0" -IUSE="" -SVCNAME=registry - -pkg_setup() { - enewgroup ${SVCNAME} - enewuser ${SVCNAME} -1 -1 /dev/null ${SVCNAME} -} - -src_prepare() { - default - pushd src/${EGO_PN} || die - eapply "${FILESDIR}"/${PN}-2.7.0-notification-metrics.patch - sed -i -e "s/git describe.*/echo ${PV})/"\ - -e "s/git rev-parse.*/echo ${EGIT_COMMIT})/"\ - -e "s/-s -w/-w/" Makefile || die - popd || die -} - -src_compile() { - export -n GOCACHE XDG_CACHE_HOME #681072 - GOPATH="${S}" GO_BUILD_FLAGS="-v" emake -C src/${EGO_PN} binaries -} - -src_install() { - exeinto /usr/libexec/${PN} - doexe src/${EGO_PN}/bin/* - insinto /etc/docker/registry - newins src/${EGO_PN}/cmd/registry/config-example.yml config.yml.example - newinitd "${FILESDIR}/${SVCNAME}.initd" "${SVCNAME}" - newconfd "${FILESDIR}/${SVCNAME}.confd" "${SVCNAME}" - systemd_dounit "${FILESDIR}/${SVCNAME}.service" - keepdir /var/{lib,log}/${SVCNAME} - fowners ${SVCNAME}:${SVCNAME} /var/{lib,log}/${SVCNAME} - insinto /etc/logrotate.d - newins "${FILESDIR}/${SVCNAME}.logrotated" "${SVCNAME}" -} diff --git a/app-emulation/fs-uae-launcher/Manifest b/app-emulation/fs-uae-launcher/Manifest index aed5dcc94fe0..d76d887263f3 100644 --- a/app-emulation/fs-uae-launcher/Manifest +++ b/app-emulation/fs-uae-launcher/Manifest @@ -1,4 +1,4 @@ AUX fs-uae-launcher-3.0.0-ROMs.patch 626 BLAKE2B 2662476f496345e6dc2f169b8c3e6e579ba68c3c7c1d9c782ce2dff39394520bde6dc1a52d9d43f562bddec9dc28daa3d0e7e1e93f1da48a0a932e1415ad40ea SHA512 8b607f64cd1c66601f7fccf5332377a85e905a6d9ba9fadb9a7234d5f36c350590011141602e093ee7a30dce4c9c6c0e9928b8b7a0be716eeaa15aeff1eacce0 DIST fs-uae-launcher-3.0.5.tar.gz 9633819 BLAKE2B 8ce627302244bbd7d174f28c0dad345699942429c1109a7408c88412f6bb0e3e5d765e6c51abf2b95837a83261023b4f9c58d65892e58043889be8dc5e4cb759 SHA512 1a6700c56a14edce86ffbefee7494117af067da8b1dbc22937a36641ccb90927a3bbb011d15a891388bf08378aa623e00a2d45dbc49e822a5a569e110843add5 -EBUILD fs-uae-launcher-3.0.5.ebuild 2081 BLAKE2B 0fb73cc83ca48acc4a6035876ada673c36f4f47b84a01167825ba34de0407ee8ce990bc413a67ec19869aa04ca675c8b409c135bd64a8b1f2fe1d27b1825e1d4 SHA512 a55428787228e4185f207b88df2edf3a9b39fed1ddf47950c9c38e91ae0bff288e679f5206c274cc8dbbf619532ac5190b49d6042f8bff56837100d6c0442ece +EBUILD fs-uae-launcher-3.0.5.ebuild 2055 BLAKE2B d6bf506e21a0e22afa5517fef2d6af211c283c9cebbba267d2d4567a1b3ea0a899e1d0ffe6b482191efb032c9b960b18e661dce94a226ad219e2bbcbf22432e5 SHA512 ae1c722b35a0f4be42010a8bb09ae19d692a490106752c8ac8450ec3c2f8c8ddaacc5a5d3cd97036f84627539d14af50b02f0e3f6f0999310475081fc0c8abda MISC metadata.xml 408 BLAKE2B 8722a14caea4642a007f5baf0988f2a2463243b7a019b845ccf6c6a000aa0971fe92011e7b46a013980ef264986889d83a309914cb2465561812775c69461533 SHA512 1ff8604bcb75d5a36f10b0770d5b0983f2ce0674098d21464fc269d47784a261eec7d134b721be3fb49cdba0c01cb668a7b55046e46e67e6325b2cd70b8ffaf3 diff --git a/app-emulation/fs-uae-launcher/fs-uae-launcher-3.0.5.ebuild b/app-emulation/fs-uae-launcher/fs-uae-launcher-3.0.5.ebuild index 76303d3e0ae1..915e269763e7 100644 --- a/app-emulation/fs-uae-launcher/fs-uae-launcher-3.0.5.ebuild +++ b/app-emulation/fs-uae-launcher/fs-uae-launcher-3.0.5.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8,9} ) DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_SETUPTOOLS=no @@ -20,10 +20,10 @@ IUSE="lha" RDEPEND=" app-emulation/fs-uae $(python_gen_cond_dep ' - dev-python/PyQt5[${PYTHON_MULTI_USEDEP},declarative,gui,network,opengl,widgets] - dev-python/pyopengl[${PYTHON_MULTI_USEDEP}] - dev-python/requests[${PYTHON_MULTI_USEDEP}] - lha? ( dev-python/python-lhafile[${PYTHON_MULTI_USEDEP}] ) + dev-python/PyQt5[${PYTHON_USEDEP},declarative,gui,network,opengl,widgets] + dev-python/pyopengl[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + lha? ( dev-python/python-lhafile[${PYTHON_USEDEP}] ) ') " diff --git a/app-emulation/gallium-nine-standalone/Manifest b/app-emulation/gallium-nine-standalone/Manifest index 899f065143cd..cb8a6b8141f7 100644 --- a/app-emulation/gallium-nine-standalone/Manifest +++ b/app-emulation/gallium-nine-standalone/Manifest @@ -4,7 +4,7 @@ AUX 0.7-no-libwine.patch 1098 BLAKE2B dc71eade0bfaf6f491dda64ddf42ca7e9b37ff57d6 AUX 0.8-cross-files.patch 1076 BLAKE2B 6130a4c6d537e50c384a3be89800987e568f907dba5c985e8173726810fa79d7fc17d90d7347628aaaffcfe0f5b9bfdbb69fae41591b05676934020ea7e209ff SHA512 0f8b7dda5ebef6aff34264f5ab3c6efc793702c6439601c49d5fd0989447b19126ab0bb23b0a383b6f93e5c3aa1117afa63a78d5f9c193aab6fe290f35488f48 DIST gallium-nine-standalone-0.7.tar.gz 67699 BLAKE2B 85520de46e0e821f63d89691e322c3001ae853a0058a5077b484da6a1596a7ed03d2e2b7dc2686661fd21d34b33e10f4549437ce5790f18e1e6cc77c894e9d1e SHA512 9007564347bb6677f3d4eff83f744d39487c09b543489f02dcf7606917ecd9b72decf8176d9daecb6039b8998e97f737d9f7a71a5052f4d5c73f2e99e92af43c DIST gallium-nine-standalone-0.8.tar.gz 66656 BLAKE2B 5eaebcc514570dbaff44c4c889025d19a26c0b54941d1ab99ec131216a6eb49c2c649f1a4df51534f608653dab8b5e55a35afc57ba04a0ab6f4dea0edabac55c SHA512 3f339f909c6d65a2e5b5c912785aaa6f297e95549c868ab679dfb8e99d67db9906b6e75e3679a4e3e003f512a54ceb9953f941a4129f488973c16e1a3ac7267c -EBUILD gallium-nine-standalone-0.7.ebuild 2808 BLAKE2B 815632c7118b6e7fe2f537323bed4abfb5b537f06afdb3d9cb512f8b6c56d29a42ec15f2b681b01b39cd8ec9f5c1293f7e535216a6ebdfaa75d9cccf37003b80 SHA512 1b85687d70e017d50f6ecad4f96c189de95cc72e5e0242bce5f0c90eefc1565c8ba11e3c2693ce1793a768e1a8a224d3984514aa39426e2124e3ef93e112e7df -EBUILD gallium-nine-standalone-0.8.ebuild 2281 BLAKE2B 22661d7720ad4b4a3b1f0b2f31557f46f549ee4ab0d1259471831d39e43ddd4f7a56794ca5f13a4c9049deb598eaa5e058d3f57facd9e4b6d8f0e47f5fb2a46f SHA512 862e691b9998f8557d794d50281cd4f2c84bfd3f6af4bca59a55403fb6b01c184300243a75e3d76bb1f1c9420f0fcd03acfab7816140a96765e8fe88ad418a59 -EBUILD gallium-nine-standalone-9999.ebuild 2281 BLAKE2B 22661d7720ad4b4a3b1f0b2f31557f46f549ee4ab0d1259471831d39e43ddd4f7a56794ca5f13a4c9049deb598eaa5e058d3f57facd9e4b6d8f0e47f5fb2a46f SHA512 862e691b9998f8557d794d50281cd4f2c84bfd3f6af4bca59a55403fb6b01c184300243a75e3d76bb1f1c9420f0fcd03acfab7816140a96765e8fe88ad418a59 +EBUILD gallium-nine-standalone-0.7-r1.ebuild 2803 BLAKE2B 6c21f39763b699609aaa9386945c29455e896bfd601dc40605709b63a218c25048bac16e24a24a8efa294c4c19ae144ab8d847c83632e33c1459aa2a638d0479 SHA512 9c3e9d9a4705a120bebfb8aef27944b242c05d1a635b18ed4d1aead938886d04e4d6832b8d2a1ed87cc9f799e705576ec42afca14bbfaf7b3a12104a283d2e0e +EBUILD gallium-nine-standalone-0.8-r1.ebuild 2276 BLAKE2B 8eb1d9be3294d08b013fad50a483ff4dae3451f2289e96ac3b558047fd4547b02e1925fa3f0fd6f36e0ad5554f00354f8334ae1b3a39fef312f1e52740890dd1 SHA512 70271396f4424b4f4263c904c4a71169876dc9d441ede0184f63d92bfc6c8f8a9802bd465a665dbdbd123f3c7579ce308908fc6830c8c19387a6d6ef10865630 +EBUILD gallium-nine-standalone-9999.ebuild 2276 BLAKE2B 8eb1d9be3294d08b013fad50a483ff4dae3451f2289e96ac3b558047fd4547b02e1925fa3f0fd6f36e0ad5554f00354f8334ae1b3a39fef312f1e52740890dd1 SHA512 70271396f4424b4f4263c904c4a71169876dc9d441ede0184f63d92bfc6c8f8a9802bd465a665dbdbd123f3c7579ce308908fc6830c8c19387a6d6ef10865630 MISC metadata.xml 774 BLAKE2B 8b793ed6e079a800628ed7e59786bc82dd191c05367ef5e1600f903f3ebfd32c9ab0034a1dba1701ec104348cf1b9a8b437b63300e607a65ee92b1887be4800f SHA512 9453d7d767ba7f788291c6980a86388a0f952b893a474aa17e249c4f3b9b77b864108230fdc8f8b94e74eb45443f608a8d9ecde10cbc121234c9b91f59e7b752 diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7-r1.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7-r1.ebuild new file mode 100644 index 000000000000..1529b6ac411d --- /dev/null +++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7-r1.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit meson-multilib toolchain-funcs + +MY_PN="wine-nine-standalone" +DESCRIPTION="A standalone version of the WINE parts of Gallium Nine" +HOMEPAGE="https://github.com/iXit/wine-nine-standalone" + +if [[ ${PV} = 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/iXit/${MY_PN}.git" +else + SRC_URI="https://github.com/iXit/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${MY_PN}-${PV}" + KEYWORDS="-* ~amd64 ~x86" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" + +# We don't put Wine in RDEPEND because you can also use this with +# Steam's Proton. + +RDEPEND=" + media-libs/mesa[d3d9,X(+),${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libxcb[${MULTILIB_USEDEP}] +" + +DEPEND=" + ${RDEPEND} + virtual/pkgconfig + virtual/wine[${MULTILIB_USEDEP}] + >=dev-util/meson-0.50.1 +" + +PATCHES=( + "${FILESDIR}"/0.7-no-libwine.patch + "${FILESDIR}"/0.7-cross-files.patch + "${FILESDIR}"/0.3-nine-dll-path.patch +) + +bits() { + if [[ ${ABI} = amd64 ]]; then + echo 64 + else + echo 32 + fi +} + +src_prepare() { + default + + # Upstream includes a bootstrap.sh script with hardcoded CHOSTs to + # create the Meson cross files. We improve on that here but also + # inject CFLAGS and LDFLAGS, partly to simply respect these, and + # partly to allow d3d9-nine.dll to be loaded from a location outside + # WINEPREFIX. This avoids the need for the nine-install.sh script, + # which doesn't play well with our multi-Wine environment. + bootstrap_nine() { + local file=tools/cross-wine$(bits) + local g9dll=\"Z:${EPREFIX}/usr/$(get_libdir)/d3d9-nine.dll.so\" + + sed \ + -e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \ + -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \ + -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \ + -e "s!@PKG_CONFIG_LIBDIR@!${PKG_CONFIG_LIBDIR:-${ESYSROOT}/usr/$(get_libdir)/pkgconfig}!" \ + ${file}.in > ${file} || die + } + + multilib_foreach_abi bootstrap_nine +} + +multilib_src_configure() { + # We override bindir because otherwise the 32-bit exe is overwritten + # by the 64-bit exe and we need both of them. + local emesonargs=( + --cross-file "${S}/tools/cross-wine$(bits)" + --bindir "$(get_libdir)" + -Ddistro-independent=false + -Ddri2=false + ) + meson_src_configure +} + +pkg_postinst() { + local bits=$(bits) + + einfo "Don't remove the Z: drive from your WINEPREFIX as this relies on it." + einfo + einfo "To set up the ${bits}-bit library, launch your preferred Wine as follows:" + einfo " wine${bits/32} ${EPREFIX}/usr/$(get_libdir)/ninewinecfg.exe.so" + + if use abi_x86_64 && use abi_x86_32; then + einfo + einfo "To set up the 32-bit library, launch your preferred Wine as follows:" + einfo " wine ${EPREFIX}/usr/$(ABI=x86 get_libdir)/ninewinecfg.exe.so" + fi +} diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild deleted file mode 100644 index ca5620c08868..000000000000 --- a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit meson-multilib toolchain-funcs - -MY_PN="wine-nine-standalone" -DESCRIPTION="A standalone version of the WINE parts of Gallium Nine" -HOMEPAGE="https://github.com/iXit/wine-nine-standalone" - -if [[ ${PV} = 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/iXit/${MY_PN}.git" -else - SRC_URI="https://github.com/iXit/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${MY_PN}-${PV}" - KEYWORDS="-* ~amd64 ~x86" -fi - -LICENSE="LGPL-2.1+" -SLOT="0" - -# We don't put Wine in RDEPEND because you can also use this with -# Steam's Proton. - -RDEPEND=" - media-libs/mesa[d3d9,dri3,X(+),${MULTILIB_USEDEP}] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libxcb[${MULTILIB_USEDEP}] -" - -DEPEND=" - ${RDEPEND} - virtual/pkgconfig - virtual/wine[${MULTILIB_USEDEP}] - >=dev-util/meson-0.50.1 -" - -PATCHES=( - "${FILESDIR}"/0.7-no-libwine.patch - "${FILESDIR}"/0.7-cross-files.patch - "${FILESDIR}"/0.3-nine-dll-path.patch -) - -bits() { - if [[ ${ABI} = amd64 ]]; then - echo 64 - else - echo 32 - fi -} - -src_prepare() { - default - - # Upstream includes a bootstrap.sh script with hardcoded CHOSTs to - # create the Meson cross files. We improve on that here but also - # inject CFLAGS and LDFLAGS, partly to simply respect these, and - # partly to allow d3d9-nine.dll to be loaded from a location outside - # WINEPREFIX. This avoids the need for the nine-install.sh script, - # which doesn't play well with our multi-Wine environment. - bootstrap_nine() { - local file=tools/cross-wine$(bits) - local g9dll=\"Z:${EPREFIX}/usr/$(get_libdir)/d3d9-nine.dll.so\" - - sed \ - -e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \ - -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \ - -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \ - -e "s!@PKG_CONFIG_LIBDIR@!${PKG_CONFIG_LIBDIR:-${ESYSROOT}/usr/$(get_libdir)/pkgconfig}!" \ - ${file}.in > ${file} || die - } - - multilib_foreach_abi bootstrap_nine -} - -multilib_src_configure() { - # We override bindir because otherwise the 32-bit exe is overwritten - # by the 64-bit exe and we need both of them. - local emesonargs=( - --cross-file "${S}/tools/cross-wine$(bits)" - --bindir "$(get_libdir)" - -Ddistro-independent=false - -Ddri2=false - ) - meson_src_configure -} - -pkg_postinst() { - local bits=$(bits) - - einfo "Don't remove the Z: drive from your WINEPREFIX as this relies on it." - einfo - einfo "To set up the ${bits}-bit library, launch your preferred Wine as follows:" - einfo " wine${bits/32} ${EPREFIX}/usr/$(get_libdir)/ninewinecfg.exe.so" - - if use abi_x86_64 && use abi_x86_32; then - einfo - einfo "To set up the 32-bit library, launch your preferred Wine as follows:" - einfo " wine ${EPREFIX}/usr/$(ABI=x86 get_libdir)/ninewinecfg.exe.so" - fi -} diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8-r1.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8-r1.ebuild new file mode 100644 index 000000000000..d9a079e97a24 --- /dev/null +++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8-r1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit meson-multilib toolchain-funcs + +MY_PN="wine-nine-standalone" +DESCRIPTION="A standalone version of the WINE parts of Gallium Nine" +HOMEPAGE="https://github.com/iXit/wine-nine-standalone" + +if [[ ${PV} = 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/iXit/${MY_PN}.git" +else + SRC_URI="https://github.com/iXit/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${MY_PN}-${PV}" + KEYWORDS="-* ~amd64 ~x86" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" + +# We don't put Wine in RDEPEND because you can also use this with +# Steam's Proton. + +RDEPEND=" + media-libs/mesa[d3d9,X(+),${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libxcb[${MULTILIB_USEDEP}] +" + +DEPEND=" + ${RDEPEND} + virtual/pkgconfig + virtual/wine[${MULTILIB_USEDEP}] + >=dev-util/meson-0.50.1 +" + +PATCHES=( + "${FILESDIR}"/0.8-cross-files.patch + "${FILESDIR}"/0.3-nine-dll-path.patch +) + +bits() { + if [[ ${ABI} = amd64 ]]; then + echo 64 + else + echo 32 + fi +} + +src_prepare() { + default + + # Upstream includes a bootstrap.sh script with hardcoded CHOSTs to + # create the Meson cross files. We improve on that here but also + # inject CFLAGS and LDFLAGS, partly to simply respect these, and + # partly to allow d3d9-nine.dll to be loaded from a location outside + # WINEPREFIX. This avoids the need for the nine-install.sh script, + # which doesn't play well with our multi-Wine environment. + bootstrap_nine() { + local file=tools/cross-wine$(bits) + local g9dll=\"Z:${EPREFIX}/usr/$(get_libdir)/d3d9-nine.dll.so\" + + sed \ + -e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \ + -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \ + -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \ + -e "s!@PKG_CONFIG_LIBDIR@!${PKG_CONFIG_LIBDIR:-${ESYSROOT}/usr/$(get_libdir)/pkgconfig}!" \ + ${file}.in > ${file} || die + } + + multilib_foreach_abi bootstrap_nine +} + +multilib_src_configure() { + # We override bindir because otherwise the 32-bit exe is overwritten + # by the 64-bit exe and we need both of them. + local emesonargs=( + --cross-file "${S}/tools/cross-wine$(bits)" + --bindir "$(get_libdir)" + -Ddistro-independent=false + -Ddri2=false + ) + meson_src_configure +} diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8.ebuild deleted file mode 100644 index d995a9f7258f..000000000000 --- a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit meson-multilib toolchain-funcs - -MY_PN="wine-nine-standalone" -DESCRIPTION="A standalone version of the WINE parts of Gallium Nine" -HOMEPAGE="https://github.com/iXit/wine-nine-standalone" - -if [[ ${PV} = 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/iXit/${MY_PN}.git" -else - SRC_URI="https://github.com/iXit/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${MY_PN}-${PV}" - KEYWORDS="-* ~amd64 ~x86" -fi - -LICENSE="LGPL-2.1+" -SLOT="0" - -# We don't put Wine in RDEPEND because you can also use this with -# Steam's Proton. - -RDEPEND=" - media-libs/mesa[d3d9,dri3,X(+),${MULTILIB_USEDEP}] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libxcb[${MULTILIB_USEDEP}] -" - -DEPEND=" - ${RDEPEND} - virtual/pkgconfig - virtual/wine[${MULTILIB_USEDEP}] - >=dev-util/meson-0.50.1 -" - -PATCHES=( - "${FILESDIR}"/0.8-cross-files.patch - "${FILESDIR}"/0.3-nine-dll-path.patch -) - -bits() { - if [[ ${ABI} = amd64 ]]; then - echo 64 - else - echo 32 - fi -} - -src_prepare() { - default - - # Upstream includes a bootstrap.sh script with hardcoded CHOSTs to - # create the Meson cross files. We improve on that here but also - # inject CFLAGS and LDFLAGS, partly to simply respect these, and - # partly to allow d3d9-nine.dll to be loaded from a location outside - # WINEPREFIX. This avoids the need for the nine-install.sh script, - # which doesn't play well with our multi-Wine environment. - bootstrap_nine() { - local file=tools/cross-wine$(bits) - local g9dll=\"Z:${EPREFIX}/usr/$(get_libdir)/d3d9-nine.dll.so\" - - sed \ - -e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \ - -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \ - -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \ - -e "s!@PKG_CONFIG_LIBDIR@!${PKG_CONFIG_LIBDIR:-${ESYSROOT}/usr/$(get_libdir)/pkgconfig}!" \ - ${file}.in > ${file} || die - } - - multilib_foreach_abi bootstrap_nine -} - -multilib_src_configure() { - # We override bindir because otherwise the 32-bit exe is overwritten - # by the 64-bit exe and we need both of them. - local emesonargs=( - --cross-file "${S}/tools/cross-wine$(bits)" - --bindir "$(get_libdir)" - -Ddistro-independent=false - -Ddri2=false - ) - meson_src_configure -} diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild index d995a9f7258f..d9a079e97a24 100644 --- a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild +++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild @@ -25,7 +25,7 @@ SLOT="0" # Steam's Proton. RDEPEND=" - media-libs/mesa[d3d9,dri3,X(+),${MULTILIB_USEDEP}] + media-libs/mesa[d3d9,X(+),${MULTILIB_USEDEP}] x11-libs/libX11[${MULTILIB_USEDEP}] x11-libs/libxcb[${MULTILIB_USEDEP}] " diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest index cc23b83fe773..ae9de6f9e84d 100644 --- a/app-emulation/lxc/Manifest +++ b/app-emulation/lxc/Manifest @@ -3,10 +3,10 @@ AUX lxc-3.0.0-bash-completion.patch 915 BLAKE2B 8bb879e391cec349d211b47d321c64ea AUX lxc-4.0.9-handle-kernels-with-CAP_SETFCAP.patch 3529 BLAKE2B 6a9ac29e1c38643383df135981a3893e8bea631af85271499f687614a3c779d5a2adfee7d20ca3eca5358ac8b123ee1c969af9d41b1d5bc85749a91937f1845d SHA512 62640563ec638b9a2c9e66c533a604585d8289b7f71362b70fb1110ec2e840b68758cc217b1953d181cd34e1b8881bb24ff7fca6d2c3145ac2b973d157d1a979 AUX lxc.initd.8 3669 BLAKE2B 50d41e0923ba26b9653ca3b5b559dd0905e61ec81969e709650fe7f1b26a4dcdc17158b7e449d666e2103047d9f196e53df8beca15fffd529fa8e743de97bd82 SHA512 1182b53a65399746f6d6bced0df5c1fde09c1ede4a28bfe95b5ed0bbd969d6f6423f63021d4b6f1dc62c7b2703f6963c03d881291650bdf21cfcf8432586c1b4 AUX lxc_at.service.4.0.0 284 BLAKE2B 1adc76b9861f2499b7b703f7076782a258f9b21a3d1e32b69334f753faca9ecd8c6fb2a03baf04698e765f079e73ee683434d8c7c6d3b3082427a6af74ab33b1 SHA512 4c2f9846ca60bb78df7e652309900c0e788b45d569f268a9e5b98842518542b35fce253e2aedeb0eded3d37274390988ef887b01d1d37859ccddf6225286b4bb -DIST lxc-4.0.6.tar.gz 1363162 BLAKE2B e2d9d281cf521575aeecefbcba0c7b7f336ab73193be94e760b37eb6f3423ec3520f194549def6f64c1662f22b7df5a03dfc6b4e6dac1bf229c5f726f51b4d43 SHA512 98514796ef2091a291516ed7fde737df07ccfe374a0f8b4314e0ee992837e98ed02aa9f7809f8808a2f5ee1c7ae2dcea163531cdaedbb577211eeb9beff90c15 -DIST lxc-4.0.6.tar.gz.asc 833 BLAKE2B 04b6bda0ed52a6ab8eebde4d3d5f1f6cb19eea017ae989d47323831d467324f99801b40c3bb70f00d7521753a298e6fa339f0da039c4d72b0163d0efc815d7e7 SHA512 baeafa5b63034e2884d5ab4f11710612bed1c61cd493ac19b9b24b93365b89325518b69878015b4b752f71beda47ecabf774b698e6be9ec9aa86376df2c302db +DIST lxc-4.0.10.tar.gz 1515002 BLAKE2B 2a5b94ad767c8a11a5c34d19f12d812bd284337045ad5021c80a5f69be608085ac465edde8c385cc558e45638c9f061793c0c9db616ccbe0614554b4fbf62005 SHA512 ec3ccf344a91b50b30985562c54ad93d2db2d29c24d31da8e3a69e801c8bd23c1560274c1850c39eb7e984940ba86d3ebae75db136320d6bbc5eb03bda4c5318 +DIST lxc-4.0.10.tar.gz.asc 833 BLAKE2B 3dd6e8793d1b725ab9eb73d4fa78ce2767bf830fb70d6cc7052e70d2adbc46e4fcf6d986595322b64cb9c71417b801ef6ee3c7612c46dbeb10acba01a5bd69e0 SHA512 dd2d3ac4e066eca4e0358c9a2c371a227d3a0b5cf6e452fe34fa5c8cff46e25fa0555c9f707511a8603348fa969c1e7abf85ad7d27fdcaff613b733066861608 DIST lxc-4.0.9.tar.gz 1500310 BLAKE2B 3796d36b6f76ec595dc28207e66ec9f5a7c1a39f5c5ebc851638c519be35f59b4ec06a71b2866cd8fef0a6140f61fd4b70c900f5a8ffd42d7da7a30d3ff59975 SHA512 4ef9d9efdd4118fdffde8b49c6ae71cf5eb060be51daaa4f4ceb804c743fbf3278e6518e6a694faefc720f2834f98ac48d67842d589a2120b8f7ec4c3b61fa84 DIST lxc-4.0.9.tar.gz.asc 833 BLAKE2B 2d275c968831410d987aa7f8062f4e35ba15043f92f38fd3bdd6bf80964906741d05ccd93789132d421ee1c8778cec6a2e76c4f0eb2165cf0107261495fa6856 SHA512 4c90dfbdba90959ee8df5da8ca8b240f65ab03ab91637833c677e2a73592c09f9c5a55b9a261be6efb0888156c916223ff1aa9003b18d46e667908aaa550c944 -EBUILD lxc-4.0.6.ebuild 4641 BLAKE2B 7344c4c288841bf83d9e55cf80487927fe5faa329d9eddbf6ca9009fe16aaf26957d7e5fb5dd61735b20bc1b93a81cfc3a06b52d53ecff51c869a280add09ca0 SHA512 9882e81775f6c5b3fa0075ce3c0b143419b4b11e838f16160d2466e19c82c5bd20fee58a25a64d72f613e08719339cdf47a15ff5e801d260e5cbd664f841ffd8 +EBUILD lxc-4.0.10.ebuild 4697 BLAKE2B cf3926f29ee78c56bed8b3df5fd5f922ac6d1de0b52dcd60e2c44a2052c55984681df3a3bed411c0d218a257a9f3eed6e9fabcf0d77384e1e6faae97bdf8f13e SHA512 1f7decdd9c28a395853a9a9803da3107b53f3a11b70d5cf9eec3499d190440371a2004368dccda264bf3fe25348d13da3a3cc94f221bb37d11aa719375cfec9a EBUILD lxc-4.0.9-r1.ebuild 4745 BLAKE2B 24c899647ef171da052c4ba0a6b670896105a882560acdb63b21041ae253d44605cee6c624fd5ef2c65b29d215e6a8c1eb06b2cde4c5f5ba20a1c67e07024264 SHA512 3d58635170c9977b332336abd4efa8bef78263216fe186a29f8d405264421d668d6f2d82bc08d899987a8e42d289d8a7563c26b86d125992f92e33296730dd38 MISC metadata.xml 620 BLAKE2B 459aa85a0e432faff7d0a2a1e61d536bde2e07e057ce8da642e07582219605643740f1241f83d19335a96de568841234bc2505273570bafbd187bb51da64a674 SHA512 303ca453f18cdbeef118e6a452b1a0e56d2466cba47fec8d021c1b8e4a9998ba743a729fdadc71e27e98f1fe12f43d17d76820986aeb93f286e74565c1a852f6 diff --git a/app-emulation/lxc/lxc-4.0.10.ebuild b/app-emulation/lxc/lxc-4.0.10.ebuild new file mode 100644 index 000000000000..a2fdef119319 --- /dev/null +++ b/app-emulation/lxc/lxc-4.0.10.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools bash-completion-r1 linux-info flag-o-matic optfeature pam readme.gentoo-r1 systemd verify-sig + +DESCRIPTION="A userspace interface for the Linux kernel containment features" +HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" +SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )" + +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +LICENSE="LGPL-3" +SLOT="0" +IUSE="apparmor +caps doc man pam seccomp selinux +ssl +tools verify-sig" + +RDEPEND="acct-group/lxc + acct-user/lxc + app-misc/pax-utils + sys-apps/util-linux + sys-libs/libcap + virtual/awk + caps? ( sys-libs/libcap ) + pam? ( sys-libs/pam ) + seccomp? ( sys-libs/libseccomp ) + selinux? ( sys-libs/libselinux ) + ssl? ( + dev-libs/openssl:0= + )" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-4 + apparmor? ( sys-apps/apparmor )" +BDEPEND="doc? ( app-doc/doxygen ) + man? ( app-text/docbook-sgml-utils ) + verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )" + +CONFIG_CHECK="~!NETPRIO_CGROUP + ~CGROUPS + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + + ~MEMCG + ~NAMESPACES + ~NET_NS + ~PID_NS + + ~POSIX_MQUEUE + ~USER_NS + ~UTS_NS + ~VETH" + +ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" +ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" +ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers" +ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" +ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" +ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" +ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" + +DOCS=( AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt ) + +pkg_setup() { + linux-info_pkg_setup +} + +PATCHES=( + "${FILESDIR}"/${PN}-3.0.0-bash-completion.patch + "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854 +) + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-flags -fno-strict-aliasing + + local myeconfargs=( + --bindir=/usr/bin + --localstatedir=/var + --sbindir=/usr/bin + + --with-config-path=/var/lib/lxc + --with-distro=gentoo + --with-init-script=systemd + --with-rootfs-path=/var/lib/lxc/rootfs + --with-runtime-path=/run + --with-systemdsystemunitdir=$(systemd_get_systemunitdir) + + --disable-coverity-build + --disable-dlog + --disable-fuzzers + --disable-mutex-debugging + --disable-no-undefined + --disable-rpath + --disable-sanitizers + --disable-tests + --disable-werror + + --enable-bash + --enable-commands + --enable-memfd-rexec + --enable-thread-safety + + $(use_enable apparmor) + $(use_enable caps capabilities) + $(use_enable doc api-docs) + $(use_enable doc examples) + $(use_enable man doc) + $(use_enable pam) + $(use_enable seccomp) + $(use_enable selinux) + $(use_enable ssl openssl) + $(use_enable tools) + + $(use_with pam pamdir $(getpam_mod_dir)) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die + bashcomp_alias ${PN}-start \ + ${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,wait} + + keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc + rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed" + + find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die + + # Gentoo-specific additions! + newinitd "${FILESDIR}/${PN}.initd.8" ${PN} + + # Remember to compare our systemd unit file with the upstream one + # config/init/systemd/lxc.service.in + systemd_newunit "${FILESDIR}"/${PN}_at.service.4.0.0 "lxc@.service" + + DOC_CONTENTS=" + For openrc, there is an init script provided with the package. + You should only need to symlink /etc/init.d/lxc to + /etc/init.d/lxc.configname to start the container defined in + /etc/lxc/configname.conf. + + Correspondingly, for systemd a service file lxc@.service is installed. + Enable and start lxc@configname in order to start the container defined + in /etc/lxc/configname.conf." + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + + elog "Please run 'lxc-checkconfig' to see optional kernel features." + elog + optfeature "automatic template scripts" app-emulation/lxc-templates + optfeature "Debian-based distribution container image support" dev-util/debootstrap + optfeature "snapshot & restore functionality" sys-process/criu +} diff --git a/app-emulation/lxc/lxc-4.0.6.ebuild b/app-emulation/lxc/lxc-4.0.6.ebuild deleted file mode 100644 index e22cf583db24..000000000000 --- a/app-emulation/lxc/lxc-4.0.6.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools bash-completion-r1 linux-info flag-o-matic optfeature pam readme.gentoo-r1 systemd verify-sig - -DESCRIPTION="A userspace interface for the Linux kernel containment features" -HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )" - -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" - -LICENSE="LGPL-3" -SLOT="0" -IUSE="apparmor +caps doc examples man pam selinux +ssl +tools verify-sig" - -RDEPEND="acct-group/lxc - acct-user/lxc - app-misc/pax-utils - sys-apps/util-linux - sys-libs/libcap - sys-libs/libseccomp - virtual/awk - caps? ( sys-libs/libcap ) - pam? ( sys-libs/pam ) - selinux? ( sys-libs/libselinux ) - ssl? ( - dev-libs/openssl:0= - )" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-4 - apparmor? ( sys-apps/apparmor )" -BDEPEND="doc? ( app-doc/doxygen ) - man? ( app-text/docbook-sgml-utils ) - verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )" - -CONFIG_CHECK="~!NETPRIO_CGROUP - ~CGROUPS - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - - ~MEMCG - ~NAMESPACES - ~NET_NS - ~PID_NS - - ~POSIX_MQUEUE - ~USER_NS - ~UTS_NS - ~VETH" - -ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" -ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" -ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers" -ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" -ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" -ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" -ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" - -DOCS=( AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt ) - -pkg_setup() { - linux-info_pkg_setup -} - -PATCHES=( - "${FILESDIR}"/${PN}-3.0.0-bash-completion.patch - "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854 -) - -VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc - -src_prepare() { - default - eautoreconf -} - -src_configure() { - append-flags -fno-strict-aliasing - - local myeconfargs=( - --bindir=/usr/bin - --localstatedir=/var - --sbindir=/usr/bin - - --with-config-path=/var/lib/lxc - --with-distro=gentoo - --with-init-script=systemd - --with-rootfs-path=/var/lib/lxc/rootfs - --with-runtime-path=/run - --with-systemdsystemunitdir=$(systemd_get_systemunitdir) - - --disable-asan - --disable-coverity-build - --disable-dlog - --disable-mutex-debugging - --disable-rpath - --disable-tests - --disable-ubsan - --disable-werror - - --enable-bash - --enable-commands - --enable-memfd-rexec - --enable-seccomp - --enable-thread-safety - - $(use_enable apparmor) - $(use_enable caps capabilities) - $(use_enable doc api-docs) - $(use_enable examples) - $(use_enable man doc) - $(use_enable pam) - $(use_enable selinux) - $(use_enable ssl openssl) - $(use_enable tools) - - $(use_with pam pamdir $(getpam_mod_dir)) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die - bashcomp_alias ${PN}-start \ - ${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,wait} - - keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc - rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed" - - find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die - - # Gentoo-specific additions! - newinitd "${FILESDIR}/${PN}.initd.8" ${PN} - - # Remember to compare our systemd unit file with the upstream one - # config/init/systemd/lxc.service.in - systemd_newunit "${FILESDIR}"/${PN}_at.service.4.0.0 "lxc@.service" - - DOC_CONTENTS=" - For openrc, there is an init script provided with the package. - You should only need to symlink /etc/init.d/lxc to - /etc/init.d/lxc.configname to start the container defined in - /etc/lxc/configname.conf. - - Correspondingly, for systemd a service file lxc@.service is installed. - Enable and start lxc@configname in order to start the container defined - in /etc/lxc/configname.conf." - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog - - elog "Please run 'lxc-checkconfig' to see optional kernel features." - elog - optfeature "automatic template scripts" app-emulation/lxc-templates - optfeature "Debian-based distribution container image support" dev-util/debootstrap - optfeature "snapshot & restore functionality" sys-process/criu -} diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index a9ff4ea108cc..9a2a6c80e7a8 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -4,10 +4,10 @@ AUX lxd-4.0.0.service 519 BLAKE2B 5314820c25e52449aad8db6584739cbe0f2654111e4b42 AUX lxd-4.0.0.socket 197 BLAKE2B 8c0d2dee71c14ee5f34b2bd0804adfa06ab3ae2a73bcf8d122184434c42b7f91f66fe610bddda93c458e0f171b505fe79a4f268d8243aabdf226f47e95027e71 SHA512 d70dc867b2e92b69928c83fc5feca4e387808adbc267b9fe4ecf0c8befdf3ca13366b229c6eefcb5667e51405fb0aa4e6bb8f59a0b5b5fb3895c46b4aaab0661 AUX lxd-4.0.0_apparmor.service 567 BLAKE2B e5951c31f90b842f5b625060326d9611ed67fb50360b11791cbd1ab1953fdfe5eb726e22b7091bb8e45c294b772e6b00e9ca65833512eb5b570627fa3234812e SHA512 364764d007f4800138c712fce70fe28b096b6e35dc6d2e4f8aa9aff4b335ecec7dfc9600a1a16cd38e69a96534b7462daf5f6e946a2ee81bce17977b8d5911db AUX lxd-containers-4.0.0.service 322 BLAKE2B a38cffd4b5809946abdac858564dcab2c2967c295d671df0d315d790df1849e25f0bc052e20cd0d9e4c23403289050b4538f5a52437ab8ae9ca3b40c6a9a1571 SHA512 a55f2c1a367c5c3c5eb6880e01893977de18c6e9463949236ee3247715fbf53641bbe1b69404362dd6cb6ba2a30ac6539fd362b21059e529dc4dac4ec5ca6718 -DIST lxd-4.0.5.tar.gz 14659330 BLAKE2B 4d61885a94946d3a6018324512ea318716cb9c1bc5f40be4eb62f71ad6a0eb993cda0ef917fbefb3949c0d47a6217245cc62e0ced3abfbcf47f6d8375a7d85d0 SHA512 8b9e6742dc3383fb31dce33d9f8ffe7a0ea661d274f6c3ac710f58d4d5b90b596881386571564ec0cd8f027da43eaa3948dd675d6fa07f1095405f4cc05f1211 -DIST lxd-4.0.5.tar.gz.asc 833 BLAKE2B f5b2ead748973831ec7ba7be00c34d26b16a6b168fb88a25f07126eeab5c812cab72609acc443e9bb541ff64849952bf66f8ee207083836a2aab905f1373c1e0 SHA512 b59edaf88cd8ab34271eb0ebb52270ede1509351596449b1b955eaba70a50f6f18fdc95fcc933deca3fe545b9aa45bfda3b7aa6553a8b4f2cedc8d1a6b3a5946 DIST lxd-4.0.6.tar.gz 15353779 BLAKE2B f699e91c53b407e5a0e47fe40b133d6216754b1e5c5829ee68993468565f2080c12cbcbf8373d6da16ca94a3648ec51b874e66ff589be09dc95f2382d18f3e12 SHA512 58efaac50dbcbb3cf0e7aa1b3b43085beae4546dfcd081720b049c2b88bf120b9a74e7db1238bbdd8cc2449e039b076ece3734e8f46f3ddbdc70aaae8b326963 DIST lxd-4.0.6.tar.gz.asc 833 BLAKE2B 6d1756b130a944a98e62d809c45129178bfc39158c71e09319cdaff7461b14bda467e44a781bb5c15d40afdae4d3ec86f98919738a8c169d3fff910d8e9fe58a SHA512 6c59bd8ec9bf0d9bd90c8ab2970cf6928c0bef3736631ea2a56ebc464f33940366d35925ddfc4104c13fa0fd4e1bea42796e0a2eb82a8bf395957829f938c7db -EBUILD lxd-4.0.5.ebuild 3744 BLAKE2B 4034a472a91e650d7ac141f650db6fa8d78060491db95baa6bce4f246f1f1c34681d5e292ab31ea914bb5b7717b6ea820a2870f85391cd1e8270066b611b918a SHA512 c28ece030f7a3c4919e156585f031ff653851857029d3a0164fa4b095ecf0f61faeb3b44b49f350cf0985fe35295fad727b5c457cf7aeed87d5a096ae2add31e +DIST lxd-4.0.7.tar.gz 15454709 BLAKE2B 6278fa058efa15a689a982dcf0bce58bf320ac500bc8bd6cd4227f5f126a03dd85a65363d4d36b3437a0a2fd8e08e8a7332b96f9aba8e8eb2aa508d1129fec13 SHA512 dd99db21a4de95d95e6bd53dcbd68f4d9f0ffbd9e60d994340cd0b1e820068e671507a9718d1c56488c79ad49019f86637a4a8b9c945cdd3f70d59c9e2026fb1 +DIST lxd-4.0.7.tar.gz.asc 833 BLAKE2B a28e43d1fd0d5851a62121069703637e7ba25cbeb142507e4e162b254eddce2b5a13a100eedb202fbf3d8aa40f6e20b4fd587ef38f6c73a07d2bd9d8d9d00c8f SHA512 561d7cbf94a37e7ed03828ac98a2022dc1a4e11b80cdee3ad925bf4226b78b9e1d1b9c51ed070e60fba881b69e06dc70be2713026285b10de5cca59549ac5f82 EBUILD lxd-4.0.6-r1.ebuild 4147 BLAKE2B dd59abefccdae966cd5b4f02e2a81df39c82208dd4a82dc4e73878bff92c468be8ae07431930e54213e5b5e678ea28320fcce1704d4987c9a2ee3cfe6c988607 SHA512 ab448cf187f384e96f3d763a273905f2dadc6e59a83084c7dd6559f9ae4a561ba14406c93ad40c8327dd21e5f3bb9ac740b9e0b7ea7daa550a3dfc7c0a082350 +EBUILD lxd-4.0.7.ebuild 4191 BLAKE2B 13f3df56f9e0d95af716f79eeaa6b81d23a702db43d6ff607b837796b2c5a04e142b2985ada4193c5b5b52dbf97978db9ba6be8e37b51efc607171d855c8cf22 SHA512 8fccb8c9964be62c3fac76e99c31cb0923c1c4ec50b351402cf73d585362c15cf5fa8d9324bd05c4cd69a6a4da5464287e8f168c2f8cfab531f7ab672c866a06 MISC metadata.xml 776 BLAKE2B 5f8e6d2639982bf6564567a9775e55b777d4bd9cb01818770b5089071262ceda815e5d94e853b7c08a470234729c08e313685610b3da457a23bb7edbf5b3ff52 SHA512 050d500629b4331f2f8bd2fa5cbcabadc988d737c891edb66ad8b2ee2fd378690b2fee4c70e0b380c2579cb9a39453768242d7acbead4c5390c7f01131b939c0 diff --git a/app-emulation/lxd/lxd-4.0.5.ebuild b/app-emulation/lxd/lxd-4.0.5.ebuild deleted file mode 100644 index 0fc73099a8df..000000000000 --- a/app-emulation/lxd/lxd-4.0.5.ebuild +++ /dev/null @@ -1,152 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools bash-completion-r1 linux-info optfeature systemd verify-sig - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd" -SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64" -IUSE="apparmor ipv6 nls verify-sig" - -DEPEND="app-arch/xz-utils - >=app-emulation/lxc-3.0.0[apparmor?,seccomp(+)] - dev-libs/dqlite - dev-libs/lzo - dev-libs/raft - net-dns/dnsmasq[dhcp,ipv6?]" -RDEPEND="${DEPEND} - acct-group/lxd - net-firewall/ebtables - net-firewall/iptables[ipv6?] - sys-apps/iproute2[ipv6?] - sys-fs/fuse:* - sys-fs/lxcfs - sys-fs/squashfs-tools[lzma] - virtual/acl" -BDEPEND="dev-lang/go - nls? ( sys-devel/gettext ) - verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )" - -CONFIG_CHECK=" - ~CGROUPS - ~IPC_NS - ~NET_NS - ~PID_NS - - ~SECCOMP - ~USER_NS - ~UTS_NS -" - -ERROR_IPC_NS="CONFIG_IPC_NS is required." -ERROR_NET_NS="CONFIG_NET_NS is required." -ERROR_PID_NS="CONFIG_PID_NS is required." -ERROR_SECCOMP="CONFIG_SECCOMP is required." -ERROR_UTS_NS="CONFIG_UTS_NS is required." - -# Go magic. -QA_PREBUILT="/usr/bin/fuidshift - /usr/bin/lxc - /usr/bin/lxc-to-lxd - /usr/bin/lxd-agent - /usr/bin/lxd-benchmark - /usr/bin/lxd-p2c - /usr/sbin/lxd" - -EGO_PN="github.com/lxc/lxd" -GOPATH="${S}/_dist" # this seems to reset every now and then, though - -VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc - -src_prepare() { - default - - export GOPATH="${S}/_dist" - - sed -i \ - -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \ - -e "s:make:make ${MAKEOPTS}:g" \ - Makefile || die - - # Fix hardcoded ovmf file path, see bug 763180 - sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ - -e "s:OVMF_VARS.ms.fd:OVMF_VARS.secboot.fd:g" \ - doc/environment.md \ - lxd/apparmor/instance_qemu.go \ - lxd/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths." -} - -src_configure() { :; } - -src_compile() { - export GOPATH="${S}/_dist" - export GO111MODULE=auto - - cd "${S}" || die - - for k in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do - go install -v -x ${EGO_PN}/${k} || die "failed compiling ${k}" - done - - go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" - - use nls && emake build-mo -} - -src_test() { - export GO111MODULE=auto - export GOPATH="${S}/_dist" - go test -v ${EGO_PN}/lxd || die -} - -src_install() { - local bindir="_dist/bin" - export GOPATH="${S}/_dist" - - dosbin ${bindir}/lxd - - for l in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do - dobin ${bindir}/${l} - done - - cd "${S}" || die - - newbashcomp scripts/bash/lxd-client lxc - - newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd - newinitd "${FILESDIR}"/lxd-4.0.0.initd lxd - - if use apparmor; then - systemd_newunit "${FILESDIR}"/lxd-4.0.0_apparmor.service lxd.service - else - systemd_newunit "${FILESDIR}"/lxd-4.0.0.service lxd.service - fi - - systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service - systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket - - dodoc AUTHORS doc/* - use nls && domo po/*.mo -} - -pkg_postinst() { - elog - elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," - elog "including a Quick Start." - elog - elog "Please run 'lxc-checkconfig' to see all optional kernel features." - elog - optfeature "btrfs storage backend" sys-fs/btrfs-progs - optfeature "lvm2 storage backend" sys-fs/lvm2 - optfeature "zfs storage backend" sys-fs/zfs - elog - elog "Be sure to add your local user to the lxd group." -} diff --git a/app-emulation/lxd/lxd-4.0.7.ebuild b/app-emulation/lxd/lxd-4.0.7.ebuild new file mode 100644 index 000000000000..75f17a0dac7b --- /dev/null +++ b/app-emulation/lxd/lxd-4.0.7.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools bash-completion-r1 linux-info optfeature systemd verify-sig + +DESCRIPTION="Fast, dense and secure container management" +HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd" +SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="apparmor ipv6 nls verify-sig" + +DEPEND="app-arch/xz-utils + >=app-emulation/lxc-3.0.0[apparmor?,seccomp(+)] + dev-libs/dqlite + dev-libs/lzo + dev-libs/raft[lz4] + >=dev-util/xdelta-3.0[lzma(+)] + net-dns/dnsmasq[dhcp,ipv6?]" +RDEPEND="${DEPEND} + acct-group/lxd + net-firewall/ebtables + net-firewall/iptables[ipv6?] + sys-apps/iproute2[ipv6?] + sys-fs/fuse:* + sys-fs/lxcfs + sys-fs/squashfs-tools[lzma] + virtual/acl" +BDEPEND="dev-lang/go + nls? ( sys-devel/gettext ) + verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )" + +CONFIG_CHECK=" + ~CGROUPS + ~IPC_NS + ~NET_NS + ~PID_NS + + ~SECCOMP + ~USER_NS + ~UTS_NS +" + +ERROR_IPC_NS="CONFIG_IPC_NS is required." +ERROR_NET_NS="CONFIG_NET_NS is required." +ERROR_PID_NS="CONFIG_PID_NS is required." +ERROR_SECCOMP="CONFIG_SECCOMP is required." +ERROR_UTS_NS="CONFIG_UTS_NS is required." + +# Go magic. +QA_PREBUILT="/usr/bin/fuidshift + /usr/bin/lxc + /usr/bin/lxc-to-lxd + /usr/bin/lxd-agent + /usr/bin/lxd-benchmark + /usr/bin/lxd-p2c + /usr/sbin/lxd" + +EGO_PN="github.com/lxc/lxd" +GOPATH="${S}/_dist" # this seems to reset every now and then, though + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc + +src_prepare() { + default + + export GOPATH="${S}/_dist" + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \ + -e "s:make:make ${MAKEOPTS}:g" \ + Makefile || die + + # Fix hardcoded ovmf file path, see bug 763180 + sed -i \ + -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ + -e "s:OVMF_VARS.ms.fd:OVMF_VARS.secboot.fd:g" \ + doc/environment.md \ + lxd/apparmor/instance_qemu.go \ + lxd/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths." + + # Fix hardcoded virtfs-proxy-helper file path, see bug 798924 + sed -i \ + -e "s:/usr/lib/qemu/virtfs-proxy-helper:/usr/libexec/virtfs-proxy-helper:g" \ + lxd/device/disk.go || die "Failed to fix virtfs-proxy-helper path." +} + +src_configure() { :; } + +src_compile() { + export GOPATH="${S}/_dist" + export GO111MODULE=auto + export CGO_LDFLAGS_ALLOW="-Wl,-z,now" + + cd "${S}" || die + + for k in fuidshift lxd-benchmark lxc lxc-to-lxd; do + go install -v -x "${EGO_PN}/${k}" || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" + + # Needs to be built statically + CGO_ENABLED=0 go install -v -tags netgo "${EGO_PN}"/lxd-p2c + CGO_ENABLED=0 go install -v -tags agent,netgo "${EGO_PN}"/lxd-agent + + use nls && emake build-mo +} + +src_test() { + export GOPATH="${S}/_dist" + export GO111MODULE=off + go test -v ${EGO_PN}/lxd || die +} + +src_install() { + local bindir="_dist/bin" + export GOPATH="${S}/_dist" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + cd "${S}" || die + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-4.0.0.initd lxd + + if use apparmor; then + systemd_newunit "${FILESDIR}"/lxd-4.0.0_apparmor.service lxd.service + else + systemd_newunit "${FILESDIR}"/lxd-4.0.0.service lxd.service + fi + + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + elog + elog "Please run 'lxc-checkconfig' to see all optional kernel features." + elog + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "lvm2 storage backend" sys-fs/lvm2 + optfeature "zfs storage backend" sys-fs/zfs + elog + elog "Be sure to add your local user to the lxd group." +} diff --git a/app-emulation/nemu/Manifest b/app-emulation/nemu/Manifest index 34a211ada923..546cc9d5dcaf 100644 --- a/app-emulation/nemu/Manifest +++ b/app-emulation/nemu/Manifest @@ -1,5 +1,3 @@ -DIST nemu-2.2.1.tar.gz 94600 BLAKE2B 16060ee1ed00f97a442d9f6b9a3f940d9777d24dea70336e382071ce7e9f7e077d58827110f4b0d64091c5777d516e95968ed0e1d4886b9fe2a3709fb466229d SHA512 e6f244c01582351f9e0f61a0a6848937a68b8d077500d0f8095784b871e9c9809bf5830c27918e84a77a64fcee3d6f81d8a06a031160f0beddc48614eb86624a DIST nemu-2.5.0.tar.gz 108742 BLAKE2B e68cbf50d56983873656d8e3428cb3ffaa09cafc9cbc8e545d72bf9dfb61e64a06bdc41c3f50011c4c488017efe33afe9fa1d634aae6e9151c45a7d3971c60db SHA512 081199413c41e545d23704091760c4a10b8dcdb21d9d0e6add1e549fa33bdd988490034767e08dee681eee6d06899104b8282cafc4578e06a0eabc505325bbdc -EBUILD nemu-2.2.1.ebuild 1860 BLAKE2B ebf283bb548989ac7ce577f795af1989ca0153c36e93a0f26089c51e730f4db118d9e88fd13d46c6df5b21f431fbfa421f89f6a6ad0d0ca259bdd70e1e3a9259 SHA512 408fd8685a06b5d4f0d384d4115bb66825ec540370152f39a14545415dd798605839426ebd3292ff3516ec6e5422bb6e7744c88b8195b59dc1f8e47670c246ba -EBUILD nemu-2.5.0.ebuild 2124 BLAKE2B 5d6cfc96e820326c333fd9a32c157325d9ee3795248e04bb1978d452e5ad681e0725ff5e62d7eb92eae1c297e8b0f299b80fd7616ef2ebb3d58ca07aef2782c8 SHA512 4aaf9cfa65661c3755f164857e47687e72e0524c73bf5ac06fd16856d9cfc9dd3325971de9aeffcbd69c666be198a74f86a177144bd74999769b4639a9aaa9c4 +EBUILD nemu-2.5.0-r1.ebuild 2128 BLAKE2B 16efbc3dffcf30c86a40164315f4cf4402137751f13d1f679355cd803fcdcc1356244fbd263460f16856ae43b1b3b3e90968233a7dc2e5f705a17c69574e18a3 SHA512 64923f3158df1587ed6752cbf8a463fe0b4ab49037aa720a6a353c7c6653f915d68312db0292dd0eab17a0773a5fb568e40c3ef34c7defd5feac603cc649407c MISC metadata.xml 638 BLAKE2B a90b3636fe59b93525c49d40bd9875d068f11b10dfb582e64aecefcfd77d3d87dfc0b4d0621038e3075219b0e0bcc0add96aa2b6eb840b6fec1240962824419d SHA512 663fbac22b8df6daecda876b76105da92c985bf3f767f4f3477ce71d74e8ada3ef93e84072fd845b07622ea76860a1f3af0cbf67081e6e9e68d192caf4c81315 diff --git a/app-emulation/nemu/nemu-2.2.1.ebuild b/app-emulation/nemu/nemu-2.2.1.ebuild deleted file mode 100644 index 7b191e31dc57..000000000000 --- a/app-emulation/nemu/nemu-2.2.1.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake-utils linux-info - -DESCRIPTION="ncurses interface for QEMU" -HOMEPAGE="https://lib.void.so/nemu/ https://bitbucket.org/PascalRD/nemu/" -SRC_URI="https://lib.void.so/src/${P}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="debug network-map +ovf savevm spice +vnc-client" - -RDEPEND="app-emulation/qemu[vnc,virtfs,spice?] - dev-db/sqlite:3= - sys-libs/ncurses:0=[unicode] - virtual/libusb:1 - virtual/libudev:= - network-map? ( media-gfx/graphviz ) - ovf? ( - - dev-libs/libxml2:2 - app-arch/libarchive - - ) - vnc-client? ( net-misc/tigervnc )" - -DEPEND="${RDEPEND}" - -BDEPEND="sys-devel/gettext" - -pkg_pretend() { - if use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel" - else - CONFIG_CHECK="~VETH ~MACVTAP" - ERROR_VETH="You will need the Virtual ethernet pair device driver compiled" - ERROR_VETH+=" into your kernel or loaded as a module to use the" - ERROR_VETH+=" local network settings feature." - ERROR_MACVTAP="You will also need support for MAC-VLAN based tap driver." - - check_extra_config - fi - fi -} - -src_configure() { - local mycmakeargs=( - -DNM_DEBUG=$(usex debug) - -DNM_WITH_NETWORK_MAP=$(usex network-map) - -DNM_WITH_OVF_SUPPORT=$(usex ovf) - -DNM_SAVEVM_SNAPSHOTS=$(usex savevm) - -DNM_WITH_SPICE=$(usex spice) - -DNM_WITH_VNC_CLIENT=$(usex vnc-client) - ) - cmake-utils_src_configure -} - -pkg_postinst() { - elog "For non-root usage execute script:" - elog "/usr/share/nemu/scripts/setup_nemu_nonroot.sh linux " - elog "and add udev rule:" - elog "cp /usr/share/nemu/scripts/42-net-macvtap-perm.rules /lib/udev/rules.d" - if use savevm; then - elog "" - elog "QEMU must be patched with qemu-qmp-savevm-VERSION.patch" - elog "Get this patch from nEMU repository" - fi -} diff --git a/app-emulation/nemu/nemu-2.5.0-r1.ebuild b/app-emulation/nemu/nemu-2.5.0-r1.ebuild new file mode 100644 index 000000000000..30d137f15fd9 --- /dev/null +++ b/app-emulation/nemu/nemu-2.5.0-r1.ebuild @@ -0,0 +1,77 @@ +# Copyright 2019-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake linux-info + +MY_PV="${PV/_rc/-RC}" + +DESCRIPTION="ncurses interface for QEMU" +HOMEPAGE="https://github.com/nemuTUI/nemu" +SRC_URI="https://github.com/nemuTUI/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="dbus network-map +ovf +savevm spice +vnc-client" + +RDEPEND=" + app-emulation/qemu[vnc,virtfs,spice?] + dev-db/sqlite:3= + sys-libs/ncurses:=[unicode(+)] + virtual/libusb:1 + virtual/libudev:= + dbus? ( sys-apps/dbus ) + network-map? ( media-gfx/graphviz[svg] ) + ovf? ( + dev-libs/libxml2:2 + app-arch/libarchive:= + ) + spice? ( app-emulation/virt-viewer ) + vnc-client? ( net-misc/tigervnc ) +" +DEPEND="${RDEPEND}" +BDEPEND="sys-devel/gettext" +S="${WORKDIR}/${PN}-${MY_PV}/" + +pkg_pretend() { + if use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel" + else + CONFIG_CHECK="~VETH ~MACVTAP" + ERROR_VETH="You will need the Virtual ethernet pair device driver compiled" + ERROR_VETH+=" into your kernel or loaded as a module to use the" + ERROR_VETH+=" local network settings feature." + ERROR_MACVTAP="You will also need support for MAC-VLAN based tap driver." + check_extra_config + fi + fi +} + +src_configure() { + # -DNM_USE_UTF: Enable unicode unconditionally. We already + # depended on ncurses[unicode]. + # -DNM_WITH_QEMU: Do not embbed qemu. + local mycmakeargs=( + -DNM_SAVEVM_SNAPSHOTS=$(usex savevm) + -DNM_USE_UTF=on + -DNM_WITH_DBUS=$(usex dbus) + -DNM_WITH_NETWORK_MAP=$(usex network-map) + -DNM_WITH_OVF_SUPPORT=$(usex ovf) + -DNM_WITH_QEMU=off + -DNM_WITH_SPICE=$(usex spice) + -DNM_WITH_VNC_CLIENT=$(usex vnc-client) + ) + cmake_src_configure +} + +pkg_postinst() { + elog "For non-root usage execute script:" + elog "/usr/share/nemu/scripts/setup_nemu_nonroot.sh linux " + elog "and add udev rule:" + elog "cp /usr/share/nemu/scripts/42-net-macvtap-perm.rules /etc/udev/rules.d" + elog "Afterwards reboot or reload udev with" + elog "udevadm control --reload-rules && udevadm trigger" +} diff --git a/app-emulation/nemu/nemu-2.5.0.ebuild b/app-emulation/nemu/nemu-2.5.0.ebuild deleted file mode 100644 index a9bc2ac75bbe..000000000000 --- a/app-emulation/nemu/nemu-2.5.0.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 2019-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake linux-info - -MY_PV="${PV/_rc/-RC}" - -DESCRIPTION="ncurses interface for QEMU" -HOMEPAGE="https://github.com/nemuTUI/nemu" -SRC_URI="https://github.com/nemuTUI/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="dbus network-map +ovf +savevm spice +vnc-client" - -RDEPEND=" - app-emulation/qemu[vnc,virtfs,spice?] - dev-db/sqlite:3= - sys-libs/ncurses:0=[unicode] - virtual/libusb:1 - virtual/libudev:= - dbus? ( sys-apps/dbus ) - network-map? ( media-gfx/graphviz[svg] ) - ovf? ( - dev-libs/libxml2:2 - app-arch/libarchive - ) - spice? ( app-emulation/virt-viewer ) - vnc-client? ( net-misc/tigervnc ) -" -DEPEND="${RDEPEND}" -BDEPEND="sys-devel/gettext" -S="${WORKDIR}/${PN}-${MY_PV}/" - -pkg_pretend() { - if use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel" - else - CONFIG_CHECK="~VETH ~MACVTAP" - ERROR_VETH="You will need the Virtual ethernet pair device driver compiled" - ERROR_VETH+=" into your kernel or loaded as a module to use the" - ERROR_VETH+=" local network settings feature." - ERROR_MACVTAP="You will also need support for MAC-VLAN based tap driver." - check_extra_config - fi - fi -} - -src_configure() { - # -DNM_USE_UTF: Enable unicode unconditionally. We already - # depended on ncurses[unicode]. - # -DNM_WITH_QEMU: Do not embbed qemu. - local mycmakeargs=( - -DNM_SAVEVM_SNAPSHOTS=$(usex savevm) - -DNM_USE_UTF=on - -DNM_WITH_DBUS=$(usex dbus) - -DNM_WITH_NETWORK_MAP=$(usex network-map) - -DNM_WITH_OVF_SUPPORT=$(usex ovf) - -DNM_WITH_QEMU=off - -DNM_WITH_SPICE=$(usex spice) - -DNM_WITH_VNC_CLIENT=$(usex vnc-client) - ) - cmake_src_configure -} - -pkg_postinst() { - elog "For non-root usage execute script:" - elog "/usr/share/nemu/scripts/setup_nemu_nonroot.sh linux " - elog "and add udev rule:" - elog "cp /usr/share/nemu/scripts/42-net-macvtap-perm.rules /etc/udev/rules.d" - elog "Afterwards reboot or reload udev with" - elog "udevadm control --reload-rules && udevadm trigger" -} diff --git a/app-emulation/protontricks/Manifest b/app-emulation/protontricks/Manifest index 949072d91cb6..ac2cbb191125 100644 --- a/app-emulation/protontricks/Manifest +++ b/app-emulation/protontricks/Manifest @@ -1,6 +1,4 @@ AUX protontricks-1.5.0_no-setuptools-scm.patch 1321 BLAKE2B d96472bf9b0827cbc6bb9debf6c8da9f27773da4587d5b5c663180913ef4595fe21c5edd4798a8e98ee0a00dad75acec41dd0776e3dfaa6ff0aa186167e70c6b SHA512 9fce0b3ddd34801b7af8adcce2990c875ce68ed9289717f08f1f1653d447887b67b65d5c35de14a126dfbd4d1143fdef8fb8399f55aa59c498a68b0bc0480bad -DIST protontricks-1.5.0.tar.gz 46957 BLAKE2B 622affd9a1bfff3a5cd76fa8e279f25b5c91a6f040b6cc4e5f42e58be08a232fad2be179a47e063b45b1b1bb11b6ae9ce26cce499f4c1dae460be0bb8247e619 SHA512 6df3e0dd638684e70a8d40b7440e2340765109e31dd47fa5e33e4959bc34d3ff4cfa70c8689cafdcce82f1d97ba6d25de724ca7439e5d1ffd634b729ab222716 DIST protontricks-1.5.2.tar.gz 49590 BLAKE2B 9a4f6b5869d2d23d104c3785a99549e74168d7dea429bed78ed00029ed6431460bab2c8fdd4f3905943b3e93075dea4bc9b0bf472f0044e5cbae3c335d128c12 SHA512 9e57c7ea61ae9a6638ee967041672a85962c9210fe329600bf30ab78f46b2a23cc6f859fb78e50e94686794b3fad81185d83222ca8f67e1dc73b578df7dcd411 -EBUILD protontricks-1.5.0.ebuild 1443 BLAKE2B a64ee0e8679859aa818b2c34e42dadfe9eb194c6f97d526cbc4dec8ff0121598f8fcb9e9a006d694318cfffa4f8040f25dd664c576bdcc7383669c5eb7d71dd4 SHA512 382d6f5fd98f523cf954763c5cb61bc39668af84eff511e38fe867d50d10b1971dbeb047137ecc5ed44f0a0a94eb62db78f38d86841bbb430dc7c657acce5ca2 EBUILD protontricks-1.5.2.ebuild 1443 BLAKE2B a64ee0e8679859aa818b2c34e42dadfe9eb194c6f97d526cbc4dec8ff0121598f8fcb9e9a006d694318cfffa4f8040f25dd664c576bdcc7383669c5eb7d71dd4 SHA512 382d6f5fd98f523cf954763c5cb61bc39668af84eff511e38fe867d50d10b1971dbeb047137ecc5ed44f0a0a94eb62db78f38d86841bbb430dc7c657acce5ca2 MISC metadata.xml 808 BLAKE2B 9abbb6d1689e04026c239dc2bde4a2d975bb260473178e68c0ec3e37a3e4c3e6db701ece9e8551d5ba071db14effc7e59a15a5e13c2049a6cd9d0709562bf709 SHA512 21452c10fe698d461aa814bc1bddb6350fcd8f60b7c84d8949f1eb8a1932ae3f9214c123451334ac2108f6ad930d5e6f5b522eac477ed6f6af1c916326254c32 diff --git a/app-emulation/protontricks/protontricks-1.5.0.ebuild b/app-emulation/protontricks/protontricks-1.5.0.ebuild deleted file mode 100644 index 9db87c7635ec..000000000000 --- a/app-emulation/protontricks/protontricks-1.5.0.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7..10} pypy3 ) -DISTUTILS_SINGLE_IMPL=1 -DISTUTILS_USE_SETUPTOOLS=rdepend - -inherit distutils-r1 - -DESCRIPTION="app-emulation/winetricks wrapper for Proton (Steam Play) games" -HOMEPAGE="https://github.com/Matoking/protontricks" -SRC_URI="https://github.com/Matoking/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64" -IUSE="+gui" - -RDEPEND="app-emulation/winetricks - $(python_gen_cond_dep ' - dev-python/vdf[${PYTHON_USEDEP}] - ') - gui? ( gnome-extra/zenity - || ( - app-emulation/winetricks[gtk] - app-emulation/winetricks[kde] - ) - )" - -PATCHES=( - "${FILESDIR}"/${PN}-1.5.0_no-setuptools-scm.patch -) - -DOCS=( CHANGELOG.md README.md ) - -distutils_enable_tests pytest - -python_prepare_all() { - distutils-r1_python_prepare_all - echo "version = '${PV}'" > "${S}"/src/${PN}/_version.py || die "Failed to generate the version file" -} - -pkg_postinst() { - elog - - if ! use gui; then - ewarn "Please note that disabling USE=gui does *not* presently remove the --gui command-line option," - ewarn "it just means using this option will fail unless gnome-extra/zenity happens to be installed." - ewarn - fi - - elog "Protontricks can only find games for which a Proton prefix already exists." - elog "Make sure to run a Proton game at least once before trying to use protontricks on it." - elog -} diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 7a527fd6a388..020314705fee 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -9,7 +9,7 @@ AUX qemu-6.0.0-make.patch 306 BLAKE2B 701c6d929dc7544a2e155243a2545dc488765cf8b7 AUX qemu-binfmt.initd.head 1442 BLAKE2B 23aa5338914aa7c47f9b1cc1d28291abd0ea037a33cca81f990decfafac2907c86c042350c9dd45591d16330846d4e11d2c8a2a409a68ad81656d9c2c51964c0 SHA512 3fec8946a37bfbd2089f5d95089ed5987a198fc0139ee7482d4bb38c2ffa0e165667a7853afcf2b458bc3e2a6540f172c929ca5a334a00db47e2d0f881382c0e AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4 -EBUILD qemu-6.0.0-r50.ebuild 25762 BLAKE2B 53ef776802cf9bee1b5135a6880ca26b7796ae6a318edeb25418aad8a1cfcbaa01be9acab1fe1a352739c8454a6eee62df97a804e2f95b912c845722cdd92bfe SHA512 a51f14d2a1a3c3965100f6065974be78e896953ddbb439a0cd2ec3d9287488958278da22350a02df2de8c4992238ac119bbfbedbe2e758cdbebb0d881763f3b0 -EBUILD qemu-6.0.0.ebuild 25694 BLAKE2B fb2859e611b739ac19531dc564cdfe0d7f556d0e0e4016d2a4f269616d9d5bcce48a037cda2693c3f7d498feb51ee8f61d183522c2382539bc4922ee13a46d7e SHA512 42b67957323f32ceab63af451522d7294309f2c848702ac32c116d8362367bfd91af45a9897376675251441e0c02ea92204c0b732731eac5daf86a9e9b758dde -EBUILD qemu-9999.ebuild 25724 BLAKE2B b73478c7cf02b970a867ad300cc8a71a7691d87f1a251108e7d34bfe261d2cea909f29c68f00ddba38ba3019a4e8b70872094002ba18f51e019fb2baf8dc0595 SHA512 3cef1341ddf9145cd19f2d519ec1bf9401416ac45656a35e08068a15f5be36037b30999e1182c9b94b3172f3bbddbc8fe47f27bcb7ebf875b7810d45a91e2e0b +EBUILD qemu-6.0.0-r2.ebuild 25695 BLAKE2B f0617808f53a084e1a3f9a7a8b2e81c015a9f8164f2a22d6abb2e9658def2112e5ebf76b034871ac8c950b50578347df28aab1250e38f246be98953a3f3351fb SHA512 01d3d4f26149b3821fc7948aafd4715e4921dad8bbd593dbff602c4ebd3b68875f83810f1d7b806dedf08057063ae6437eabdfb4ad23d93eabeb99e492247ae6 +EBUILD qemu-6.0.0-r52.ebuild 25763 BLAKE2B a2d0c8774081713d1a3b3042a3f81b8a19fc15cabd4a7614af068628629443edebff1c0ac80ed6fa07a12472e4b251358ce3cef895d8e82f6e99d0de48d28802 SHA512 7244351f30b9e52926d69fbe81b305733826327864b361ec0f8dc347a3a1639a33c90148febca72d5e1be18c0bdc3b57f25acbbfd049b3a455db19125f6c1002 +EBUILD qemu-9999.ebuild 25725 BLAKE2B 92b669324e09cf5d5d9e7de8589558b5afdf17f3a934cb25502b8ac595ea3bf9f5216e23d8a4e49edf4fd6c211231bdd37d1eb9a26f64b177777602c85391e10 SHA512 edbe8a6b1619459c51198be8515f6a44ac93496465a18ebf4508625a99b8ee1ee2127a877e638b8c856503bbbfadfc243b6b177123681da7b0941a4197b06650 MISC metadata.xml 4403 BLAKE2B d8794248d1fc44363d107d2a0148a14d27de016fd4b311fa7feaf9125e35678c390f2ff07d35a48d3c224fe56ab467eb2c4a8cae4fc65f8c2aad98c62205a645 SHA512 f2b8daaa06e80b7f19915c794d3c010122d8578061d471564b1fd73df3a567bb4937b733058205346441a7d487a7f8eb03c3238a22d60a48b5e9cd02569d7e9e diff --git a/app-emulation/qemu/qemu-6.0.0-r2.ebuild b/app-emulation/qemu/qemu-6.0.0-r2.ebuild new file mode 100644 index 000000000000..6b82204f2794 --- /dev/null +++ b/app-emulation/qemu/qemu-6.0.0-r2.ebuild @@ -0,0 +1,910 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{7,8,9,10} ) +PYTHON_REQ_USE="ncurses,readline" + +FIRMWARE_ABI_VERSION="5.2.0-r50" + +inherit eutils linux-info toolchain-funcs multilib python-r1 +inherit udev fcaps readme.gentoo-r1 pax-utils xdg-utils + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" + EGIT_SUBMODULES=( + meson + tests/fp/berkeley-softfloat-3 + tests/fp/berkeley-testfloat-3 + ui/keycodemapdb + ) + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://download.qemu.org/${P}.tar.xz" + KEYWORDS="amd64 arm64 ~ppc ppc64 x86" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" + +IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc + +fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring + jack jemalloc +jpeg kernel_linux + kernel_FreeBSD lzo multipath + ncurses nfs nls numa opengl +oss +pin-upstream-blobs + plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + +slirp + smartcard snappy spice ssh static static-user systemtap test udev usb + usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen + xfs zstd" + +COMMON_TARGETS=" + aarch64 + alpha + arm + cris + hppa + i386 + m68k + microblaze + microblazeel + mips + mips64 + mips64el + mipsel + nios2 + or1k + ppc + ppc64 + riscv32 + riscv64 + s390x + sh4 + sh4eb + sparc + sparc64 + x86_64 + xtensa + xtensaeb +" +IUSE_SOFTMMU_TARGETS=" + ${COMMON_TARGETS} + avr + lm32 + moxie + rx + tricore + unicore32 +" +IUSE_USER_TARGETS=" + ${COMMON_TARGETS} + aarch64_be + armeb + hexagon + mipsn32 + mipsn32el + ppc64abi32 + ppc64le + sparc32plus +" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +RESTRICT="!test? ( test )" +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_riscv32? ( fdt ) + qemu_softmmu_targets_riscv64? ( fdt ) + sdl-image? ( sdl ) + static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy ) + static-user? ( !plugins ) + vhost-user-fs? ( caps seccomp ) + virgl? ( opengl ) + virtfs? ( caps xattr ) + vte? ( gtk ) + multipath? ( udev ) + plugins? ( !static !static-user ) +" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the external library. +ALL_DEPEND=" + >=dev-libs/glib-2.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + dev-libs/libxml2[static-libs(+)] + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone:= ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) + fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + infiniband? ( + sys-fabric/libibumad:=[static-libs(+)] + sys-fabric/libibverbs:=[static-libs(+)] + sys-fabric/librdmacm:=[static-libs(+)] + ) + iscsi? ( net-libs/libiscsi ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) + ncurses? ( + sys-libs/ncurses:=[unicode(+)] + sys-libs/ncurses:=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl,gbm] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + media-libs/libsdl2[video] + media-libs/libsdl2[static-libs(+)] + ) + sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + slirp? ( net-libs/libslirp[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:= ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + udev? ( virtual/libudev[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] ) + zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) +" + +SEABIOS_VERSION="1.14.0" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-202008[binary] + ~sys-firmware/ipxe-1.21.1[binary,qemu] + ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre10[binary] + ) + !pin-upstream-blobs? ( + sys-firmware/edk2-ovmf + sys-firmware/ipxe[qemu] + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + sys-firmware/sgabios + )" +PPC_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + ) +" + +BDEPEND=" + $(python_gen_impl_dep) + dev-lang/perl + sys-apps/texinfo + virtual/pkgconfig + doc? ( dev-python/sphinx ) + gtk? ( nls? ( sys-devel/gettext ) ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + ) +" +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} )" +RDEPEND="${CDEPEND} + acct-group/kvm + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${PN}-5.2.0-strings.patch + "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch + "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch + "${FILESDIR}"/${PN}-5.2.0-dce-locks.patch + "${FILESDIR}"/${PN}-6.0.0-make.patch +) + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf + usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500 +" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32 +" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requires a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs/targets/ >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + default + + # Use correct toolchain to fix cross-compiling + tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS + export WINDRES=${CHOST}-windres + + # Verbose builds + MAKEOPTS+=" V=1" + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --bindir=/usr/bin + --libdir=/usr/$(get_libdir) + --datadir=/usr/share + --docdir=/usr/share/doc/${PF}/html + --mandir=/usr/share/man + --localstatedir=/var + --disable-bsd-user + --disable-containers # bug #732972 + --disable-guest-agent + --disable-strip + + # bug #746752: TCG interpreter has a few limitations: + # - it does not support FPU + # - it's generally slower on non-self-modifying code + # It's advantage is support for host architectures + # where native codegeneration is not implemented. + # Gentoo has qemu keyworded only on targets with + # native code generation available. Avoid the interpreter. + --disable-tcg-interpreter + + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + $(use_enable doc docs) + $(use_enable nls gettext) + $(use_enable plugins) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + # Enable option only for softmmu build, but not 'user' or 'tools' + conf_softmmu() { + if [[ ${buildtype} == "softmmu" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + # Enable option only for tools build, but not 'user' or 'softmmu' + conf_tools() { + if [[ ${buildtype} == "tools" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser capstone) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser fuse) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser io-uring linux-io-uring) + $(conf_notuser jemalloc jemalloc) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser multipath mpath) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_softmmu sdl-image) + $(conf_notuser seccomp) + $(conf_notuser slirp slirp system) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh) + $(conf_notuser udev libudev) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser vhost-user-fs) + $(conf_tools vhost-user-fs virtiofsd) + $(conf_notuser virgl virglrenderer) + $(conf_softmmu virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + # use prebuilt keymaps, bug #759604 + --disable-xkbcommon + $(conf_notuser zstd) + ) + + if [[ ${buildtype} == "user" ]] ; then + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts=( + # Note: backend order matters here: #716202 + # We iterate from higher-level to lower level. + $(usex pulseaudio pa "") + $(usev jack) + $(usev sdl) + $(usev alsa) + $(usev oss) + ) + conf_opts+=( + --audio-drv-list=$(printf "%s," "${audio_opts[@]}") + ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + # Meson will not use a cross-file unless cross_prefix is set. + tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) + + # Plumb through equivalent of EXTRA_ECONF to allow experiments + # like bug #747928. + conf_opts+=( ${EXTRA_CONF_QEMU} ) + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + pax-mark m */qemu-system-* #515550 + emake check + fi +} + +qemu_python_install() { + python_domodule "${S}/python/qemu" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + # we use 'printf' here to be portable across 'sh' + # implementations: #679168 + cat <>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dodoc check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" + emake DESTDIR="${ED}" install + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" + dodoc MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + # Disallow stripping of prebuilt firmware files. + dostrip -x ${QA_PREBUILT} + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + # PPC/PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + rm "${ED}/usr/share/qemu/sgabios.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + rm "${ED}"/usr/share/qemu/pxe-*.rom + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + xdg_icon_cache_update + + [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ + fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-emulation/qemu/qemu-6.0.0-r50.ebuild b/app-emulation/qemu/qemu-6.0.0-r50.ebuild deleted file mode 100644 index 2a7669c87e9f..000000000000 --- a/app-emulation/qemu/qemu-6.0.0-r50.ebuild +++ /dev/null @@ -1,911 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -PYTHON_COMPAT=( python3_{7,8,9,10} ) -PYTHON_REQ_USE="ncurses,readline" - -FIRMWARE_ABI_VERSION="6.0.0-r50" - -inherit eutils linux-info toolchain-funcs multilib python-r1 -inherit udev fcaps readme.gentoo-r1 pax-utils xdg-utils - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" - EGIT_SUBMODULES=( - meson - tests/fp/berkeley-softfloat-3 - tests/fp/berkeley-testfloat-3 - ui/keycodemapdb - ) - inherit git-r3 - SRC_URI="" -else - SRC_URI="https://download.qemu.org/${P}.tar.xz" - KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc - +fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg kernel_linux - kernel_FreeBSD lzo multipath - ncurses nfs nls numa opengl +oss +pin-upstream-blobs - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static static-user systemtap test udev usb - usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen - xfs zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - nios2 - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - lm32 - moxie - rx - tricore - unicore32 -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64abi32 - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - sdl-image? ( sdl ) - static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy ) - static-user? ( !plugins ) - vhost-user-fs? ( caps seccomp ) - virgl? ( opengl ) - virtfs? ( caps xattr ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static !static-user ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - >=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-util/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - dev-libs/libxml2[static-libs(+)] - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:= ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - dev-libs/nettle:=[static-libs(+)] - >=net-libs/gnutls-3.0:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( - sys-fabric/libibumad:=[static-libs(+)] - sys-fabric/libibverbs:=[static-libs(+)] - sys-fabric/librdmacm:=[static-libs(+)] - ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( virtual/jpeg:0=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:0=[unicode] - sys-libs/ncurses:0=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl,gbm] - ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - pulseaudio? ( media-sound/pulseaudio ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.12.3 - >=app-emulation/spice-0.12.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -EDK2_OVMF_VERSION="202105" -SEABIOS_VERSION="1.14.0" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary] - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION} - sys-firmware/ipxe[qemu] - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - sys-firmware/sgabios - )" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] - ) - !pin-upstream-blobs? ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - ) -" - -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - sys-apps/texinfo - virtual/pkgconfig - doc? ( dev-python/sphinx ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - ) -" -CDEPEND=" - !static? ( - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND="${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static? ( - ${ALL_DEPEND} - ${SOFTMMU_TOOLS_DEPEND} - ) - static-user? ( ${ALL_DEPEND} )" -RDEPEND="${CDEPEND} - acct-group/kvm - selinux? ( sec-policy/selinux-qemu )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch - "${FILESDIR}"/${PN}-5.2.0-strings.patch - "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch - "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch - "${FILESDIR}"/${PN}-5.2.0-dce-locks.patch - "${FILESDIR}"/${PN}-6.0.0-make.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD="usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-ppc64abi32 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/default-configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled copy of libfdt - rm -r dtc || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable doc docs) - $(use_enable nls gettext) - $(use_enable plugins) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser caps cap-ng) - $(conf_notuser curl) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_notuser jemalloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser png vnc-png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp slirp system) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser vhost-user-fs) - $(conf_tools vhost-user-fs virtiofsd) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - $(conf_notuser xfs xfsctl) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ${buildtype} == "user" ]] ; then - conf_opts+=( --disable-libxml2 ) - else - conf_opts+=( --enable-libxml2 ) - fi - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(printf "%s," "${audio_opts[@]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-blobs - --disable-tools - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - ) - local static_flag="static" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --disable-blobs - --enable-tools - ) - local static_flag="static" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTAP - use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" - - # FreeBSD's kernel does not support QEMU assigning/grabbing - # host USB devices yet - use kernel_FreeBSD && \ - sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi - - cd "${S}/tools-build" - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" - emake DESTDIR="${ED}" install - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" - dodoc MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - rm "${ED}/usr/share/qemu/bios-256k.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - rm "${ED}/usr/share/qemu/sgabios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - rm "${ED}"/usr/share/qemu/pxe-*.rom - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - ewarn " $(best_version sys-firmware/edk2-ovmf)" - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/seabios)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - echo " $(best_version sys-firmware/edk2-ovmf)" - if has_version 'sys-firmware/edk2-ovmf[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/seabios)" - if has_version 'sys-firmware/seabios[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update -} diff --git a/app-emulation/qemu/qemu-6.0.0-r52.ebuild b/app-emulation/qemu/qemu-6.0.0-r52.ebuild new file mode 100644 index 000000000000..43f93745ed87 --- /dev/null +++ b/app-emulation/qemu/qemu-6.0.0-r52.ebuild @@ -0,0 +1,911 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{7,8,9,10} ) +PYTHON_REQ_USE="ncurses,readline" + +FIRMWARE_ABI_VERSION="6.0.0-r50" + +inherit eutils linux-info toolchain-funcs multilib python-r1 +inherit udev fcaps readme.gentoo-r1 pax-utils xdg-utils + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" + EGIT_SUBMODULES=( + meson + tests/fp/berkeley-softfloat-3 + tests/fp/berkeley-testfloat-3 + ui/keycodemapdb + ) + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://download.qemu.org/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" + +IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc + +fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring + jack jemalloc +jpeg kernel_linux + kernel_FreeBSD lzo multipath + ncurses nfs nls numa opengl +oss +pin-upstream-blobs + plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + +slirp + smartcard snappy spice ssh static static-user systemtap test udev usb + usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen + xfs zstd" + +COMMON_TARGETS=" + aarch64 + alpha + arm + cris + hppa + i386 + m68k + microblaze + microblazeel + mips + mips64 + mips64el + mipsel + nios2 + or1k + ppc + ppc64 + riscv32 + riscv64 + s390x + sh4 + sh4eb + sparc + sparc64 + x86_64 + xtensa + xtensaeb +" +IUSE_SOFTMMU_TARGETS=" + ${COMMON_TARGETS} + avr + lm32 + moxie + rx + tricore + unicore32 +" +IUSE_USER_TARGETS=" + ${COMMON_TARGETS} + aarch64_be + armeb + hexagon + mipsn32 + mipsn32el + ppc64abi32 + ppc64le + sparc32plus +" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +RESTRICT="!test? ( test )" +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_riscv32? ( fdt ) + qemu_softmmu_targets_riscv64? ( fdt ) + sdl-image? ( sdl ) + static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy ) + static-user? ( !plugins ) + vhost-user-fs? ( caps seccomp ) + virgl? ( opengl ) + virtfs? ( caps xattr ) + vte? ( gtk ) + multipath? ( udev ) + plugins? ( !static !static-user ) +" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the external library. +ALL_DEPEND=" + >=dev-libs/glib-2.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + dev-libs/libxml2[static-libs(+)] + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone:= ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) + fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + infiniband? ( + sys-fabric/libibumad:=[static-libs(+)] + sys-fabric/libibverbs:=[static-libs(+)] + sys-fabric/librdmacm:=[static-libs(+)] + ) + iscsi? ( net-libs/libiscsi ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) + ncurses? ( + sys-libs/ncurses:=[unicode(+)] + sys-libs/ncurses:=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl,gbm] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + media-libs/libsdl2[video] + media-libs/libsdl2[static-libs(+)] + ) + sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + slirp? ( net-libs/libslirp[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:= ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + udev? ( virtual/libudev[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] ) + zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) +" + +EDK2_OVMF_VERSION="202105" +SEABIOS_VERSION="1.14.0" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary] + ~sys-firmware/ipxe-1.21.1[binary,qemu] + ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre10[binary] + ) + !pin-upstream-blobs? ( + >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION} + sys-firmware/ipxe[qemu] + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + sys-firmware/sgabios + )" +PPC_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + ) +" + +BDEPEND=" + $(python_gen_impl_dep) + dev-lang/perl + sys-apps/texinfo + virtual/pkgconfig + doc? ( dev-python/sphinx ) + gtk? ( nls? ( sys-devel/gettext ) ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + ) +" +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} )" +RDEPEND="${CDEPEND} + acct-group/kvm + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${PN}-5.2.0-strings.patch + "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch + "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch + "${FILESDIR}"/${PN}-5.2.0-dce-locks.patch + "${FILESDIR}"/${PN}-6.0.0-make.patch +) + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf + usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500 +" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32 +" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requires a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs/targets/ >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + default + + # Use correct toolchain to fix cross-compiling + tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS + export WINDRES=${CHOST}-windres + + # Verbose builds + MAKEOPTS+=" V=1" + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --bindir=/usr/bin + --libdir=/usr/$(get_libdir) + --datadir=/usr/share + --docdir=/usr/share/doc/${PF}/html + --mandir=/usr/share/man + --localstatedir=/var + --disable-bsd-user + --disable-containers # bug #732972 + --disable-guest-agent + --disable-strip + + # bug #746752: TCG interpreter has a few limitations: + # - it does not support FPU + # - it's generally slower on non-self-modifying code + # It's advantage is support for host architectures + # where native codegeneration is not implemented. + # Gentoo has qemu keyworded only on targets with + # native code generation available. Avoid the interpreter. + --disable-tcg-interpreter + + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + $(use_enable doc docs) + $(use_enable nls gettext) + $(use_enable plugins) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + # Enable option only for softmmu build, but not 'user' or 'tools' + conf_softmmu() { + if [[ ${buildtype} == "softmmu" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + # Enable option only for tools build, but not 'user' or 'softmmu' + conf_tools() { + if [[ ${buildtype} == "tools" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser capstone) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser fuse) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser io-uring linux-io-uring) + $(conf_notuser jemalloc jemalloc) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser multipath mpath) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_softmmu sdl-image) + $(conf_notuser seccomp) + $(conf_notuser slirp slirp system) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh) + $(conf_notuser udev libudev) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser vhost-user-fs) + $(conf_tools vhost-user-fs virtiofsd) + $(conf_notuser virgl virglrenderer) + $(conf_softmmu virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + # use prebuilt keymaps, bug #759604 + --disable-xkbcommon + $(conf_notuser zstd) + ) + + if [[ ${buildtype} == "user" ]] ; then + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts=( + # Note: backend order matters here: #716202 + # We iterate from higher-level to lower level. + $(usex pulseaudio pa "") + $(usev jack) + $(usev sdl) + $(usev alsa) + $(usev oss) + ) + conf_opts+=( + --audio-drv-list=$(printf "%s," "${audio_opts[@]}") + ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + # Meson will not use a cross-file unless cross_prefix is set. + tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) + + # Plumb through equivalent of EXTRA_ECONF to allow experiments + # like bug #747928. + conf_opts+=( ${EXTRA_CONF_QEMU} ) + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + pax-mark m */qemu-system-* #515550 + emake check + fi +} + +qemu_python_install() { + python_domodule "${S}/python/qemu" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + # we use 'printf' here to be portable across 'sh' + # implementations: #679168 + cat <>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dodoc check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" + emake DESTDIR="${ED}" install + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" + dodoc MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + # Disallow stripping of prebuilt firmware files. + dostrip -x ${QA_PREBUILT} + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + # PPC/PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + rm "${ED}/usr/share/qemu/sgabios.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + rm "${ED}"/usr/share/qemu/pxe-*.rom + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + xdg_icon_cache_update + + [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ + fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-emulation/qemu/qemu-6.0.0.ebuild b/app-emulation/qemu/qemu-6.0.0.ebuild deleted file mode 100644 index e6d5023d4167..000000000000 --- a/app-emulation/qemu/qemu-6.0.0.ebuild +++ /dev/null @@ -1,910 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -PYTHON_COMPAT=( python3_{7,8,9,10} ) -PYTHON_REQ_USE="ncurses,readline" - -FIRMWARE_ABI_VERSION="5.2.0-r50" - -inherit eutils linux-info toolchain-funcs multilib python-r1 -inherit udev fcaps readme.gentoo-r1 pax-utils xdg-utils - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" - EGIT_SUBMODULES=( - meson - tests/fp/berkeley-softfloat-3 - tests/fp/berkeley-testfloat-3 - ui/keycodemapdb - ) - inherit git-r3 - SRC_URI="" -else - SRC_URI="https://download.qemu.org/${P}.tar.xz" - KEYWORDS="amd64 arm64 ~ppc ppc64 x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc - +fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring - jack jemalloc +jpeg kernel_linux - kernel_FreeBSD lzo multipath - ncurses nfs nls numa opengl +oss +pin-upstream-blobs - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - +slirp - smartcard snappy spice ssh static static-user systemtap test udev usb - usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen - xfs zstd" - -COMMON_TARGETS=" - aarch64 - alpha - arm - cris - hppa - i386 - m68k - microblaze - microblazeel - mips - mips64 - mips64el - mipsel - nios2 - or1k - ppc - ppc64 - riscv32 - riscv64 - s390x - sh4 - sh4eb - sparc - sparc64 - x86_64 - xtensa - xtensaeb -" -IUSE_SOFTMMU_TARGETS=" - ${COMMON_TARGETS} - avr - lm32 - moxie - rx - tricore - unicore32 -" -IUSE_USER_TARGETS=" - ${COMMON_TARGETS} - aarch64_be - armeb - hexagon - mipsn32 - mipsn32el - ppc64abi32 - ppc64le - sparc32plus -" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - sdl-image? ( sdl ) - static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy ) - static-user? ( !plugins ) - vhost-user-fs? ( caps seccomp ) - virgl? ( opengl ) - virtfs? ( caps xattr ) - vte? ( gtk ) - multipath? ( udev ) - plugins? ( !static !static-user ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - >=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-util/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - dev-libs/libxml2[static-libs(+)] - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:= ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) - fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - dev-libs/nettle:=[static-libs(+)] - >=net-libs/gnutls-3.0:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( - sys-fabric/libibumad:=[static-libs(+)] - sys-fabric/libibverbs:=[static-libs(+)] - sys-fabric/librdmacm:=[static-libs(+)] - ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( virtual/jpeg:0=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - multipath? ( sys-fs/multipath-tools ) - ncurses? ( - sys-libs/ncurses:0=[unicode] - sys-libs/ncurses:0=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl,gbm] - ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - pulseaudio? ( media-sound/pulseaudio ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - slirp? ( net-libs/libslirp[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.12.3 - >=app-emulation/spice-0.12.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - udev? ( virtual/libudev[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -SEABIOS_VERSION="1.14.0" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-ovmf-202008[binary] - ~sys-firmware/ipxe-1.21.1[binary,qemu] - ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] - ~sys-firmware/sgabios-0.1_pre10[binary] - ) - !pin-upstream-blobs? ( - sys-firmware/edk2-ovmf - sys-firmware/ipxe[qemu] - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - sys-firmware/sgabios - )" -PPC_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] - ) - !pin-upstream-blobs? ( - >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] - ) -" - -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - sys-apps/texinfo - virtual/pkgconfig - doc? ( dev-python/sphinx ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - ) -" -CDEPEND=" - !static? ( - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) -" -DEPEND="${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static? ( - ${ALL_DEPEND} - ${SOFTMMU_TOOLS_DEPEND} - ) - static-user? ( ${ALL_DEPEND} )" -RDEPEND="${CDEPEND} - acct-group/kvm - selinux? ( sec-policy/selinux-qemu )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch - "${FILESDIR}"/${PN}-5.2.0-strings.patch - "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch - "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch - "${FILESDIR}"/${PN}-5.2.0-dce-locks.patch - "${FILESDIR}"/${PN}-6.0.0-make.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf - usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500 -" - -QA_WX_LOAD="usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-ppc64abi32 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32 -" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requires a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/default-configs/targets/ >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS - export WINDRES=${CHOST}-windres - - # Verbose builds - MAKEOPTS+=" V=1" - - # Remove bundled copy of libfdt - rm -r dtc || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --localstatedir=/var - --disable-bsd-user - --disable-containers # bug #732972 - --disable-guest-agent - --disable-strip - - # bug #746752: TCG interpreter has a few limitations: - # - it does not support FPU - # - it's generally slower on non-self-modifying code - # It's advantage is support for host architectures - # where native codegeneration is not implemented. - # Gentoo has qemu keyworded only on targets with - # native code generation available. Avoid the interpreter. - --disable-tcg-interpreter - - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable doc docs) - $(use_enable nls gettext) - $(use_enable plugins) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - # Enable option only for softmmu build, but not 'user' or 'tools' - conf_softmmu() { - if [[ ${buildtype} == "softmmu" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - # Enable option only for tools build, but not 'user' or 'softmmu' - conf_tools() { - if [[ ${buildtype} == "tools" ]] ; then - use_enable "$@" - else - echo "--disable-${2:-$1}" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser caps cap-ng) - $(conf_notuser curl) - $(conf_notuser fdt) - $(conf_notuser fuse) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_notuser jemalloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser lzo) - $(conf_notuser multipath mpath) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser png vnc-png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_softmmu sdl-image) - $(conf_notuser seccomp) - $(conf_notuser slirp slirp system) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser udev libudev) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser vhost-user-fs) - $(conf_tools vhost-user-fs virtiofsd) - $(conf_notuser virgl virglrenderer) - $(conf_softmmu virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - $(conf_notuser xfs xfsctl) - # use prebuilt keymaps, bug #759604 - --disable-xkbcommon - $(conf_notuser zstd) - ) - - if [[ ${buildtype} == "user" ]] ; then - conf_opts+=( --disable-libxml2 ) - else - conf_opts+=( --enable-libxml2 ) - fi - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev jack) - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(printf "%s," "${audio_opts[@]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-blobs - --disable-tools - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - ) - local static_flag="static" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --disable-blobs - --enable-tools - ) - local static_flag="static" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTAP - use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - # Meson will not use a cross-file unless cross_prefix is set. - tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) - - # Plumb through equivalent of EXTRA_ECONF to allow experiments - # like bug #747928. - conf_opts+=( ${EXTRA_CONF_QEMU} ) - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" - - # FreeBSD's kernel does not support QEMU assigning/grabbing - # host USB devices yet - use kernel_FreeBSD && \ - sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi - - cd "${S}/tools-build" - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" - emake DESTDIR="${ED}" install - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" - dodoc MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - rm "${ED}/usr/share/qemu/bios-256k.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - # PPC/PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - rm "${ED}/usr/share/qemu/sgabios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - rm "${ED}"/usr/share/qemu/pxe-*.rom - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - ewarn " $(best_version sys-firmware/edk2-ovmf)" - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/seabios)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - echo " $(best_version sys-firmware/edk2-ovmf)" - if has_version 'sys-firmware/edk2-ovmf[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/seabios)" - if has_version 'sys-firmware/seabios[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update -} diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index a391504d0ba5..3c10cc9beb9f 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -173,8 +173,8 @@ SOFTMMU_TOOLS_DEPEND=" lzo? ( dev-libs/lzo:2[static-libs(+)] ) multipath? ( sys-fs/multipath-tools ) ncurses? ( - sys-libs/ncurses:0=[unicode] - sys-libs/ncurses:0=[static-libs(+)] + sys-libs/ncurses:=[unicode(+)] + sys-libs/ncurses:=[static-libs(+)] ) nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) numa? ( sys-process/numactl[static-libs(+)] ) diff --git a/app-emulation/runc/Manifest b/app-emulation/runc/Manifest index 5ffaa9be9895..f0717b179012 100644 --- a/app-emulation/runc/Manifest +++ b/app-emulation/runc/Manifest @@ -1,3 +1,5 @@ +DIST runc-1.0.0.tar.gz 2366170 BLAKE2B 1b6455cd45bc51b92c12b3293037446da62957d441124e9b76fd44ce92329e0eb2fde2ef71c6519fc4d58bcbd4ef580f64d71753a6fc06f3f6e347de170bd9c3 SHA512 8ddad1e031237c07b6cab5cfe5bdb7b11bf98d5d1064ec06845f36da073fe65a0facc6a28ba5daff71cdcb50cfd5d1cd25e97385b4eddb35b287113c2771365c DIST runc-1.0.0_rc95.tar.gz 2309875 BLAKE2B 8038a2d5311463f1e83665d513ac8b6336ccaa88fab64a3218b261aa03b2750d342f95bdae965c593d4fa89fc89b1e1a6371498c205160d9d09a5c4920ffa841 SHA512 c802a6e5f16cc0321642fc7adffe33819867c1779420f76b2cabd532edb5ac8c852beadcbcf6a3e895fe274f111c5623be5dcc822fef96e7e5259bf532174ba1 +EBUILD runc-1.0.0.ebuild 1763 BLAKE2B 3668d81820cffc91f50655bce5a47fbbe1b81fd868beee3dd336e509b0bb9b53b7e187d47568e28d57cc2bb9348e50021280720a363d531193975669f1b0a181 SHA512 28ff218a2bb1382ce4882d723bbef0f69a2e9b86819fd23b119f1cd5789ed34841ea55a22609eb40154974fed1b4d9aee6e83b124543baaf4a2d5b7097f6bf11 EBUILD runc-1.0.0_rc95.ebuild 1761 BLAKE2B 68ac242be9ab60d62b86e6ef9ca26838716697aa30a39dddc008035081bbab704d5a7b0c81a4adb1c3a04728efe9dbc58c664e35af6952c3be8cdb45d9369740 SHA512 70ed74518c4f115007f7cdbcaed871edede44bbcf87f5676e8eb29c10c4ea8b77a00eb23a09c0e7e30560d672a72030e417cb8f8a6b790c5c6dc145aeb0b4f89 MISC metadata.xml 821 BLAKE2B eb8ae2aafcc540623838afc1ecdb8bab0b60ca1d836dcb4e0ee247219301f6c68e1f25430898f9533b71a5e23ea6c97fe2bad9ab1e375e0488c3084b51437b97 SHA512 15a4ac8303dd81200f74dc8d508fed2997ccb87b3fa5e61757025d0e659422713a6b6eadc00544ccadc902a4b56bc5312c156e75cd098711e240a1ed789c3360 diff --git a/app-emulation/runc/runc-1.0.0.ebuild b/app-emulation/runc/runc-1.0.0.ebuild new file mode 100644 index 000000000000..6941c018dc9e --- /dev/null +++ b/app-emulation/runc/runc-1.0.0.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit go-module linux-info + +# update on bump, look for https://github.com/docker\ +# docker-ce/blob//components/engine/hack/dockerfile/install/runc.installer +RUNC_COMMIT=84113eef6fc27af1b01b3181f31bbaf708715301 +CONFIG_CHECK="~USER_NS" + +DESCRIPTION="runc container cli tools" +HOMEPAGE="http://runc.io" +MY_PV="${PV/_/-}" +SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 BSD-2 BSD MIT" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="apparmor hardened +kmem +seccomp 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" + +S="${WORKDIR}/${PN}-${MY_PV}" + +src_compile() { + # Taken from app-emulation/docker-1.7.0-r1 + export CGO_CFLAGS="-I${ESYSROOT}/usr/include" + export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '') + -L${ESYSROOT}/usr/$(get_libdir)" + + # build up optional flags + local options=( + $(usev apparmor) + $(usev seccomp) + $(usex kmem '' 'nokmem') + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + COMMIT="${RUNC_COMMIT}" + ) + + emake "${myemakeargs[@]}" runc man +} + +src_install() { + myemakeargs+=( + PREFIX="${ED}/usr" + BINDIR="${ED}/usr/bin" + MANDIR="${ED}/usr/share/man" + ) + 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/virt-manager/Manifest b/app-emulation/virt-manager/Manifest index ae602bb220cd..c0ea777feee0 100644 --- a/app-emulation/virt-manager/Manifest +++ b/app-emulation/virt-manager/Manifest @@ -1,8 +1,8 @@ DIST virt-manager-2.2.1.tar.gz 2623754 BLAKE2B c81e730f2d685152bd0ef0a0327a74a70c50bff91e80ed0e3de92d0b848183c4bc092be333f2f0785c6a0b39f0b6d6abbd1f38c902f52ba4af7c56d64ee9b026 SHA512 aa97af52b3552c087beab8701762c21e8e6d818c9787d5376ed4e1ae40a34d5e8870c4c00fda9cb17a2340d1dff5b17e853182df720cdd9ea4c91cf01502a33a DIST virt-manager-3.1.0.tar.gz 2848420 BLAKE2B 729a16ee419cfc9f118e4a59336e961f17f38908ab3aaa3598c83bff3e8bca75b150f0f38b021c5ccb839a7c43e87f071859f68c2a81425715e236e14d0a7929 SHA512 185e34d8ebb2f9755bf9732bdafdbe9d0924d8c3b69758947252cce5deeac2042f473ba63673eea2bf36beb1f216a856938650f86e2c86eb5618e8f8522df53d DIST virt-manager-3.2.0.tar.gz 2858909 BLAKE2B 83bd8589fb7d9c855300e06689fdeeeee575e354f9349b5bc63ff1da1a8b578a842f6f60d95a8b8fa53ed007c090d37f706f50fb8dcbcee83c08e27853a150cc SHA512 90cd98fe6b269007cd30f628490c65df440abe39b4925c65dc80667e7d80d059752695353ccf6ac3e2436206da311bc402eda50df31874d82ef8fe115966e1ec -EBUILD virt-manager-2.2.1-r3.ebuild 2369 BLAKE2B d429198a0d3b4e629b28bc43de33950e6a2e236cc732d641e9d05d9c48da1c3f3da629f06e3c451d357c9cd933bebc5950ca55aa3f6889e05775d2020e86a220 SHA512 49831cfc41641f24cc19306d829246bef0d80138ead3a29f4a311f775f88da4ee50ea40f14c05ba1751b5e7042d4ea4f8831d222ebdd5a9b100a38e5cd55cb30 -EBUILD virt-manager-3.1.0.ebuild 2426 BLAKE2B 0cddadea64ff30d4e262095c5fc0c3623c6f25a9a16a280aa594a62b437d20cbfb9cc4e12f498d55ef8f2e29eefa4a242daddcb04a267f169f38cc9770d007ca SHA512 09787a65b161d8b81e36e2210cdd0a3932013891d2dc86d97411d02734f8b0ed7c3936b69f88eaf80aef4d4035d5730c2fc73b87ddde0681c243d7cc548fc654 -EBUILD virt-manager-3.2.0.ebuild 2410 BLAKE2B 2fd0693f3f03309ddd7f037852471a37e6cc8acae79e32323530985f06823fede5685da70a9cabc8db345ed3d9f05f8f1334a931353e665fbe0d9687aa82ba3f SHA512 34d89c7de927bda0a3c92f4977ffade32d85f261696264a180f9602a665ae6581bc0033406ff45a39f1329a1734e496e3e6da003e6f332090cc66ad5038b03d4 -EBUILD virt-manager-9999.ebuild 2448 BLAKE2B a4056d023c698cc5a892cba5aab6506382bd1a1f6b59bd26984e1fe08d379e6388b782a3f323fb655d687937ce6349a8b9fec2710b931fb41ded2bb692fc820b SHA512 b6e969fc2e48c9dc7f82e5a12db3092fc519f892f3b9b9b091f068710332be9d42b5a47e40503db1edf1a3b10df467dd19edaf2b45ad176bd679f850a93fbe21 +EBUILD virt-manager-2.2.1-r3.ebuild 2341 BLAKE2B a50426622743d3e21508c2dcebdd769e82bde419ca62a307951b106bc2fddd2a5fc9ba17e008909df90b91a4cd790f20791288865f4002ac54d17a6b6ee6c747 SHA512 b885bf0ff82234b087289dab5bf9131cef3300f02419f6683a622a765d311b4448170d7935cdc8c20b9de9d7aec0cf104202a858b63b08f250c78744fb8066c4 +EBUILD virt-manager-3.1.0.ebuild 2394 BLAKE2B 464dad98c7445fdbf6f57733a022d04064959ffd75a1f937f221f299638ca71cd360ea4451ca2e9186498d2dbab0e38d09255f74ca17cfd84fce131b5d45547e SHA512 e422eaeeba7cbcbabed620fbce812ea9101a48f5de7590f410d9897e220aa8d98e35f224bd8df9da57f67cf672651d3b45098d70e0022b0e3784f6a94d640c03 +EBUILD virt-manager-3.2.0.ebuild 2378 BLAKE2B e0e6da24c093d65b8d04b39c0b282b1122c3caa8ea996e5303139780ff218dbc762a660e3ca39d3fcfa21d90f157d780de55a47c68053909944a23d1753d8ef8 SHA512 f9aefdc808577bd20d94fcadb8f07ccb1056f09688c09546913715ebe6b07e14feba47d10c55b35f69c4664792d4d2ccd0e5e89718aefc2270e63512a79db3e1 +EBUILD virt-manager-9999.ebuild 2410 BLAKE2B f6a02ff58c635ed3951815ea4bf9903b079a5d580461bd4bf4196fa32e52452e7e947dfa4eb8d24d259cf1ad03227c8d3c0a624cd4ca418481760d75a1402d54 SHA512 2fbd09d9389834b7dc5a9e819f44e2810c0ea967ea424dde82c9cfa76e9033cdb8972123d362fed393198bf172cf6435da9cf29c38c800c93199a97250c50217 MISC metadata.xml 662 BLAKE2B 4ddc8ee05f0679380316f8c175194b325d931967c9faee576f042fa42e0c7d6f8aa6b688464c1a839b8b20e184646d6e356095ffad136141c6c1fc7aa5d4f4f6 SHA512 7aaac81b00bb77562616d6ba9442c2e37d7cdd1142af090e3fe07be36315b5179bdb9cf78073c3f901e9a924c089ba00474e3c7121d785b6622b60be1fce682a diff --git a/app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild b/app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild index e0ce6f6fc762..a5da10c5d597 100644 --- a/app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild +++ b/app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{7,8} ) +PYTHON_COMPAT=( python3_8 ) DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_SETUPTOOLS=no @@ -30,10 +30,10 @@ RDEPEND="!app-emulation/virtinst app-cdr/cdrtools >=app-emulation/libvirt-glib-1.0.0[introspection] $(python_gen_cond_dep ' - dev-libs/libxml2[python,${PYTHON_MULTI_USEDEP}] - dev-python/libvirt-python[${PYTHON_MULTI_USEDEP}] - dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}] - dev-python/requests[${PYTHON_MULTI_USEDEP}] + dev-libs/libxml2[python,${PYTHON_USEDEP}] + dev-python/libvirt-python[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] ') >=sys-libs/libosinfo-0.2.10[introspection] gtk? ( diff --git a/app-emulation/virt-manager/virt-manager-3.1.0.ebuild b/app-emulation/virt-manager/virt-manager-3.1.0.ebuild index 7b57165eb531..cec598a0ff27 100644 --- a/app-emulation/virt-manager/virt-manager-3.1.0.ebuild +++ b/app-emulation/virt-manager/virt-manager-3.1.0.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8,9} ) DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_SETUPTOOLS=no @@ -30,11 +30,11 @@ RDEPEND="!app-emulation/virtinst app-cdr/cdrtools >=app-emulation/libvirt-glib-1.0.0[introspection] $(python_gen_cond_dep ' - dev-libs/libxml2[python,${PYTHON_MULTI_USEDEP}] - dev-python/argcomplete[${PYTHON_MULTI_USEDEP}] - dev-python/libvirt-python[${PYTHON_MULTI_USEDEP}] - dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}] - dev-python/requests[${PYTHON_MULTI_USEDEP}] + dev-libs/libxml2[python,${PYTHON_USEDEP}] + dev-python/argcomplete[${PYTHON_USEDEP}] + dev-python/libvirt-python[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] ') >=sys-libs/libosinfo-0.2.10[introspection] gtk? ( diff --git a/app-emulation/virt-manager/virt-manager-3.2.0.ebuild b/app-emulation/virt-manager/virt-manager-3.2.0.ebuild index ddd942dd7b23..8529c5b317cb 100644 --- a/app-emulation/virt-manager/virt-manager-3.2.0.ebuild +++ b/app-emulation/virt-manager/virt-manager-3.2.0.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8,9} ) DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_SETUPTOOLS=no @@ -29,11 +29,11 @@ RDEPEND="${PYTHON_DEPS} app-cdr/cdrtools >=app-emulation/libvirt-glib-1.0.0[introspection] $(python_gen_cond_dep ' - dev-libs/libxml2[python,${PYTHON_MULTI_USEDEP}] - dev-python/argcomplete[${PYTHON_MULTI_USEDEP}] - >=dev-python/libvirt-python-6.10.0[${PYTHON_MULTI_USEDEP}] - dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}] - dev-python/requests[${PYTHON_MULTI_USEDEP}] + dev-libs/libxml2[python,${PYTHON_USEDEP}] + dev-python/argcomplete[${PYTHON_USEDEP}] + >=dev-python/libvirt-python-6.10.0[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] ') >=sys-libs/libosinfo-0.2.10[introspection] gtk? ( diff --git a/app-emulation/virt-manager/virt-manager-9999.ebuild b/app-emulation/virt-manager/virt-manager-9999.ebuild index 3e4593a1f8a9..18fe7b6fb023 100644 --- a/app-emulation/virt-manager/virt-manager-9999.ebuild +++ b/app-emulation/virt-manager/virt-manager-9999.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8,9} ) DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_SETUPTOOLS=no @@ -30,12 +30,12 @@ RDEPEND="${PYTHON_DEPS} app-cdr/cdrtools >=app-emulation/libvirt-glib-1.0.0[introspection] $(python_gen_cond_dep ' - dev-libs/libxml2[python,${PYTHON_MULTI_USEDEP}] - dev-python/argcomplete[${PYTHON_MULTI_USEDEP}] - >=dev-python/libvirt-python-6.10.0[${PYTHON_MULTI_USEDEP}] - dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}] - dev-python/requests[${PYTHON_MULTI_USEDEP}] - dev-python/tqdm[${PYTHON_MULTI_USEDEP}] + dev-libs/libxml2[python,${PYTHON_USEDEP}] + dev-python/argcomplete[${PYTHON_USEDEP}] + >=dev-python/libvirt-python-6.10.0[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/tqdm[${PYTHON_USEDEP}] ') >=sys-libs/libosinfo-0.2.10[introspection] gtk? ( diff --git a/app-emulation/virt-viewer/Manifest b/app-emulation/virt-viewer/Manifest index f4efd75ebfc5..020922799d4c 100644 --- a/app-emulation/virt-viewer/Manifest +++ b/app-emulation/virt-viewer/Manifest @@ -1,6 +1,8 @@ +DIST virt-viewer-10.0.tar.xz 256372 BLAKE2B 3368164c2f770f8aa963e0fb93e713249b05d31600747b68197864a40bf6fdb221ad44abb8ea5465706543241bd5898353cadf2a3e0917455383283722fdfd4f SHA512 82ed552337c3d71d762aed14e6fb20a123448fd5cf8c51f8f942ddd226ee2a4fa3ab8b9b893bbdde16628fb03363f2455e1d895074237d40ff567d642d216fd3 DIST virt-viewer-7.0.tar.gz 924475 BLAKE2B 003efaf88445ec6f523e678459ed1e11562d0cd87fb4811105df9ac1e3129f4a97170c5b783f1d504d157055ae51ac8dc23ffa8f3f79dd6cd55707d962e1d9ad SHA512 e0558c9138877f546add6a3df9721e100cadb6953815be82b2376b0521b82cf14052bdc29c42bb03b198b6e9d129a55d33531a153207d7f29b5c1c3402ebc904 DIST virt-viewer-8.0.tar.gz 937457 BLAKE2B 107a5f77d0e272665561e22c950416275c939d000fbb522401a954e6836bbd9e9399e768bc4363a1ea3110dd3229fe33738560563271774c3054278b2399cab8 SHA512 73317048949b6c49c28aab4685e3fb6533945b12c47078b522429b3e178423fcec5758c970d5048c8f65fee2b92a629b7e067cffa79c968292c73fd36133b918 DIST virt-viewer-9.0.tar.gz 1176991 BLAKE2B bc4df73575195888b769dddd8de5c0eda9daa257902f3f3ce8099f9096d0cd9be28547c8671decb70e83e5f0de71633793886bfe78bd9ab5f360dc9759afcc5b SHA512 a5901d76c3e144fa3d6e640de93ed7f1e7cbeb075c04cdbe4a8c9c09bce96104ea552484df5e84c7a69af8dddd1177123ddb81b2dac775a98ac312f3102daae2 +EBUILD virt-viewer-10.0.ebuild 1056 BLAKE2B be70282a9c98d2b5f9c82a7e16f5e08de95d0e02eb58f66ec9b9b50434499fb15377eb3913f6026eb060a2a738aff5dcb02470c253a29abfaeb894fd4516c303 SHA512 cd7f098f5aa49a10fc4e246f4fb64605113e4f83211c54671f6868983709a2407d96df917473fcf15b4c92c0978472bf5d36b709149d708626643a991c83f4e5 EBUILD virt-viewer-7.0.ebuild 913 BLAKE2B 0b6dfcfe940c93c9d1cb2feaa5b2b67b710fe35b75dde82066b4f133ce060933742aea8dc437f394a1492d1ff579ad13f0f45acfebb5db80ed665aafdc050be1 SHA512 3d219e4c9aab912f6fdd0fe4b0fce8d7959d103305069629ce95a5baea8209b707e5bb51eeb87e2fc6f85178acdb8bc811baa9293bb6a256ac6ce8a4d9b4d47c EBUILD virt-viewer-8.0.ebuild 965 BLAKE2B fe006b764e6e1abfc9bcc915d92d9dc91d037e4b2a1dcf5dfc618a62fd65061445227da84aca0f8ab84ca28a1528fe063c37b39c5a4840b99532898f54f239a9 SHA512 4997e3c64b34953399b1369758741ff69cab3874b4a07f1378ec2ed7d2ee8439af45b614c073adf438b25e35ea9b1a388d222da54a803b6af49f533cc7de99b8 EBUILD virt-viewer-9.0.ebuild 967 BLAKE2B c59e0871ce13171ab889f9950cdba14516163c22ae2fbf26f8e4fd16e07d320244c043070bb43f165b17e9f3f75f6e35adadf1c51339d1d560aa7bcd0fcf1de9 SHA512 1c87a447c14f88d73b50ef2614a4b95d417b7af4053de7b67511e6b439d15eda63955d61cf83618fc85efa5613740cae5c8eda2fe48efb5cb60dadc84ce30b49 diff --git a/app-emulation/virt-viewer/virt-viewer-10.0.ebuild b/app-emulation/virt-viewer/virt-viewer-10.0.ebuild new file mode 100644 index 000000000000..f6be72fe3118 --- /dev/null +++ b/app-emulation/virt-viewer/virt-viewer-10.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit meson xdg + +DESCRIPTION="Graphical console client for connecting to virtual machines" +HOMEPAGE="https://virt-manager.org/" +SRC_URI="https://virt-manager.org/download/sources/${PN}/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+libvirt sasl +spice +vnc" + +RDEPEND=">=dev-libs/libxml2-2.6 + x11-libs/gtk+:3 + libvirt? ( + >=app-emulation/libvirt-0.10.0[sasl?] + app-emulation/libvirt-glib + ) + spice? ( >=net-misc/spice-gtk-0.35[sasl?,gtk3] ) + vnc? ( >=net-libs/gtk-vnc-0.5.0[sasl?,gtk3(+)] )" +DEPEND="${RDEPEND} + dev-lang/perl + >=dev-util/intltool-0.35.0 + virtual/pkgconfig + spice? ( >=app-emulation/spice-protocol-0.12.10 )" + +REQUIRED_USE="|| ( spice vnc )" + +src_configure() { + local emesonargs=( + $(meson_feature libvirt libvirt) + $(meson_feature vnc vnc) + $(meson_feature spice spice) + ) + meson_src_configure +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update + xdg_mimeinfo_database_update +} diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest index 598b2f619d54..ddf005995384 100644 --- a/app-emulation/virtualbox-additions/Manifest +++ b/app-emulation/virtualbox-additions/Manifest @@ -1,7 +1,5 @@ -DIST VBoxGuestAdditions_6.1.18.iso 61157376 BLAKE2B e022cfbc70fa45889c1db7592f30814faf88d7614c30ebd3fccd0127732d7fec51423904a160797ac199315dcbe4791f025e2dc4754141bfef0862b11510626c SHA512 07be8be75feb2d7d9bfc984ce34b955339d391580192817c2eb216b7577576a003dde310cc09f18c6b6bcf2e30ad548e1ee8bde0af420e4d1d43a3486861cf19 -DIST VBoxGuestAdditions_6.1.20.iso 61018112 BLAKE2B feb6a292b05e861a90fdc5db80bc15e9df593a365a866a31ab7afce704511463012c18d76dc928dc5ecd0d2a23bc518c37ad9cdc8b4b72397af3ddd4b3eb97d8 SHA512 122bd5d31ab5cac2fe0582d1d541b5e9d0e8e544e1b3c5afb2b2e2c8b26fbfa964d15053ccc256575753d31206bffc09380dabc79d93946b0e56b743d82e40fe DIST VBoxGuestAdditions_6.1.22.iso 61020160 BLAKE2B e6b79942ed905654ac98323fe5c960afe7467e4ee9da168f7a7b4856a001fa973418e979da57b6e75eedd801bd71f15700ac62a2dfac28b660b36b11287fab57 SHA512 826a4b7d714d1dcb3e7c5c3c95e2a47d2fef728172f2db0e9c983150d7cc335ca7ffd2c87c09e1ca3d0fb1342f4c6c03993f5fc8cff19f28e1f519dec0f3f96b -EBUILD virtualbox-additions-6.1.18.ebuild 777 BLAKE2B ef241fa299288ab813b6a6acfddb7910b3a8bd454527fd75143e8b3f404049374662c500aa17ce83a6edb080af267ed1710e09240058c877957e24272c782556 SHA512 53bddb2a887429730a34ea27a0859541c4c47a11a010ff33715314119500e337ed5849a8f76af106ab414dfcafbbe269ce2a282fb5137a324bac676dceb6080c -EBUILD virtualbox-additions-6.1.20.ebuild 777 BLAKE2B ef241fa299288ab813b6a6acfddb7910b3a8bd454527fd75143e8b3f404049374662c500aa17ce83a6edb080af267ed1710e09240058c877957e24272c782556 SHA512 53bddb2a887429730a34ea27a0859541c4c47a11a010ff33715314119500e337ed5849a8f76af106ab414dfcafbbe269ce2a282fb5137a324bac676dceb6080c -EBUILD virtualbox-additions-6.1.22.ebuild 778 BLAKE2B 34dc0e7631b7bd202a0ea7d7a18fd83f045d867cbd2533dfa333292f22d4378765672be9166ccf1aafdf075d58f3e48617dc9132ef5d34d413f867445e8cc9cc SHA512 0186ea39d7c27c7ea8826e59548d3287cc59225daff2350358d12e233af40f352d004a82edeeb17be5762a405b956f04c369472794749fe170345f7421779154 +DIST VBoxGuestAdditions_6.1.24.iso 61081600 BLAKE2B 66427a961c83f2de1a0b8671066154133795e8e4f50ac82e927e82e05594c520b155f29f7f19373e5846c36a1e3f6e5d2f5d17db1cebc1996c4d1737d5b45862 SHA512 8753558fcf467805bff801be43281597ef6738f90f8f7a62f6acbba2753e57f44bc72cb66411f0a0f413135026ddf683b0330b49ccad77676ec67b7bf3faf06e +EBUILD virtualbox-additions-6.1.22.ebuild 777 BLAKE2B ef241fa299288ab813b6a6acfddb7910b3a8bd454527fd75143e8b3f404049374662c500aa17ce83a6edb080af267ed1710e09240058c877957e24272c782556 SHA512 53bddb2a887429730a34ea27a0859541c4c47a11a010ff33715314119500e337ed5849a8f76af106ab414dfcafbbe269ce2a282fb5137a324bac676dceb6080c +EBUILD virtualbox-additions-6.1.24.ebuild 778 BLAKE2B 9224a26ec47d48f16e8e73333c7d87505d179c5435ad172226fa58017c6c3b5dc593dcbcbcd3174466f2f27f97ca09830478ccb13fa477be88fb2308ef2607a2 SHA512 7d80ce8e63384ca88fcde9dc3aa7f5ebbd21d527df271def115f5a700f4367a842b153d5dfc21f1ae193545f05563cbfe054d536fa9fbd7f5453e80e7b76c91f MISC metadata.xml 259 BLAKE2B 348a110a37bf774248a59c7e7e450e9b5890f8d650650e459a7a7dd0eea5fb2b172d95a6d73fcdcd6659d85b48c4ff7f66a747e841a637f2df4dbcc920bae7e3 SHA512 b5e2418af2f399cb314f632b7c26cddcac2b7f622a1a09400cb7a895beb6bcbf0e3f9df560e02394c9b4555ddfabf2f6d08941251824f2118e684f0603269509 diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.18.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.18.ebuild deleted file mode 100644 index 5f7f607a912a..000000000000 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.18.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PN=VBoxGuestAdditions -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}_${MY_PV} - -DESCRIPTION="CD image containing guest additions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" - -LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="" -RESTRICT="mirror" - -RDEPEND="!app-emulation/virtualbox-bin - !=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -src_unpack() { - return 0 -} - -src_install() { - insinto /usr/share/${PN/-additions} - newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso -} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.20.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.20.ebuild deleted file mode 100644 index 5f7f607a912a..000000000000 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.20.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PN=VBoxGuestAdditions -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}_${MY_PV} - -DESCRIPTION="CD image containing guest additions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" - -LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="" -RESTRICT="mirror" - -RDEPEND="!app-emulation/virtualbox-bin - !=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -src_unpack() { - return 0 -} - -src_install() { - insinto /usr/share/${PN/-additions} - newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso -} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.22.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.22.ebuild index b6488481acda..5f7f607a912a 100644 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.22.ebuild +++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.22.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" SLOT="0/$(ver_cut 1-2)" [[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="" RESTRICT="mirror" diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.24.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.24.ebuild new file mode 100644 index 000000000000..eaf1cf6fc9eb --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.24.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN=VBoxGuestAdditions +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}_${MY_PV} + +DESCRIPTION="CD image containing guest additions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" + +LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="" +RESTRICT="mirror" + +RDEPEND="!app-emulation/virtualbox-bin + !=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +src_unpack() { + return 0 +} + +src_install() { + insinto /usr/share/${PN/-additions} + newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso +} diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest index 2b767a7fe0ef..3fe83662ef11 100644 --- a/app-emulation/virtualbox-extpack-oracle/Manifest +++ b/app-emulation/virtualbox-extpack-oracle/Manifest @@ -1,7 +1,5 @@ -DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.18-142142.tar.gz 11157510 BLAKE2B d9ee20abac79ed5de03c39d1e6af3a5f18c5416149e9e64ebe9dfc4a937bd72b6590a2daaccc820e3ee6c6efcfd0c1c8e29bf3844cbbb929f13052415e16f2bb SHA512 3686b1c5dbdc5b28c172b4885c30ca9a444bc10dc7984df14a17e1dcc571456b06e80ad38e1409de8692c483c56f397162a53bd3dc6956d9ca91875fda0bda4e -DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.20-143896.tar.gz 11132930 BLAKE2B a26e05d9869a52187b379b24ed556c6296772d1360b6f7d61afe17c2818351b5ee2256398e0d53a16d2b6014540f343f7f13539c3d5529f079ac363b48ea0d6e SHA512 85cd8327860c253ce2f871dd1138d18d97b8706f64a3dafaaf340a43d8f44f7ee696a1f845761e7c8d6dcf11c7afd1618798194482b6e09cbe7e2657d980116a DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.22-144080.tar.gz 11133865 BLAKE2B f0db84695d94d914afd22086ced2a2ca73f860a0bc91bc11744e2cc4a3203584b06f7c855053e33c5f775bc7f6db08b7400f5eeea89566b9146dd144ccf1a2f9 SHA512 71dc1a82b9b88f615ecc7172df344042366a9303115cf44685ea96e3e729b8280edd36377b207fdbbf8adb388d1ec9b21c3ee709cf44aeb52d6811b26fa69a80 -EBUILD virtualbox-extpack-oracle-6.1.18.142142.ebuild 1083 BLAKE2B 088e4a97b7fb82fdbbe2206c79bf4296ca886d008df1c5cf1d789c0bbaced88b83fd8b5cee42f5aa6a5c9246c07ad9c8d2b7363a4a0f09cc687b3fbd6a64331e SHA512 e674994322cdcf4f0151f488c28324c786a72039ad32147dca57f84774ab39100f5534506e1ff5e6adeda75314ba3ef071b032c39ab4b6754b3469ccb79707ae -EBUILD virtualbox-extpack-oracle-6.1.20.143896.ebuild 1083 BLAKE2B 088e4a97b7fb82fdbbe2206c79bf4296ca886d008df1c5cf1d789c0bbaced88b83fd8b5cee42f5aa6a5c9246c07ad9c8d2b7363a4a0f09cc687b3fbd6a64331e SHA512 e674994322cdcf4f0151f488c28324c786a72039ad32147dca57f84774ab39100f5534506e1ff5e6adeda75314ba3ef071b032c39ab4b6754b3469ccb79707ae -EBUILD virtualbox-extpack-oracle-6.1.22.144080.ebuild 1084 BLAKE2B 1a44253aa5a7e89afaf6a416954707c672931710d21320092f0ac6f350cf94d61b88880e1b3061885312b6a3ffd90976f2cc1003c8445b26fb689e71f42a0a62 SHA512 ed161efc95a9d02ed8e20e7affa26e2f8b10d225dc7162a034a6ac98f71874f78fe13477c0ac0bbe11e174c5befeb8ba9728078824646734915722066d5a8ba9 +DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.24.tar.gz 11135003 BLAKE2B 53bb6dc35eb8ab1a58492ca3b67b63885ffa1ad3ed3a51a9e7e8c522845b082c420fb39a31a379ee56b45c9b02452acc5be4d72c5a5d9bddaa428bf7c9a3a086 SHA512 e2af2213e99c8c35a3090f5e36d05b1ef27c920cd31a2bf97b0368a89f27a5e2d0e0e0dced5e4e7bacda50fe4b57738924f13a933f5307ff2c8c4015ecc030ae +EBUILD virtualbox-extpack-oracle-6.1.22.144080.ebuild 1083 BLAKE2B 088e4a97b7fb82fdbbe2206c79bf4296ca886d008df1c5cf1d789c0bbaced88b83fd8b5cee42f5aa6a5c9246c07ad9c8d2b7363a4a0f09cc687b3fbd6a64331e SHA512 e674994322cdcf4f0151f488c28324c786a72039ad32147dca57f84774ab39100f5534506e1ff5e6adeda75314ba3ef071b032c39ab4b6754b3469ccb79707ae +EBUILD virtualbox-extpack-oracle-6.1.24.ebuild 1070 BLAKE2B 213b49c6213be21d5f5da9e0ecfb7fb43b0af9525ca9052660036c8fb2bdfd0153afce75e903fa178c7fb09a67e3d270bc9b054d4b1c2889727e5bcfe26e00cc SHA512 e2f3cf167a0a8781d8a4a7e8aeee4fb626e04db82203bc6f0202efb93d80c0e726bf5fc2fadefbaeebd82174859db4fcc4fcdf749d23256b15d31d44bb480ece MISC metadata.xml 259 BLAKE2B 348a110a37bf774248a59c7e7e450e9b5890f8d650650e459a7a7dd0eea5fb2b172d95a6d73fcdcd6659d85b48c4ff7f66a747e841a637f2df4dbcc920bae7e3 SHA512 b5e2418af2f399cb314f632b7c26cddcac2b7f622a1a09400cb7a895beb6bcbf0e3f9df560e02394c9b4555ddfabf2f6d08941251824f2118e684f0603269509 diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.18.142142.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.18.142142.ebuild deleted file mode 100644 index 54db34dd7a15..000000000000 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.18.142142.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - DEP_PV="${MY_PV}" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - DEP_PV="${MAIN_PV}" -fi -VBOX_BUILD_ID="$(ver_cut 4)" -MY_PN="Oracle_VM_VirtualBox_Extension_Pack" -MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" - -DESCRIPTION="PUEL extensions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" - -LICENSE="PUEL" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="=app-emulation/virtualbox-${DEP_PV}*" - -S="${WORKDIR}" - -QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" - -src_install() { - insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom -} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.20.143896.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.20.143896.ebuild deleted file mode 100644 index 54db34dd7a15..000000000000 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.20.143896.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - DEP_PV="${MY_PV}" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - DEP_PV="${MAIN_PV}" -fi -VBOX_BUILD_ID="$(ver_cut 4)" -MY_PN="Oracle_VM_VirtualBox_Extension_Pack" -MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" - -DESCRIPTION="PUEL extensions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" - -LICENSE="PUEL" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="=app-emulation/virtualbox-${DEP_PV}*" - -S="${WORKDIR}" - -QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" - -src_install() { - insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom -} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.22.144080.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.22.144080.ebuild index 5e6035fc8003..54db34dd7a15 100644 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.22.144080.ebuild +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.22.144080.ebuild @@ -26,7 +26,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpac LICENSE="PUEL" SLOT="0/$(ver_cut 1-2)" [[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="" RESTRICT="bindist mirror strip" diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.24.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.24.ebuild new file mode 100644 index 000000000000..0634acf398dd --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.24.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5-6)" + DEP_PV="${MY_PV}" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" + DEP_PV="${MAIN_PV}" +fi +#VBOX_BUILD_ID="$(ver_cut 4)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}" #-${VBOX_BUILD_ID}" + +DESCRIPTION="PUEL extensions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" + +LICENSE="PUEL" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="" +RESTRICT="bindist mirror strip" + +RDEPEND="=app-emulation/virtualbox-${DEP_PV}*" + +S="${WORKDIR}" + +QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" + +src_install() { + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom +} diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index a73abae610e8..d10120b4fe2f 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -5,11 +5,11 @@ AUX virtualbox-guest-additions-8.initd 538 BLAKE2B f720a0f9de10c5240f1ac8a590c4e AUX virtualbox-guest-additions-8.initd-r1 547 BLAKE2B 1b26fc26e95baa74d551f8a9cf62f698485d63a0487c4cc4fc9906b8ced191f078e2b794ef9db9488de9e92188c73812c16e37ff542f06e0d52a4dc62b631960 SHA512 81ccc8d3edd965feb55290cf1281a97a485f14fd1de07cd59479bd7746291d41abc45c2e7e209f17f7df057528be83c48f3e270b526e6b86d85c5ec4be2d3944 AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9fdc1e0c8a1440ac87674dad44a1493a9347e6e2b351ae2b71e050ba06ae9848168220d62981a9e0c984ea68bf48ea06b485 SHA512 b6226146f3591a778551e94ae2661e2ae3c6b761d20600d741eaaa03f43f0a2b841d2a44d9eec3a3768edb23b021cee94c7849d998ee4104ad60dad2df88df83 AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038babb62a40bd5b2de2dc5b228cabe55612d92a522e6ae92aa7ff4ff2ab26772c3b54ce95ebac4e7fc5a SHA512 ac2b14970dc6667ceec2dbdae52bc92cbad4aff020898ede156454e8a8a703354f15c7e19cfbd2bdd15e251493fd05cacfe814cabee0f9b4cf155e44860ed4c9 -DIST VirtualBox-6.1.18.tar.bz2 165507486 BLAKE2B 3cf18f30671426f533838eb0579928b08ce022b832d509e70274978efce2e3e0e14dc8fbf258ef9a1ce8a3d666081863aa6971340e04600434f58136fe5c221a SHA512 41cb4bd42429b09836c59ef9867dd3d35d0d5512ff6e515a7f8688ed444c079ce353a84f0d45b607ccf08424782d5de09b264f51b2c41a9ec34eb834458c293c DIST VirtualBox-6.1.20.tar.bz2 165569564 BLAKE2B cf8c110e78e7d7bef3e3243a8966f4d816dacc8dad6cc44737023a13f1b89dfb50661f6dabc742f328e5c03556ec82e7a22f5c1b97cfef774652ec901e733e5d SHA512 b5af4e04e1a52c85b20226a274fac93712b79d426c0268cce3f2a337616a03161a55522ecddd13844bfc24a6808ba3d651366e74ce657cc6f8fd64c34ae745a4 DIST VirtualBox-6.1.22.tar.bz2 165560989 BLAKE2B 871c2189827174561a2abce4d52056db892e596bcff76274770b43157cca93d2be9a3458ad3d41cca81d73d95f1db37e2d15fdbc192f4d5a59e3cc9b6365d3f6 SHA512 ab0fc7cea455f74598d5da18528404405221e9c96a34f0355a39187524240596db4b54e1b1af5f152d5329b8e7977218819c0605f0d0ba0d83a1fb8f8487548d +DIST VirtualBox-6.1.24.tar.bz2 165754851 BLAKE2B 65bbc130281a745a00eee2a055dd59893e2f4b701cbdb31f4c45e2b7389f85f59d8a78ce1e03c83734a49b76fa61f56ea083a588874fa4023b723694f75ee8fb SHA512 cf2c5f58d2f160f8a22d94b7e30bcdaabd907661e05a72341bee93f5092b96c0c84d2291005f433040235227e3d6595ce0e66759c44c24eaedc6c9614646b3d6 DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123 -EBUILD virtualbox-guest-additions-6.1.18-r1.ebuild 6205 BLAKE2B d1171f7d2e7f363eec0376812cfd34ac725f24083a4acc3ca4ca5346f84cbbeea1414a4c93915b5f82f323f641d78e0967a02f5f0853cd5c57b1b10fa5b0e455 SHA512 4cea83e923f2037bc3058bf349f640e46be929f5c5425d353923bf7ce6cb17ed2a53fe986f5e24fdc6a05f8c7f1a679356a71b6bc84c5eda74cdec7430afffd3 EBUILD virtualbox-guest-additions-6.1.20.ebuild 6205 BLAKE2B d1171f7d2e7f363eec0376812cfd34ac725f24083a4acc3ca4ca5346f84cbbeea1414a4c93915b5f82f323f641d78e0967a02f5f0853cd5c57b1b10fa5b0e455 SHA512 4cea83e923f2037bc3058bf349f640e46be929f5c5425d353923bf7ce6cb17ed2a53fe986f5e24fdc6a05f8c7f1a679356a71b6bc84c5eda74cdec7430afffd3 -EBUILD virtualbox-guest-additions-6.1.22.ebuild 6207 BLAKE2B 4b06a2e8c1e0c9c4959a5cc1c47e6901ae99cf06f07ab67013558f09976130f1f5d13ad6da16f5e72dbb110306d8dedacd735d789c32f831d7b463569b0920ab SHA512 3563a5efa78257a211d4aaa9a4ed1639cedc7af6b9457d5a54a9711010130eedcdf9b914d00b03c9d87a4d22e40f8bd773c1c4bfe5636cee0d0a42545340450e +EBUILD virtualbox-guest-additions-6.1.22.ebuild 6206 BLAKE2B ea540bc820358581e7d95aeadb13ad2fda156b0735b4a33676a163c1dbaae235db82907cf08ac833700fd297e57fecfe775bc1036f323fc04c2cb279ccf807f8 SHA512 f1ef13f8dd2d890e729c797375b5e8662fe776d008f78008668114e7467ef0fe98b277bd12e3a67a685d66c13ed38731e6dc7590722440acbe7541fcccf67965 +EBUILD virtualbox-guest-additions-6.1.24.ebuild 6207 BLAKE2B 4b06a2e8c1e0c9c4959a5cc1c47e6901ae99cf06f07ab67013558f09976130f1f5d13ad6da16f5e72dbb110306d8dedacd735d789c32f831d7b463569b0920ab SHA512 3563a5efa78257a211d4aaa9a4ed1639cedc7af6b9457d5a54a9711010130eedcdf9b914d00b03c9d87a4d22e40f8bd773c1c4bfe5636cee0d0a42545340450e MISC metadata.xml 259 BLAKE2B 348a110a37bf774248a59c7e7e450e9b5890f8d650650e459a7a7dd0eea5fb2b172d95a6d73fcdcd6659d85b48c4ff7f66a747e841a637f2df4dbcc920bae7e3 SHA512 b5e2418af2f399cb314f632b7c26cddcac2b7f622a1a09400cb7a895beb6bcbf0e3f9df560e02394c9b4555ddfabf2f6d08941251824f2118e684f0603269509 diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18-r1.ebuild deleted file mode 100644 index 87c84047ba44..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18-r1.ebuild +++ /dev/null @@ -1,221 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd toolchain-funcs - -MY_PN="VirtualBox" -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="${MY_PN}-${MY_PV}" -[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" - -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64 x86" -IUSE="X" - -# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist -RDEPEND=" - acct-group/vboxguest - acct-group/vboxsf - acct-user/vboxguest - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}" -VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) - vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Provide kernel sources - pushd src/VBox/Additions &>/dev/null || die - ebegin "Extracting guest kernel module sources" - kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die - eend - popd &>/dev/null || die - - # PaX fixes (see bug #298988) - pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.22.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.22.ebuild index d767c7658ddd..08e344b84659 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.22.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.22.ebuild @@ -19,7 +19,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}. LICENSE="GPL-2" SLOT="0/$(ver_cut 1-2)" [[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" IUSE="X" # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.24.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.24.ebuild new file mode 100644 index 000000000000..d767c7658ddd --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.24.ebuild @@ -0,0 +1,221 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-mod systemd toolchain-funcs + +MY_PN="VirtualBox" +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="${MY_PN}-${MY_PV}" +[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" + +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="X" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}" +VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) + vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die + eend + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index 1ea8e81548dd..47d2f3a752e9 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -1,13 +1,9 @@ AUX create_vbox_modules_tarball.sh 896 BLAKE2B 4153a8fa67cd8fe7187f3c4232691b1ded8e51315f41292f9fcc0adb294e9b235b0c2f1e91f6f728076ab85f687ea1ba2877dc44b511eaceb24e7d6e71a8bbd4 SHA512 c3154a13550817c581fa142e24081edfbdbc145315d34cc4569d12ad87a518fa0bf1443c053b50fdfdea6915bda1325ad973455ee85079294b83a49fd53f4771 AUX virtualbox-modules-5.2.8-pax-const.patch 1728 BLAKE2B 1a2e8c5946af5abcf443c8cea08a6dbe78f75dd89aa072ac2ac0d745e598e8195ef321eaee53d31bedf52013d94efc046863e65c9fac0d61a507b292b04c7fb9 SHA512 600fd557992efb1fb5db9db64914becd5a86f81a42d70bbc3823533df941881f2289a6ccf630adb8346419499dd48b84ed43c21d0aba183a780daa99fcafddbd -AUX virtualbox-modules-6.1.18-binutils-2.36.patch 1930 BLAKE2B 8cdb1564f9ac3bcfd7b73a7e991a3594ee53338692f54c83522ef6c5a7ce14207d6e57290c75a37004025518ecc998332a25216aab6044381628c5f02d580e22 SHA512 a1b6cc713b9ec92095e82450546678ff06a2099757cfed8c2b8257c04a50ea1016eafc69241efc1bf17cad506036615f5943c50fb8e162df113e9495548f6925 -AUX virtualbox-modules-6.1.18-linux-5.11.patch 425 BLAKE2B b81f2c577732c51f92b524271e44f6c9763b8fd91b78e7eba977905e7e92ce6de931c05cf97d7502eaeece29c89fa3e29a419a9203b81b7ca245e11c144e2413 SHA512 896c1313c43d7917d58fcf227ac43ec6a1f1369ad5271e6184226347da680f4c0e97aea30c882b455964e7c08b342703f7d4b688cda743ad6249931256807b7a AUX virtualbox.conf 38 BLAKE2B 4f03cb09a1cca36013beb2a38220115d63510fd0aa63e2df1f0dc755a9162f7c2efed32d8f9c98fcc1e36d48067471085d5b038c6e8b3118508fbaaaab3790f7 SHA512 63eba0963b3344ea7e7a0035560406899d878a0761cddef9853bec95deb9812b221e98f446f240070d6448d61d6ecbcf7a990bcd52863660e8f21cf9a98c0e1d AUX virtualbox.conf-r1 30 BLAKE2B 6308dedc75e2677cbdc844b53f51359e6b5745d3510636b04d08512122aeb6db81a1a18af156a8b9acccad395d390b24f9c27ed47413382cb6101266762de230 SHA512 5c6d31f527ca2db8d7fbeea759ac328eff42803d7940fd81ef12af22eb09f8913a0e561c35db1963e2a8b398ee288692817b5c8f3d439f2a6fd381769ec2ac8a -DIST vbox-kernel-module-src-6.1.18.tar.xz 672004 BLAKE2B 7199ba2a5020e5ab51d82735df16aee78ece74db232733b932c380f90dffd589a72613120bbd5c580381ab6f6308abb8d12f69855b9c0a8345bfb8587d022019 SHA512 49b54898b2701774fdeec0cd99dd51a1dd71ffd9be38e125fde73f0c64a697138d13bddbb0ed0e9582d354fa0394608084effb68bd35b266c87f6e3b44c6f342 -DIST vbox-kernel-module-src-6.1.20.tar.xz 672188 BLAKE2B 0b2ef1e02ce6f55211703946dc53df0fe949a94bac2caf050d31a78e674c2934d5cfaf788da2246000d1dc99218a572cb02272a1a92f4df913fcf7635b65a98b SHA512 4fdc16258ec03c720c81b62c680addcbde8257a58a94b3bca8eefd378c126833d84f7f4fa7bb76fcd7c761983f8626d121b2d31d761f608ca7cce6a689ec0469 DIST vbox-kernel-module-src-6.1.22.tar.xz 672348 BLAKE2B 331f81c370c24487f4966c745a72329065df2cc22918d03edefdf546d8e4ff0a36404ce98f1012faaacc301cd2c507b055db69b9125f91ad87fa5fde14d3abe0 SHA512 b50d7699db8909ea4e9126715152336a2c46e06f9fc24b5ef0624e7d26de1c83b2a57b0387dab0a46a9e50f9906126cfdcae4f290599de88a980adaff7fba180 -EBUILD virtualbox-modules-6.1.18.ebuild 1531 BLAKE2B 62f3f2198aae186e8a0206a9e7521bb42f7bf9936e9020f94c89ba70b7f6407c4fe76f6357c7e7739636b2bf0464ada470b08b21aafb6d6d7d41586146b4543a SHA512 70b57918797c9287cc23988bd84be82a86713344364124f1ce7bcbe5f24e1844ba038ef8919c02e4f31902e184723905da12ae006153b5f75e6c33326c0f2b22 -EBUILD virtualbox-modules-6.1.20.ebuild 1433 BLAKE2B c37f4ebb63aed96ba78b0135688f576a703fd2dcf2b677c64ead9b89dd1b0c4e40bff9076f433034c1330739c295c015a61e949118410c0c59ec609155d8f535 SHA512 31ab9638f1a2c89b9abf6cab996a345ffd9b72a57ed95046cea436aea25e12709018f1d3504cb4b0d1254a4ec8f2756612c682d5d84b2630dff9301bec24ef90 -EBUILD virtualbox-modules-6.1.22.ebuild 1434 BLAKE2B f799d32f49be7d6d343ab002f2b6d1f6d6ce17ca1f4973d5b375499b4f42dba23b8f467f807f6edc27bf534db2bbb671ab6984d32fdb9a0e42d9b7345491410a SHA512 c075093ff44a6d31d049a3182131ad084066b657cd4cbd15af9d4948944543231e9c67a12f96ae760b2fab953498c3bfe2cd5761a0292e2be3fa5dedd8187d18 +DIST vbox-kernel-module-src-6.1.24.tar.xz 674584 BLAKE2B 3a20f615426a7b788bc4bce00e416fa3822cbec3f00691651acd53b7c7bda8b43d3669195cececa83f1fc50a792e417adcd709d859497da143c4d93a2b414912 SHA512 220d57ab33a41464cd9e506d38390e60b9e67ca8262b1a13732f3d40820e038365c129eb7144f1932b8c2d3fdcea828de3070dd927788015301bf4aa59c1cc48 +EBUILD virtualbox-modules-6.1.22.ebuild 1433 BLAKE2B c37f4ebb63aed96ba78b0135688f576a703fd2dcf2b677c64ead9b89dd1b0c4e40bff9076f433034c1330739c295c015a61e949118410c0c59ec609155d8f535 SHA512 31ab9638f1a2c89b9abf6cab996a345ffd9b72a57ed95046cea436aea25e12709018f1d3504cb4b0d1254a4ec8f2756612c682d5d84b2630dff9301bec24ef90 +EBUILD virtualbox-modules-6.1.24.ebuild 1434 BLAKE2B f799d32f49be7d6d343ab002f2b6d1f6d6ce17ca1f4973d5b375499b4f42dba23b8f467f807f6edc27bf534db2bbb671ab6984d32fdb9a0e42d9b7345491410a SHA512 c075093ff44a6d31d049a3182131ad084066b657cd4cbd15af9d4948944543231e9c67a12f96ae760b2fab953498c3bfe2cd5761a0292e2be3fa5dedd8187d18 MISC metadata.xml 352 BLAKE2B c8715abe9ff5c699ae15dd0906ac10eb7f750cb00092994d174a2a6a3315aff2601781a5392058087706dcf744614fa32cd950c7fa19dd896f7617f735089a0f SHA512 4e57c8aee47fe806315d0d138c81ac919197ed0a6dbf4273994228ceae32e06791e1951e9599bdfbdb6e2f329f74cbb08ce9d69ad3e6264668872dca3e4371f9 diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-binutils-2.36.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-binutils-2.36.patch deleted file mode 100644 index 2eaeb1ea3380..000000000000 --- a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-binutils-2.36.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- virtualbox-modules-6.1.18/vboxdrv/SUPDrvTracer.c -+++ virtualbox-modules-6.1.18/vboxdrv/SUPDrvTracer.c -@@ -1472,29 +1472,32 @@ - __asm__("\ - .section .text \n\ - \n\ -- .p2align 2,,3 \n\ -+ .p2align 4 \n\ - .global SUPR0TracerFireProbe \n\ -+ .type SUPR0TracerFireProbe, @function \n\ - SUPR0TracerFireProbe: \n\ - "); - # if defined(RT_ARCH_AMD64) --__asm__(" \ -- movq g_pfnSupdrvProbeFireKernel(%rip), %rax \n\ -+__asm__("\ -+ movq g_pfnSupdrvProbeFireKernel(%rip), %rax \n\ - jmp *%rax \n\ - "); - # elif defined(RT_ARCH_X86) - __asm__("\ -- movl g_pfnSupdrvProbeFireKernel, %eax \n\ -+ movl g_pfnSupdrvProbeFireKernel, %eax \n\ - jmp *%eax \n\ - "); - # else - # error "Which arch is this?" - # endif - __asm__("\ -+ .size SUPR0TracerFireProbe, . - SUPR0TracerFireProbe \n\ - \n\ - .type supdrvTracerProbeFireStub,@function \n\ - .global supdrvTracerProbeFireStub \n\ - supdrvTracerProbeFireStub: \n\ - ret \n\ -+ .size supdrvTracerProbeFireStub, . - supdrvTracerProbeFireStub \n\ - \n\ - .previous \n\ - "); diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-linux-5.11.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-linux-5.11.patch deleted file mode 100644 index 844e37e9fda7..000000000000 --- a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-linux-5.11.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fixes build with kernel 5.11. - -Bug: https://www.virtualbox.org/ticket/20198 -Bug: https://bugs.gentoo.org/762994 -From: jospezial@gmx.de - ---- a/vboxnetflt/linux/VBoxNetFlt-linux.c -+++ b/vboxnetflt/linux/VBoxNetFlt-linux.c -@@ -38,6 +38,7 @@ - #include - #endif - #include -+#include - #include - #include - #include diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.18.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.18.ebuild deleted file mode 100644 index 9e446e585c66..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.18.ebuild +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="pax-kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -PATCHES=( - "${FILESDIR}/${P}-linux-5.11.patch" #762994 - "${FILESDIR}/${P}-binutils-2.36.patch" -) - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax-kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.20.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.20.ebuild deleted file mode 100644 index ac30ee8cc037..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.20.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="pax-kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax-kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.22.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.22.ebuild index 0a6e70d58259..ac30ee8cc037 100644 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.22.ebuild +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.22.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" LICENSE="GPL-2" SLOT="0/$(ver_cut 1-2)" [[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="pax-kernel" RDEPEND="!=app-emulation/virtualbox-9999" diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.24.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.24.ebuild new file mode 100644 index 000000000000..0a6e70d58259 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.24.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=7 + +inherit linux-mod toolchain-funcs + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="pax-kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" +MODULESD_VBOXDRV_ENABLED="yes" +MODULESD_VBOXNETADP_ENABLED="no" +MODULESD_VBOXNETFLT_ENABLED="no" + +pkg_setup() { + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax-kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} + +pkg_postinst() { + # Remove vboxpci.ko from current running kernel + find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete + linux-mod_pkg_postinst +} diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 0e3e1167f213..43443d5846b1 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -8,11 +8,9 @@ AUX virtualbox-5.2.8-paxmark-bldprogs.patch 2732 BLAKE2B a3966e0f1a990c648cba0df AUX virtualbox-6.1.20-lsilogicsas_crash_fix.patch 1941 BLAKE2B 05bff13ff8f9ef08bf8a9cc2c051ad89c507aa770172c6ffd5247723e28adb0e8683fde123613b6c7703f299d41636c81f8ad9b499069cbb22c424fb6e8bdff4 SHA512 ffb4648b36afcc251be9c944911660769d266ea83be8de2ceac9462af13d10689987a2a30de15407414856775ad3eb5226f39c2c598b61568b2e40ed80b8c2a0 AUX virtualbox-ose-6-wrapper 3570 BLAKE2B 730747f4e7517fae218d8abf311e1f30f90bbf0810bdd1ee358dd4250359d501803c2213782310788b2c54a3c57f5195455b89331f02d35be0c5f4713a235b54 SHA512 e7e1e161fa8030234973e18d9d033238ded1f0b511323b642d8102dc062a16e69b6fa63729e88dcf1ef16fa02befd1f36e7242e23db12fa838b25d83f19810ea AUX virtualbox-vboxusb_tmpfilesd 35 BLAKE2B 56937e236a0e4d1a2aa085271e8ae0af9553fdf7c3b804af4d3fda3aa8dbc32d63762fee90bc949390cb9cd67f2f0111894c8af084731dab6920ae1675c69a64 SHA512 72e4602f5f214f8833486f5c787c263a10390e8bdf65b5615d67c35ec44048f02add12fe43b19f9c57a9d2f12d768c52e54fcfb9052c0611d06cc988a698c171 -DIST VirtualBox-6.1.18.tar.bz2 165507486 BLAKE2B 3cf18f30671426f533838eb0579928b08ce022b832d509e70274978efce2e3e0e14dc8fbf258ef9a1ce8a3d666081863aa6971340e04600434f58136fe5c221a SHA512 41cb4bd42429b09836c59ef9867dd3d35d0d5512ff6e515a7f8688ed444c079ce353a84f0d45b607ccf08424782d5de09b264f51b2c41a9ec34eb834458c293c -DIST VirtualBox-6.1.20.tar.bz2 165569564 BLAKE2B cf8c110e78e7d7bef3e3243a8966f4d816dacc8dad6cc44737023a13f1b89dfb50661f6dabc742f328e5c03556ec82e7a22f5c1b97cfef774652ec901e733e5d SHA512 b5af4e04e1a52c85b20226a274fac93712b79d426c0268cce3f2a337616a03161a55522ecddd13844bfc24a6808ba3d651366e74ce657cc6f8fd64c34ae745a4 DIST VirtualBox-6.1.22.tar.bz2 165560989 BLAKE2B 871c2189827174561a2abce4d52056db892e596bcff76274770b43157cca93d2be9a3458ad3d41cca81d73d95f1db37e2d15fdbc192f4d5a59e3cc9b6365d3f6 SHA512 ab0fc7cea455f74598d5da18528404405221e9c96a34f0355a39187524240596db4b54e1b1af5f152d5329b8e7977218819c0605f0d0ba0d83a1fb8f8487548d +DIST VirtualBox-6.1.24.tar.bz2 165754851 BLAKE2B 65bbc130281a745a00eee2a055dd59893e2f4b701cbdb31f4c45e2b7389f85f59d8a78ce1e03c83734a49b76fa61f56ea083a588874fa4023b723694f75ee8fb SHA512 cf2c5f58d2f160f8a22d94b7e30bcdaabd907661e05a72341bee93f5092b96c0c84d2291005f433040235227e3d6595ce0e66759c44c24eaedc6c9614646b3d6 DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123 -EBUILD virtualbox-6.1.18.ebuild 14498 BLAKE2B 3b747913519f4125ca902cc409015751929384cf12e4a07cf20700abc57a35e93a8d59429136dde18c62bcaca8c575c52b01a5818bf49f9042f77e22aa6ea5c6 SHA512 69a281c9930bd8241f495fda76bea675087525bc9b50c0f5a8884ea658e264daae18a084511df1d8f371f4029f0e9bbaefa579ab2e8b1b11b51b7bf243f921ea -EBUILD virtualbox-6.1.20-r1.ebuild 14423 BLAKE2B 5e9602cc0f0738f1fddad0e3a664abc36459c8732765f3ef60af59eb4ec93a8f12a2b7ab455d57b718d1d6e003acac1f26183a8414a720d4a8cf54a7f128c737 SHA512 38da2bf9f762e7f40ba7986ca594a61e4ecbcd1b9ebaef67354c4939d268bb390411d629b0bae29f994f58569a17685c4109583660e7589cd36aac107e69cfe1 -EBUILD virtualbox-6.1.22.ebuild 14363 BLAKE2B c0f9760a9b272fae7fd7bbc0b3879f0869be119773f64ee0a0efb48f3b0d5d478fdcbabf50f56084e613f8717f7c46ed9af6ce8d37e4d38e2cb04b31e797770b SHA512 724ee41630dd9d7247d682bddcfc278219048a9574a4afa9eb61a93ea8a2d21b60e3486b44378dd0bc1d086a5980886735b501fb2305ad2ac618a6adfab3d955 +EBUILD virtualbox-6.1.22.ebuild 14362 BLAKE2B 9573907516a31073da15e80b8b40c8947063eaee9ed67e2c46665097b88e0dc9bc8d5be2f804b62f6e347caae910fc35fd7fac98d30ecfe9f2c15bb8a7450177 SHA512 dca9ddb099f17bfb2e77f407cfbcc3aa1464d49d3312d1a8be4bc971d1bf896e8bc1a675103dc4f4cecd99d77bc0aba7035dfb0d6059a6e6f64b3b8fda5d9c8b +EBUILD virtualbox-6.1.24.ebuild 14363 BLAKE2B c0f9760a9b272fae7fd7bbc0b3879f0869be119773f64ee0a0efb48f3b0d5d478fdcbabf50f56084e613f8717f7c46ed9af6ce8d37e4d38e2cb04b31e797770b SHA512 724ee41630dd9d7247d682bddcfc278219048a9574a4afa9eb61a93ea8a2d21b60e3486b44378dd0bc1d086a5980886735b501fb2305ad2ac618a6adfab3d955 MISC metadata.xml 773 BLAKE2B 52e55a63efff63886bedad4ac72e8b31088834ee55f3ac257f874afd77cf7763c5343ebce6defa399c55f8045dd1b17bfbd3ca3669adbfbe51585a59aa62bf0b SHA512 212e94588bc598d27ab46c3955b1e9963c38a7fee58502b13ce56bb14f241fe37961cd2f57150f96943f893314c2668a67afbb5b3b7e7db4354436965b7c66e3 diff --git a/app-emulation/virtualbox/virtualbox-6.1.18.ebuild b/app-emulation/virtualbox/virtualbox-6.1.18.ebuild deleted file mode 100644 index f504873a619e..000000000000 --- a/app-emulation/virtualbox/virtualbox-6.1.18.ebuild +++ /dev/null @@ -1,511 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8} ) -inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg - -MY_PN="VirtualBox" -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}-${MY_PV} -[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" - -DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz" - -LICENSE="GPL-2 dtrace? ( CDDL )" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" - -CDEPEND=" - ${PYTHON_DEPS} - !app-emulation/virtualbox-bin - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}} - dev-libs/libIDL - >=dev-libs/libxslt-1.1.19 - net-misc/curl - dev-libs/libxml2 - media-libs/libpng:0= - media-libs/libvpx:0= - sys-libs/zlib:= - !headless? ( - media-libs/libsdl:0[X,video] - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - opengl? ( media-libs/libglvnd[X] ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - opengl? ( dev-qt/qtopengl:5 ) - x11-libs/libXinerama - ) - ) - dev-libs/openssl:0= - lvm? ( sys-fs/lvm2 ) - opus? ( media-libs/opus ) - udev? ( >=virtual/udev-171 ) - vnc? ( >=net-libs/libvncserver-0.9.9 ) -" -DEPEND=" - ${CDEPEND} - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - !headless? ( - x11-libs/libXinerama - opengl? ( virtual/opengl ) - ) - pam? ( sys-libs/pam ) - pax-kernel? ( sys-apps/elfix ) - pulseaudio? ( media-sound/pulseaudio ) - qt5? ( dev-qt/linguist-tools:5 ) - vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/libcap - sys-power/iasl - virtual/pkgconfig - doc? ( - app-text/docbook-sgml-dtd:4.4 - dev-texlive/texlive-basic - dev-texlive/texlive-latex - dev-texlive/texlive-latexrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-fontsextra - ) - java? ( >=virtual/jdk-1.6 ) -" -RDEPEND=" - ${CDEPEND} - java? ( >=virtual/jre-1.6 ) -" - -QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so - usr/lib/virtualbox/VBoxSDL.so - usr/lib/virtualbox/VBoxSharedFolders.so - usr/lib/virtualbox/VBoxDD2.so - usr/lib/virtualbox/VBoxOGLrenderspu.so - usr/lib/virtualbox/VBoxPython.so - usr/lib/virtualbox/VBoxDD.so - usr/lib/virtualbox/VBoxDDU.so - usr/lib/virtualbox/VBoxREM64.so - usr/lib/virtualbox/VBoxSharedClipboard.so - usr/lib/virtualbox/VBoxHeadless.so - usr/lib/virtualbox/VBoxRT.so - usr/lib/virtualbox/VBoxREM.so - usr/lib/virtualbox/VBoxSettings.so - usr/lib/virtualbox/VBoxKeyboard.so - usr/lib/virtualbox/VBoxSharedCrOpenGL.so - usr/lib/virtualbox/VBoxVMM.so - usr/lib/virtualbox/VirtualBox.so - usr/lib/virtualbox/VBoxOGLhosterrorspu.so - usr/lib/virtualbox/components/VBoxC.so - usr/lib/virtualbox/components/VBoxSVCM.so - usr/lib/virtualbox/components/VBoxDDU.so - usr/lib/virtualbox/components/VBoxRT.so - usr/lib/virtualbox/components/VBoxREM.so - usr/lib/virtualbox/components/VBoxVMM.so - usr/lib/virtualbox/VBoxREM32.so - usr/lib/virtualbox/VBoxPython2_7.so - usr/lib/virtualbox/VBoxXPCOMC.so - usr/lib/virtualbox/VBoxOGLhostcrutil.so - usr/lib/virtualbox/VBoxNetDHCP.so - usr/lib/virtualbox/VBoxNetNAT.so" - -S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}" - -REQUIRED_USE=" - java? ( sdk ) - python? ( sdk ) - vboxwebsrv? ( java ) - ${PYTHON_REQUIRED_USE} -" - -pkg_pretend() { - if ! use headless && ! use qt5 ; then - einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." - elif use headless && use qt5 ; then - einfo "You selected USE=\"headless qt5\", defaulting to" - einfo "USE=\"headless\", this build will not include any X11/Qt frontend." - fi - - if ! use opengl ; then - einfo "No USE=\"opengl\" selected, this build will lack" - einfo "the OpenGL feature." - fi - if ! use python ; then - einfo "You have disabled the \"python\" USE flag. This will only" - einfo "disable the python bindings being installed." - fi -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup - - tc-ld-disable-gold #bug 488176 - tc-export CC CXX LD AR RANLIB - export HOST_CC="$(tc-getBUILD_CC)" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Replace pointless GCC version check with something less stupid. - # This is needed for the qt5 version check. - sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ - -i configure || die - - # Disable things unused or split into separate ebuilds - sed -e "s@MY_LIBDIR@$(get_libdir)@" \ - "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die - - # Respect LDFLAGS - sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ - -i Config.kmk src/libs/xpcom18a4/Config.kmk || die - - # Do not use hard-coded ld (related to bug #488176) - sed -e '/QUIET)ld /s@ld @$(LD) @' \ - -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die - - # Use PAM only when pam USE flag is enbaled (bug #376531) - if ! use pam ; then - elog "Disabling PAM removes the possibility to use the VRDP features." - sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die - sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ - src/VBox/HostServices/Makefile.kmk || die - fi - - # add correct java path - if use java ; then - sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ - -i "${S}"/Config.kmk || die - java-pkg-opt-2_src_prepare - fi - - # Only add nopie patch when we're on hardened - if gcc-specs-pie ; then - eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" - fi - - # Only add paxmark patch when we're on pax-kernel - if use pax-kernel ; then - eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch - fi - - eapply "${WORKDIR}/patches" - - eapply_user -} - -doecho() { - echo "$@" - "$@" || die -} - -src_configure() { - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --disable-dbus - --disable-kmods - $(usex alsa '' --disable-alsa) - $(usex debug --build-debug '') - $(usex doc '' --disable-docs) - $(usex java '' --disable-java) - $(usex lvm '' --disable-devmapper) - $(usex opus '' --disable-libopus) - $(usex pulseaudio '' --disable-pulse) - $(usex python '' --disable-python) - $(usex vboxwebsrv --enable-webservice '') - $(usex vnc --enable-vnc '') - ) - if ! use headless ; then - myconf+=( - $(usex opengl '' --disable-opengl) - $(usex qt5 '' --disable-qt) - ) - else - myconf+=( - --build-headless - --disable-opengl - ) - fi - if use amd64 && ! has_multilib_profile ; then - myconf+=( --disable-vmmraw ) - fi - # not an autoconf script - doecho ./configure ${myconf[@]} -} - -src_compile() { - source ./env.sh || die - - # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) - MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ - VBOX_WITH_VBOXIMGMOUNT=1 \ - all -} - -src_install() { - cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die - - local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile - - vbox_inst() { - local binary="${1}" - local perms="${2:-0750}" - local path="${3:-${vbox_inst_path}}" - - [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" - [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." - - insinto ${path} - doins ${binary} - fowners root:vboxusers ${path}/${binary} - fperms ${perms} ${path}/${binary} - } - - # Create configuration files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-4-config" vbox.cfg - - # Set the correct libdir - sed \ - -e "s@MY_LIBDIR@$(get_libdir)@" \ - -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" - - # Install the wrapper script - exeinto ${vbox_inst_path} - newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" - fowners root:vboxusers ${vbox_inst_path}/VBox - fperms 0750 ${vbox_inst_path}/VBox - - # Install binaries and libraries - insinto ${vbox_inst_path} - doins -r components - - for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do - vbox_inst ${each} - done - - # These binaries need to be suid root. - for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do - vbox_inst ${each} 4750 - done - - # Install EFI Firmware files (bug #320757) - for each in VBoxEFI{32,64}.fd ; do - vbox_inst ${each} 0644 - done - - # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) - # VBoxXPCOMIPCD (bug #524202) - for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - # Symlink binaries to the shipped wrapper - for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl - dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount - - if use pam ; then - # VRDPAuth only works with this (bug #351949) - dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so - fi - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - if ! use headless ; then - vbox_inst rdesktop-vrdp - vbox_inst VBoxSDL 4750 - pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL - - for each in vboxsdl VBoxSDL ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - if use qt5 ; then - vbox_inst VirtualBox - vbox_inst VirtualBoxVM 4750 - for each in VirtualBox{,VM} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - if use opengl ; then - vbox_inst VBoxTestOGL - pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL - fi - - for each in virtualbox{,vm} VirtualBox{,VM} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - insinto /usr/share/${PN} - doins -r nls - doins -r UnattendedTemplates - - domenu ${PN}.desktop - fi - - pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die - for size in 16 32 48 64 128 ; do - newicon -s ${size} ${PN}-${size}px.png ${PN}.png - done - newicon ${PN}-48px.png ${PN}.png - doicon -s scalable ${PN}.svg - popd &>/dev/null || die - pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die - for size in 16 24 32 48 64 72 96 128 256 512 ; do - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="${PN}-${ico}-${size}px.png" - if [[ -f "${icofile}" ]] ; then - newicon -s ${size} ${icofile} ${PN}-${ico}.png - fi - done - done - popd &>/dev/null || die - fi - - if use lvm ; then - vbox_inst VBoxVolInfo 4750 - dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo - fi - - if use sdk ; then - insinto ${vbox_inst_path} - doins -r sdk - - if use java ; then - java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" - java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" - fi - fi - - if use udev ; then - # New way of handling USB device nodes for VBox (bug #356215) - local udevdir="$(get_udevdir)" - insinto ${udevdir} - doins VBoxCreateUSBNode.sh - fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh - fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh - insinto ${udevdir}/rules.d - sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ - > "${T}"/10-virtualbox.rules || die - doins "${T}"/10-virtualbox.rules - fi - - if use vboxwebsrv ; then - vbox_inst vboxwebsrv - dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - # Remove dead symlinks (bug #715338) - find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die - - # Fix version string in extensions or else they don't get accepted - # by the virtualbox host process (see bug #438930) - find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ - | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ - || die - - local extensions_dir="${vbox_inst_path}/ExtensionPacks" - - if use vnc ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/VNC - fi - - if use dtrace ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack - fi - - if use doc ; then - dodoc UserManual.pdf - fi - - newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf -} - -pkg_preinst() { - xdg_pkg_preinst -} - -pkg_postinst() { - xdg_pkg_postinst - - if use udev ; then - udevadm control --reload-rules \ - && udevadm trigger --subsystem-match=usb - fi - - tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf - - if ! use headless && use qt5 ; then - elog "To launch VirtualBox just type: \"virtualbox\"." - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The latest user manual is available for download at:" - elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" - elog "" - elog "For advanced networking setups you should emerge:" - elog "net-misc/bridge-utils and sys-apps/usermode-utilities" - elog "" - elog "Starting with version 4.0.0, ${PN} has USB-1 support." - elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - elog "package." - elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" - elog "the \"extension\" USE flag. For installation of the guest additions ISO" - elog "image, please emerge" - elog " app-emulation/virtualbox-additions" - elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - if ! use udev ; then - elog "" - elog "WARNING!" - elog "Without USE=udev, USB devices will likely not work in ${PN}." - elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then - elog "" - elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" - elog "or else USB in ${PN} won't work." - fi -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/app-emulation/virtualbox/virtualbox-6.1.20-r1.ebuild b/app-emulation/virtualbox/virtualbox-6.1.20-r1.ebuild deleted file mode 100644 index 29d68e769cd2..000000000000 --- a/app-emulation/virtualbox/virtualbox-6.1.20-r1.ebuild +++ /dev/null @@ -1,506 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7..9} ) -inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg - -MY_PN="VirtualBox" -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}-${MY_PV} -[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" - -DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz" - -LICENSE="GPL-2 dtrace? ( CDDL )" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" - -CDEPEND=" - ${PYTHON_DEPS} - !app-emulation/virtualbox-bin - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}} - dev-libs/libIDL - >=dev-libs/libxslt-1.1.19 - net-misc/curl - dev-libs/libxml2 - media-libs/libpng:0= - media-libs/libvpx:0= - sys-libs/zlib:= - !headless? ( - media-libs/libsdl:0[X,video] - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - opengl? ( media-libs/libglvnd[X] ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - opengl? ( dev-qt/qtopengl:5 ) - x11-libs/libXinerama - ) - ) - dev-libs/openssl:0= - lvm? ( sys-fs/lvm2 ) - opus? ( media-libs/opus ) - udev? ( >=virtual/udev-171 ) - vnc? ( >=net-libs/libvncserver-0.9.9 ) -" -DEPEND=" - ${CDEPEND} - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - !headless? ( - x11-libs/libXinerama - opengl? ( virtual/opengl ) - ) - pam? ( sys-libs/pam ) - pax-kernel? ( sys-apps/elfix ) - pulseaudio? ( media-sound/pulseaudio ) - qt5? ( dev-qt/linguist-tools:5 ) - vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/libcap - sys-power/iasl - virtual/pkgconfig - doc? ( - app-text/docbook-sgml-dtd:4.4 - dev-texlive/texlive-basic - dev-texlive/texlive-latex - dev-texlive/texlive-latexrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-fontsextra - ) - java? ( >=virtual/jdk-1.8 ) -" -RDEPEND=" - ${CDEPEND} - java? ( >=virtual/jre-1.6 ) -" - -QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so - usr/lib/virtualbox/VBoxSDL.so - usr/lib/virtualbox/VBoxSharedFolders.so - usr/lib/virtualbox/VBoxDD2.so - usr/lib/virtualbox/VBoxOGLrenderspu.so - usr/lib/virtualbox/VBoxPython.so - usr/lib/virtualbox/VBoxDD.so - usr/lib/virtualbox/VBoxDDU.so - usr/lib/virtualbox/VBoxREM64.so - usr/lib/virtualbox/VBoxSharedClipboard.so - usr/lib/virtualbox/VBoxHeadless.so - usr/lib/virtualbox/VBoxRT.so - usr/lib/virtualbox/VBoxREM.so - usr/lib/virtualbox/VBoxSettings.so - usr/lib/virtualbox/VBoxKeyboard.so - usr/lib/virtualbox/VBoxSharedCrOpenGL.so - usr/lib/virtualbox/VBoxVMM.so - usr/lib/virtualbox/VirtualBox.so - usr/lib/virtualbox/VBoxOGLhosterrorspu.so - usr/lib/virtualbox/components/VBoxC.so - usr/lib/virtualbox/components/VBoxSVCM.so - usr/lib/virtualbox/components/VBoxDDU.so - usr/lib/virtualbox/components/VBoxRT.so - usr/lib/virtualbox/components/VBoxREM.so - usr/lib/virtualbox/components/VBoxVMM.so - usr/lib/virtualbox/VBoxREM32.so - usr/lib/virtualbox/VBoxPython2_7.so - usr/lib/virtualbox/VBoxXPCOMC.so - usr/lib/virtualbox/VBoxOGLhostcrutil.so - usr/lib/virtualbox/VBoxNetDHCP.so - usr/lib/virtualbox/VBoxNetNAT.so" - -S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}" - -REQUIRED_USE=" - java? ( sdk ) - python? ( sdk ) - vboxwebsrv? ( java ) - ${PYTHON_REQUIRED_USE} -" - -PATCHES=( - "${FILESDIR}/${P}-lsilogicsas_crash_fix.patch" -) - -pkg_pretend() { - if ! use headless && ! use qt5 ; then - einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." - elif use headless && use qt5 ; then - einfo "You selected USE=\"headless qt5\", defaulting to" - einfo "USE=\"headless\", this build will not include any X11/Qt frontend." - fi - - if ! use opengl ; then - einfo "No USE=\"opengl\" selected, this build will lack" - einfo "the OpenGL feature." - fi - if ! use python ; then - einfo "You have disabled the \"python\" USE flag. This will only" - einfo "disable the python bindings being installed." - fi -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup - - tc-ld-disable-gold #bug 488176 - tc-export CC CXX LD AR RANLIB - export HOST_CC="$(tc-getBUILD_CC)" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Replace pointless GCC version check with something less stupid. - # This is needed for the qt5 version check. - sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ - -i configure || die - - # Disable things unused or split into separate ebuilds - sed -e "s@MY_LIBDIR@$(get_libdir)@" \ - "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die - - # Respect LDFLAGS - sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ - -i Config.kmk src/libs/xpcom18a4/Config.kmk || die - - # Do not use hard-coded ld (related to bug #488176) - sed -e '/QUIET)ld /s@ld @$(LD) @' \ - -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die - - # Use PAM only when pam USE flag is enbaled (bug #376531) - if ! use pam ; then - einfo "Disabling PAM removes the possibility to use the VRDP features." - sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die - sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ - src/VBox/HostServices/Makefile.kmk || die - fi - - # add correct java path - if use java ; then - sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ - -i "${S}"/Config.kmk || die - java-pkg-opt-2_src_prepare - fi - - # Only add nopie patch when we're on hardened - if gcc-specs-pie ; then - eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" - fi - - # Only add paxmark patch when we're on pax-kernel - if use pax-kernel ; then - eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch - fi - - eapply "${WORKDIR}/patches" - - default -} - -doecho() { - echo "$@" - "$@" || die -} - -src_configure() { - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --disable-dbus - --disable-kmods - $(usex alsa '' --disable-alsa) - $(usex debug --build-debug '') - $(usex doc '' --disable-docs) - $(usex java '' --disable-java) - $(usex lvm '' --disable-devmapper) - $(usex opus '' --disable-libopus) - $(usex pulseaudio '' --disable-pulse) - $(usex python '' --disable-python) - $(usex vboxwebsrv --enable-webservice '') - $(usex vnc --enable-vnc '') - ) - if ! use headless ; then - myconf+=( - $(usex opengl '' --disable-opengl) - $(usex qt5 '' --disable-qt) - ) - else - myconf+=( - --build-headless - --disable-opengl - ) - fi - if use amd64 && ! has_multilib_profile ; then - myconf+=( --disable-vmmraw ) - fi - # not an autoconf script - doecho ./configure ${myconf[@]} -} - -src_compile() { - source ./env.sh || die - - # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) - MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ - VBOX_WITH_VBOXIMGMOUNT=1 \ - all -} - -src_install() { - cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die - - local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile - - vbox_inst() { - local binary="${1}" - local perms="${2:-0750}" - local path="${3:-${vbox_inst_path}}" - - [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" - [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." - - insinto ${path} - doins ${binary} - fowners root:vboxusers ${path}/${binary} - fperms ${perms} ${path}/${binary} - } - - # Create configuration files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-4-config" vbox.cfg - - # Set the correct libdir - sed \ - -e "s@MY_LIBDIR@$(get_libdir)@" \ - -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" - - # Install the wrapper script - exeinto ${vbox_inst_path} - newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" - fowners root:vboxusers ${vbox_inst_path}/VBox - fperms 0750 ${vbox_inst_path}/VBox - - # Install binaries and libraries - insinto ${vbox_inst_path} - doins -r components - - for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do - vbox_inst ${each} - done - - # These binaries need to be suid root. - for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do - vbox_inst ${each} 4750 - done - - # Install EFI Firmware files (bug #320757) - for each in VBoxEFI{32,64}.fd ; do - vbox_inst ${each} 0644 - done - - # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) - # VBoxXPCOMIPCD (bug #524202) - for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - # Symlink binaries to the shipped wrapper - for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl - dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount - - if use pam ; then - # VRDPAuth only works with this (bug #351949) - dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so - fi - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - if ! use headless ; then - vbox_inst rdesktop-vrdp - vbox_inst VBoxSDL 4750 - pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL - - for each in vboxsdl VBoxSDL ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - if use qt5 ; then - vbox_inst VirtualBox - vbox_inst VirtualBoxVM 4750 - for each in VirtualBox{,VM} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - if use opengl ; then - vbox_inst VBoxTestOGL - pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL - fi - - for each in virtualbox{,vm} VirtualBox{,VM} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - insinto /usr/share/${PN} - doins -r nls - doins -r UnattendedTemplates - - domenu ${PN}.desktop - fi - - pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die - for size in 16 32 48 64 128 ; do - newicon -s ${size} ${PN}-${size}px.png ${PN}.png - done - newicon ${PN}-48px.png ${PN}.png - doicon -s scalable ${PN}.svg - popd &>/dev/null || die - pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die - for size in 16 24 32 48 64 72 96 128 256 512 ; do - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="${PN}-${ico}-${size}px.png" - if [[ -f "${icofile}" ]] ; then - newicon -s ${size} ${icofile} ${PN}-${ico}.png - fi - done - done - popd &>/dev/null || die - fi - - if use lvm ; then - vbox_inst VBoxVolInfo 4750 - dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo - fi - - if use sdk ; then - insinto ${vbox_inst_path} - doins -r sdk - - if use java ; then - java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" - java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" - fi - fi - - if use udev ; then - local udevdir="$(get_udevdir)" - insinto ${udevdir} - doins VBoxCreateUSBNode.sh - fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh - fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh - insinto ${udevdir}/rules.d - sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ - > "${T}"/10-virtualbox.rules || die - doins "${T}"/10-virtualbox.rules - fi - - if use vboxwebsrv ; then - vbox_inst vboxwebsrv - dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - # Remove dead symlinks (bug #715338) - find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die - - # Fix version string in extensions or else they don't get accepted - # by the virtualbox host process (see bug #438930) - find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ - | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ - || die - - local extensions_dir="${vbox_inst_path}/ExtensionPacks" - - if use vnc ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/VNC - fi - - if use dtrace ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack - fi - - if use doc ; then - dodoc UserManual.pdf - fi - - newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf -} - -pkg_postinst() { - xdg_pkg_postinst - - if use udev ; then - udevadm control --reload-rules \ - && udevadm trigger --subsystem-match=usb - fi - - tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf - - if ! use headless && use qt5 ; then - elog "To launch VirtualBox just type: \"virtualbox\"." - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The latest user manual is available for download at:" - elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" - elog "" - elog "For advanced networking setups you should emerge:" - elog "net-misc/bridge-utils and sys-apps/usermode-utilities" - elog "" - elog "Starting with version 4.0.0, ${PN} has USB-1 support." - elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - elog "package." - elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" - elog "the \"extension\" USE flag. For installation of the guest additions ISO" - elog "image, please emerge" - elog " app-emulation/virtualbox-additions" - elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - if ! use udev ; then - elog "" - elog "WARNING!" - elog "Without USE=udev, USB devices will likely not work in ${PN}." - elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then - elog "" - elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" - elog "or else USB in ${PN} won't work." - fi -} diff --git a/app-emulation/virtualbox/virtualbox-6.1.22.ebuild b/app-emulation/virtualbox/virtualbox-6.1.22.ebuild index 0749d1ebaa9f..325ffdbc6afc 100644 --- a/app-emulation/virtualbox/virtualbox-6.1.22.ebuild +++ b/app-emulation/virtualbox/virtualbox-6.1.22.ebuild @@ -20,7 +20,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}. LICENSE="GPL-2 dtrace? ( CDDL )" SLOT="0/$(ver_cut 1-2)" [[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" CDEPEND=" diff --git a/app-emulation/virtualbox/virtualbox-6.1.24.ebuild b/app-emulation/virtualbox/virtualbox-6.1.24.ebuild new file mode 100644 index 000000000000..0749d1ebaa9f --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-6.1.24.ebuild @@ -0,0 +1,502 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) +inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg + +MY_PN="VirtualBox" +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}-${MY_PV} +[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz" + +LICENSE="GPL-2 dtrace? ( CDDL )" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" + +CDEPEND=" + ${PYTHON_DEPS} + !app-emulation/virtualbox-bin + acct-group/vboxusers + ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}} + dev-libs/libIDL + >=dev-libs/libxslt-1.1.19 + net-misc/curl + dev-libs/libxml2 + media-libs/libpng:0= + media-libs/libvpx:0= + sys-libs/zlib:= + !headless? ( + media-libs/libsdl:0[X,video] + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + opengl? ( media-libs/libglvnd[X] ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + opengl? ( dev-qt/qtopengl:5 ) + x11-libs/libXinerama + ) + ) + dev-libs/openssl:0= + lvm? ( sys-fs/lvm2 ) + opus? ( media-libs/opus ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 ) +" +DEPEND=" + ${CDEPEND} + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + !headless? ( + x11-libs/libXinerama + opengl? ( virtual/opengl ) + ) + pam? ( sys-libs/pam ) + pax-kernel? ( sys-apps/elfix ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( dev-qt/linguist-tools:5 ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/libcap + sys-power/iasl + virtual/pkgconfig + doc? ( + app-text/docbook-sgml-dtd:4.4 + dev-texlive/texlive-basic + dev-texlive/texlive-latex + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-fontsextra + ) + java? ( >=virtual/jdk-1.8 ) +" +RDEPEND=" + ${CDEPEND} + java? ( >=virtual/jre-1.6 ) +" + +QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so + usr/lib/virtualbox/VBoxSDL.so + usr/lib/virtualbox/VBoxSharedFolders.so + usr/lib/virtualbox/VBoxDD2.so + usr/lib/virtualbox/VBoxOGLrenderspu.so + usr/lib/virtualbox/VBoxPython.so + usr/lib/virtualbox/VBoxDD.so + usr/lib/virtualbox/VBoxDDU.so + usr/lib/virtualbox/VBoxREM64.so + usr/lib/virtualbox/VBoxSharedClipboard.so + usr/lib/virtualbox/VBoxHeadless.so + usr/lib/virtualbox/VBoxRT.so + usr/lib/virtualbox/VBoxREM.so + usr/lib/virtualbox/VBoxSettings.so + usr/lib/virtualbox/VBoxKeyboard.so + usr/lib/virtualbox/VBoxSharedCrOpenGL.so + usr/lib/virtualbox/VBoxVMM.so + usr/lib/virtualbox/VirtualBox.so + usr/lib/virtualbox/VBoxOGLhosterrorspu.so + usr/lib/virtualbox/components/VBoxC.so + usr/lib/virtualbox/components/VBoxSVCM.so + usr/lib/virtualbox/components/VBoxDDU.so + usr/lib/virtualbox/components/VBoxRT.so + usr/lib/virtualbox/components/VBoxREM.so + usr/lib/virtualbox/components/VBoxVMM.so + usr/lib/virtualbox/VBoxREM32.so + usr/lib/virtualbox/VBoxPython2_7.so + usr/lib/virtualbox/VBoxXPCOMC.so + usr/lib/virtualbox/VBoxOGLhostcrutil.so + usr/lib/virtualbox/VBoxNetDHCP.so + usr/lib/virtualbox/VBoxNetNAT.so" + +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +pkg_pretend() { + if ! use headless && ! use qt5 ; then + einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." + elif use headless && use qt5 ; then + einfo "You selected USE=\"headless qt5\", defaulting to" + einfo "USE=\"headless\", this build will not include any X11/Qt frontend." + fi + + if ! use opengl ; then + einfo "No USE=\"opengl\" selected, this build will lack" + einfo "the OpenGL feature." + fi + if ! use python ; then + einfo "You have disabled the \"python\" USE flag. This will only" + einfo "disable the python bindings being installed." + fi +} + +pkg_setup() { + java-pkg-opt-2_pkg_setup + python-single-r1_pkg_setup + + tc-ld-disable-gold #bug 488176 + tc-export CC CXX LD AR RANLIB + export HOST_CC="$(tc-getBUILD_CC)" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Replace pointless GCC version check with something less stupid. + # This is needed for the qt5 version check. + sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ + -i configure || die + + # Disable things unused or split into separate ebuilds + sed -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die + + # Respect LDFLAGS + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die + + # Do not use hard-coded ld (related to bug #488176) + sed -e '/QUIET)ld /s@ld @$(LD) @' \ + -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die + + # Use PAM only when pam USE flag is enbaled (bug #376531) + if ! use pam ; then + einfo "Disabling PAM removes the possibility to use the VRDP features." + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ + src/VBox/HostServices/Makefile.kmk || die + fi + + # add correct java path + if use java ; then + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ + -i "${S}"/Config.kmk || die + java-pkg-opt-2_src_prepare + fi + + # Only add nopie patch when we're on hardened + if gcc-specs-pie ; then + eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" + fi + + # Only add paxmark patch when we're on pax-kernel + if use pax-kernel ; then + eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch + fi + + eapply "${WORKDIR}/patches" + + default +} + +doecho() { + echo "$@" + "$@" || die +} + +src_configure() { + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --disable-dbus + --disable-kmods + $(usex alsa '' --disable-alsa) + $(usex debug --build-debug '') + $(usex doc '' --disable-docs) + $(usex java '' --disable-java) + $(usex lvm '' --disable-devmapper) + $(usex opus '' --disable-libopus) + $(usex pulseaudio '' --disable-pulse) + $(usex python '' --disable-python) + $(usex vboxwebsrv --enable-webservice '') + $(usex vnc --enable-vnc '') + ) + if ! use headless ; then + myconf+=( + $(usex opengl '' --disable-opengl) + $(usex qt5 '' --disable-qt) + ) + else + myconf+=( + --build-headless + --disable-opengl + ) + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=( --disable-vmmraw ) + fi + # not an autoconf script + doecho ./configure ${myconf[@]} +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ + VBOX_WITH_VBOXIMGMOUNT=1 \ + all +} + +src_install() { + cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die + + local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile + + vbox_inst() { + local binary="${1}" + local perms="${2:-0750}" + local path="${3:-${vbox_inst_path}}" + + [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." + + insinto ${path} + doins ${binary} + fowners root:vboxusers ${path}/${binary} + fperms ${perms} ${path}/${binary} + } + + # Create configuration files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-4-config" vbox.cfg + + # Set the correct libdir + sed \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" + + # Install the wrapper script + exeinto ${vbox_inst_path} + newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" + fowners root:vboxusers ${vbox_inst_path}/VBox + fperms 0750 ${vbox_inst_path}/VBox + + # Install binaries and libraries + insinto ${vbox_inst_path} + doins -r components + + for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do + vbox_inst ${each} + done + + # These binaries need to be suid root. + for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do + vbox_inst ${each} 4750 + done + + # Install EFI Firmware files (bug #320757) + for each in VBoxEFI{32,64}.fd ; do + vbox_inst ${each} 0644 + done + + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) + # VBoxXPCOMIPCD (bug #524202) + for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + # Symlink binaries to the shipped wrapper + for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl + dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount + + if use pam ; then + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so + fi + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + if ! use headless ; then + vbox_inst rdesktop-vrdp + vbox_inst VBoxSDL 4750 + pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL + + for each in vboxsdl VBoxSDL ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + if use qt5 ; then + vbox_inst VirtualBox + vbox_inst VirtualBoxVM 4750 + for each in VirtualBox{,VM} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + if use opengl ; then + vbox_inst VBoxTestOGL + pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL + fi + + for each in virtualbox{,vm} VirtualBox{,VM} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + insinto /usr/share/${PN} + doins -r nls + doins -r UnattendedTemplates + + domenu ${PN}.desktop + fi + + pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die + for size in 16 32 48 64 128 ; do + newicon -s ${size} ${PN}-${size}px.png ${PN}.png + done + newicon ${PN}-48px.png ${PN}.png + doicon -s scalable ${PN}.svg + popd &>/dev/null || die + pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die + for size in 16 24 32 48 64 72 96 128 256 512 ; do + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="${PN}-${ico}-${size}px.png" + if [[ -f "${icofile}" ]] ; then + newicon -s ${size} ${icofile} ${PN}-${ico}.png + fi + done + done + popd &>/dev/null || die + fi + + if use lvm ; then + vbox_inst VBoxVolInfo 4750 + dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo + fi + + if use sdk ; then + insinto ${vbox_inst_path} + doins -r sdk + + if use java ; then + java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" + fi + fi + + if use udev ; then + local udevdir="$(get_udevdir)" + insinto ${udevdir} + doins VBoxCreateUSBNode.sh + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh + insinto ${udevdir}/rules.d + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ + > "${T}"/10-virtualbox.rules || die + doins "${T}"/10-virtualbox.rules + fi + + if use vboxwebsrv ; then + vbox_inst vboxwebsrv + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + # Remove dead symlinks (bug #715338) + find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die + + # Fix version string in extensions or else they don't get accepted + # by the virtualbox host process (see bug #438930) + find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ + | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ + || die + + local extensions_dir="${vbox_inst_path}/ExtensionPacks" + + if use vnc ; then + insinto ${extensions_dir} + doins -r ExtensionPacks/VNC + fi + + if use dtrace ; then + insinto ${extensions_dir} + doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack + fi + + if use doc ; then + dodoc UserManual.pdf + fi + + newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf +} + +pkg_postinst() { + xdg_pkg_postinst + + if use udev ; then + udevadm control --reload-rules \ + && udevadm trigger --subsystem-match=usb + fi + + tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf + + if ! use headless && use qt5 ; then + elog "To launch VirtualBox just type: \"virtualbox\"." + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "The latest user manual is available for download at:" + elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Starting with version 4.0.0, ${PN} has USB-1 support." + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + elog "package." + elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" + elog "the \"extension\" USE flag. For installation of the guest additions ISO" + elog "image, please emerge" + elog " app-emulation/virtualbox-additions" + elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + if ! use udev ; then + elog "" + elog "WARNING!" + elog "Without USE=udev, USB devices will likely not work in ${PN}." + elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest index de666664be77..ffe2d7631c98 100644 --- a/app-emulation/wine-staging/Manifest +++ b/app-emulation/wine-staging/Manifest @@ -3,14 +3,14 @@ DIST gentoo-wine-patches-20200523.tar.xz 59740 BLAKE2B 951d7f305a6e5b3759c809562 DIST wine-6.10.tar.xz 24562432 BLAKE2B aeb4efc6fcbdbbbfa71a99112224c77e1da10468e47d49de87ecf06556008e83d6e3d8655fa4439293820663910897d512a77bb78ab771632f893b46745915af SHA512 f0e8f0bdab09c979772965d167d687e88998f3fd6537a592e201a2dc9097552e03b1c413516cc8c82665a8bf17580777f48bd1ed9033641f04e7ef7f0b29cc60 DIST wine-6.11.tar.xz 24599644 BLAKE2B 47b8eefadd59e649ac331ee236b90dfffd86ea812699f3d804bd3a7d939d099c88c4b19cf8d8e0bbe2463298abe398528c132443350f3d5eba0d23e7a3a2889c SHA512 d041ad99b6311f99df6ef40a64bc393acdc77ad4bf5f28111ebb88c133c3d338aff18f129fb30ae38cca24bf579834d4e6c7d252d5391f35b1ee81a91cc70c21 DIST wine-6.12.tar.xz 24666960 BLAKE2B d8f33ac0d15977c1e0c206662c370feac351c7399c91cf5669fce50e60684ad85b40244925b4d304b540f5a78edc19b4ee32fe362250f8c390347d71320a09d8 SHA512 6d5646c44e656a88eb25174ce16038a8b0e1495c3deed8e959825cb26059fdda6e6519afeaeb28e4070fc5e05d7a3e1e5812ef09c31875f14f9233ba6a52f14c -DIST wine-6.9.tar.xz 24526724 BLAKE2B 9e39bbc84380f7f40a9f41e1dbd1728ae8833eab4fe977eaf9386a92b9f089cf63147e35093b084d3a61e5c7209b405caea9cee2a4bebb294b77c65fc3551d66 SHA512 e9dc4da8cd6553db4227f09b5734513939d7e361449f52472a1f51ae569377a2931a0ab6f402aef751587ff1fa50f10f222b4479aba44f862db320931eeff363 +DIST wine-6.13.tar.xz 24704408 BLAKE2B abd79fd0d2a364fd6b7c2713924ad9883cf62e0febd7653984ce7520f41eaad71c06e0874ff46343ac7c253abb7d5e026b878dcf40235918f075e2bf7da0b8da SHA512 7e1a16873f1a160960e44a38c7af743ea3a10bc545c5724745733d14093188134b74a4f60fbc54f38546b0ed053209b67e35ea131a9cda58ec8041855100c5ee DIST wine-staging-6.10.tar.gz 9673740 BLAKE2B 3ec1dcc96dcf583f061408b7bdf4adf14fddf6bf0dcefbb9a060a63de7ea87c3df0a5a76c14e01b248c9b21c1ed25379867f9e4d392b251f56deb93a78b2752a SHA512 9ba4fb7451f675fd9ad3e872adada708e9e7e8875f69567d9f2bef2cc8024667112538a385769eac2fd4b3c157266488458e76a1abc92d0a76109ca032103bcf DIST wine-staging-6.11.tar.gz 9672754 BLAKE2B a2d77fcfe198f9c474bb754b02c3e279faec73a30678b899aeaab53cba38b74bf43724d5b1f3d46dfa7a502b0ce637d5908dea09b386009acb937d1033445d99 SHA512 b9b6f206d7a37699887a9bd65c30b9d2fc333b507461dbd532fe17db881db1e79ef5620ce2421cdde8548411924fabba0f98123342f30c8d93a019b3a2125303 DIST wine-staging-6.12.1.tar.gz 9658943 BLAKE2B 9ea46ef75f2fd42790da35631893d63471980794238862fab23f06433ecb6adbdd204de49b61f33e7600020d9b3156889709bcd58810f2f332ee890cbb17bd03 SHA512 d92f4e8e3cc81e9ede21135f35679d1b2de07bf75f4fd3878551cae74cdf5165c62573fd9e143458535565e21e8888f7f61cc413fdcef24f8958ac2de366a10a -DIST wine-staging-6.9.tar.gz 9687986 BLAKE2B 72cf53616a619638fdc91d7501c8fcc2bb9c102a1a445a9c58dd23fbb5bccc27fcf2f9635ec65b23d93839514d8aa9ede29d84d6737e49776a1d99b716295ea4 SHA512 09732ce6fe5e5460ef5f30ab3dd5581c94b27e1d2c228bc395b1defd32fc5e908ab32eb2a56e489b154e1d0f638ad792c80a64d82d90a33c943102b379bef937 +DIST wine-staging-6.13.tar.gz 9658122 BLAKE2B cce777895de69df8c659f010e432ee1d1f1e13c79d5453f4460e63e2572aaa7a9c92786170707c5616a8d182138822c0c6e27897706f919daf5597f6b595e478 SHA512 83a40b5a344db334541d94d58d287a1b8ff616114051129db20ac6b0365004a8753ec8d77a16da54ac26400eaa3e2d147d50a5ac8e17203898eb61cb06ff1f0c EBUILD wine-staging-6.10.ebuild 21988 BLAKE2B 5ec71d6ed2b25316b5f34f5ea3b04b4ac8e5dd71ac8eecb78dc6b8ea1ad9c3a120ca10bc08055589ef58456acbfbea18002a98dfa05afc7d993881e20ebb9114 SHA512 6d7783fcd3aefb7c034621b239a2a77d43163140c98073703038f878df25dee0aad3de3fcf7fe6eb08ec1a083aeb2b5ea9a5d0e0175ad098522504829b4a402e EBUILD wine-staging-6.11.ebuild 21988 BLAKE2B 5ec71d6ed2b25316b5f34f5ea3b04b4ac8e5dd71ac8eecb78dc6b8ea1ad9c3a120ca10bc08055589ef58456acbfbea18002a98dfa05afc7d993881e20ebb9114 SHA512 6d7783fcd3aefb7c034621b239a2a77d43163140c98073703038f878df25dee0aad3de3fcf7fe6eb08ec1a083aeb2b5ea9a5d0e0175ad098522504829b4a402e EBUILD wine-staging-6.12.ebuild 21984 BLAKE2B b685531dc6e0df7ff9cffedec50a5fc6d2fdd50d8a62c16a5164c1c3c73c23a83a8fa116bc02a2b76c037fbafbbe7e738fb19d93a38dcd2d5743c353fbff8b36 SHA512 a509f03f95b6eebe03eb44ab5b55471722d373f51e27818d6aa565791f0286ecd485b50f12428449b449c5f1716d276b40b55f63d2cdef9226238f0674becefe -EBUILD wine-staging-6.9.ebuild 21988 BLAKE2B 7f8b7431a69b618ef9202c270d34bc8981555fe27cb29d7447ed447e7d6c42844544bc721bb9439f61b56adad9ffba6c6817d5191cd6991e39e60699839d2dfc SHA512 d0b5e90ff86627bc8e45fe351ac558c8e05e2486b5d4d49187ddee2292d9132541e3bf1341650b4a23c6b0ca1fd1aff1ba566c108491f4e3e3c54fb8cf768d58 +EBUILD wine-staging-6.13.ebuild 21980 BLAKE2B 19bf674ecb65c7ae1eaec7144f1327535ceabe9a958bbc3d11dbd2e0c32cde1f0190a9eee1d00889d16c15f1910b77fcabb6a56ed9655023b5f2af97bf22a241 SHA512 4422d16ffd2a83281f65b33686eeccee0a3fee965f68eb5376bada3abba862efae60a350b15b633b450ebe988f9a84d84a2346c184632c135c73ab9dac81498c EBUILD wine-staging-9999.ebuild 21913 BLAKE2B 99bba8fb8a7e11fba23be040ca3e95595b68f9a16d452d602604c3cbfe495536dd90d59a7a781357bbb4e46977a6bf7a90eae41b2da2a35423b69d7805920051 SHA512 6ba6dea0e8811385d7e9ff5eeb2c6705d238968c9577d5757c3fe2387ca638bdd74d5680e59166b3eb2f32bbffa241cf42f233c31fcb1b6bfe56a501066682aa MISC metadata.xml 3966 BLAKE2B ee3d47cb51499adfa3a98d09c9a718f1c51f0dc4b24a57b8d3c1f18e45584bc12ccdb54250162a146f0b7c95b835b84684a16f0164a21832df80bbaa4cefece4 SHA512 7db52c79172194fb0e151431273fbb02694144c3a7d39746e78fcb195471ce0d702d0643cfe24414eda070943b58d21d06db341e3607924de89c34ad5e7b5033 diff --git a/app-emulation/wine-staging/wine-staging-6.13.ebuild b/app-emulation/wine-staging/wine-staging-6.13.ebuild new file mode 100644 index 000000000000..7285c2bf12d9 --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-6.13.ebuild @@ -0,0 +1,665 @@ +# Copyright 1999-2021 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 multilib multilib-minimal pax-utils plocale toolchain-funcs virtualx xdg-utils +MY_PN="${PN%%-*}" +MY_PV="${PV/_/-}" +MY_P="${MY_PN}-${MY_PV}" + +if [[ ${MY_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) + MINOR_V=$(ver_cut 2) + if [[ ${MINOR_V} != "0" ]] ; then + MINOR_V="x" + fi + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +STAGING_P="wine-staging-${MY_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 [[ ${MY_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${MY_PV}.tar.gz -> ${STAGING_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="${MY_PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind usb v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + themes? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + usb? ( virtual/libusb:1[${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.2[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:6.2.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" + "${FILESDIR}/wine-staging-6.12-winegcc-equals-args.patch" #800809 +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${MY_PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + # 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() { + if [[ ${MERGE_TYPE} != binary ]] ; then + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi + + if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then + eerror + eerror "USE=\"mingw\" is currently experimental, and requires the" + eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds." + eerror + eerror "These can be installed by using 'sys-devel/crossdev':" + eerror + eerror "crossdev --target i686-w64-mingw32" + eerror + eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" + eerror + die "MinGW build was enabled, but no compiler to support it was found." + fi + + if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then + eerror + eerror "USE=\"mingw\" is currently experimental, and requires the" + eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds." + eerror + eerror "These can be installed by using 'sys-devel/crossdev':" + eerror + eerror "crossdev --target x86_64-w64-mingw32" + eerror + eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" + eerror + die "MinGW build was enabled, but no compiler to support it was found." + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${MY_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 [[ ${MY_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 + + plocale_find_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 + + plocale_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 + plocale_for_each_disabled_locale rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + if use mingw; then + export CROSSCFLAGS="${CFLAGS}" + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gcrypt) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + # TODO: Will bug 685172 still need special handling? + $(use_with mingw) + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with usb) + $(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 + # 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}" \ + virtx emake 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} ) + } + plocale_for_each_locale add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + + if ! use mingw; then + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die + } + else + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die + } + fi + + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${PN}-${MY_PV} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${PN}-${MY_PV} || die + else + if use staging; then + eselect wine register --staging ${PN}-${MY_PV} || 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 ${PN}-${MY_PV} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${PN}-${MY_PV} || die + else + if use staging; then + eselect wine deregister --staging ${PN}-${MY_PV}|| 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-6.9.ebuild b/app-emulation/wine-staging/wine-staging-6.9.ebuild deleted file mode 100644 index a651f85047fd..000000000000 --- a/app-emulation/wine-staging/wine-staging-6.9.ebuild +++ /dev/null @@ -1,665 +0,0 @@ -# Copyright 1999-2021 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 multilib multilib-minimal pax-utils plocale toolchain-funcs virtualx xdg-utils -MY_PN="${PN%%-*}" -MY_PV="${PV/_/-}" -MY_P="${MY_PN}-${MY_PV}" - -if [[ ${MY_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) - MINOR_V=$(ver_cut 2) - if [[ ${MINOR_V} != "0" ]] ; then - MINOR_V="x" - fi - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" - -STAGING_P="wine-staging-${MY_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 [[ ${MY_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${MY_PV}.tar.gz -> ${STAGING_P}.tar.gz )" -fi - -LICENSE="LGPL-2.1" -SLOT="${MY_PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind usb v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - pipelight? ( staging ) - test? ( abi_x86_32 ) - themes? ( staging ) - vaapi? ( staging ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - themes? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - x11-libs/gtk+:3[${MULTILIB_USEDEP}] - ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - usb? ( virtual/libusb:1[${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.2[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:6.1.1 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - staging? ( - dev-lang/perl - dev-perl/XML-Simple - ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${MY_PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - # 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() { - if [[ ${MERGE_TYPE} != binary ]] ; then - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi - - if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then - eerror - eerror "USE=\"mingw\" is currently experimental, and requires the" - eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds." - eerror - eerror "These can be installed by using 'sys-devel/crossdev':" - eerror - eerror "crossdev --target i686-w64-mingw32" - eerror - eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" - eerror - die "MinGW build was enabled, but no compiler to support it was found." - fi - - if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then - eerror - eerror "USE=\"mingw\" is currently experimental, and requires the" - eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds." - eerror - eerror "These can be installed by using 'sys-devel/crossdev':" - eerror - eerror "crossdev --target x86_64-w64-mingw32" - eerror - eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" - eerror - die "MinGW build was enabled, but no compiler to support it was found." - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${MY_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 [[ ${MY_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 - - plocale_find_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 - - plocale_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 - plocale_for_each_disabled_locale rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - if use mingw; then - export CROSSCFLAGS="${CFLAGS}" - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gcrypt) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - # TODO: Will bug 685172 still need special handling? - $(use_with mingw) - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with usb) - $(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}" \ - virtx emake 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} ) - } - plocale_for_each_locale add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - - if ! use mingw; then - rm_wineconsole() { - rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die - } - else - rm_wineconsole() { - rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die - } - fi - - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${PN}-${MY_PV} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${PN}-${MY_PV} || die - else - if use staging; then - eselect wine register --staging ${PN}-${MY_PV} || 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 ${PN}-${MY_PV} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${PN}-${MY_PV} || die - else - if use staging; then - eselect wine deregister --staging ${PN}-${MY_PV}|| die - fi - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 5640b2ec087a..f0f321b9b0b8 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -5,12 +5,12 @@ DIST wine-6.0.tar.xz 24192280 BLAKE2B baf0eee582190ede8d210390b51d330c1879cb4421 DIST wine-6.10.tar.xz 24562432 BLAKE2B aeb4efc6fcbdbbbfa71a99112224c77e1da10468e47d49de87ecf06556008e83d6e3d8655fa4439293820663910897d512a77bb78ab771632f893b46745915af SHA512 f0e8f0bdab09c979772965d167d687e88998f3fd6537a592e201a2dc9097552e03b1c413516cc8c82665a8bf17580777f48bd1ed9033641f04e7ef7f0b29cc60 DIST wine-6.11.tar.xz 24599644 BLAKE2B 47b8eefadd59e649ac331ee236b90dfffd86ea812699f3d804bd3a7d939d099c88c4b19cf8d8e0bbe2463298abe398528c132443350f3d5eba0d23e7a3a2889c SHA512 d041ad99b6311f99df6ef40a64bc393acdc77ad4bf5f28111ebb88c133c3d338aff18f129fb30ae38cca24bf579834d4e6c7d252d5391f35b1ee81a91cc70c21 DIST wine-6.12.tar.xz 24666960 BLAKE2B d8f33ac0d15977c1e0c206662c370feac351c7399c91cf5669fce50e60684ad85b40244925b4d304b540f5a78edc19b4ee32fe362250f8c390347d71320a09d8 SHA512 6d5646c44e656a88eb25174ce16038a8b0e1495c3deed8e959825cb26059fdda6e6519afeaeb28e4070fc5e05d7a3e1e5812ef09c31875f14f9233ba6a52f14c -DIST wine-6.9.tar.xz 24526724 BLAKE2B 9e39bbc84380f7f40a9f41e1dbd1728ae8833eab4fe977eaf9386a92b9f089cf63147e35093b084d3a61e5c7209b405caea9cee2a4bebb294b77c65fc3551d66 SHA512 e9dc4da8cd6553db4227f09b5734513939d7e361449f52472a1f51ae569377a2931a0ab6f402aef751587ff1fa50f10f222b4479aba44f862db320931eeff363 +DIST wine-6.13.tar.xz 24704408 BLAKE2B abd79fd0d2a364fd6b7c2713924ad9883cf62e0febd7653984ce7520f41eaad71c06e0874ff46343ac7c253abb7d5e026b878dcf40235918f075e2bf7da0b8da SHA512 7e1a16873f1a160960e44a38c7af743ea3a10bc545c5724745733d14093188134b74a4f60fbc54f38546b0ed053209b67e35ea131a9cda58ec8041855100c5ee EBUILD wine-vanilla-6.0.1.ebuild 18915 BLAKE2B ecc7a573b29dbd2b9a95cfc04201af9e26868dd7c0177ab93d4b13c2e3800b5f6761c70ee0aabdee11511bf1e4b227e56f3dfdeddff33bd160380e216a823dc4 SHA512 fb92632c69f74e62afa08b6711d27ee550bd038db39c82a693d2f4918e997c05062514cefd345e780bf2de3daab9b60b946d14edc5d40b95a9948f99bddca061 EBUILD wine-vanilla-6.0.ebuild 18915 BLAKE2B add33613b0e99a5e4418bbaf6bc94bf30720faafd4b3453cab40b8da950ae9d2c0d4c4d6783e2b7d99ff71cdf2f5d87b723179d2bcc41272093c55529b4a8242 SHA512 19f1c7ae827c294ca145c718cf2df9f1a8eb2d7e245fbdb548d7e3fd566df5465d0ec6cc7d6b178589fed8381483d329ff4bbdeac7f13fe76872b404add79710 EBUILD wine-vanilla-6.10.ebuild 18884 BLAKE2B 99275dd7937942e76730565e3427ac4b64f27515fd57ac65ffb1e8211034e1bbe9c9c5f512ae8bbe1e6424092f03551a40cd3af2fe4ae0cc4746f03023883ec2 SHA512 b7da7b218ca88f8dfbe8e6ad88210b5c142474235b9511c7504e394045dfc1a0815cfe174be214860f37bb613c8ef7c8a435fea32268677cc787d7c4d05b578d EBUILD wine-vanilla-6.11.ebuild 18884 BLAKE2B 99275dd7937942e76730565e3427ac4b64f27515fd57ac65ffb1e8211034e1bbe9c9c5f512ae8bbe1e6424092f03551a40cd3af2fe4ae0cc4746f03023883ec2 SHA512 b7da7b218ca88f8dfbe8e6ad88210b5c142474235b9511c7504e394045dfc1a0815cfe174be214860f37bb613c8ef7c8a435fea32268677cc787d7c4d05b578d EBUILD wine-vanilla-6.12.ebuild 18951 BLAKE2B b39bc16766b5c193b0e5d456c9a3ed98f6ce7b0ec871d2f121cf8a68db7e80113d3f1aee647d988c011b772bf20ccacef11c96d6c570ef7d11f0158b4c599c99 SHA512 cc501e8b8840054a9e771c30c7fe46085f01447b38209f92b7c3763c4ccdece9526d98460cebd07e9cfacbc33435418333f1425aa4da2448b35c717f64719f06 -EBUILD wine-vanilla-6.9.ebuild 18884 BLAKE2B fb3768dde30b6e027b3528cda40b5c9b8917cad36538581025c77340c92ce09a40a07db339a37eef833cf1ba3062396bad4f3da7c1f474416d9c15c774363343 SHA512 e4d61af0bd111d056af52130102c66b0ddde02490777c7140c15452bc0cdf43d6d88480842d0f4b1c5dcb8ceae5f84109d7e5a1df160cf04f33d1a8bb3e3cf08 +EBUILD wine-vanilla-6.13.ebuild 18951 BLAKE2B b39bc16766b5c193b0e5d456c9a3ed98f6ce7b0ec871d2f121cf8a68db7e80113d3f1aee647d988c011b772bf20ccacef11c96d6c570ef7d11f0158b4c599c99 SHA512 cc501e8b8840054a9e771c30c7fe46085f01447b38209f92b7c3763c4ccdece9526d98460cebd07e9cfacbc33435418333f1425aa4da2448b35c717f64719f06 EBUILD wine-vanilla-9999.ebuild 18884 BLAKE2B 99275dd7937942e76730565e3427ac4b64f27515fd57ac65ffb1e8211034e1bbe9c9c5f512ae8bbe1e6424092f03551a40cd3af2fe4ae0cc4746f03023883ec2 SHA512 b7da7b218ca88f8dfbe8e6ad88210b5c142474235b9511c7504e394045dfc1a0815cfe174be214860f37bb613c8ef7c8a435fea32268677cc787d7c4d05b578d MISC metadata.xml 3493 BLAKE2B 5574a661321f07674198bed06bdd632ccd5e46a4b4a15b49aef8882f5f6afa1a087a9fdb308bfecd80a9ea32d6b1135ff1bc2733ac3748d83d8754e4228ac1da SHA512 1e7d4867143412d7261b8f977f82df67ea9777dc1168e0ac3e428f68ac93314528df75b45a573dd96910d02a2357b75509c90b2de531b8188ce2e474a30d52e8 diff --git a/app-emulation/wine-vanilla/wine-vanilla-6.13.ebuild b/app-emulation/wine-vanilla/wine-vanilla-6.13.ebuild new file mode 100644 index 000000000000..e725ccf27b97 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-6.13.ebuild @@ -0,0 +1,578 @@ +# Copyright 1999-2021 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 multilib multilib-minimal pax-utils plocale toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +GWP_V="20200523" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind usb v4l vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + test? ( abi_x86_32 ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + usb? ( virtual/libusb:1[${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.2[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:6.2.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" + "${FILESDIR}/wine-vanilla-6.12-winegcc-equals-args.patch" #800809 +) +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() { + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "EGIT_OVERRIDE_COMMIT_WINE" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi + + if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then + eerror + eerror "USE=\"mingw\" is currently experimental, and requires the" + eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds." + eerror + eerror "These can be installed by using 'sys-devel/crossdev':" + eerror + eerror "crossdev --target i686-w64-mingw32" + eerror + eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" + eerror + die "MinGW build was enabled, but no compiler to support it was found." + fi + + if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then + eerror + eerror "USE=\"mingw\" is currently experimental, and requires the" + eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds." + eerror + eerror "These can be installed by using 'sys-devel/crossdev':" + eerror + eerror "crossdev --target x86_64-w64-mingw32" + eerror + eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" + eerror + die "MinGW build was enabled, but no compiler to support it was found." + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + fi + + default + + plocale_find_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 + + plocale_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 + plocale_for_each_disabled_locale rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + if use mingw; then + export CROSSCFLAGS="${CFLAGS}" + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + # TODO: Will bug 685172 still need special handling? + $(use_with mingw) + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with usb) + $(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}" \ + virtx emake 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} ) + } + plocale_for_each_locale add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + + if ! use mingw; then + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die + } + else + rm_wineconsole() { + rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die + } + fi + + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-vanilla/wine-vanilla-6.9.ebuild b/app-emulation/wine-vanilla/wine-vanilla-6.9.ebuild deleted file mode 100644 index 205ec3604bbc..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-6.9.ebuild +++ /dev/null @@ -1,577 +0,0 @@ -# Copyright 1999-2021 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 multilib multilib-minimal pax-utils plocale toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" - -GWP_V="20200523" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind usb v4l vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - test? ( abi_x86_32 ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - usb? ( virtual/libusb:1[${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.2[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:6.1.1 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environmental variables" - eerror "EGIT_OVERRIDE_COMMIT_WINE" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi - - if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then - eerror - eerror "USE=\"mingw\" is currently experimental, and requires the" - eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds." - eerror - eerror "These can be installed by using 'sys-devel/crossdev':" - eerror - eerror "crossdev --target i686-w64-mingw32" - eerror - eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" - eerror - die "MinGW build was enabled, but no compiler to support it was found." - fi - - if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then - eerror - eerror "USE=\"mingw\" is currently experimental, and requires the" - eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds." - eerror - eerror "These can be installed by using 'sys-devel/crossdev':" - eerror - eerror "crossdev --target x86_64-w64-mingw32" - eerror - eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw" - eerror - die "MinGW build was enabled, but no compiler to support it was found." - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - fi - - default - - plocale_find_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 - - plocale_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 - plocale_for_each_disabled_locale rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - if use mingw; then - export CROSSCFLAGS="${CFLAGS}" - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - # TODO: Will bug 685172 still need special handling? - $(use_with mingw) - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with usb) - $(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}" \ - virtx emake 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} ) - } - plocale_for_each_locale add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - - if ! use mingw; then - rm_wineconsole() { - rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die - } - else - rm_wineconsole() { - rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die - } - fi - - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest index fb0302693cee..5577f4d57c94 100644 --- a/app-emulation/xen-tools/Manifest +++ b/app-emulation/xen-tools/Manifest @@ -25,6 +25,6 @@ DIST xen-4.14.2.tar.gz 39973157 BLAKE2B db5d3570f79e0fd97872f5e5dd57a4eb39e00572 DIST xen-4.15.0-upstream-patches-1.tar.xz 35180 BLAKE2B eb3b2a44b717a04daa4a2f158040cce78b42cba5a72c437d7b2f8f1237b808f6f13c2140d82e95056818db6c0eb706ebd7dead822a6a4e689e5d5e7c83523fdb SHA512 a7cfe2dbc82b15c48fa781a77b3ca1622fc2feac3874bf17cf56e82be46e9817913f94992e0e1a1cd2be2e719d4abb9a15744c8a1017e30c0d5c01d7db64dbb5 DIST xen-4.15.0.tar.gz 40785399 BLAKE2B 8b0530f5516c39656506f4bb705952da0555a8ab7f47323473b171caeb7692f3107e9d94f13171d40576600064589eed35f4d210af02db4cc4706dd4fc202100 SHA512 93683b8a97387ca5f003c635a11d163e61c87dbdc9a03081f9155fe87b49f1dfa74ce243fcd5e04dc009353a36e2375b786f1ebde828b5951a094cd64197b4c7 DIST xen-gentoo-patches-23.tar.xz 20536 BLAKE2B 0064f79f8794a21ab13047a4ee296e37efa616e16ca6cd65b31fdafeb458fd9b80f0443758343c8328b1901d7169618346becfe75f16dcaeff08fc975f1d08d5 SHA512 09248e17ff7865feb2a505169d62ee5c8c60bd672fa8c4c7c4e3a2e4af58bfad0379d37b395bab3e3393af8d53d882f56749dfeb560edeea6b7ab56c902a3c49 -EBUILD xen-tools-4.14.2-r1.ebuild 16912 BLAKE2B d10c3a4781ab7b5d459d086c103231c2b62dc17952cc6a60872488bc392d728c5476f87235292febf4ee3ae3fcdc0858624d0560749c3f4c253b784499e5c3c0 SHA512 54c40a7e8b588b666e110311c5e248cc3751c02f8815a51e2d922c602379d1626a29c965ed1464beeecb534728a1092e0b9c71ae90e87ccad4aa6a01138f662e -EBUILD xen-tools-4.15.0-r2.ebuild 17101 BLAKE2B 2b1543f54f21226d068620f6cb61cb2de89d90a5ea1a5708d1a4900175d02837c6f778b6e2946750f3b077dcc92dfa62bd9ac861f0e70c7566a3c51e29403348 SHA512 fb9548e1c484d271acb8d5bd7f0215febe1c912923f727ef818ba5bd67b9150f3f510252c5f8b3f2060e4409bedcc676bb81f47a763356cc9fda5d1d66b9cb9b +EBUILD xen-tools-4.14.2-r1.ebuild 16894 BLAKE2B 7ca989c17e00354912ae4470e99f0e9c669c4bf94c463c709d5616968cb1c18467ff884c307ba51af3864983e2e2b4e2a7233a7f7e2368e8dac0cff6c795ebe1 SHA512 1a863617ca7dda05ad950d7f3f85d2e502c602b31966483472fedc04ed6074962ef10cf137e15c50311167ba87e56318d540d05af4baf2ad680c22f883094d47 +EBUILD xen-tools-4.15.0-r2.ebuild 17083 BLAKE2B b0e87f450797d82cac0577d0153520242f3360251ab0bd9a96ff40fa272f310b545933a31b313cef03d33667c7de4f1e5cad9d0a5f273d3ab76388ae93fbd929 SHA512 c1fc4f872a06fc51cd82258c9a15d56a95d31ba21623a9e4169f26f06f2ada27438dff1282c97ff888dee20e644324c617a3a3a27e9db57f4ca1cd2dc9ac8374 MISC metadata.xml 1626 BLAKE2B 64ae7edd26ed6c4fc3777d042dc16b7848b52d5915ce6fc024cbd3b773301ff308b364e993750153bbcd8bb92d11d3d3fbbcc923f71464924e2fddcbbb7081b9 SHA512 d703b590e650ea9e8c2d70fd118c0c1420b2a90d799669ebe32f94e552888e9f9fbda7a0a06f158fe83615e0251559ebb1c3bb475f80efd11f5ba1d50e635299 diff --git a/app-emulation/xen-tools/xen-tools-4.14.2-r1.ebuild b/app-emulation/xen-tools/xen-tools-4.14.2-r1.ebuild index 7831e54c9fd4..c2b251d44cdc 100644 --- a/app-emulation/xen-tools/xen-tools-4.14.2-r1.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.14.2-r1.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_COMPAT=( python3_{8..9} ) PYTHON_REQ_USE='ncurses,xml,threads(+)' inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs @@ -98,8 +98,8 @@ DEPEND="${COMMON_DEPEND} >=sys-kernel/linux-headers-4.11 x11-libs/pixman $(python_gen_cond_dep ' - dev-python/lxml[${PYTHON_MULTI_USEDEP}] - pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) + dev-python/lxml[${PYTHON_USEDEP}] + pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) ') x86? ( sys-devel/dev86 system-ipxe? ( sys-firmware/ipxe[qemu] ) @@ -120,7 +120,7 @@ DEPEND="${COMMON_DEPEND} app-text/ghostscript-gpl app-text/pandoc $(python_gen_cond_dep ' - dev-python/markdown[${PYTHON_MULTI_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] ') dev-texlive/texlive-latexextra media-gfx/transfig diff --git a/app-emulation/xen-tools/xen-tools-4.15.0-r2.ebuild b/app-emulation/xen-tools/xen-tools-4.15.0-r2.ebuild index af982d2bd20a..fd9eb3bf75c4 100644 --- a/app-emulation/xen-tools/xen-tools-4.15.0-r2.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.15.0-r2.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_COMPAT=( python3_{8..9} ) PYTHON_REQ_USE='ncurses,xml,threads(+)' inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs @@ -98,8 +98,8 @@ DEPEND="${COMMON_DEPEND} >=sys-kernel/linux-headers-4.11 x11-libs/pixman $(python_gen_cond_dep ' - dev-python/lxml[${PYTHON_MULTI_USEDEP}] - pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) + dev-python/lxml[${PYTHON_USEDEP}] + pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) ') x86? ( sys-devel/dev86 system-ipxe? ( sys-firmware/ipxe[qemu] ) @@ -120,7 +120,7 @@ DEPEND="${COMMON_DEPEND} app-text/ghostscript-gpl app-text/pandoc $(python_gen_cond_dep ' - dev-python/markdown[${PYTHON_MULTI_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] ') dev-texlive/texlive-latexextra media-gfx/transfig diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest index 4a5bdc20bfb1..f420d4f6a4d9 100644 --- a/app-emulation/xen/Manifest +++ b/app-emulation/xen/Manifest @@ -1,4 +1,3 @@ -AUX xen-4.11-efi.patch 1971 BLAKE2B b24f9315cff7f2de2a945088363429b9f4dd7a4101d3f1c0d4bf9733189808f5e1c47f1d90d1784f17fa52ca1626972c81d20c5e1ee3d42d082cdefcf67eb8dc SHA512 17208dc107f4ae4c5ec226c2ac05126817134fb6084cd8923204dc1b014e645e12c34cd11296319127e595ccbf17747931e9df78218bf49814f66e3cc6a789fd AUX xen-4.14-efi.patch 1969 BLAKE2B dec62e9b04ce23025443caa68df2fd69c50a3fdf650bf26047b28f3a72d1aa58124127274cd2c1373a4e133784b2691145c49c9a182bd635aa9c60bb1e45a0c1 SHA512 3e32aac5ba2ec371a3877d64532e8d134c3b4fe3a6644477ee8ecf56cbb8378b20f9d5d7415bec891d96910550a787848779c82ee4b9d57046f4c13235531ea0 AUX xen-4.15-efi.patch 2181 BLAKE2B a06b944dea37c3dfdbe4344191ec4a286348f46bcccf1b5a75f061e55b961d767972456803b8c9aa15120b2b2497651495e903925bf93b04c483e0713d9117a9 SHA512 7ec52fc65b5b8a22877c941f0ab6f249ba1d7b40ad7d50d8f0ac793069cc0eb85b1e5394ce81adf60fa23b01ecc8ce983e6c508b8e0d22189dc46e2c1ad8c1b4 DIST xen-4.14.2-upstream-patches-0.tar.xz 23304 BLAKE2B 954e0a49e5c3ec122aefe52afe328f440b8a4c8db966e0fa91e0b6d6cb3c0462b75fb99b3e7392811bd2e680cd7945e8a4d68317245fd42fdf0ad6cab33fbc68 SHA512 64d243f0c8acfec87812e4d78e3d8b24a86315824853f4f3b17122b7119425d180650695bc12e1a30f5b30c6ef684be7c08b2bc677ca2f0668d0335d92e2bf78 diff --git a/app-emulation/xen/files/xen-4.11-efi.patch b/app-emulation/xen/files/xen-4.11-efi.patch deleted file mode 100644 index c7173d91b244..000000000000 --- a/app-emulation/xen/files/xen-4.11-efi.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/xen/Makefile b/xen/Makefile -index af27147777..a5299b3868 100644 ---- a/xen/Makefile -+++ b/xen/Makefile -@@ -57,9 +57,15 @@ _install: Z=$(CONFIG_XEN_INSTALL_SUFFIX) - _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX) - [ -d $(D)$(BOOT_DIR) ] || $(INSTALL_DIR) $(D)$(BOOT_DIR) - $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_FULLVERSION)$(Z) -- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z) -- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z) -- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z) -+ if [ 'x$(EFI_VENDOR)' == 'x' ]; then \ -+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \ -+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z); \ -+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z); \ -+ else \ -+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \ -+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z); \ -+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z); \ -+ fi; - [ -d "$(D)$(DEBUG_DIR)" ] || $(INSTALL_DIR) $(D)$(DEBUG_DIR) - $(INSTALL_DATA) $(TARGET)-syms $(D)$(DEBUG_DIR)/$(T)-syms-$(XEN_FULLVERSION) - $(INSTALL_DATA) $(TARGET)-syms.map $(D)$(DEBUG_DIR)/$(T)-syms-$(XEN_FULLVERSION).map -diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile -index ec02972f2b..628c245564 100644 ---- a/xen/arch/x86/Makefile -+++ b/xen/arch/x86/Makefile -@@ -156,7 +156,7 @@ note.o: $(TARGET)-syms - --rename-section=.data=.note.gnu.build-id -S $@.bin $@ - rm -f $@.bin - --EFI_LDFLAGS = $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10 -+EFI_LDFLAGS = -mi386pep $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10 - EFI_LDFLAGS += --image-base=$(1) --stack=0,0 --heap=0,0 --strip-debug - EFI_LDFLAGS += --section-alignment=0x200000 --file-alignment=0x20 - EFI_LDFLAGS += --major-image-version=$(XEN_VERSION) -- cgit v1.2.3