From 5875b59270948cb60d17fe5b39b012008b379186 Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Wed, 10 Apr 2024 11:19:22 +0200 Subject: [PATCH 01/15] virtualbox: remove with lib --- .../virtualization/virtualbox/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index fb7deae49dc8..a0f0a314aa03 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -27,8 +27,6 @@ assert enableKvm -> !enableHardening; # The web services use Java infrastructure. assert enableWebService -> javaBindings; -with lib; - let buildType = "release"; # Use maintainers/scripts/update.nix to update the version and all related hashes or @@ -40,6 +38,8 @@ let withModsrc = !enableKvm; virtualboxGuestAdditionsIso = callPackage guest-additions-iso/default.nix { }; + + inherit (lib) optional optionals optionalString getDev getLib; in stdenv.mkDerivation { pname = "virtualbox"; inherit version; @@ -66,14 +66,14 @@ in stdenv.mkDerivation { ++ optional pulseSupport libpulseaudio ++ optionals headless [ libGL ] ++ optionals (!headless) [ qtbase qtx11extras libXinerama SDL2 libGLU ] - ++ optionals enableWebService [ gsoap zlib ]; + ++ [ gsoap zlib jdk ]; hardeningDisable = [ "format" "fortify" "pic" "stackprotector" ]; prePatch = '' set -x sed -e 's@MKISOFS --version@MKISOFS -version@' \ - -e 's@PYTHONDIR=.*@PYTHONDIR=${lib.optionalString pythonBindings python3}@' \ + -e 's@PYTHONDIR=.*@PYTHONDIR=${optionalString pythonBindings python3}@' \ -e 's@CXX_FLAGS="\(.*\)"@CXX_FLAGS="-std=c++11 \1"@' \ ${optionalString (!headless) '' -e 's@TOOLQT5BIN=.*@TOOLQT5BIN="${getDev qtbase}/bin"@' \ @@ -283,9 +283,9 @@ in stdenv.mkDerivation { fromSource binaryNativeCode ]; - license = licenses.gpl2; + license = lib.licenses.gpl2; homepage = "https://www.virtualbox.org/"; - maintainers = with maintainers; [ sander friedrichaltheide blitz ]; + maintainers = with lib.maintainers; [ sander friedrichaltheide blitz ]; platforms = [ "x86_64-linux" ]; mainProgram = "VirtualBox"; }; From 0507f64d9fc84799b19c5631c5ff5ee137ac75b3 Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Wed, 10 Apr 2024 11:19:49 +0200 Subject: [PATCH 02/15] virtualboxGuestAdditions: remove with lib --- .../virtualization/virtualbox/guest-additions/builder.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix index 298acba8439d..d054c5faad68 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix @@ -5,8 +5,6 @@ , yasm, patchelf, makeWrapper, makeself, nasm , linuxHeaders, openssl, libpulseaudio}: -with lib; - let buildType = "release"; From 4b3ae365f6c7595f69da6ddd74d7168dd850a98a Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Wed, 10 Apr 2024 11:21:11 +0200 Subject: [PATCH 03/15] virtualboxGuestAdditions: move more buildInputs to nativeBuildInputs --- pkgs/applications/virtualization/virtualbox/default.nix | 2 +- .../virtualization/virtualbox/guest-additions/builder.nix | 6 +++--- .../virtualization/virtualbox/guest-additions/default.nix | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index a0f0a314aa03..5ea31e2688b6 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -66,7 +66,7 @@ in stdenv.mkDerivation { ++ optional pulseSupport libpulseaudio ++ optionals headless [ libGL ] ++ optionals (!headless) [ qtbase qtx11extras libXinerama SDL2 libGLU ] - ++ [ gsoap zlib jdk ]; + ++ optionals enableWebService [ gsoap zlib ]; hardeningDisable = [ "format" "fortify" "pic" "stackprotector" ]; diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix index d054c5faad68..ec2fa5142ba6 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix @@ -19,9 +19,9 @@ in stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"; - nativeBuildInputs = [ patchelf makeWrapper pkg-config which yasm ]; - buildInputs = kernel.moduleBuildDependencies ++ [ libxslt libX11 libXext libXcursor - glib nasm alsa-lib makeself pam libXmu libXrandr linuxHeaders openssl libpulseaudio xorg.xorgserver ]; + nativeBuildInputs = [ patchelf makeWrapper pkg-config which yasm makeself nasm xorg.xorgserver openssl linuxHeaders ] ++ kernel.moduleBuildDependencies; + buildInputs = [ dbus libxslt libXext libXcursor + alsa-lib pam libXmu libXrandr libpulseaudio ]; KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; KERN_INCL = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/source/include"; diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index ce23538ffc38..75345d1b594c 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -34,8 +34,8 @@ in stdenv.mkDerivation { env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"; - nativeBuildInputs = [ patchelf makeWrapper ]; - buildInputs = [ virtualBoxNixGuestAdditionsBuilder ] ++ kernel.moduleBuildDependencies; + nativeBuildInputs = [ patchelf makeWrapper virtualBoxNixGuestAdditionsBuilder ] ++ kernel.moduleBuildDependencies; + buildInputs = [ ]; buildPhase = '' runHook preBuild From b9d92aff71306d69eff907d4746abb554141dcef Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Wed, 10 Apr 2024 16:36:10 +0200 Subject: [PATCH 04/15] virtualbox: introduce finalAttrs --- .../virtualization/virtualbox/default.nix | 43 ++++++++++--------- .../virtualization/virtualbox/update.sh | 4 +- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 5ea31e2688b6..e2312e7c7aeb 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -31,7 +31,11 @@ let buildType = "release"; # Use maintainers/scripts/update.nix to update the version and all related hashes or # change the hashes in extpack.nix and guest-additions/default.nix as well manually. - version = "7.0.14"; + virtualboxVersion = "7.0.14"; + virtualboxSha256 = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9"; + + kvmPatchVersion = "20240502"; + kvmPatchHash = "sha256-KokIrrAoJutHzPg6e5YAJgDGs+nQoVjapmyn9kG5tV0="; # The KVM build is not compatible to VirtualBox's kernel modules. So don't export # modsrc at all. @@ -40,13 +44,15 @@ let virtualboxGuestAdditionsIso = callPackage guest-additions-iso/default.nix { }; inherit (lib) optional optionals optionalString getDev getLib; -in stdenv.mkDerivation { +in stdenv.mkDerivation (finalAttrs: { pname = "virtualbox"; - inherit version; + version = finalAttrs.virtualboxVersion; + + inherit buildType virtualboxVersion virtualboxSha256 kvmPatchVersion kvmPatchHash virtualboxGuestAdditionsIso; src = fetchurl { - url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; - sha256 = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9"; + url = "https://download.virtualbox.org/virtualbox/${finalAttrs.virtualboxVersion}/VirtualBox-${finalAttrs.virtualboxVersion}.tar.bz2"; + sha256 = finalAttrs.virtualboxSha256; }; outputs = [ "out" ] ++ optional withModsrc "modsrc"; @@ -102,7 +108,7 @@ in stdenv.mkDerivation { # No update patch disables check for update function # https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/272212 (fetchpatch { - url = "https://salsa.debian.org/pkg-virtualbox-team/virtualbox/-/raw/debian/${version}-dfsg-1/debian/patches/16-no-update.patch"; + url = "https://salsa.debian.org/pkg-virtualbox-team/virtualbox/-/raw/debian/7.0.14-dfsg-1/debian/patches/16-no-update.patch"; hash = "sha256-UJHpuB6QB/BbxJorlqZXUF12lgq8gbLMRHRMsbyqRpY="; })] ++ [ ./extra_symbols.patch ] @@ -119,14 +125,11 @@ in stdenv.mkDerivation { }) # While the KVM patch should not break any other behavior if --with-kvm is not specified, # we don't take any chances and only apply it if people actually want to use KVM support. - ++ optional enableKvm (fetchpatch - (let - patchVersion = "20240502"; - in { - name = "virtualbox-${version}-kvm-dev-${patchVersion}.patch"; - url = "https://github.com/cyberus-technology/virtualbox-kvm/releases/download/dev-${patchVersion}/kvm-backend-${version}-dev-${patchVersion}.patch"; - hash = "sha256-KokIrrAoJutHzPg6e5YAJgDGs+nQoVjapmyn9kG5tV0="; - })) + ++ optional enableKvm (fetchpatch { + name = "virtualbox-${finalAttrs.virtualboxVersion}-kvm-dev-${finalAttrs.kvmPatchVersion}.patch"; + url = "https://github.com/cyberus-technology/virtualbox-kvm/releases/download/dev-${finalAttrs.kvmPatchVersion}/kvm-backend-${finalAttrs.virtualboxVersion}-dev-${finalAttrs.kvmPatchVersion}.patch"; + hash = finalAttrs.kvmPatchHash; + }) ++ [ ./qt-dependency-paths.patch # https://github.com/NixOS/nixpkgs/issues/123851 @@ -195,14 +198,14 @@ in stdenv.mkDerivation { -i AutoConfig.kmk sed -e 's@arch/x86/@@' \ -i Config.kmk - substituteInPlace Config.kmk --replace "VBOX_WITH_TESTCASES = 1" "#" + substituteInPlace Config.kmk --replace-fail "VBOX_WITH_TESTCASES = 1" "#" ''; enableParallelBuilding = true; buildPhase = '' source env.sh - kmk -j $NIX_BUILD_CORES BUILD_TYPE="${buildType}" + kmk -j $NIX_BUILD_CORES BUILD_TYPE="${finalAttrs.buildType}" ''; installPhase = '' @@ -211,7 +214,7 @@ in stdenv.mkDerivation { # Install VirtualBox files mkdir -p "$libexec" - find out/linux.*/${buildType}/bin -mindepth 1 -maxdepth 1 \ + find out/linux.*/${finalAttrs.buildType}/bin -mindepth 1 -maxdepth 1 \ -name src -o -exec cp -avt "$libexec" {} + mkdir -p $out/bin @@ -249,12 +252,12 @@ in stdenv.mkDerivation { ''} ${optionalString withModsrc '' - cp -rv out/linux.*/${buildType}/bin/src "$modsrc" + cp -rv out/linux.*/${finalAttrs.buildType}/bin/src "$modsrc" ''} mkdir -p "$out/share/virtualbox" cp -rv src/VBox/Main/UnattendedTemplates "$out/share/virtualbox" - ln -s "${virtualboxGuestAdditionsIso}" "$out/share/virtualbox/VBoxGuestAdditions.iso" + ln -s "${finalAttrs.virtualboxGuestAdditionsIso}" "$out/share/virtualbox/VBoxGuestAdditions.iso" ''; preFixup = optionalString (!headless) '' @@ -289,4 +292,4 @@ in stdenv.mkDerivation { platforms = [ "x86_64-linux" ]; mainProgram = "VirtualBox"; }; -} +}) diff --git a/pkgs/applications/virtualization/virtualbox/update.sh b/pkgs/applications/virtualization/virtualbox/update.sh index 5269f85ee938..f1b1d71a355c 100755 --- a/pkgs/applications/virtualization/virtualbox/update.sh +++ b/pkgs/applications/virtualization/virtualbox/update.sh @@ -34,7 +34,9 @@ if [ ! "$oldVersion" = "$latestVersion" ]; then virtualBoxOldShaSum=$(oldHash ${attr}Extpack) extpackOldShaSum=$(oldHash ${attr}Extpack) - update-source-version $attr $latestVersion $virtualBoxShaSum + sed -e "s/virtualboxVersion =.*;/virtualboxVersion = \"$latestVersion\";/g" \ + -e "s/virtualboxSha256 =.*;/virtualboxSha256 = \"$virtualBoxShaSum\";/g" \ + -i $virtualboxNixFile sed -i -e 's|value = "'$extpackOldShaSum'"|value = "'$extpackShaSum'"|' $extpackNixFile sed -e "s/sha256 =.*;/sha256 = \"$guestAdditionsIsoShaSum\";/g" \ -i $guestAdditionsIsoNixFile From f9966d5fb7bfb2112eb638d3aab7572c9e6b78d9 Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Wed, 10 Apr 2024 16:37:45 +0200 Subject: [PATCH 05/15] virtualbox: remove old patch --- pkgs/applications/virtualization/virtualbox/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index e2312e7c7aeb..22d463185293 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -141,10 +141,6 @@ in stdenv.mkDerivation (finalAttrs: { postPatch = '' sed -i -e 's|/sbin/ifconfig|${nettools}/bin/ifconfig|' \ src/VBox/HostDrivers/adpctl/VBoxNetAdpCtl.cpp - '' + optionalString headless '' - # Fix compile error in version 6.1.6 - substituteInPlace src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-x11-stubs.cpp \ - --replace PSHCLFORMATDATA PSHCLFORMATS ''; # first line: ugly hack, and it isn't yet clear why it's a problem From 64512b62004dd29acf5c91c6fdc450f765154b59 Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Fri, 12 Apr 2024 13:01:50 +0200 Subject: [PATCH 06/15] virtualboxGuestAdditions: Add dragAndDrop service --- nixos/modules/virtualisation/virtualbox-guest.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/virtualbox-guest.nix b/nixos/modules/virtualisation/virtualbox-guest.nix index 649ff3abb9ae..aadd04f28d48 100644 --- a/nixos/modules/virtualisation/virtualbox-guest.nix +++ b/nixos/modules/virtualisation/virtualbox-guest.nix @@ -52,7 +52,7 @@ in description = "Whether to enable seamless mode. When activated windows from the guest appear next to the windows of the host."; }; - draganddrop = mkOption { + dragAndDrop = mkOption { default = true; type = types.bool; description = "Whether to enable drag and drop support."; @@ -111,5 +111,10 @@ in systemd.user.services.virtualboxClientSeamless = mkVirtualBoxUserService "--seamless"; } ) + ( + mkIf cfg.dragAndDrop { + systemd.user.services.virtualboxClientDragAndDrop = mkVirtualBoxUserService "--draganddrop"; + } + ) ]); } From 52b8494767f9f301ff71d24857709afb89b866a0 Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Fri, 12 Apr 2024 13:02:56 +0200 Subject: [PATCH 07/15] virtualbox: disable VBOX_WITH_UPDATE_AGENT --- pkgs/applications/virtualization/virtualbox/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 22d463185293..6b05609374d3 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -161,6 +161,9 @@ in stdenv.mkDerivation (finalAttrs: { VBOX_WITH_RUNPATH := $out/libexec/virtualbox VBOX_PATH_APP_PRIVATE := $out/share/virtualbox VBOX_PATH_APP_DOCS := $out/doc + + VBOX_WITH_UPDATE_AGENT := + ${optionalString javaBindings '' VBOX_JAVA_HOME := ${jdk} ''} From 0d8d62378addefa14e3a025a797bffd0e8a42258 Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Fri, 12 Apr 2024 13:03:20 +0200 Subject: [PATCH 08/15] virtualboxGuestAdditions: disable VBOX_WITH_UPDATE_AGENT --- .../virtualization/virtualbox/guest-additions/builder.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix index ec2fa5142ba6..2eaaba91d883 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix @@ -90,6 +90,7 @@ in stdenv.mkDerivation (finalAttrs: { VBOX_WITH_GUEST_CONTROL := 1 VBOX_WITHOUT_LINUX_GUEST_PACKAGE := 1 VBOX_WITH_PAM := + VBOX_WITH_UPDATE_AGENT := VBOX_BUILD_PUBLISHER := _NixOS LOCAL_CONFIG From 0aaed9212aeddd193bce895b55275e9233ba5171 Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Fri, 12 Apr 2024 13:56:32 +0200 Subject: [PATCH 09/15] virtualboxGuestAdditions: disable more includes --- .../virtualization/virtualbox/guest-additions/builder.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix index 2eaaba91d883..6ae59040efc4 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix @@ -79,6 +79,8 @@ in stdenv.mkDerivation (finalAttrs: { VBOX_USE_SYSTEM_XORG_HEADERS := 1 VBOX_USE_SYSTEM_GL_HEADERS := 1 VBOX_NO_LEGACY_XORG_X11 := 1 + SDK_VBoxLibPng_INCS := + SDK_VBoxLibXml2_INCS := SDK_VBoxOpenSslStatic_INCS := ${openssl.dev}/include/ssl From b9b8904bdde499e338f2c23e443ce93bd7f9c90e Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Fri, 12 Apr 2024 14:18:13 +0200 Subject: [PATCH 10/15] virtualboxGuestAdditions: ignore more includes when building --- .../virtualization/virtualbox/guest-additions/builder.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix index 6ae59040efc4..943b82e4980d 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix @@ -28,8 +28,12 @@ in stdenv.mkDerivation (finalAttrs: { prePatch = '' rm -r src/VBox/Additions/x11/x11include/ + rm -r src/VBox/Additions/3D/mesa/mesa-*/ rm -r src/libs/openssl-*/ rm -r src/libs/curl-*/ + rm -r src/libs/libpng-*/ + rm -r src/libs/libxml2-*/ + rm -r src/libs/zlib*/ ''; patches = [ From 81f4b1d0a5f98bf6847fae6488f1eab13285c0bb Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Fri, 12 Apr 2024 14:19:09 +0200 Subject: [PATCH 11/15] virtualboxGuestAdditions: cleanup --- .../virtualization/virtualbox/guest-additions/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 75345d1b594c..ac867ce9ce72 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -41,9 +41,7 @@ in stdenv.mkDerivation { runHook preBuild # Build kernel modules. - cd src - find . -type f | xargs sed 's/depmod -a/true/' -i - cd vboxguest-${virtualBoxNixGuestAdditionsBuilder.version}_NixOS + cd src/vboxguest-${virtualBoxNixGuestAdditionsBuilder.version}_NixOS # Run just make first. If we only did make install, we get symbol warnings during build. make cd ../.. @@ -61,6 +59,8 @@ in stdenv.mkDerivation { installPhase = '' runHook preInstall + mkdir -p $out/bin + # Install kernel modules. cd src/vboxguest-${virtualBoxNixGuestAdditionsBuilder.version}_NixOS make install INSTALL_MOD_PATH=$out KBUILD_EXTRA_SYMBOLS=$PWD/vboxsf/Module.symvers @@ -70,7 +70,6 @@ in stdenv.mkDerivation { install -D -m 755 other/mount.vboxsf $out/bin/mount.vboxsf install -D -m 755 sbin/VBoxService $out/bin/VBoxService - mkdir -p $out/bin install -m 755 bin/VBoxClient $out/bin install -m 755 bin/VBoxControl $out/bin install -m 755 bin/VBoxDRMClient $out/bin From fae0e70f0ca92307f046b8cbdd67b02cbb8d52e4 Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Fri, 12 Apr 2024 15:51:44 +0200 Subject: [PATCH 12/15] virtualboxGuestAdditions: remove alsa & pulse deps --- .../virtualbox/guest-additions/builder.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix index 943b82e4980d..326e9b482d47 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix @@ -1,9 +1,9 @@ { config, stdenv, kernel, fetchurl, lib, pam, libxslt , libX11, libXext, libXcursor, libXmu -, glib, alsa-lib, libXrandr, dbus +, glib, libXrandr, dbus , pkg-config, which, zlib, xorg , yasm, patchelf, makeWrapper, makeself, nasm -, linuxHeaders, openssl, libpulseaudio}: +, linuxHeaders, openssl}: let buildType = "release"; @@ -20,8 +20,7 @@ in stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"; nativeBuildInputs = [ patchelf makeWrapper pkg-config which yasm makeself nasm xorg.xorgserver openssl linuxHeaders ] ++ kernel.moduleBuildDependencies; - buildInputs = [ dbus libxslt libXext libXcursor - alsa-lib pam libXmu libXrandr libpulseaudio ]; + buildInputs = [ dbus libxslt libXext libXcursor pam libXmu libXrandr ]; KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; KERN_INCL = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/source/include"; @@ -97,6 +96,8 @@ in stdenv.mkDerivation (finalAttrs: { VBOX_WITHOUT_LINUX_GUEST_PACKAGE := 1 VBOX_WITH_PAM := VBOX_WITH_UPDATE_AGENT := + VBOX_WITH_AUDIO_ALSA := + VBOX_WITH_AUDIO_PULSE := VBOX_BUILD_PUBLISHER := _NixOS LOCAL_CONFIG From b9ed0a34effda7460c0079cc0285eaf5d5b5eaea Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:02:38 +0200 Subject: [PATCH 13/15] virtualboxGuestAdditions: remove makeWrapper dep --- .../virtualization/virtualbox/guest-additions/builder.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix index 326e9b482d47..84f889112bef 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix @@ -2,7 +2,7 @@ , libX11, libXext, libXcursor, libXmu , glib, libXrandr, dbus , pkg-config, which, zlib, xorg -, yasm, patchelf, makeWrapper, makeself, nasm +, yasm, patchelf, makeself, nasm , linuxHeaders, openssl}: let @@ -19,7 +19,7 @@ in stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"; - nativeBuildInputs = [ patchelf makeWrapper pkg-config which yasm makeself nasm xorg.xorgserver openssl linuxHeaders ] ++ kernel.moduleBuildDependencies; + nativeBuildInputs = [ patchelf pkg-config which yasm makeself nasm xorg.xorgserver openssl linuxHeaders ] ++ kernel.moduleBuildDependencies; buildInputs = [ dbus libxslt libXext libXcursor pam libXmu libXrandr ]; KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; From 296a513c842d837c0a9588628bc1c1ccf0367d4f Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Sat, 13 Apr 2024 08:57:32 +0200 Subject: [PATCH 14/15] virtualboxGuestAdditions: use nix packaged lzma --- .../virtualization/virtualbox/guest-additions/builder.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix index 84f889112bef..22522dfc9983 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix @@ -1,6 +1,6 @@ { config, stdenv, kernel, fetchurl, lib, pam, libxslt , libX11, libXext, libXcursor, libXmu -, glib, libXrandr, dbus +, glib, libXrandr, dbus, xz , pkg-config, which, zlib, xorg , yasm, patchelf, makeself, nasm , linuxHeaders, openssl}: @@ -19,7 +19,7 @@ in stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"; - nativeBuildInputs = [ patchelf pkg-config which yasm makeself nasm xorg.xorgserver openssl linuxHeaders ] ++ kernel.moduleBuildDependencies; + nativeBuildInputs = [ patchelf pkg-config which yasm makeself nasm xorg.xorgserver openssl linuxHeaders xz ] ++ kernel.moduleBuildDependencies; buildInputs = [ dbus libxslt libXext libXcursor pam libXmu libXrandr ]; KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; @@ -32,6 +32,7 @@ in stdenv.mkDerivation (finalAttrs: { rm -r src/libs/curl-*/ rm -r src/libs/libpng-*/ rm -r src/libs/libxml2-*/ + rm -r src/libs/liblzma-*/ rm -r src/libs/zlib*/ ''; @@ -84,6 +85,8 @@ in stdenv.mkDerivation (finalAttrs: { VBOX_NO_LEGACY_XORG_X11 := 1 SDK_VBoxLibPng_INCS := SDK_VBoxLibXml2_INCS := + SDK_VBoxLibLzma_INCS := ${xz.dev}/include + SDK_VBoxLibLzma_LIBS := ${xz.out}/lib SDK_VBoxOpenSslStatic_INCS := ${openssl.dev}/include/ssl From 9496bd2687ed0518b763b764e8e46ab0426a2610 Mon Sep 17 00:00:00 2001 From: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com> Date: Fri, 10 May 2024 07:33:45 +0200 Subject: [PATCH 15/15] virtualbox: remove nasm --- .../virtualization/virtualbox/guest-additions/builder.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix index 22522dfc9983..f070f0df4322 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix @@ -2,7 +2,7 @@ , libX11, libXext, libXcursor, libXmu , glib, libXrandr, dbus, xz , pkg-config, which, zlib, xorg -, yasm, patchelf, makeself, nasm +, yasm, patchelf, makeself , linuxHeaders, openssl}: let @@ -19,7 +19,7 @@ in stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"; - nativeBuildInputs = [ patchelf pkg-config which yasm makeself nasm xorg.xorgserver openssl linuxHeaders xz ] ++ kernel.moduleBuildDependencies; + nativeBuildInputs = [ patchelf pkg-config which yasm makeself xorg.xorgserver openssl linuxHeaders xz ] ++ kernel.moduleBuildDependencies; buildInputs = [ dbus libxslt libXext libXcursor pam libXmu libXrandr ]; KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";