virtualbox: restore ability to build with Open Watcom (off by default) (#352914)

This commit is contained in:
Emily
2024-11-01 22:17:03 +00:00
committed by GitHub
2 changed files with 21 additions and 5 deletions
@@ -49,6 +49,9 @@
yasm,
glslang,
nixosTests,
# If open-watcom-bin is not passed, VirtualBox will fall back to use
# the shipped alternative sources (assembly).
open-watcom-bin,
makeself,
perl,
vulkan-loader,
@@ -230,11 +233,18 @@ stdenv.mkDerivation (finalAttrs: {
})
# 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 {
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;
})
++ optional enableKvm (
let
patchVboxVersion =
# There is no updated patch for 7.0.22 yet, but the older one still applies.
if finalAttrs.virtualboxVersion == "7.0.22" then "7.0.20" else finalAttrs.virtualboxVersion;
in
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-${patchVboxVersion}-dev-${finalAttrs.kvmPatchVersion}.patch";
hash = finalAttrs.kvmPatchHash;
}
)
++ [
./qt-dependency-paths.patch
# https://github.com/NixOS/nixpkgs/issues/123851
@@ -292,6 +302,7 @@ stdenv.mkDerivation (finalAttrs: {
${optionalString (!enableHardening) "--disable-hardening"} \
${optionalString (!enable32bitGuests) "--disable-vmmraw"} \
${optionalString enableWebService "--enable-webservice"} \
${optionalString (open-watcom-bin != null) "--with-ow-dir=${open-watcom-bin}"} \
${optionalString (enableKvm) "--with-kvm"} \
${extraConfigureFlags} \
--disable-kmods
+5
View File
@@ -33059,6 +33059,11 @@ with pkgs;
# VirtualBox uses wsimport, which was removed after JDK 8.
jdk = jdk8;
# Opt out of building the guest BIOS sources with the problematic Open Watcom
# toolchain. People who need to build the BIOS from sources (for example to
# apply patches) can override this.
open-watcom-bin = null;
};
virtualboxKvm = lowPrio (virtualbox.override {