Merge pull request #66222 from worldofpeace/fix-virtualbox

virtualbox: use wrapQtAppsHook

authored by worldofpeace and committed by GitHub 9f82497e dd7de2d0

+19 -11
+18 -10
pkgs/applications/virtualization/virtualbox/default.nix
··· 1 - { config, stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2 2 - , libX11, xorgproto, libXext, libXcursor, libXmu, qt5, libIDL, SDL, libcap, libGL 3 - , libpng, glib, lvm2, libXrandr, libXinerama, libopus 4 - , pkgconfig, which, docbook_xsl, docbook_xml_dtd_43 1 + { config, stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, wrapQtAppsHook 2 + , libX11, xorgproto, libXext, libXcursor, libXmu, libIDL, SDL, libcap, libGL 3 + , libpng, glib, lvm2, libXrandr, libXinerama, libopus, qtbase, qtx11extras 4 + , qttools, pkgconfig, which, docbook_xsl, docbook_xml_dtd_43 5 5 , alsaLib, curl, libvpx, nettools, dbus 6 6 , makeself, perl 7 7 , javaBindings ? true, jdk ? null # Almost doesn't affect closure size ··· 33 33 34 34 outputs = [ "out" "modsrc" ]; 35 35 36 - nativeBuildInputs = [ pkgconfig which docbook_xsl docbook_xml_dtd_43 patchelfUnstable ]; 36 + nativeBuildInputs = [ pkgconfig which docbook_xsl docbook_xml_dtd_43 patchelfUnstable ] 37 + ++ optional (!headless) wrapQtAppsHook; 38 + 39 + # Wrap manually because we just need to wrap one executable 40 + dontWrapQtApps = true; 37 41 38 42 buildInputs = 39 43 [ iasl dev86 libxslt libxml2 xorgproto libX11 libXext libXcursor libIDL ··· 43 47 ++ optional pythonBindings python # Python is needed even when not building bindings 44 48 ++ optional pulseSupport libpulseaudio 45 49 ++ optionals (headless) [ libXrandr libGL ] 46 - ++ optionals (!headless) [ qt5.qtbase qt5.qtx11extras libXinerama SDL ]; 50 + ++ optionals (!headless) [ qtbase qtx11extras libXinerama SDL ]; 47 51 48 52 hardeningDisable = [ "format" "fortify" "pic" "stackprotector" ]; 49 53 ··· 53 57 -e 's@PYTHONDIR=.*@PYTHONDIR=${if pythonBindings then python else ""}@' \ 54 58 -e 's@CXX_FLAGS="\(.*\)"@CXX_FLAGS="-std=c++11 \1"@' \ 55 59 ${optionalString (!headless) '' 56 - -e 's@TOOLQT5BIN=.*@TOOLQT5BIN="${getDev qt5.qtbase}/bin"@' \ 60 + -e 's@TOOLQT5BIN=.*@TOOLQT5BIN="${getDev qtbase}/bin"@' \ 57 61 ''} -i configure 58 62 ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 59 63 ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2 ··· 105 109 VBOX_JAVA_HOME := ${jdk} 106 110 ''} 107 111 ${optionalString (!headless) '' 108 - PATH_QT5_X11_EXTRAS_LIB := ${getLib qt5.qtx11extras}/lib 109 - PATH_QT5_X11_EXTRAS_INC := ${getDev qt5.qtx11extras}/include 110 - TOOL_QT5_LRC := ${getDev qt5.qttools}/bin/lrelease 112 + PATH_QT5_X11_EXTRAS_LIB := ${getLib qtx11extras}/lib 113 + PATH_QT5_X11_EXTRAS_INC := ${getDev qtx11extras}/include 114 + TOOL_QT5_LRC := ${getDev qttools}/bin/lrelease 111 115 ''} 112 116 LOCAL_CONFIG 113 117 ··· 175 179 ''} 176 180 177 181 cp -rv out/linux.*/${buildType}/bin/src "$modsrc" 182 + ''; 183 + 184 + preFixup = optionalString (!headless) '' 185 + wrapQtApp $out/bin/VirtualBox 178 186 ''; 179 187 180 188 passthru = {
+1 -1
pkgs/top-level/all-packages.nix
··· 20977 20977 20978 20978 virtscreen = callPackage ../tools/admin/virtscreen {}; 20979 20979 20980 - virtualbox = callPackage ../applications/virtualization/virtualbox { 20980 + virtualbox = libsForQt5.callPackage ../applications/virtualization/virtualbox { 20981 20981 stdenv = stdenv_32bit; 20982 20982 inherit (gnome2) libIDL; 20983 20983 };