summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2016-09-13 03:48:14 +0200
committeraszlig <aszlig@redmoonstudios.org>2016-09-13 06:12:34 +0200
commit6d69293f26ff57a2621b299409af814ba7226413 (patch)
treee785a8fc5900db4665d9cb18a14260f736c4840c /pkgs
parentf5ab9c81a8b00ee1f96f85b0b22a549305cf10a2 (diff)
downloadnixlib-6d69293f26ff57a2621b299409af814ba7226413.tar
nixlib-6d69293f26ff57a2621b299409af814ba7226413.tar.gz
nixlib-6d69293f26ff57a2621b299409af814ba7226413.tar.bz2
nixlib-6d69293f26ff57a2621b299409af814ba7226413.tar.lz
nixlib-6d69293f26ff57a2621b299409af814ba7226413.tar.xz
nixlib-6d69293f26ff57a2621b299409af814ba7226413.tar.zst
nixlib-6d69293f26ff57a2621b299409af814ba7226413.zip
virtualbox: Generate and use upstream-info.json
We now no longer need to update VirtualBox manually, which has a few
advantages. Along with making it just easier to update this also makes
the update procedure way less error-prone, for example if people forget
to bump the extension pack revision or to update the guest additions.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix15
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--pkgs/applications/virtualization/virtualbox/upstream-info.json8
3 files changed, 13 insertions, 12 deletions
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 161e3ab35bd3..3a75479b2cfd 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -16,11 +16,7 @@ with stdenv.lib;
 let
   buildType = "release";
 
-  # When changing this, update ./guest-additions and the extpack
-  # revision/hash as well. See
-  # http://download.virtualbox.org/virtualbox/${version}/SHA256SUMS
-  # for hashes.
-  version = "5.1.4";
+  inherit (importJSON ./upstream-info.json) version extpackRev extpack main;
 
   forEachModule = action: ''
     for mod in \
@@ -41,12 +37,9 @@ let
   '';
 
   # See https://github.com/NixOS/nixpkgs/issues/672 for details
-  extpackRevision = "110228";
   extensionPack = requireFile rec {
-    name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
-    # IMPORTANT: Hash must be base16 encoded because it's used as an input to
-    # VBoxExtPackHelperApp!
-    sha256 = "9462ff1b567c37ad9a33c0c7ca1925776615ec89b5a72563f29a8cc8514cf316";
+    name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRev}.vbox-extpack";
+    sha256 = extpack;
     message = ''
       In order to use the extension pack, you need to comply with the VirtualBox Personal Use
       and Evaluation License (PUEL) available at:
@@ -70,7 +63,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "b9a14a7771059c55c44b97f8d4eef9bea84544f3e215e0caa563bc35e2f16aaf";
+    sha256 = main;
   };
 
   buildInputs =
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 0a6293462b82..c32a34fbc127 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "e385b698338003595f6cdeee7b631ec6713058ba1227d1f2a1da342bdf741982";
+    sha256 = (lib.importJSON ../upstream-info.json).guest;
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/*/build";
diff --git a/pkgs/applications/virtualization/virtualbox/upstream-info.json b/pkgs/applications/virtualization/virtualbox/upstream-info.json
new file mode 100644
index 000000000000..de0adf2e9db3
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/upstream-info.json
@@ -0,0 +1,8 @@
+{
+  "__NOTE": "Generated using update.py from the same directory.",
+  "extpack": "9462ff1b567c37ad9a33c0c7ca1925776615ec89b5a72563f29a8cc8514cf316",
+  "extpackRev": "110228",
+  "guest": "e385b698338003595f6cdeee7b631ec6713058ba1227d1f2a1da342bdf741982",
+  "main": "b9a14a7771059c55c44b97f8d4eef9bea84544f3e215e0caa563bc35e2f16aaf",
+  "version": "5.1.4"
+}