diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 8ec8874f51e4..f4054613cdc6 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -74,8 +74,9 @@ 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. - virtualboxVersion = "7.1.4"; - virtualboxSha256 = "872e7a42b41f8558abbf887f1bdc7aac932bb88b2764d07cbce270cab57e3b5e"; + virtualboxVersion = "7.1.6"; + virtualboxSubVersion = "a"; + virtualboxSha256 = "5a7b13066ec71990af0cc00a5eea9c7ec3c71ca5ed99bb549c85494ce2ea395d"; kvmPatchVersion = "20241220"; kvmPatchHash = "sha256-SYyD79iN6Sp/Mxat+ml3fee9X1vFUFyrwHPnQNboc1c="; @@ -84,7 +85,9 @@ let # modsrc at all. withModsrc = !enableKvm; - virtualboxGuestAdditionsIso = callPackage guest-additions-iso/default.nix { }; + virtualboxGuestAdditionsIso = callPackage guest-additions-iso/default.nix { + inherit virtualboxVersion; + }; inherit (lib) optional @@ -104,11 +107,12 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "virtualbox"; - version = finalAttrs.virtualboxVersion; + version = "${finalAttrs.virtualboxVersion}${finalAttrs.virtualboxSubVersion}"; inherit buildType virtualboxVersion + virtualboxSubVersion virtualboxSha256 kvmPatchVersion kvmPatchHash @@ -116,7 +120,7 @@ stdenv.mkDerivation (finalAttrs: { ; src = fetchurl { - url = "https://download.virtualbox.org/virtualbox/${finalAttrs.virtualboxVersion}/VirtualBox-${finalAttrs.virtualboxVersion}.tar.bz2"; + url = "https://download.virtualbox.org/virtualbox/${finalAttrs.virtualboxVersion}/VirtualBox-${finalAttrs.virtualboxVersion}${finalAttrs.virtualboxSubVersion}.tar.bz2"; sha256 = finalAttrs.virtualboxSha256; }; diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix index 134ce6424ce5..7b9eb812064f 100644 --- a/pkgs/applications/virtualization/virtualbox/extpack.nix +++ b/pkgs/applications/virtualization/virtualbox/extpack.nix @@ -4,17 +4,17 @@ virtualbox, }: let - inherit (virtualbox) version; + virtualboxExtPackVersion = "7.1.6"; in fetchurl rec { - name = "Oracle_VirtualBox_Extension_Pack-${version}.vbox-extpack"; - url = "https://download.virtualbox.org/virtualbox/${version}/${name}"; + name = "Oracle_VirtualBox_Extension_Pack-${virtualboxExtPackVersion}.vbox-extpack"; + url = "https://download.virtualbox.org/virtualbox/${virtualboxExtPackVersion}/${name}"; sha256 = # Manually sha256sum the extensionPack file, must be hex! # Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`. # Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS let - value = "9dd60ef3c52c2a318fbbb6faace5862a299b61f678a579988869865dcf7390b6"; + value = "c13e47d3fb2c849019accb03353c7d04ffb9c264920075972ed2e2befe3cdd8b"; in assert (builtins.stringLength value) == 64; value; diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions-iso/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions-iso/default.nix index 70e68879264d..61e577ebd95f 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions-iso/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions-iso/default.nix @@ -1,15 +1,11 @@ { fetchurl, lib, - virtualbox, + virtualboxVersion, }: - -let - inherit (virtualbox) version; -in fetchurl { - url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; - sha256 = "80c91d35742f68217cf47b13e5b50d53f54c22c485bacce41ad7fdc321649e61"; + url = "http://download.virtualbox.org/virtualbox/${virtualboxVersion}/VBoxGuestAdditions_${virtualboxVersion}.iso"; + sha256 = "dbbda1645bc05c9260adfe9efc4949cb590ec5ec02680aff936375670cffcafc"; meta = { description = "Guest additions ISO for VirtualBox"; longDescription = '' diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix index 7219f0f8c58b..9cb17616805d 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix @@ -20,19 +20,23 @@ makeself, linuxHeaders, openssl, + virtualboxVersion, + virtualboxSubVersion, + virtualboxSha256, }: let buildType = "release"; - in stdenv.mkDerivation (finalAttrs: { pname = "VirtualBox-GuestAdditions-builder-${kernel.version}"; - version = "7.1.4"; + version = "${virtualboxVersion}${virtualboxSubVersion}"; + + inherit virtualboxVersion virtualboxSubVersion; src = fetchurl { - url = "https://download.virtualbox.org/virtualbox/${finalAttrs.version}/VirtualBox-${finalAttrs.version}.tar.bz2"; - sha256 = "872e7a42b41f8558abbf887f1bdc7aac932bb88b2764d07cbce270cab57e3b5e"; + url = "https://download.virtualbox.org/virtualbox/${finalAttrs.virtualboxVersion}/VirtualBox-${finalAttrs.virtualboxVersion}${finalAttrs.virtualboxSubVersion}.tar.bz2"; + sha256 = virtualboxSha256; }; env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"; diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 547b6ac55172..2d8365fa3006 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -12,7 +12,13 @@ libX11, }: let - virtualBoxNixGuestAdditionsBuilder = callPackage ./builder.nix { }; + virtualboxVersion = "7.1.6"; + virtualboxSubVersion = "a"; + virtualboxSha256 = "5a7b13066ec71990af0cc00a5eea9c7ec3c71ca5ed99bb549c85494ce2ea395d"; + + virtualBoxNixGuestAdditionsBuilder = callPackage ./builder.nix { + inherit virtualboxVersion virtualboxSubVersion virtualboxSha256; + }; # Specifies how to patch binaries to make sure that libraries loaded using # dlopen are found. We grep binaries for specific library names and patch @@ -46,7 +52,7 @@ let in stdenv.mkDerivation { pname = "VirtualBox-GuestAdditions"; - version = "${virtualBoxNixGuestAdditionsBuilder.version}-${kernel.version}"; + version = "${virtualboxVersion}${virtualboxSubVersion}-${kernel.version}"; src = "${virtualBoxNixGuestAdditionsBuilder}/VBoxGuestAdditions-${ if stdenv.hostPlatform.is32bit then "x86" else "amd64" @@ -70,7 +76,7 @@ stdenv.mkDerivation { runHook preBuild # Build kernel modules. - cd src/vboxguest-${virtualBoxNixGuestAdditionsBuilder.version}_NixOS + cd src/vboxguest-${virtualboxVersion}_NixOS # Run just make first. If we only did make install, we get symbol warnings during build. make cd ../.. @@ -102,7 +108,7 @@ stdenv.mkDerivation { mkdir -p $out/bin # Install kernel modules. - cd src/vboxguest-${virtualBoxNixGuestAdditionsBuilder.version}_NixOS + cd src/vboxguest-${virtualboxVersion}_NixOS make install INSTALL_MOD_PATH=$out KBUILD_EXTRA_SYMBOLS=$PWD/vboxsf/Module.symvers cd ../.. diff --git a/pkgs/applications/virtualization/virtualbox/update.sh b/pkgs/applications/virtualization/virtualbox/update.sh index 5c811bea4882..51600df4ce5b 100755 --- a/pkgs/applications/virtualization/virtualbox/update.sh +++ b/pkgs/applications/virtualization/virtualbox/update.sh @@ -29,19 +29,23 @@ if [ ! "$oldVersion" = "$latestVersion" ]; then virtualboxNixFile=$(nixFile ${attr}) extpackNixFile=$(nixFile ${attr}Extpack) guestAdditionsIsoNixFile="pkgs/applications/virtualization/virtualbox/guest-additions-iso/default.nix" - virtualboxGuestAdditionsNixFile="pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix" + virtualboxGuestAdditionsNixFile="pkgs/applications/virtualization/virtualbox/guest-additions/default.nix" virtualBoxOldShaSum=$(oldHash ${attr}Extpack) extpackOldShaSum=$(oldHash ${attr}Extpack) - sed -e "s/virtualboxVersion =.*;/virtualboxVersion = \"$latestVersion\";/g" \ - -e "s/virtualboxSha256 =.*;/virtualboxSha256 = \"$virtualBoxShaSum\";/g" \ + sed -e "s/virtualboxVersion = \".*\";/virtualboxVersion = \"$latestVersion\";/g" \ + -e "s/virtualboxSubVersion = \".*\";/virtualboxSubVersion = \"\";/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" \ + sed -e 's|value = "'$extpackOldShaSum'"|value = "'$extpackShaSum'"|' \ + -e "s/virtualboxExtPackVersion = \".*\";/virtualboxExtPackVersion = \"$latestVersion\";/g" \ + -i $extpackNixFile + sed -e "s/sha256 = \".*\";/sha256 = \"$guestAdditionsIsoShaSum\";/g" \ -i "$guestAdditionsIsoNixFile" - sed -e "s/version =.*;/version = \"$latestVersion\";/g" \ - -e "s/sha256 =.*;/sha256 = \"$virtualBoxShaSum\";/g" \ + sed -e "s/virtualboxVersion = \".*\";/virtualboxVersion = \"$latestVersion\";/g" \ + -e "s/virtualboxSubVersion = \".*\";/virtualboxSubVersion = \"\";/g" \ + -e "s/virtualboxSha256 = \".*\";/virtualboxSha256 = \"$virtualBoxShaSum\";/g" \ -i "$virtualboxGuestAdditionsNixFile" git add "$virtualboxNixFile" "$extpackNixFile" "$guestAdditionsIsoNixFile" "$virtualboxGuestAdditionsNixFile"