diff options
author | aszlig <aszlig@redmoonstudios.org> | 2012-12-12 07:12:46 +0100 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2012-12-12 12:36:19 +0100 |
commit | 5a3f9c08b0e1e004606fe331bf34ad112c710bcd (patch) | |
tree | f0d19761c0e01ece5aae61c7947efd1d82985f87 /pkgs | |
parent | 6acc5289fc3a6c82de1b5099c0b27fbaca7cb252 (diff) | |
download | nixlib-5a3f9c08b0e1e004606fe331bf34ad112c710bcd.tar nixlib-5a3f9c08b0e1e004606fe331bf34ad112c710bcd.tar.gz nixlib-5a3f9c08b0e1e004606fe331bf34ad112c710bcd.tar.bz2 nixlib-5a3f9c08b0e1e004606fe331bf34ad112c710bcd.tar.lz nixlib-5a3f9c08b0e1e004606fe331bf34ad112c710bcd.tar.xz nixlib-5a3f9c08b0e1e004606fe331bf34ad112c710bcd.tar.zst nixlib-5a3f9c08b0e1e004606fe331bf34ad112c710bcd.zip |
virtualbox: Allow building with extension pack.
The extension pack is needed in order to have USB 2.0, RDP and PXE boot support and is _not_ part of the free version, so please read their conditions before using it: https://www.virtualbox.org/wiki/VirtualBox_PUEL Further information and details about the extension pack is available here: https://www.virtualbox.org/manual/ch01.html#intro-installing I'm wimping out here and use requireFile to ask the user to fetch the extension pack manually, simply because I'm not a lawyer. I've seen other distributions that fetch the extension packs directly from upstream, but I'm not sure if that is according to Oracle's PUEL. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/applications/virtualization/virtualbox/default.nix | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 01943908cdd3..87eb0020c1df 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 |