diff options
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/Manifest.gz | bin | 19026 -> 19031 bytes | |||
-rw-r--r-- | app-emulation/qemu/Manifest | 7 | ||||
-rw-r--r-- | app-emulation/qemu/qemu-2.11.0-r50.ebuild | 1 | ||||
-rw-r--r-- | app-emulation/qemu/qemu-2.11.0.ebuild | 1 | ||||
-rw-r--r-- | app-emulation/qemu/qemu-2.11.1.ebuild | 802 | ||||
-rw-r--r-- | app-emulation/runc/Manifest | 1 | ||||
-rw-r--r-- | app-emulation/runc/files/runc-1.0.0_rc2-init-non-dumpable.patch | 108 | ||||
-rw-r--r-- | app-emulation/virtualbox-modules/Manifest | 8 | ||||
-rw-r--r-- | app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch | 20 | ||||
-rw-r--r-- | app-emulation/virtualbox-modules/metadata.xml | 1 | ||||
-rw-r--r-- | app-emulation/virtualbox-modules/virtualbox-modules-5.1.32.ebuild | 7 | ||||
-rw-r--r-- | app-emulation/virtualbox-modules/virtualbox-modules-5.2.6.ebuild | 5 | ||||
-rw-r--r-- | app-emulation/virtualbox/Manifest | 5 | ||||
-rw-r--r-- | app-emulation/virtualbox/files/virtualbox-detect-usb-fix.patch | 24 | ||||
-rw-r--r-- | app-emulation/virtualbox/virtualbox-5.1.32.ebuild | 30 | ||||
-rw-r--r-- | app-emulation/virtualbox/virtualbox-5.2.6.ebuild | 30 |
16 files changed, 886 insertions, 164 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz Binary files differindex 8ae58a31e7bd..3f8cbacc5042 100644 --- a/app-emulation/Manifest.gz +++ b/app-emulation/Manifest.gz diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 917a8a988787..91c7142e8142 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -9,7 +9,10 @@ AUX qemu-binfmt.initd.head 1445 BLAKE2B 5762a38034331a13e308f6fc8cb979e38ae01a05 AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 DIST qemu-2.11.0-patches-r0.tar.xz 16140 BLAKE2B 2e23908075195a7c28df574525a159e171277a2da6d7c0656a341a2db6a622237106d2dd8de5c9d61b5fb62fa5a163e9657406a2996cebc05baa53d42c5f5d15 SHA512 f7d92c2232398565b8cde294d38dc281c13503fb5967cc7871a2233b7fa354799619445e9ec89c285ef051f62ecef0bd38a135b0093bf5528c0b28c6e580c839 DIST qemu-2.11.0.tar.bz2 32816398 BLAKE2B 2014a8246f3cba9069186629d9ec8c221672fcfd3e8cd28a7e57f467add81f7bd84363183ef5cc5d18af91bde9186a4da49c0133c8ead83eae4626b9fc364e99 SHA512 3681700833573c0aa6283af950bfa298970056f1b44489088d8863840a7694512138321f86961ef43b256abf15eddd2612fb9cdbe3d9a358542d4e7037cc2004 -EBUILD qemu-2.11.0-r50.ebuild 23613 BLAKE2B c0434f730029c1e404d4258f5739affc2fc127e3f1497ace9912b6ffa3687ac03c39769cb1a45423f711a4ecd30e04ff2e487b1443e36ef3f70cb2a605a96a5d SHA512 fe4a65d73168c6b1691d1dda304600430ff1be1c293138c345874d5ebae1883265715b270e9759dbe5c0b19f71ce2ffde85e1871e5dfbb779ea091d78acc82c9 -EBUILD qemu-2.11.0.ebuild 23581 BLAKE2B d2b1cb0fe791f060403233de7b574cff1e9efd4b2dcd3c604a222104e0728f821b5a7d644e53a8525c4b6e0dbcb4af00c7c4b612bda8ee7363507116e0c75a96 SHA512 c4cc27015cf279013bcd7e2d6fd6e13944b51879ea2a5779cb0204df4d9f70dd476b471467117a938eae375e89ab464ae8057b3b276988b8e7eac0399fa27119 +DIST qemu-2.11.1-patches-r0.tar.xz 1640 BLAKE2B 8402a0bd086307413c3f088b7b2523adda5f370e3ce8e9ec39db905a5df495842cc2168b93b57e8516e98703ee1620e7cad77740529959a09a1d4224988829bc SHA512 2906f9497e61799da8efca0dac4a19addd3bf59770c742e3ed1600143b69397bbc4eecb2c1f64aef0e103447966d47ced1ec6908f78a793b8d06f99a0aa6dc4a +DIST qemu-2.11.1.tar.bz2 32819412 BLAKE2B 6b6d4e7b8dcf33aeedb0b33bad267da07ad17c2eeeb5fbd2c038d760bc03224e55ba0f03eb248c62bc0e8636c2c660ea76b367eaea96bee16388053f82c8b8a9 SHA512 1b692bbdfc3dc785738c7192aa2a3f9cf53d9f5bf3b3f49fa8692050dc50f7056c8a4d1b527d48ffb2a674a0fd3a46d87addd1eaaa758f35eec1ab5adfe32354 +EBUILD qemu-2.11.0-r50.ebuild 23612 BLAKE2B 3f45d2b14cf4fc8d106c11e87e18e04c08e9d312df157241067d161cb078723de2a7cd581b09c807d322fe6694b72503396715eb939a830b1e964676318953de SHA512 a563f940264702d5f96ae57793b2cc8829d534d2ec5b1033463e23d40d277f3e0afcc59cb72811467cef5914b9ec06a110164d855dfb18b7e03737a16d227fdc +EBUILD qemu-2.11.0.ebuild 23580 BLAKE2B 46b02ace6b5c108412ddd2b955e9774e72b6543b2812448fad079322c177825a182c3a900d6b867455100f5454b85b0e4f729108254f17bde07c6c73539f9588 SHA512 7e59f1bb80e42fdc3e6a2641a3edb497a38ac7c912606066255ab9cca9b4509bcb17a440b811df2a899a8efd2b84582b0db9f7f636ecad5bf91d87c3493b740a +EBUILD qemu-2.11.1.ebuild 23584 BLAKE2B 8b1db2fbffccbcbdb18282258a3e6e08fb7b6ead21381cbde62d98cd6f03e32d2dcfecb47458ad8c9431923537a183629b7a7fbbbc2c2c845b3dda7e9aec47ff SHA512 3258d4095ab1f941970eff407cf4cb883f5b8d1f4418b50ec935e4f9bb2fe5fdcd711ddf2784c5ea0027d06db900faa3d6652a2828417fc51f3c2931982b3001 EBUILD qemu-9999.ebuild 23422 BLAKE2B abe0fbfd0cde763379dd647b73ccd5139c01a7867da41ba28d9c15130181340878c5b2db4758c89d420cb2cdba53e2aa32458534312262271a08decefc3bd991 SHA512 cf7489a649e1b749cc15b773c64d0c9d6ee9806f109eb99f812c3bb9fa05f272258a8827f3caa369eb4d2fa354b209a9a77c8a2a9ce0ba78abee6da827d69d16 MISC metadata.xml 3794 BLAKE2B 626ed8aa0c868513122b44083f2c76fc758f09624600770b1b267328b08335cc60b4167b37a4f418985c810dfea23bb7792c9b874166842e8fd34ba2c24a146a SHA512 10f130f225b90dacf8262247d795a247abfdcbf3ad5fbe0693e8d4db79f755984f690cb150a7eb5a8e5d669ce404145c4fbb6b200d6362319be74759fd78b6d3 diff --git a/app-emulation/qemu/qemu-2.11.0-r50.ebuild b/app-emulation/qemu/qemu-2.11.0-r50.ebuild index cbd136db0a82..b055fef920a7 100644 --- a/app-emulation/qemu/qemu-2.11.0-r50.ebuild +++ b/app-emulation/qemu/qemu-2.11.0-r50.ebuild @@ -26,7 +26,6 @@ else SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r0.tar.xz" fi - DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" diff --git a/app-emulation/qemu/qemu-2.11.0.ebuild b/app-emulation/qemu/qemu-2.11.0.ebuild index 3965ae8920a0..5a2f53f7be59 100644 --- a/app-emulation/qemu/qemu-2.11.0.ebuild +++ b/app-emulation/qemu/qemu-2.11.0.ebuild @@ -25,7 +25,6 @@ else SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r0.tar.xz" fi - DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" diff --git a/app-emulation/qemu/qemu-2.11.1.ebuild b/app-emulation/qemu/qemu-2.11.1.ebuild new file mode 100644 index 000000000000..36d197d8ea03 --- /dev/null +++ b/app-emulation/qemu/qemu-2.11.1.ebuild @@ -0,0 +1,802 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="ncurses,readline" + +PLOCALES="bg de_DE fr_FR hu it tr zh_CN" + +FIRMWARE_ABI_VERSION="2.9.0-r52" + +inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ + user udev fcaps readme.gentoo-r1 pax-utils l10n + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="git://git.qemu.org/qemu.git" + inherit git-r3 + SRC_URI="" +else + SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd" + + # Gentoo specific patchsets: + SRC_URI+=" https://dev.gentoo.org/~chutzpah/distfiles/${P}-patches-r0.tar.xz" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" +IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt + glusterfs gnutls gtk gtk2 infiniband iscsi +jpeg kernel_linux + kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png + pulseaudio python rbd sasl +seccomp sdl sdl2 selinux smartcard snappy + spice ssh static static-user systemtap tci test usb usbredir vde + +vhost-net virgl virtfs +vnc vte xattr xen xfs" + +COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel + mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc + sparc64 x86_64" +IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} + lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb" +IUSE_USER_TARGETS="${COMMON_TARGETS} + armeb hppa mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + gtk2? ( gtk ) + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + sdl2? ( sdl ) + static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio ) + virtfs? ( xattr ) + vte? ( gtk )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the extranl 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=" + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bluetooth? ( net-wireless/bluez ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + gtk2? ( + x11-libs/gtk+:2 + vte? ( x11-libs/vte:0 ) + ) + !gtk2? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + ) + infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] ) + iscsi? ( net-libs/libiscsi ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + ncurses? ( + sys-libs/ncurses:0=[unicode] + sys-libs/ncurses:0=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl,gbm] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + rbd? ( sys-cluster/ceph[static-libs(+)] ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + !sdl2? ( + media-libs/libsdl[X] + >=media-libs/libsdl-1.2.11[static-libs(+)] + ) + sdl2? ( + media-libs/libsdl2[X] + media-libs/libsdl2[static-libs(+)] + ) + ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:=[static-libs(+)] ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] )" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-2017_pre20170505[binary] + ~sys-firmware/ipxe-1.0.0_p20160620 + ~sys-firmware/seabios-1.10.2[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre8 + ) + !pin-upstream-blobs? ( + sys-firmware/edk2-ovmf + sys-firmware/ipxe + >=sys-firmware/seabios-1.10.2[seavgabios] + sys-firmware/sgabios + )" +PPC64_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-1.10.2[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-1.10.2[seavgabios] + ) +" + +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + dev-lang/perl + =dev-lang/python-2* + sys-apps/texinfo + virtual/pkgconfig + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + gtk? ( nls? ( sys-devel/gettext ) ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.5.0-cflags.patch + "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch + "${FILESDIR}"/${PN}-2.11.0-glibc-2.27.patch + "${WORKDIR}"/patches +) + +STRIP_MASK="/usr/share/qemu/palcode-clipper" + +QA_PREBUILT=" + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a <USER> kvm +then have <USER> re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requres a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +pkg_setup() { + enewgroup kvm 78 +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +handle_locales() { + # Make sure locale list is kept up-to-date. + local detected sorted + detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) + sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "PLOCALES: ${sorted}" + eerror " po/*.po: ${detected}" + die "sync PLOCALES" + fi + + # Deal with selective install of locales. + if use nls ; then + # Delete locales the user does not want. #577814 + rm_loc() { rm po/$1.po || die; } + l10n_for_each_disabled_locale_do rm_loc + else + # Cheap hack to disable gettext .mo generation. + rm -f po/*.po + fi +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + # Alter target makefiles to accept CFLAGS set via flag-o + sed -i -r \ + -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \ + Makefile Makefile.target || die + + default + + # Fix ld and objcopy being called directly + tc-export AR LD OBJCOPY + + # Verbose builds + MAKEOPTS+=" V=1" + + # Run after we've applied all patches. + handle_locales + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --libdir=/usr/$(get_libdir) + --docdir=/usr/share/doc/${PF}/html + --disable-bsd-user + --disable-guest-agent + --disable-strip + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + --enable-docs + $(use_enable tci tcg-interpreter) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser bluetooth bluez) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_notuser seccomp) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh2) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser virgl virglrenderer) + $(conf_notuser virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + ) + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts="oss" + use alsa && audio_opts="alsa,${audio_opts}" + use sdl && audio_opts="sdl,${audio_opts}" + use pulseaudio && audio_opts="pa,${audio_opts}" + conf_opts+=( + --audio-drv-list="${audio_opts}" + ) + use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) ) + use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + pax-mark m */qemu-system-* #515550 + emake -j1 check + emake -j1 check-report.html + fi +} + +qemu_python_install() { + python_domodule "${S}/scripts/qmp/qmp.py" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + cat <<EOF >>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + echo ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dohtml check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" + emake DESTDIR="${ED}" install + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" + dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + # PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + rm "${ED}/usr/share/qemu/sgabios.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + rm "${ED}"/usr/share/qemu/pxe-*.rom + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + fcaps cap_net_admin /usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} diff --git a/app-emulation/runc/Manifest b/app-emulation/runc/Manifest index 5e516c8fcb33..3d7b48d4c9fe 100644 --- a/app-emulation/runc/Manifest +++ b/app-emulation/runc/Manifest @@ -1,4 +1,3 @@ -AUX runc-1.0.0_rc2-init-non-dumpable.patch 4016 BLAKE2B 8f39ce2a9862939b797e5b9ca74c990669afa3ff966b5a9b4e0d97d57fc390af715785272100940c73414209012de2cc9720fd97103442fb4477c00fbd8666a4 SHA512 2e10cc4ea85f0a95c53a4de6922b8a20395b6225f06449b9f3a994a79113f476563bb6acf365ba12de7896fc537141130790e14de1c612b97e283eeb82877139 DIST runc-1.0.0_rc4.tar.gz 1090513 BLAKE2B 276303e2085eddd549290e3af1a3af4570d0aef43f66f956267451810b0f0fb77f13ed12fe13b76efcd820fc7e0b46eac370a062f43c8600091a807cb12cf733 SHA512 cc2ae38b96f3f3355d9ba26f7af15c57975276aeaf58dcfe7fe5f0f0411ece8584a7cb51ae7fdd2f4109366f55ac8dfb86f225e26377fe07b685bbc56a2518ed EBUILD runc-1.0.0_rc4.ebuild 1256 BLAKE2B 7f7b657ae6f25116fbb7945a4c1e4c3690b736965152be821491ea4fdf4cd5ed5e0b3d7dd1a95607f40706e78f1aadab95b2b5d93324adf0ac7ce94c2cb7b463 SHA512 5236b7ffc8c95960f1590d59bb1dccedb4755aea162c9c5c2cce6239fffbf8a2d951bac4c19bcd513335aa9bff24865f1cb0a1ef2909cdea416d8c18684f96ec EBUILD runc-9999.ebuild 1080 BLAKE2B 09034744e5842eb2a340b3095ee3098c58b0853d81ee899b2b8e84c15ffe59638bfc6fb89d158edd4271f1e630c97dafdb4cbe7fb9286049dfe2bbf5eef213ed SHA512 b026b5cbfd44e110a2c2cd72125c757c6b957137fe9491b85e1f25014b564226a3e76c23ea463fd4d7ad742228b2b7bc533aa6b2539b43ca5c37aa2dd07218e3 diff --git a/app-emulation/runc/files/runc-1.0.0_rc2-init-non-dumpable.patch b/app-emulation/runc/files/runc-1.0.0_rc2-init-non-dumpable.patch deleted file mode 100644 index 486835ad826c..000000000000 --- a/app-emulation/runc/files/runc-1.0.0_rc2-init-non-dumpable.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 50a19c6ff828c58e5dab13830bd3dacde268afe5 Mon Sep 17 00:00:00 2001 -From: Michael Crosby <crosbymichael@gmail.com> -Date: Wed, 7 Dec 2016 15:05:51 -0800 -Subject: [PATCH] Set init processes as non-dumpable - -This sets the init processes that join and setup the container's -namespaces as non-dumpable before they setns to the container's pid (or -any other ) namespace. - -This settings is automatically reset to the default after the Exec in -the container so that it does not change functionality for the -applications that are running inside, just our init processes. - -This prevents parent processes, the pid 1 of the container, to ptrace -the init process before it drops caps and other sets LSMs. - -This patch also ensures that the stateDirFD being used is still closed -prior to exec, even though it is set as O_CLOEXEC, because of the order -in the kernel. - -https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318 - -The order during the exec syscall is that the process is set back to -dumpable before O_CLOEXEC are processed. - -Signed-off-by: Michael Crosby <crosbymichael@gmail.com> ---- - libcontainer/init_linux.go | 3 ++- - libcontainer/nsenter/nsexec.c | 5 +++++ - libcontainer/setns_init_linux.go | 7 ++++++- - libcontainer/standard_init_linux.go | 3 +++ - 4 files changed, 16 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index b1e6762..4043d51 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -77,7 +77,8 @@ func newContainerInit(t initType, pipe *os.File, stateDirFD int) (initer, error) - switch t { - case initSetns: - return &linuxSetnsInit{ -- config: config, -+ config: config, -+ stateDirFD: stateDirFD, - }, nil - case initStandard: - return &linuxStandardInit{ -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index b93f827..4b5398b 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -408,6 +408,11 @@ void nsexec(void) - if (pipenum == -1) - return; - -+ /* make the process non-dumpable */ -+ if (prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) != 0) { -+ bail("failed to set process as non-dumpable"); -+ } -+ - /* Parse all of the netlink configuration. */ - nl_parse(pipenum, &config); - -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index 2a8f345..7f5f182 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -5,6 +5,7 @@ package libcontainer - import ( - "fmt" - "os" -+ "syscall" - - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/keys" -@@ -16,7 +17,8 @@ import ( - // linuxSetnsInit performs the container's initialization for running a new process - // inside an existing container. - type linuxSetnsInit struct { -- config *initConfig -+ config *initConfig -+ stateDirFD int - } - - func (l *linuxSetnsInit) getSessionRingName() string { -@@ -49,5 +51,8 @@ func (l *linuxSetnsInit) Init() error { - if err := label.SetProcessLabel(l.config.ProcessLabel); err != nil { - return err - } -+ // close the statedir fd before exec because the kernel resets dumpable in the wrong order -+ // https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318 -+ syscall.Close(l.stateDirFD) - return system.Execv(l.config.Args[0], l.config.Args[0:], os.Environ()) - } -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index 2104f1a..6a65154 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -171,6 +171,9 @@ func (l *linuxStandardInit) Init() error { - return newSystemErrorWithCause(err, "init seccomp") - } - } -+ // close the statedir fd before exec because the kernel resets dumpable in the wrong order -+ // https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318 -+ syscall.Close(l.stateDirFD) - if err := syscall.Exec(name, l.config.Args[0:], os.Environ()); err != nil { - return newSystemErrorWithCause(err, "exec user process") - } diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index 9b3e8c39d0f0..ec55661bd90b 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -1,9 +1,9 @@ AUX create_vbox_modules_tarball.sh 896 BLAKE2B 4153a8fa67cd8fe7187f3c4232691b1ded8e51315f41292f9fcc0adb294e9b235b0c2f1e91f6f728076ab85f687ea1ba2877dc44b511eaceb24e7d6e71a8bbd4 SHA512 c3154a13550817c581fa142e24081edfbdbc145315d34cc4569d12ad87a518fa0bf1443c053b50fdfdea6915bda1325ad973455ee85079294b83a49fd53f4771 -AUX virtualbox-modules-4.1.4-pax-const.patch 2335 BLAKE2B 9d23df0a04e70765b0eb1ec123e7b835a8e3c35d5c89c08239cc3dedcbcf7a34ce49324ab607490738639a1b5d7febef9083ee4b6c3344112695bc2ee079081b SHA512 8f5ffcd53f34e616b895013660e269e6031837411471abf69711df4fd5d745299dcb08d361eda0979dcfde7d9aafa0d24c99fcc9f3875fbf35771945f6b224a1 +AUX virtualbox-modules-4.1.4-pax-const.patch 1729 BLAKE2B 3cada201a2bfde671c073ad49ddd239f90fa2c5338e698b35226e2ac88b4773549a216daa1caeca432e151f892974950dac5defdf91a87916e037d56d5972f5b SHA512 efca9213ace1076e354e168fa3d92da683b2dc27e5306b60452da74cb7f5a024a92033dd07d3559bca70f972aec86be3f0ed186dd951161096df2bcd9e390abe AUX virtualbox-modules-5.1.30-udp.patch 1239 BLAKE2B d49d96894bae2fdedc2b8a825c849a99ad0cf36a92cc4d89881ce72a0b7ebd53174f39e298c119670654932b790113fe7fbc3a3bae552f2c597cad20a370141f SHA512 f22e6c8edc360e0f97b207ba9a046042ef1898c10c724d9519badef004858720040caef12bffa1ed0f07517ae2d0b831973a0e4ef8ffb239a26faf62706b0618 AUX virtualbox.conf 38 BLAKE2B 853f2ba0ac1627100241e778fa6c35ff4fc86e8c9c753f8aa23cb053ffacf966c131c5630d1fafd481d7b057acc3e9d6f8f1a22766db5d1cf61fffa38de7c01b SHA512 b61936fff57426d31efa6928eadb572cafe40a65d3e31a0eecb53dc784ba9d0a9e0ad5e419df74418b977f89c17873240c38e2ada95949e5252d879110d6094a DIST vbox-kernel-module-src-5.1.32.tar.xz 626600 BLAKE2B eb3243d62d1a22f41f5ea2307b13a3f5ce17a19edcecb0340f94d34995e557b016195443a53edc9d68a313d064008e5af04c7fff28540ec513c6e9a5955e02e0 SHA512 10ead68e53ae6bd72e39b31d536fc36e0999fe506a6d7fd6a6f9e462d539213ad65deb56e2b926baa5cc4b16fb4071d89e105889e873fda0e4a1f20387a7cd39 DIST vbox-kernel-module-src-5.2.6.tar.xz 635096 BLAKE2B 8c168b9e1d3de395ef663ca81edf63939cb7670f769995c20f9d4cb4f87194b22812707bfd62d52dd85e19de2562c27c182aad22f40928358cf07a0c5ac15d79 SHA512 c85f94e08357a11574af306b00e71c445b80ef6dea6c47d9cf1003c0d9f36d265ebadd2ae27b3dd96f41cc544e501d3eb0551559bebf25d35b9861a282f489bc -EBUILD virtualbox-modules-5.1.32.ebuild 1739 BLAKE2B 075e707c8710c1c74e7bb279df95f26088f0a2ff47a4b4b3cec48d8f95c18ac078d4181f1feaf4d5a3e4bdd47c17e4b96854ab93705ff5febfee0f061d3e023b SHA512 9ddf65c8b8997dd7fd153e743aff01acd01d1f8c1778758be42eef94cc588c6dbf2f976884ed55414cbcae6644b6e875632e4f9fb4a06b51b91eff6a29ec97f5 -EBUILD virtualbox-modules-5.2.6.ebuild 1499 BLAKE2B 1ebe9aca2a473ff23c839c92091e572be6a8b1d140585cb717610b3403f539ba2b9bc6495298c337341271fe812b7792294e492350388c62aaa9ef21e5512d02 SHA512 5b5aaa85b3e7d6be210a299c79a79f012f733f6df2ecdb08d581ad9078fb7517d5165407146fc957ef4221ca0348db61780becb842d6fd108287d1387c5692cb -MISC metadata.xml 438 BLAKE2B f6e24affc5a809324d1a844c69318a291111961503a7b0205b2338240b41a8a63d497cd8171994f3a72b4ca29ae4d9ce5c1145e2b16ea9c223fbb12b77f282f0 SHA512 85b1c97f5f2a0e765ae1571386bee4e2b21e3854e1f512701ce4e685cffacdd2442b1557c9af02d0317b292fc2a5471b3e2ec6e44018bdefc4b2282cc988d0c4 +EBUILD virtualbox-modules-5.1.32.ebuild 1584 BLAKE2B 93323411543b48a599a7ac5c8c25e8a546eb0e1eac15f3067207a1f73b6b401ac33fb1791f13322e0a091edde698e52af6001d87f2b6dacbde7b459aec7865a9 SHA512 634a73a9f6fba9986f9b4be79524ea3d2c78bdfa585eb50e46faa1fddf6afceea0a04a20648624ff8aea0b31c5fa7e14dfa5d45742de1a061a463c165842108d +EBUILD virtualbox-modules-5.2.6.ebuild 1344 BLAKE2B 7d98d4bbb578ca44dec9eff1ff27aeac0d3a403b2f25e09c55397caabc9c92f947099b60ebc333b4fa19993ede0324a3cbdf821752c88e4e9c3226f24c9cfc4e SHA512 8e33b5a833dcaf80f59208ef7ee750dc02686f88c1f5267ccc5437613b6ceea92d7beffdb9ab4801a5144f48fc7345fb90b956df3faa64f73cc296e0646a78b9 +MISC metadata.xml 502 BLAKE2B 043fc7e11b803453d5c193562322ade34ce17f5966c5ba6f557c605174bab43a47fe374684b7f3b10a87d92429c70006abc2759169124c0b29ad28ad4c181b46 SHA512 399c87acfd980b7dc29b42d7eeeead868bc8e9efc085f23aa97507d9da6f4af272e747172c4d5d6c1dfe15dc125193a72a5d6ca47ec82615345e239ff26246e4 diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch index 4e4cde06c784..f9878848ae13 100644 --- a/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch +++ b/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch @@ -1,6 +1,5 @@ -diff -urp vboxdrv.orig/SUPDrvIDC.h vboxdrv/SUPDrvIDC.h ---- vboxdrv.orig/SUPDrvIDC.h 2011-09-06 15:53:27.852567531 +0200 -+++ vboxdrv/SUPDrvIDC.h 2011-09-06 15:54:05.420565524 +0200 +--- vboxdrv/SUPDrvIDC.h ++++ vboxdrv/SUPDrvIDC.h @@ -160,7 +160,7 @@ typedef struct SUPDRVIDCREQGETSYM { /** The symbol address. */ @@ -10,9 +9,8 @@ diff -urp vboxdrv.orig/SUPDrvIDC.h vboxdrv/SUPDrvIDC.h } u; } SUPDRVIDCREQGETSYM; /** Pointer to a SUPDRV IDC get symbol request. */ -diff -urp vboxnetflt.orig/include/VBox/intnet.h vboxnetflt/include/VBox/intnet.h ---- vboxnetflt.orig/include/VBox/intnet.h 2011-09-06 15:53:27.852567531 +0200 -+++ vboxnetflt/include/VBox/intnet.h 2011-09-06 15:54:05.424565524 +0200 +--- vboxnetflt/include/VBox/intnet.h ++++ vboxnetflt/include/VBox/intnet.h @@ -783,7 +783,7 @@ typedef struct INTNETTRUNKFACTORY DECLR0CALLBACKMEMBER(int, pfnCreateAndConnect,(struct INTNETTRUNKFACTORY *pIfFactory, const char *pszName, PINTNETTRUNKSWPORT pSwitchPort, uint32_t fFlags, @@ -22,9 +20,8 @@ diff -urp vboxnetflt.orig/include/VBox/intnet.h vboxnetflt/include/VBox/intnet.h /** Pointer to the trunk factory. */ typedef INTNETTRUNKFACTORY *PINTNETTRUNKFACTORY; -diff -urp vboxnetflt.orig/linux/VBoxNetFlt-linux.c vboxnetflt/linux/VBoxNetFlt-linux.c ---- vboxnetflt.orig/linux/VBoxNetFlt-linux.c 2011-07-19 12:15:22.000000000 +0200 -+++ vboxnetflt/linux/VBoxNetFlt-linux.c 2011-09-06 15:56:00.516559379 +0200 +--- vboxnetflt/linux/VBoxNetFlt-linux.c ++++ vboxnetflt/linux/VBoxNetFlt-linux.c @@ -840,7 +840,7 @@ typedef struct ethtool_ops OVR_OPSTYPE; # else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */ @@ -34,9 +31,8 @@ diff -urp vboxnetflt.orig/linux/VBoxNetFlt-linux.c vboxnetflt/linux/VBoxNetFlt-l # define OVR_OPS netdev_ops # define OVR_XMIT pOrgOps->ndo_start_xmit -diff -urp vboxpci.orig/include/VBox/rawpci.h vboxpci/include/VBox/rawpci.h ---- vboxpci.orig/include/VBox/rawpci.h 2011-04-18 17:01:12.000000000 +0200 -+++ vboxpci/include/VBox/rawpci.h 2011-09-06 15:57:17.340555277 +0200 +--- vboxpci/include/VBox/rawpci.h ++++ vboxpci/include/VBox/rawpci.h @@ -545,7 +545,7 @@ typedef struct RAWPCIFACTORY DECLR0CALLBACKMEMBER(void, pfnDeinitVm,(PRAWPCIFACTORY pFactory, PVM pVM, diff --git a/app-emulation/virtualbox-modules/metadata.xml b/app-emulation/virtualbox-modules/metadata.xml index 3603554891f5..851d70de80c5 100644 --- a/app-emulation/virtualbox-modules/metadata.xml +++ b/app-emulation/virtualbox-modules/metadata.xml @@ -7,6 +7,7 @@ </maintainer> <maintainer type="person"> <email>masterzorag@gmail.com</email> + <description>Proxy maintainer. CC him on bugs</description> </maintainer> <use> <flag name="pax_kernel">Apply patch needed for pax enabled kernels</flag> diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.1.32.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.1.32.ebuild index 065ee9010815..38a865402ff3 100644 --- a/app-emulation/virtualbox-modules/virtualbox-modules-5.1.32.ebuild +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.1.32.ebuild @@ -44,11 +44,11 @@ src_prepare() { fi if use pax_kernel && kernel_is -ge 3 0 0 ; then - epatch "${FILESDIR}"/${PN}-4.1.4-pax-const.patch + eapply "${FILESDIR}"/${PN}-4.1.4-pax-const.patch fi if kernel_is -ge 4 14 0 ; then - epatch "${FILESDIR}"/${PN}-5.1.30-udp.patch + eapply "${FILESDIR}"/${PN}-5.1.30-udp.patch fi default @@ -62,7 +62,4 @@ src_install() { pkg_postinst() { linux-mod_pkg_postinst - elog "If you are using sys-apps/openrc, please add \"vboxdrv\", \"vboxnetflt\"," - elog "\"vboxnetadp\" and \"vboxpci\" to:" - elog " /etc/conf.d/modules" } diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.6.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.6.ebuild index 212a1449e0e5..8bbaca49a8f9 100644 --- a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.6.ebuild +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.6.ebuild @@ -39,7 +39,7 @@ pkg_setup() { src_prepare() { if use pax_kernel && kernel_is -ge 3 0 0 ; then - epatch "${FILESDIR}"/${PN}-4.1.4-pax-const.patch + eapply "${FILESDIR}"/${PN}-4.1.4-pax-const.patch fi default @@ -53,7 +53,4 @@ src_install() { pkg_postinst() { linux-mod_pkg_postinst - elog "If you are using sys-apps/openrc, please add \"vboxdrv\", \"vboxnetflt\"," - elog "\"vboxnetadp\" and \"vboxpci\" to:" - elog " /etc/conf.d/modules" } diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 0692c28c40f3..110f4912207e 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -5,12 +5,13 @@ AUX vboxwebsrv-initd 646 BLAKE2B d71673a3afea56aea69ab1d795d8b265bb5fc62296e35d6 AUX virtualbox-4-config 38 BLAKE2B 8eab341f3264a056a89633fe43dd58f274d0d877602156d97a4dcc6260dd8e446509173742988fa40346e62b1fe9368ff3fc9a97e3316cb919962d9a03340d52 SHA512 5455b70b8ac6f25365bae776b78c3ef5710ae2d5a9e939c7013d72c35f65f178268966ebd291a42666913e45f43c7196f8953331be0b0cc88eba66df39205b08 AUX virtualbox-5-localconfig 1553 BLAKE2B dc1e946e97eb6b19a99b5ecf34640ef09c444637c19ea55ae7f0e34583a048b20ea4049e83ef3714a51e44545c50922b1f2758210145319f9881ca71b7d561d4 SHA512 1ec62f872a19ad76ce7d10ed70ee0503c65e817e123d82c20753e6ae4ac7d2ceb4e236da6be1fe3d63b0b104dd355de2cffd6e9d0ec0603c82fbf89662eeb34b AUX virtualbox-5.1.4-paxmark-bldprogs.patch 2642 BLAKE2B f8c25139dc58f6f2a9def4c3535457013a8f9ab9065d23ab858daede5d32b90a6387a0daab1fa39fad706f809799ba58405c2994c902d224cbf07118fe1af5b9 SHA512 40971ee2a2453cd830b118ee2d1d05468beec60b5c15fc36b2a01c30a454823bfc666149671f03ccbfd82abe1041e50c7d36d670da506cfb9b9faab9edcc83ee +AUX virtualbox-detect-usb-fix.patch 852 BLAKE2B eeb9c8cbb3c4a9b4bca264a4915e015ebc7768d199ee7dd2f3d316226f967c56bfcba9c58d0911cfa95e68541be3ba394868c8ff714c6f6ca915821b23b3d02e SHA512 e03a32f398a2adf231393a18be1345fe50a1932e20e69ec3ab62977ab6b920c79622e4d6b26604f60e13a5604d919a5b6f757083bff370b8d12c71f6bab1a7b4 AUX virtualbox-ose-5-wrapper 3405 BLAKE2B 92001ed3397a22abb5955617451bfb78d1f1f62f9be99cf87c57c42d118abb42b9436a0a83736d882b34360c9f8e67f9a8adaeffe7e9a3456c4ddc93a7850e53 SHA512 96f9ab8e2a83b5aebbb66916cbca0a7af0e2d69285296fe87869f096149791e0491dec2408f21f7249b68d928eebe396ab710a4ec6b6d6bc9c67120d323effa0 AUX virtualbox-ose.desktop-2 201 BLAKE2B 05fbf657e8c1d8ec46f1b88e681efd50a4e5ab2a0f32f3fd25ca956e1e9bff6357c69a96628e3eba26b01869b6dc596f68f739f9330fa3018c186dfa0fdcea06 SHA512 a678e237ad0451e8785f242ebf822b4f3b03d2e2280a62f71728f79bdcfc84d3465ee60cad90db75e64b2c89a1b0b224de00519728fb605df67ca7c9aee0874c DIST VirtualBox-5.1.32.tar.bz2 117268301 BLAKE2B 336df054e3407d7e701d6719258cfcba9beec1439cbe94f137570cfcbdea02df3e34374ac36d3b4387c47ebafd17a0f05c2fb710eb4f140d8200117b505aba98 SHA512 052ac1672515a36c4138e2d52672a466d4c768f219f52eefe98e747a292ebebe04e7de35547eae6803654be5dc937b8e6f4d358a65fd4f49a8333eac8862d138 DIST VirtualBox-5.2.6.tar.bz2 118530572 BLAKE2B 19d32a9252e9594a4c09828bc2bc739c46daf409745c01f764fb54bc17faa667081a27534ac11666cbf1b417057cb99a416faa42e3986ce4d2c08378e7e7240c SHA512 ed6f801c055e9b8e152118a1ebfecdc15c310fac2b007ea3cd4a404d17cbbbc83782a3baa76b979c72b9399616844291576846d820f8aefb7c4b4ec2eaf36482 DIST virtualbox-5.1.32-patches-01.tar.xz 2464 BLAKE2B 28f461634ac7f200b74d961e56f56aea486445bdb8d1490000bd34393b4873ee058d1dc9db6c32084921bd7d51a92be1e38b1b098385f443f41b9231c1489829 SHA512 08782c8eecc0cbb370f21fb3951af449ed1c8174a7184210de376a7d4ca5d64b14b2619d121aacef1c85982c8b485e545e260d3c0fc1f95769093efa23cd2cd2 DIST virtualbox-5.2.0-patches-01.tar.xz 2460 BLAKE2B d3f973dc7ee0557c360f801c3bf84065a7e7bc9960984398b8f86d71fab32c59774e970c6cf873be07bcb9666af168570e8a78705a5999b1fc5d863dbbc6e538 SHA512 b91278dd81a50e412f5a281c72949f591a1c53303080549b74b28763cab9e3948948afb0256e0453d17736683cca3372a8e9c6d63f02f3eff3ef92c2a1ea332b -EBUILD virtualbox-5.1.32.ebuild 13882 BLAKE2B 5a18fb55794831de6c43c6687b4cc1ab9c8d924861e23dc9e8fb13bc5922812df0a3636794efde02ebd7dd1b778e0313aaee2f7951e3d19600311df90a3a5000 SHA512 8aed9a072dcbcb7af288870cc6b165ce012da6255b87695a97bce532d1791867cee366fe0b69746371d508b495f363aa842d1c42f092fd1503a8d9ed899be635 -EBUILD virtualbox-5.2.6.ebuild 13872 BLAKE2B 5f161288ac0f1bc38cc30981351ad89b076e824f76c936f252230baa9f105d57e437d5f51cdc1bcce629c0db7deed48125c0961b93ced54a1d6569bddcbf8044 SHA512 00bb0276f62dc829447bbf662ad2cbba9c50057e4fb2c03bc59c9771dff10f0c8c5de86508a10d87340e6cee762a04ee801246ca3ce7e4eca5a7807efc7a5fae +EBUILD virtualbox-5.1.32.ebuild 13833 BLAKE2B 843b58959bed9188c41e07d1803e0bb544951d68f55fa33dd581de20a83aeecbfdb11f7114e8b9a8d7dfb620869d1bfdf01be34ea743043803e1a1cd03ffb57d SHA512 7d82de2232678045015a16b72faea3db334506b67542dffa2df0da35dca2d1cbb1543d61eb3ec3b90f136860f0d886fac08d8514535cc074db528a0fd805ef21 +EBUILD virtualbox-5.2.6.ebuild 13823 BLAKE2B 6319e252b6f6682db8c5780e8e9df7d9ee34ec894741795ab0d33615ba0b6e04e8cb519aedf40f6f72e057a59a6ca4160ca46eeeb991bc6ba85f5397fe3ee1b5 SHA512 f8e68510edaf4fe3db317a32fbc9456a6cf24ec93ec547da46acefc15f94c28c20c23247cd7b89ba69e1c47de020555d090fbed7edfe0de7ce337b7321b960b3 MISC metadata.xml 886 BLAKE2B b8d7691c820ac4d8b0aa2033037a9229ebf68ba005b5c870e6d14dee4fbb9b5c0992904223caeb869fc265d48c57cd7f486d628cc4018cc018e8e32999175df3 SHA512 954d38fbbf08cce200af437ee3a0167bd39b4554c53b93d8f8961ac16e21a173fe4c4271fa8bf0ce2e354437c066e0ab4133131b03dac6ffcc2c92564584d081 diff --git a/app-emulation/virtualbox/files/virtualbox-detect-usb-fix.patch b/app-emulation/virtualbox/files/virtualbox-detect-usb-fix.patch new file mode 100644 index 000000000000..bbb28943c129 --- /dev/null +++ b/app-emulation/virtualbox/files/virtualbox-detect-usb-fix.patch @@ -0,0 +1,24 @@ +Patch by Maciej S. Szmigiero to make the script work even if no USB device was +plugged in before virtualbox got started. + +https://bugs.gentoo.org/639352 + +--- a/src/VBox/Installer/linux/VBoxCreateUSBNode.sh ++++ b/src/VBox/Installer/linux/VBoxCreateUSBNode.sh +@@ -32,13 +32,13 @@ + devpath="`printf "/dev/vboxusb/%.3d/%.3d" $bus $device`" + case "$do_remove" in + 0) ++ case "$group" in "") group="vboxusers";; esac ++ mkdir /dev/vboxusb -m 0750 2>/dev/null ++ chown root:$group /dev/vboxusb 2>/dev/null + if test -n "$class" -a "$class" -eq "$usb_class_hub" + then + exit 0 + fi +- case "$group" in "") group="vboxusers";; esac +- mkdir /dev/vboxusb -m 0750 2>/dev/null +- chown root:$group /dev/vboxusb 2>/dev/null + mkdir "$devdir" -m 0750 2>/dev/null + chown root:$group "$devdir" 2>/dev/null + mknod "$devpath" c $1 $2 -m 0660 2>/dev/null diff --git a/app-emulation/virtualbox/virtualbox-5.1.32.ebuild b/app-emulation/virtualbox/virtualbox-5.1.32.ebuild index 8c962fe7c1ff..08304b19cae9 100644 --- a/app-emulation/virtualbox/virtualbox-5.1.32.ebuild +++ b/app-emulation/virtualbox/virtualbox-5.1.32.ebuild @@ -193,6 +193,7 @@ src_prepare() { fi eapply "${WORKDIR}/patches" + eapply "${FILESDIR}/${PN}-detect-usb-fix.patch" eapply_user } @@ -203,21 +204,26 @@ src_configure() { --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 pulseaudio '' --disable-pulse) + $(usex python '' --disable-python) + $(usex vboxwebsrv --enable-webservice '') + $(usex vnc --enable-vnc '') ) - use alsa || myconf+=( --disable-alsa ) - use debug && myconf+=( --build-debug ) - use doc || myconf+=( --disable-docs ) - use java || myconf+=( --disable-java ) - use lvm || myconf+=( --disable-devmapper ) - use opengl || myconf+=( --disable-opengl ) - use pulseaudio || myconf+=( --disable-pulse ) - use python || myconf+=( --disable-python ) - use vboxwebsrv && myconf+=( --enable-webservice ) - use vnc && myconf+=( --enable-vnc ) if ! use headless ; then - use qt5 || myconf+=( --disable-qt ) + myconf+=( + $(usex opengl '' --disable-opengl) + $(usex qt5 '' --disable-qt) + ) else - myconf+=( --build-headless --disable-opengl ) + myconf+=( + --build-headless + --disable-opengl + ) fi if use amd64 && ! has_multilib_profile ; then myconf+=( --disable-vmmraw ) diff --git a/app-emulation/virtualbox/virtualbox-5.2.6.ebuild b/app-emulation/virtualbox/virtualbox-5.2.6.ebuild index 1464aa7bcd9d..7133045118bf 100644 --- a/app-emulation/virtualbox/virtualbox-5.2.6.ebuild +++ b/app-emulation/virtualbox/virtualbox-5.2.6.ebuild @@ -193,6 +193,7 @@ src_prepare() { fi eapply "${WORKDIR}/patches" + eapply "${FILESDIR}/${PN}-detect-usb-fix.patch" eapply_user } @@ -203,21 +204,26 @@ src_configure() { --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 pulseaudio '' --disable-pulse) + $(usex python '' --disable-python) + $(usex vboxwebsrv --enable-webservice '') + $(usex vnc --enable-vnc '') ) - use alsa || myconf+=( --disable-alsa ) - use debug && myconf+=( --build-debug ) - use doc || myconf+=( --disable-docs ) - use java || myconf+=( --disable-java ) - use lvm || myconf+=( --disable-devmapper ) - use opengl || myconf+=( --disable-opengl ) - use pulseaudio || myconf+=( --disable-pulse ) - use python || myconf+=( --disable-python ) - use vboxwebsrv && myconf+=( --enable-webservice ) - use vnc && myconf+=( --enable-vnc ) if ! use headless ; then - use qt5 || myconf+=( --disable-qt ) + myconf+=( + $(usex opengl '' --disable-opengl) + $(usex qt5 '' --disable-qt) + ) else - myconf+=( --build-headless --disable-opengl ) + myconf+=( + --build-headless + --disable-opengl + ) fi if use amd64 && ! has_multilib_profile ; then myconf+=( --disable-vmmraw ) |