diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 01943908cdd..87eb0020c1d 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -4,6 +4,7 @@ , xorriso, makeself, perl, pkgconfig , javaBindings ? false, jdk ? null , pythonBindings ? false, python ? null +, enableExtensionPack ? false, requireFile ? null, patchelf ? null }: with stdenv.lib; @@ -11,6 +12,7 @@ with stdenv.lib; let version = "4.2.4"; + extpackRevision = "81684"; forEachModule = action: '' for mod in \ @@ -29,6 +31,14 @@ let done ''; + extensionPack = requireFile { + name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}" + + ".vbox-extpack"; + # Has to be base16 because it's used as an input to VBoxExtPackHelperApp! + sha256 = "62078e057a4ab56aec5ac086746522b3d94787333d0444169471fa5152c609ed"; + url = "https://www.virtualbox.org/wiki/Downloads"; + }; + in stdenv.mkDerivation { name = "virtualbox-${version}-${kernel.version}"; @@ -108,6 +118,15 @@ in stdenv.mkDerivation { ln -s "$libexec/$file" $out/bin/$file done + ${optionalString enableExtensionPack '' + "$libexec/VBoxExtPackHelperApp" install \ + --base-dir "$libexec/ExtensionPacks" \ + --cert-dir "$libexec/ExtPackCertificates" \ + --name "Oracle VM VirtualBox Extension Pack" \ + --tarball "${extensionPack}" + --sha-256 "${extensionPack.outputHash}" + ''} + # Create and fix desktop item mkdir -p $out/share/applications sed -i -e "s|Icon=VBox|Icon=$libexec/VBox.png|" $libexec/virtualbox.desktop