From 9aa80713372911cec499b3adb2cd746790920916 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 29 Jun 2021 10:15:54 +0100 Subject: gentoo resync : 29.06.2021 --- app-emulation/Manifest.gz | Bin 20704 -> 20692 bytes app-emulation/crossover-bin/Manifest | 2 +- .../crossover-bin/crossover-bin-20.0.4-r1.ebuild | 225 +++++ .../crossover-bin/crossover-bin-20.0.4.ebuild | 221 ----- app-emulation/firecracker/Manifest | 2 +- app-emulation/firecracker/metadata.xml | 5 +- app-emulation/open-vm-tools/Manifest | 4 +- .../open-vm-tools-11.2.0_p16938113-r2.ebuild | 142 ---- .../open-vm-tools-11.2.0_p16938113-r4.ebuild | 143 ++++ .../open-vm-tools-11.2.5_p17337674-r1.ebuild | 143 ---- .../open-vm-tools-11.2.5_p17337674-r3.ebuild | 144 ++++ app-emulation/protontricks/Manifest | 2 - .../protontricks/protontricks-1.5.1.ebuild | 57 -- app-emulation/qemu/Manifest | 6 +- app-emulation/qemu/files/qemu-6.0.0-make.patch | 14 + app-emulation/qemu/qemu-6.0.0-r50.ebuild | 911 +++++++++++++++++++++ app-emulation/qemu/qemu-6.0.0.ebuild | 2 + app-emulation/qemu/qemu-9999.ebuild | 8 +- app-emulation/virt-manager/Manifest | 2 +- .../virt-manager/virt-manager-9999.ebuild | 4 +- 20 files changed, 1456 insertions(+), 581 deletions(-) create mode 100644 app-emulation/crossover-bin/crossover-bin-20.0.4-r1.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-20.0.4.ebuild delete mode 100644 app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r2.ebuild create mode 100644 app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r4.ebuild delete mode 100644 app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r1.ebuild create mode 100644 app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r3.ebuild delete mode 100644 app-emulation/protontricks/protontricks-1.5.1.ebuild create mode 100644 app-emulation/qemu/files/qemu-6.0.0-make.patch create mode 100644 app-emulation/qemu/qemu-6.0.0-r50.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 11de59f78954..1cb18222cd2a 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/crossover-bin/Manifest b/app-emulation/crossover-bin/Manifest index ace2bd1f54b4..a63584b84d00 100644 --- a/app-emulation/crossover-bin/Manifest +++ b/app-emulation/crossover-bin/Manifest @@ -1,3 +1,3 @@ DIST install-crossover-20.0.4.bin 221436226 BLAKE2B 486494455759d92f8e7e5d35968a603e41a0674cb0752e7d5ba4893d33e77b3e31fea2ebe75d471e2478e7f3cce9be2f712840f1f50bfe790fec5ec936b804a5 SHA512 78252d29f8a72a8742d57a65a60d09a81a70a98517b67468dac96af94ee8af7a313f164af6717f9a9c657095e66466809e08584c7a0fde3bd58c27ff00f41067 -EBUILD crossover-bin-20.0.4.ebuild 7586 BLAKE2B bfcc4ee0273b789da0331f9284a9c60e48c50a8b2ab4d734ba43dd7234361df581f928e5b7a9e563c65d08c3fd962d0e49d1a4125afc71a45d1c234a16ed061b SHA512 52b12f791c75624d53872ff0fdbac6fe0e33a0e78cddee9da41d8d034d28f6844f78b483f87484adb1ff8ca65af28499a52508ae56b73947c5b1afed2ee59b3c +EBUILD crossover-bin-20.0.4-r1.ebuild 7651 BLAKE2B b30aa79900d12cf469a5a12c854c7a3158f7671b6cc83adba9a39bcbc996708b5ade8b34e79631702390bf0de91c29ac85293185bb04fc9e27224e9a4f82e40d SHA512 5dd675da9398c20bba21d077d48a19ccb4dea3f5888f402120b4574ec324fa559cad8930d0b649dd75d4cf284f6890ca95033d227ae0c0af22fc28cc4bd1bdb1 MISC metadata.xml 495 BLAKE2B 09ff077822c1862d7f7d20bee57ebf1dcc48831a9539b280e8b09344e278bdc35d122debdca7cdab10d10cd546eb005a157e896670eba3206af2281dc7228f90 SHA512 da97a48eb9e984ee10581e455be37ac9adb2ab897d837f9ed91e5b368ce1800ff3468a5290fff53b3d93e7c56d6c5cb56936d0d09168c10f19356fa5729dcf0d diff --git a/app-emulation/crossover-bin/crossover-bin-20.0.4-r1.ebuild b/app-emulation/crossover-bin/crossover-bin-20.0.4-r1.ebuild new file mode 100644 index 000000000000..5cf94832ad2c --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-20.0.4-r1.ebuild @@ -0,0 +1,225 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{7..9} ) + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support" +HOMEPAGE="https://www.codeweavers.com/products/" +SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-3" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +gstreamer +jpeg +lcms ldap +mp3 +nls osmesa +openal +opencl +opengl +pcap +png +scanner +ssl +v4l +vulkan" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="bindist test" + +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED=" + opt/cxoffice/lib/.* + opt/cxoffice/lib64/.* + opt/cxoffice/bin/cabextract + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/wineserver32 + opt/cxoffice/bin/wineserver64 + opt/cxoffice/bin/wine64-preloader + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxdiag64 + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + opt/cxoffice/bin/wineloader64 +" +QA_TEXTRELS=" + opt/cxoffice/bin/wineserver32 + opt/cxoffice/lib/wine/* + opt/cxoffice/lib/libwine.so* +" + +S="${WORKDIR}" + +DEPEND="" +BDEPEND="${PYTHON_DEPS} + app-arch/cpio + app-arch/unzip + dev-lang/perl + dev-util/bbe +" + +RDEPEND="${DEPEND} + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + !prefix? ( sys-libs/glibc ) + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-libs/libcapi[abi_x86_32(-)] ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg:0[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + gstreamer? ( + media-libs/gstreamer:1.0[abi_x86_32(-)] + jpeg? ( media-plugins/gst-plugins-jpeg:1.0[abi_x86_32(-)] ) + media-plugins/gst-plugins-meta:1.0[abi_x86_32(-)] + ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opencl? ( virtual/opencl[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + pcap? ( net-libs/libpcap[abi_x86_32(-)] ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( net-libs/gnutls:0/30[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + vulkan? ( media-libs/vulkan-loader[abi_x86_32(-)] ) + dev-libs/glib:2 + dev-libs/gobject-introspection + dev-libs/openssl + dev-util/desktop-file-utils + media-libs/alsa-lib[abi_x86_32(-)] + media-libs/freetype:2[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-),osmesa?] + media-libs/tiff:0[abi_x86_32(-)] + sys-auth/nss-mdns[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/libunwind[abi_x86_32(-)] + sys-libs/ncurses-compat:5[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXcursor[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)] + x11-libs/gdk-pixbuf:2[introspection] + x11-libs/gtk+:3[introspection] + x11-libs/pango[introspection] + x11-libs/vte:2.91[introspection] + || ( + sys-libs/glibc[crypt(+)] + sys-libs/libxcrypt[compat] + ) +" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} into your DISTDIR directory" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + default + + sed -i \ + -e "s:xdg_install_icons(:&\"${ED}\".:" \ + -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ + -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ + "${S}/lib/perl/CXMenuXDG.pm" + + # Remove unnecessary files, license.txt file kept as it's used by + # multiple files (apart of the menu to show the license) + rm -r guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym ../cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + #cp -r ./* "${ED}/opt/cxoffice" \ + find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ + || die "Could not install into ${ED}/opt/cxoffice" + + # Disable auto-update + sed -i -e 's/;;\"AutoUpdate\" = \"1\"/\"AutoUpdate\" = \"0\"/g' share/crossover/data/cxoffice.conf || die + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + dodir /etc/env.d + echo "CONFIG_PROTECT=/opt/cxoffice/etc/cxoffice.conf" >> "${ED}"/etc/env.d/30crossover-bin || die + + # Konqueror in its infinite wisdom decides to try opening things for + # writing, which are sandbox violations. This breaks the install process if + # it is installed, so we ninja edit it to false so it so doesn't run. + sed -i -e 's/cxwhich konqueror/false &/' "${ED}/opt/cxoffice/bin/locate_gui.sh" \ + || die "Could not apply workaround for konqueror" + + # Install menus + # XXX: locate_gui.sh automatically detects *-application-merged directories + # This means what we install will vary depending on the contents of + # /etc/xdg, which is a QA violation. It is not clear how to resolve this. + XDG_DATA_HOME="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ + "${ED}/opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ + || die "Could not install menus" + + # Revert ninja edit + sed -i -e 's/false \(cxwhich konqueror\)/\1/' "${ED}/opt/cxoffice/bin/locate_gui.sh" \ + || die "Could not apply workaround for konqueror" + + rm "${ED}/usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ + || die "Could not remove uninstall menus" + sed -i \ + -e "s:\"${ED}\".::" \ + -e "s:${ED}::" \ + "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ + || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" + sed -i -e "s:${ED}:/:" \ + "${ED}/usr/share/applications/"*"CrossOver.desktop" \ + || die "Could not fix paths of *.desktop files" + + # Workaround missing libs + # https://www.codeweavers.com/support/forums/general/?t=26;mhl=198658;msg=198658 + if use gphoto2; then + bbe -e 's/libgphoto2_port.so.10/libgphoto2_port.so.12/' "${ED}/opt/cxoffice/lib/wine/gphoto2.ds.so" >tmp || die + mv tmp "${ED}/opt/cxoffice/lib/wine/gphoto2.ds.so" || die + bbe -e 's/libgphoto2_port.so.10/libgphoto2_port.so.12/' "${ED}/opt/cxoffice/bin/cxdiag" >tmp || die + mv tmp "${ED}/opt/cxoffice/bin/cxdiag" || die + fperms a+x "/opt/cxoffice/bin/cxdiag" + fi + # It tries to load libpcap as packaged in Debian, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=657900 + # https://bugs.gentoo.org/721108 + if use pcap; then + bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib/wine/wpcap.dll.so" >tmp || die + bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib64/wine/wpcap.dll.so" >tmp64 || die + mv tmp "${ED}/opt/cxoffice/lib/wine/wpcap.dll.so" || die + mv tmp64 "${ED}/opt/cxoffice/lib64/wine/wpcap.dll.so" || die + fi +} + +pkg_postinst() { + einfo "${P} is open source software with the exception of the GUI." + einfo "Source code can be obtained from:" + einfo + einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" +} diff --git a/app-emulation/crossover-bin/crossover-bin-20.0.4.ebuild b/app-emulation/crossover-bin/crossover-bin-20.0.4.ebuild deleted file mode 100644 index 81b9af99483f..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-20.0.4.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 -PYTHON_COMPAT=( python3_{7..9} ) - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support" -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +gstreamer +jpeg +lcms ldap +mp3 +nls osmesa +openal +opencl +opengl +pcap +png +scanner +ssl +v4l +vulkan" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RESTRICT="bindist test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED=" - opt/cxoffice/lib/.* - opt/cxoffice/lib64/.* - opt/cxoffice/bin/cabextract - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/wineserver32 - opt/cxoffice/bin/wineserver64 - opt/cxoffice/bin/wine64-preloader - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxdiag64 - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - opt/cxoffice/bin/wineloader64 -" -QA_TEXTRELS=" - opt/cxoffice/bin/wineserver32 - opt/cxoffice/lib/wine/* - opt/cxoffice/lib/libwine.so* -" - -S="${WORKDIR}" - -DEPEND="" -BDEPEND="${PYTHON_DEPS} - app-arch/cpio - app-arch/unzip - dev-lang/perl - dev-util/bbe -" - -RDEPEND="${DEPEND} - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - ') - !prefix? ( sys-libs/glibc ) - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg:0[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - gstreamer? ( - media-libs/gstreamer:1.0[abi_x86_32(-)] - jpeg? ( media-plugins/gst-plugins-jpeg:1.0[abi_x86_32(-)] ) - media-plugins/gst-plugins-meta:1.0[abi_x86_32(-)] - ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opencl? ( virtual/opencl[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - pcap? ( net-libs/libpcap[abi_x86_32(-)] ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( net-libs/gnutls:0/30[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - vulkan? ( media-libs/vulkan-loader[abi_x86_32(-)] ) - dev-libs/glib:2 - dev-libs/gobject-introspection - dev-libs/openssl - dev-util/desktop-file-utils - media-libs/alsa-lib[abi_x86_32(-)] - media-libs/freetype:2[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-),osmesa?] - media-libs/tiff:0[abi_x86_32(-)] - sys-auth/nss-mdns[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/libunwind[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXcursor[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)] - x11-libs/gdk-pixbuf:2[introspection] - x11-libs/gtk+:3[introspection] - x11-libs/pango[introspection] - x11-libs/vte:2.91[introspection] -" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - default - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files, license.txt file kept as it's used by - # multiple files (apart of the menu to show the license) - rm -r guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}/opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}/opt/cxoffice" - - # Disable auto-update - sed -i -e 's/;;\"AutoUpdate\" = \"1\"/\"AutoUpdate\" = \"0\"/g' share/crossover/data/cxoffice.conf || die - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - dodir /etc/env.d - echo "CONFIG_PROTECT=/opt/cxoffice/etc/cxoffice.conf" >> "${ED}"/etc/env.d/30crossover-bin || die - - # Konqueror in its infinite wisdom decides to try opening things for - # writing, which are sandbox violations. This breaks the install process if - # it is installed, so we ninja edit it to false so it so doesn't run. - sed -i -e 's/cxwhich konqueror/false &/' "${ED}/opt/cxoffice/bin/locate_gui.sh" \ - || die "Could not apply workaround for konqueror" - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_HOME="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}/opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - # Revert ninja edit - sed -i -e 's/false \(cxwhich konqueror\)/\1/' "${ED}/opt/cxoffice/bin/locate_gui.sh" \ - || die "Could not apply workaround for konqueror" - - rm "${ED}/usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" - - # Workaround missing libs - # https://www.codeweavers.com/support/forums/general/?t=26;mhl=198658;msg=198658 - if use gphoto2; then - bbe -e 's/libgphoto2_port.so.10/libgphoto2_port.so.12/' "${ED}/opt/cxoffice/lib/wine/gphoto2.ds.so" >tmp || die - mv tmp "${ED}/opt/cxoffice/lib/wine/gphoto2.ds.so" || die - bbe -e 's/libgphoto2_port.so.10/libgphoto2_port.so.12/' "${ED}/opt/cxoffice/bin/cxdiag" >tmp || die - mv tmp "${ED}/opt/cxoffice/bin/cxdiag" || die - fperms a+x "/opt/cxoffice/bin/cxdiag" - fi - # It tries to load libpcap as packaged in Debian, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=657900 - # https://bugs.gentoo.org/721108 - if use pcap; then - bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib/wine/wpcap.dll.so" >tmp || die - bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib64/wine/wpcap.dll.so" >tmp64 || die - mv tmp "${ED}/opt/cxoffice/lib/wine/wpcap.dll.so" || die - mv tmp64 "${ED}/opt/cxoffice/lib64/wine/wpcap.dll.so" || die - fi -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/firecracker/Manifest b/app-emulation/firecracker/Manifest index 2a16d6919d6f..bf5d0c4056ec 100644 --- a/app-emulation/firecracker/Manifest +++ b/app-emulation/firecracker/Manifest @@ -34,4 +34,4 @@ DIST unicode-xid-0.2.0.crate 14994 BLAKE2B e66b4255798f0ef1c81fb852613fee396a042 DIST vm-memory-0.1.0.crate 50965 BLAKE2B d85879f85c39ac44114945fa42e77c40b0a2e882f82b8ea85cd6a014592dbccd675e3e702a4463a8ff0fef527fbda4a23e82a460f7bdc89159a8825105e27377 SHA512 a0ac7ff915e57557239770ececc663236ab309562a13f6b4757449daf3e4fadb588fd1e90f2188d694f1d59ae73329c22c668720b5b387f07a9215cbec6b5c1f DIST vmm-sys-util-0.4.0.crate 54433 BLAKE2B cd5296f8dd291f7f7857e3a5af528913e7a8f045434dcfb4496f2b57a9ff50df32d7f8b4246a0a772435b5f85f4505a1a3c61b7523243f6bcfa229c01f465812 SHA512 ae2bbab2b849e2d2ed5be2eb4406597aada792a8e61b688333f92eba1aa2c3fd2d20fc759b99aa22b0301e72053f13e6b7b26015239ce09bfc96c670c1d91002 EBUILD firecracker-0.21.1-r1.ebuild 1840 BLAKE2B d04a4009b325243a01118eeae4a36b5a92d99adec54fe731ba8fc725f94e555523159026b1f7ef059068d2017fabe8f3ca6f853435508538db8d806be2c6d1fe SHA512 2ead8000ea81d1320b8e110fed928b7646597ced2ffe125c63e5a8e0bd507abf201a6a1c048d2617418fc3bd925139f4a864c9516f4414def4e54c571bee5908 -MISC metadata.xml 247 BLAKE2B 94608f4bda5b60a090b18717a5d81d90defbb5e482043059dcb7a41d39a21b9192e6f58a1ebdb83cc8cfaa9fe85ced13c40e6e43c110e0e21b2cb6a36f6dc852 SHA512 1196d40f8c6a3b2e5d0c0590c2f56b53ead40ec8d9eb2c125094eb961b092558c51baa89f237fda24cf1050e85c78dd7419e1d217c2feceb32c6296990ac54c3 +MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 diff --git a/app-emulation/firecracker/metadata.xml b/app-emulation/firecracker/metadata.xml index 6698a4ab7883..6f49eba8f496 100644 --- a/app-emulation/firecracker/metadata.xml +++ b/app-emulation/firecracker/metadata.xml @@ -1,8 +1,5 @@ - - zlogene@gentoo.org - Mikle Kolyada - + diff --git a/app-emulation/open-vm-tools/Manifest b/app-emulation/open-vm-tools/Manifest index 870d8deb05cc..aac997e48a47 100644 --- a/app-emulation/open-vm-tools/Manifest +++ b/app-emulation/open-vm-tools/Manifest @@ -9,6 +9,6 @@ AUX vmtoolsd.service 244 BLAKE2B 65bf0e80b580c2c29a06a2cbf37f8428dbfe03404cea92d AUX vmtoolsd.vgauth.service 312 BLAKE2B dba8ddb1b701cea490b117d08c93738a38bd668cf5444501bad8aabc503da4b87e53103a26ca4664247f14582c5546a28f093768833182581a850f0c50bc61e3 SHA512 fce9af2a3b98bf1fd5063af6c0d00bac7eba4ca02456d9266be5b74f2dea168521ffd44c38df1e28b0684f7ce21e4cb44ec2570fcbe01ff2ef432b55ede585f3 DIST open-vm-tools-11.2.0-16938113.tar.gz 4050857 BLAKE2B b0e5e1e985d9f3d50dbbb8a4a7939d37d8968f0aa15e6d7200b7ec8511bd059d3a78a4ddd763d22965dc6da614d156e6b7ee23af73490f8bbf8e1dc2664041d3 SHA512 c950d6e8ba5218dd40e845f3c2b09eeb640ef0d33c7ea1671164027927e062dcf0b4745f6e4515a7495ec20a6d06a8fbf700819f6211073194b5ef97d7be441d DIST open-vm-tools-11.2.5-17337674.tar.gz 4057528 BLAKE2B 2adc5179e09a4bb501fe12c9e6dea7fee106516fd250899170a8fb3bcefb9b576136a82e4c3d3a73217b44aba8880728bb3588cedd715529f9b2991f0156ac84 SHA512 b6d4bc6522418ec7a881752181ad9240e535854df492e758abf3996c6afe245466ffbff60cc1b6cdff5cf731b5769c9f9cb96aed29f0b788d0eef05f91fcf8ab -EBUILD open-vm-tools-11.2.0_p16938113-r2.ebuild 3139 BLAKE2B 5e5745ecdf9e0ae0901c4649f6659a3740606233207009829b5ab9799f1964719b79d6e784a4789f8d425d9c061e84238916c8699fa4d038087368ac5f991dca SHA512 fe2ec7a5509afe17060d75bbc4c448fe56839469dab0dbbe4175308c849b508726bea61cf447141ced50b9b7a9e2614dc1953fd821005b0b8c0ff6495f18bb1c -EBUILD open-vm-tools-11.2.5_p17337674-r1.ebuild 3151 BLAKE2B 395e19253a1f6e95a69f6644f4887c8f5b814843ceeab2f829629b7cb998bec33200a9ecd9366ee981f455e8313394fa8a9ca13ff4df4fbafbedeac9f14f38ba SHA512 36b577479d851216181d0c7410c2cfc67d456cfe84362601d081809d2ab196ccc502b9220f03bb36417091c01bd8e5581cf72ce0e5bcadd08dfb84fcd8e99e01 +EBUILD open-vm-tools-11.2.0_p16938113-r4.ebuild 3169 BLAKE2B f82fa2d219fb85c836c3935d15d8069c7b04566bb09c939b5a88116f80f21b99f3520e9819c703d2714d7f8e4e203cd656f00c3c708d2229c606b90f222622ad SHA512 3223eddb1813bec285a60d300da328251573a09044e514dcb74c9fae008ebcb7becb20552a3d90c07277c60023fb8406426c838926d868e4e983ac5e5d7adf45 +EBUILD open-vm-tools-11.2.5_p17337674-r3.ebuild 3181 BLAKE2B d5d2ba6839a1a0f4e1bd179242cf186a619c1fc065c41c1bb5bd41052da3e61f981a64e91c298b484b62670f853253f7a6f9f3fd21cdc1cdc4b7f90b70e03e06 SHA512 8aaafb51593ad38f86eeb1eee52cac6255866688bc42bcae11d83dbf428134948719d39b835bd248fe0cd2c5f5257a581adb808e6d1e540a084bd6d20431c7bf MISC metadata.xml 1098 BLAKE2B f4a5ef8cb8661438d0d1e01da16993a3334c25dcf8a43e55ecabd0b02734b33681d1b0824db1f08431086f8287094d7aee559e50af8c0ef0f4819cc2c14158eb SHA512 f4eb924b8a5269f0fe7f4c00f3a4747f56dfdc5c028a913785cf1929938ad333102ebfba6f3ca9ac15fb7e25f06d629be528abdcd7bb96a8c31e257405cda201 diff --git a/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r2.ebuild b/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r2.ebuild deleted file mode 100644 index c6a8bc66b334..000000000000 --- a/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r2.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 2007-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools linux-info pam systemd - -DESCRIPTION="Opensourced tools for VMware guests" -HOMEPAGE="https://github.com/vmware/open-vm-tools" -MY_P="${PN}-${PV/_p/-}" -SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV%_p*}/${MY_P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="X +deploypkg +dnet doc +fuse gtkmm +icu multimon pam +resolutionkms +ssl static-libs +vgauth" -REQUIRED_USE=" - multimon? ( X ) - vgauth? ( ssl ) -" - -RDEPEND=" - dev-libs/glib - net-libs/libtirpc - deploypkg? ( dev-libs/libmspack ) - fuse? ( sys-fs/fuse:0 ) - pam? ( sys-libs/pam ) - ssl? ( dev-libs/openssl:0= ) - vgauth? ( - dev-libs/libxml2 - dev-libs/xmlsec - ) - X? ( - x11-libs/libXext - multimon? ( x11-libs/libXinerama ) - x11-libs/libXi - x11-libs/libXrender - x11-libs/libXrandr - x11-libs/libXtst - x11-libs/libSM - x11-libs/libXcomposite - x11-libs/gdk-pixbuf-xlib - x11-libs/gtk+:3 - gtkmm? ( - dev-cpp/gtkmm:3.0 - dev-libs/libsigc++:2 - ) - ) - dnet? ( dev-libs/libdnet ) - icu? ( dev-libs/icu:= ) - resolutionkms? ( - x11-libs/libdrm[video_cards_vmware] - virtual/libudev - ) -" - -DEPEND="${RDEPEND} - net-libs/rpcsvc-proto -" - -BDEPEND=" - dev-util/glib-utils - virtual/pkgconfig - doc? ( app-doc/doxygen ) -" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/10.1.0-mount.vmhgfs.patch" - "${FILESDIR}/10.1.0-Werror.patch" -) - -pkg_setup() { - local CONFIG_CHECK="~VMWARE_BALLOON ~VMWARE_PVSCSI ~VMXNET3" - use X && CONFIG_CHECK+=" ~DRM_VMWGFX" - kernel_is -lt 3 9 || CONFIG_CHECK+=" ~VMWARE_VMCI ~VMWARE_VMCI_VSOCKETS" - kernel_is -lt 3 || CONFIG_CHECK+=" ~FUSE_FS" - kernel_is -lt 5 5 || CONFIG_CHECK+=" ~X86_IOPL_IOPERM" - linux-info_pkg_setup -} - -src_prepare() { - eapply -p2 "${PATCHES[@]}" - eapply_user - eautoreconf -} - -src_configure() { - local myeconfargs=( - --without-root-privileges - $(use_enable multimon) - $(use_with X x) - $(use_with X gtk3) - $(use_with gtkmm gtkmm3) - $(use_enable doc docs) - --disable-tests - $(use_enable resolutionkms) - $(use_enable static-libs static) - $(use_enable deploypkg) - $(use_with pam) - $(use_enable vgauth) - $(use_with dnet) - $(use_with icu) - ) - # Avoid a bug in configure.ac - use ssl || myeconfargs+=( --without-ssl ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - find "${ED}" -name '*.la' -delete || die - - if use pam; then - rm "${ED}"/etc/pam.d/vmtoolsd || die - pamd_mimic_system vmtoolsd auth account - fi - - newinitd "${FILESDIR}/open-vm-tools.initd" vmware-tools - newconfd "${FILESDIR}/open-vm-tools.confd" vmware-tools - - if use vgauth; then - systemd_newunit "${FILESDIR}"/vmtoolsd.vgauth.service vmtoolsd.service - systemd_dounit "${FILESDIR}"/vgauthd.service - else - systemd_dounit "${FILESDIR}"/vmtoolsd.service - fi - - # Replace mount.vmhgfs with a wrapper - mv "${ED}"/usr/sbin/{mount.vmhgfs,hgfsmounter} || die - dosbin "${FILESDIR}/mount.vmhgfs" - - # Make fstype = vmhgfs-fuse work in fstab - dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse - - if use X; then - fperms 4711 /usr/bin/vmware-user-suid-wrapper - dobin scripts/common/vmware-xdg-detect-de - fi -} diff --git a/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r4.ebuild b/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r4.ebuild new file mode 100644 index 000000000000..d835f5255091 --- /dev/null +++ b/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r4.ebuild @@ -0,0 +1,143 @@ +# Copyright 2007-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools linux-info pam systemd + +DESCRIPTION="Opensourced tools for VMware guests" +HOMEPAGE="https://github.com/vmware/open-vm-tools" +MY_P="${PN}-${PV/_p/-}" +SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV%_p*}/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="X +deploypkg +dnet doc +fuse gtkmm +icu multimon pam +resolutionkms +ssl static-libs +vgauth" +REQUIRED_USE=" + multimon? ( X ) + vgauth? ( ssl ) +" + +RDEPEND=" + dev-libs/glib + net-libs/libtirpc + deploypkg? ( dev-libs/libmspack ) + fuse? ( sys-fs/fuse:0 ) + pam? ( sys-libs/pam ) + !pam? ( virtual/libcrypt:= ) + ssl? ( dev-libs/openssl:0= ) + vgauth? ( + dev-libs/libxml2 + dev-libs/xmlsec + ) + X? ( + x11-libs/libXext + multimon? ( x11-libs/libXinerama ) + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libSM + x11-libs/libXcomposite + x11-libs/gdk-pixbuf-xlib + x11-libs/gtk+:3 + gtkmm? ( + dev-cpp/gtkmm:3.0 + dev-libs/libsigc++:2 + ) + ) + dnet? ( dev-libs/libdnet ) + icu? ( dev-libs/icu:= ) + resolutionkms? ( + x11-libs/libdrm[video_cards_vmware] + virtual/libudev + ) +" + +DEPEND="${RDEPEND} + net-libs/rpcsvc-proto +" + +BDEPEND=" + dev-util/glib-utils + virtual/pkgconfig + doc? ( app-doc/doxygen ) +" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/10.1.0-mount.vmhgfs.patch" + "${FILESDIR}/10.1.0-Werror.patch" +) + +pkg_setup() { + local CONFIG_CHECK="~VMWARE_BALLOON ~VMWARE_PVSCSI ~VMXNET3" + use X && CONFIG_CHECK+=" ~DRM_VMWGFX" + kernel_is -lt 3 9 || CONFIG_CHECK+=" ~VMWARE_VMCI ~VMWARE_VMCI_VSOCKETS" + kernel_is -lt 3 || CONFIG_CHECK+=" ~FUSE_FS" + kernel_is -lt 5 5 || CONFIG_CHECK+=" ~X86_IOPL_IOPERM" + linux-info_pkg_setup +} + +src_prepare() { + eapply -p2 "${PATCHES[@]}" + eapply_user + eautoreconf +} + +src_configure() { + local myeconfargs=( + --without-root-privileges + $(use_enable multimon) + $(use_with X x) + $(use_with X gtk3) + $(use_with gtkmm gtkmm3) + $(use_enable doc docs) + --disable-tests + $(use_enable resolutionkms) + $(use_enable static-libs static) + $(use_enable deploypkg) + $(use_with pam) + $(use_enable vgauth) + $(use_with dnet) + $(use_with icu) + ) + # Avoid a bug in configure.ac + use ssl || myeconfargs+=( --without-ssl ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die + + if use pam; then + rm "${ED}"/etc/pam.d/vmtoolsd || die + pamd_mimic_system vmtoolsd auth account + fi + + newinitd "${FILESDIR}/open-vm-tools.initd" vmware-tools + newconfd "${FILESDIR}/open-vm-tools.confd" vmware-tools + + if use vgauth; then + systemd_newunit "${FILESDIR}"/vmtoolsd.vgauth.service vmtoolsd.service + systemd_dounit "${FILESDIR}"/vgauthd.service + else + systemd_dounit "${FILESDIR}"/vmtoolsd.service + fi + + # Replace mount.vmhgfs with a wrapper + mv "${ED}"/usr/sbin/{mount.vmhgfs,hgfsmounter} || die + dosbin "${FILESDIR}/mount.vmhgfs" + + # Make fstype = vmhgfs-fuse work in fstab + dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse + + if use X; then + fperms 4711 /usr/bin/vmware-user-suid-wrapper + dobin scripts/common/vmware-xdg-detect-de + fi +} diff --git a/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r1.ebuild b/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r1.ebuild deleted file mode 100644 index a762364d6c24..000000000000 --- a/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r1.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 2007-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools linux-info pam systemd - -DESCRIPTION="Opensourced tools for VMware guests" -HOMEPAGE="https://github.com/vmware/open-vm-tools" -MY_P="${PN}-${PV/_p/-}" -SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV%_p*}/${MY_P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="X +deploypkg +dnet doc +fuse gtkmm +icu multimon pam +resolutionkms +ssl +vgauth" -REQUIRED_USE=" - multimon? ( X ) - vgauth? ( ssl ) -" - -RDEPEND=" - dev-libs/glib - net-libs/libtirpc - deploypkg? ( dev-libs/libmspack ) - fuse? ( sys-fs/fuse:0 ) - pam? ( sys-libs/pam ) - ssl? ( dev-libs/openssl:0= ) - vgauth? ( - dev-libs/libxml2 - dev-libs/xmlsec - ) - X? ( - x11-libs/libXext - multimon? ( x11-libs/libXinerama ) - x11-libs/libXi - x11-libs/libXrender - x11-libs/libXrandr - x11-libs/libXtst - x11-libs/libSM - x11-libs/libXcomposite - x11-libs/gdk-pixbuf-xlib - x11-libs/gtk+:3 - gtkmm? ( - dev-cpp/gtkmm:3.0 - dev-libs/libsigc++:2 - ) - ) - dnet? ( dev-libs/libdnet ) - icu? ( dev-libs/icu:= ) - resolutionkms? ( - x11-libs/libdrm[video_cards_vmware] - virtual/libudev - ) -" - -DEPEND="${RDEPEND} - net-libs/rpcsvc-proto -" - -BDEPEND=" - dev-util/glib-utils - virtual/pkgconfig - doc? ( app-doc/doxygen ) -" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/10.1.0-mount.vmhgfs.patch" - "${FILESDIR}/10.1.0-Werror.patch" - "${FILESDIR}/11.2.5-glib-2.68.patch" -) - -pkg_setup() { - local CONFIG_CHECK="~VMWARE_BALLOON ~VMWARE_PVSCSI ~VMXNET3" - use X && CONFIG_CHECK+=" ~DRM_VMWGFX" - kernel_is -lt 3 9 || CONFIG_CHECK+=" ~VMWARE_VMCI ~VMWARE_VMCI_VSOCKETS" - kernel_is -lt 3 || CONFIG_CHECK+=" ~FUSE_FS" - kernel_is -lt 5 5 || CONFIG_CHECK+=" ~X86_IOPL_IOPERM" - linux-info_pkg_setup -} - -src_prepare() { - eapply -p2 "${PATCHES[@]}" - eapply_user - eautoreconf -} - -src_configure() { - local myeconfargs=( - --without-root-privileges - $(use_enable multimon) - $(use_with X x) - $(use_with X gtk3) - $(use_with gtkmm gtkmm3) - $(use_enable doc docs) - --disable-tests - $(use_enable resolutionkms) - --disable-static - $(use_enable deploypkg) - $(use_with pam) - $(use_enable vgauth) - $(use_with dnet) - $(use_with icu) - ) - # Avoid a bug in configure.ac - use ssl || myeconfargs+=( --without-ssl ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - find "${ED}" -name '*.la' -delete || die - - if use pam; then - rm "${ED}"/etc/pam.d/vmtoolsd || die - pamd_mimic_system vmtoolsd auth account - fi - - newinitd "${FILESDIR}/open-vm-tools.initd" vmware-tools - newconfd "${FILESDIR}/open-vm-tools.confd" vmware-tools - - if use vgauth; then - systemd_newunit "${FILESDIR}"/vmtoolsd.vgauth.service vmtoolsd.service - systemd_dounit "${FILESDIR}"/vgauthd.service - else - systemd_dounit "${FILESDIR}"/vmtoolsd.service - fi - - # Replace mount.vmhgfs with a wrapper - mv "${ED}"/usr/sbin/{mount.vmhgfs,hgfsmounter} || die - dosbin "${FILESDIR}/mount.vmhgfs" - - # Make fstype = vmhgfs-fuse work in fstab - dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse - - if use X; then - fperms 4711 /usr/bin/vmware-user-suid-wrapper - dobin scripts/common/vmware-xdg-detect-de - fi -} diff --git a/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r3.ebuild b/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r3.ebuild new file mode 100644 index 000000000000..0d6b5c3e6f9d --- /dev/null +++ b/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r3.ebuild @@ -0,0 +1,144 @@ +# Copyright 2007-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools linux-info pam systemd + +DESCRIPTION="Opensourced tools for VMware guests" +HOMEPAGE="https://github.com/vmware/open-vm-tools" +MY_P="${PN}-${PV/_p/-}" +SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV%_p*}/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X +deploypkg +dnet doc +fuse gtkmm +icu multimon pam +resolutionkms +ssl +vgauth" +REQUIRED_USE=" + multimon? ( X ) + vgauth? ( ssl ) +" + +RDEPEND=" + dev-libs/glib + net-libs/libtirpc + deploypkg? ( dev-libs/libmspack ) + fuse? ( sys-fs/fuse:0 ) + pam? ( sys-libs/pam ) + !pam? ( virtual/libcrypt:= ) + ssl? ( dev-libs/openssl:0= ) + vgauth? ( + dev-libs/libxml2 + dev-libs/xmlsec + ) + X? ( + x11-libs/libXext + multimon? ( x11-libs/libXinerama ) + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libSM + x11-libs/libXcomposite + x11-libs/gdk-pixbuf-xlib + x11-libs/gtk+:3 + gtkmm? ( + dev-cpp/gtkmm:3.0 + dev-libs/libsigc++:2 + ) + ) + dnet? ( dev-libs/libdnet ) + icu? ( dev-libs/icu:= ) + resolutionkms? ( + x11-libs/libdrm[video_cards_vmware] + virtual/libudev + ) +" + +DEPEND="${RDEPEND} + net-libs/rpcsvc-proto +" + +BDEPEND=" + dev-util/glib-utils + virtual/pkgconfig + doc? ( app-doc/doxygen ) +" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/10.1.0-mount.vmhgfs.patch" + "${FILESDIR}/10.1.0-Werror.patch" + "${FILESDIR}/11.2.5-glib-2.68.patch" +) + +pkg_setup() { + local CONFIG_CHECK="~VMWARE_BALLOON ~VMWARE_PVSCSI ~VMXNET3" + use X && CONFIG_CHECK+=" ~DRM_VMWGFX" + kernel_is -lt 3 9 || CONFIG_CHECK+=" ~VMWARE_VMCI ~VMWARE_VMCI_VSOCKETS" + kernel_is -lt 3 || CONFIG_CHECK+=" ~FUSE_FS" + kernel_is -lt 5 5 || CONFIG_CHECK+=" ~X86_IOPL_IOPERM" + linux-info_pkg_setup +} + +src_prepare() { + eapply -p2 "${PATCHES[@]}" + eapply_user + eautoreconf +} + +src_configure() { + local myeconfargs=( + --without-root-privileges + $(use_enable multimon) + $(use_with X x) + $(use_with X gtk3) + $(use_with gtkmm gtkmm3) + $(use_enable doc docs) + --disable-tests + $(use_enable resolutionkms) + --disable-static + $(use_enable deploypkg) + $(use_with pam) + $(use_enable vgauth) + $(use_with dnet) + $(use_with icu) + ) + # Avoid a bug in configure.ac + use ssl || myeconfargs+=( --without-ssl ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die + + if use pam; then + rm "${ED}"/etc/pam.d/vmtoolsd || die + pamd_mimic_system vmtoolsd auth account + fi + + newinitd "${FILESDIR}/open-vm-tools.initd" vmware-tools + newconfd "${FILESDIR}/open-vm-tools.confd" vmware-tools + + if use vgauth; then + systemd_newunit "${FILESDIR}"/vmtoolsd.vgauth.service vmtoolsd.service + systemd_dounit "${FILESDIR}"/vgauthd.service + else + systemd_dounit "${FILESDIR}"/vmtoolsd.service + fi + + # Replace mount.vmhgfs with a wrapper + mv "${ED}"/usr/sbin/{mount.vmhgfs,hgfsmounter} || die + dosbin "${FILESDIR}/mount.vmhgfs" + + # Make fstype = vmhgfs-fuse work in fstab + dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse + + if use X; then + fperms 4711 /usr/bin/vmware-user-suid-wrapper + dobin scripts/common/vmware-xdg-detect-de + fi +} diff --git a/app-emulation/protontricks/Manifest b/app-emulation/protontricks/Manifest index 86b8ace93c1b..3b014716e005 100644 --- a/app-emulation/protontricks/Manifest +++ b/app-emulation/protontricks/Manifest @@ -1,8 +1,6 @@ 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.1.tar.gz 48111 BLAKE2B df7feaefd2ec1c058fa7190ec9c981bd480e5d36cf7a3e15868aa8e052857e69dc573559e35faf74d9d2f4a5549471cb0e8fc0be58ed2431890e37751c88cab8 SHA512 4b8d5d17a4bce8bd987c032f5a5ae689d1dcca4694463778398bb62b983afe6eee666aed891c810e852a9f873233b1822d21878464b25f07f8ab92e1777f3ff1 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.1.ebuild 1444 BLAKE2B cdb33ec0c2fa7d1c941f478f2613f54da28aac8b075deb185f3e96c294e88f1010f97d4f024fa36954371be55481c88ab4c274c222b1454778c50eeb528ce845 SHA512 d3e7c95a8f9869ce7722514b361f5e663092c5994a14a3e39345bd1b6dc5e13ebe31042767441ec32569cd43ed9129a99231cae52cb280b550817a5f6084018f EBUILD protontricks-1.5.2.ebuild 1444 BLAKE2B cdb33ec0c2fa7d1c941f478f2613f54da28aac8b075deb185f3e96c294e88f1010f97d4f024fa36954371be55481c88ab4c274c222b1454778c50eeb528ce845 SHA512 d3e7c95a8f9869ce7722514b361f5e663092c5994a14a3e39345bd1b6dc5e13ebe31042767441ec32569cd43ed9129a99231cae52cb280b550817a5f6084018f MISC metadata.xml 808 BLAKE2B 9abbb6d1689e04026c239dc2bde4a2d975bb260473178e68c0ec3e37a3e4c3e6db701ece9e8551d5ba071db14effc7e59a15a5e13c2049a6cd9d0709562bf709 SHA512 21452c10fe698d461aa814bc1bddb6350fcd8f60b7c84d8949f1eb8a1932ae3f9214c123451334ac2108f6ad930d5e6f5b522eac477ed6f6af1c916326254c32 diff --git a/app-emulation/protontricks/protontricks-1.5.1.ebuild b/app-emulation/protontricks/protontricks-1.5.1.ebuild deleted file mode 100644 index 06e0a22ded68..000000000000 --- a/app-emulation/protontricks/protontricks-1.5.1.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 40b84db161d7..7c1add1dee00 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -5,9 +5,11 @@ AUX qemu-5.2.0-cleaner-werror.patch 884 BLAKE2B 95404f78f5559f5725c1978e7ef61967 AUX qemu-5.2.0-dce-locks.patch 738 BLAKE2B 121372ed4d812a19f365ec88b584a196548f8ea21b4e6ba6ff899349efa0f3dc8e7b4e77add0adb61fbdb37b814b07a1ca4f39e18b6641aa3a3fd9cf87d6fc8a SHA512 57827809a52b22e585772df47e6d09587730ad172812d663e8f764ce86d922c3dd476724344bb2a3d029f93427f92fd69127355925af67e4b6ba95de716d5888 AUX qemu-5.2.0-disable-keymap.patch 884 BLAKE2B dbbe245a52615f8894cbac1c94ce3fee2051b1c54def32ec6ad43dedfe8190d02937c28ce93d93eeb13fe82f2ac2df52bec375501e83af53624d8292f8208fe3 SHA512 f84c6f37ce742201b63b308bef5fdaf1dc50e77e0dcf164e85284e338ed7bd861fc0e147fb88668b056ab0f15b4e6cbefbfb2cd2bafeb002c281ae88d08f9703 AUX qemu-5.2.0-strings.patch 799 BLAKE2B 8f249a647714a4a677d1aca5d8d5c19b27a0e1933877a286017928e01ec23d82e41dc1d196a50ba38bcf4ec8b71fd89c89e41b7c9673faf13935188eebaf4a56 SHA512 481917c8ec9c5089c210f80e719f5a65af1193323ccda4d68bec6afaab0d0e6407cee1d05cd1f3b1bfbd7b7a5f9d2cdb42dd12123813f2c3c51116e999c09288 +AUX qemu-6.0.0-make.patch 306 BLAKE2B 701c6d929dc7544a2e155243a2545dc488765cf8b733fca29c4f4cb06cad732d72f64c330d95fbcdcf12b174b92b7fa5b713bf833065e5014f8aed1eec22c0a1 SHA512 5d22c6c4085dd0bf58752e21af9addd6a1a670a60f172b488d1ccfb1b9356ce9808a3b9337dd1bd2aa9e06735a3c7a465bc11ae3871cc4294ec609729b2e09c7 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.ebuild 25641 BLAKE2B 9da43387163b7488613a6d53c2dd1b57e06dd31ea401c8b6b45704e404762520f0c6382c077447c90f7666ce3f45ea2c8809680637561da7128b07c560d3b64c SHA512 2dcc5cbd9eb5232184dd63a7316051449916922133518dbf69e045fcabfcdb3da82a1bf50ad3925b24bf465cbb0a28f3cb9b358768ad5cc62cca7404c29632ba -EBUILD qemu-9999.ebuild 25645 BLAKE2B 60f7dc4a1b91b9f048e01cbb1707b338b1a8b30e3001f5c0a3ff7a43295c6264c03aecbc83639de04aa8a490e9280d601701595785b18e679da86f7d3a886bc9 SHA512 97c51472877ceb5015b6b8cb7a63ea72841f87d997fdedd00d34073c5c71c6a3eb8d5ec890bce8087022353cffc6c6bbd4fb7de4ddf36a0a12993de3f1becf75 +EBUILD qemu-6.0.0-r50.ebuild 25767 BLAKE2B aa2063bd3742c0d62ffc356e0855020b42357ce0edc1d91b0cea7b81569d3ff62380b0df483e4fd44ad5693141ad0e90e0f6d9eb261015287f8286cbc2a44d80 SHA512 e55a2565292cd7e2d7c1d9d7709a3616775d33064df193575294cdc6cbbf0ba44e5e2bdc3631590a140c031764da7cfceda6d873440c5c21b8a525863831176a +EBUILD qemu-6.0.0.ebuild 25699 BLAKE2B ae9dc97e809db469c425fee9d9d5dc6281531418940f573b9c792321f5d32a7b04e61817c6540742ce56e7e1b9b5e1361fd3e69b3310cb918b8171d85032d84a SHA512 ee6e126893dfd754a895448c7dc72c5b920d4fa0fbbbe813f23e0c8ac9a32674b2463c92f601dc554e558eaa94a8f519f2038ccfd453ce6f8407c3564d31c7b3 +EBUILD qemu-9999.ebuild 25729 BLAKE2B 0dc32e60845860ad37b637a8e7aaded53aee3154b310bd5769b3da99346b3febc610c5efc1df27d12c15cffc2255947e4b9140ade2a2ab43943bbd4584201702 SHA512 8f387b6e5e1ca7e17f33b9941e2ac64a70d7b2cdb3b4384c5077e5207cf77d143ecb967e6707d7d0ce2db7e65310297a055f06f91d16f064e752a9c1451dfb84 MISC metadata.xml 4407 BLAKE2B 5eb8d6f825df8c79c1c77e5a605387cfaf8b984c56e1c4e055de70e795e9b12e63f16c63b84a8ccc98770b132b704342c2d85a495e9ef7f22027f1495fcc435c SHA512 346645f736716698385f90e74dd2ae6d3ecf44e4496249b7646f6a69e6e1807303f96a8ce739e1dfe74cfae0a169250353341df3aacb55cfc9397a341de1079d diff --git a/app-emulation/qemu/files/qemu-6.0.0-make.patch b/app-emulation/qemu/files/qemu-6.0.0-make.patch new file mode 100644 index 000000000000..2dac1ca11d99 --- /dev/null +++ b/app-emulation/qemu/files/qemu-6.0.0-make.patch @@ -0,0 +1,14 @@ +Allow MAKE='make V=1' and similar. + +https://bugs.gentoo.org/795678 +--- a/configure ++++ b/configure +@@ -1953,7 +1953,7 @@ if test -z "$python" + then + error_exit "Python not found. Use --python=/path/to/python" + fi +-if ! has "$make" ++if ! has $make + then + error_exit "GNU make ($make) not found" + fi diff --git a/app-emulation/qemu/qemu-6.0.0-r50.ebuild b/app-emulation/qemu/qemu-6.0.0-r50.ebuild new file mode 100644 index 000000000000..65c20aa55740 --- /dev/null +++ b/app-emulation/qemu/qemu-6.0.0-r50.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 l10n 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.ebuild b/app-emulation/qemu/qemu-6.0.0.ebuild index 0573493ead0a..8a8069a10e2f 100644 --- a/app-emulation/qemu/qemu-6.0.0.ebuild +++ b/app-emulation/qemu/qemu-6.0.0.ebuild @@ -108,6 +108,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} 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 ) @@ -275,6 +276,7 @@ PATCHES=( "${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=" diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index 907f45897b86..9919b6047c69 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -6,7 +6,7 @@ EAPI="7" PYTHON_COMPAT=( python3_{7,8,9,10} ) PYTHON_REQ_USE="ncurses,readline" -FIRMWARE_ABI_VERSION="5.2.0-r50" +FIRMWARE_ABI_VERSION="6.0.0-r50" inherit eutils linux-info toolchain-funcs multilib python-r1 inherit udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils @@ -108,6 +108,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} 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 ) @@ -212,17 +213,18 @@ SOFTMMU_TOOLS_DEPEND=" 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-202008[binary] + ~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 + >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION} sys-firmware/ipxe[qemu] >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] sys-firmware/sgabios diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest index 557ba087ddb5..ae602bb220cd 100644 --- a/app-emulation/virt-manager/Manifest +++ b/app-emulation/virt-manager/Manifest @@ -4,5 +4,5 @@ DIST virt-manager-3.2.0.tar.gz 2858909 BLAKE2B 83bd8589fb7d9c855300e06689fdeeeee 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 2469 BLAKE2B b85b2152a80e57e72e80e3b8a198cf210acc78a108b46456bd2871d6d176aac0705b8ba47a6f22a5cfa4559d4a1fb5a7ee599af3b1b2882efa9ea9b37ae2182a SHA512 9499fee65f618ed2916388b3c826235eb822f192e37c258a49aaa7eb910b1479bfa8ef2edb1fed1bcc2144ee2559bf0578986e10667405fc507223d5c98aa817 +EBUILD virt-manager-9999.ebuild 2448 BLAKE2B a4056d023c698cc5a892cba5aab6506382bd1a1f6b59bd26984e1fe08d379e6388b782a3f323fb655d687937ce6349a8b9fec2710b931fb41ded2bb692fc820b SHA512 b6e969fc2e48c9dc7f82e5a12db3092fc519f892f3b9b9b091f068710332be9d42b5a47e40503db1edf1a3b10df467dd19edaf2b45ad176bd679f850a93fbe21 MISC metadata.xml 662 BLAKE2B 4ddc8ee05f0679380316f8c175194b325d931967c9faee576f042fa42e0c7d6f8aa6b688464c1a839b8b20e184646d6e356095ffad136141c6c1fc7aa5d4f4f6 SHA512 7aaac81b00bb77562616d6ba9442c2e37d7cdd1142af090e3fe07be36315b5179bdb9cf78073c3f901e9a924c089ba00474e3c7121d785b6622b60be1fce682a diff --git a/app-emulation/virt-manager/virt-manager-9999.ebuild b/app-emulation/virt-manager/virt-manager-9999.ebuild index 5bb21473d4dc..3e4593a1f8a9 100644 --- a/app-emulation/virt-manager/virt-manager-9999.ebuild +++ b/app-emulation/virt-manager/virt-manager-9999.ebuild @@ -54,6 +54,8 @@ DEPEND="${RDEPEND} dev-util/intltool " +distutils_enable_tests pytest + DOCS=( README.md NEWS.md ) src_prepare() { @@ -72,8 +74,6 @@ python_install() { src_install() { local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) distutils-r1_src_install - - python_fix_shebang "${ED}"/usr/share/virt-manager } pkg_preinst() { -- cgit v1.2.3