virtualbox: 7.1.4 -> 7.1.6a

This commit is contained in:
Friedrich Altheide
2025-01-23 15:09:26 +01:00
parent 798b378de5
commit 14d92af69e
6 changed files with 45 additions and 31 deletions
@@ -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;
};
@@ -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;
@@ -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 = ''
@@ -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";
@@ -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 ../..
@@ -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"