From c20cc6d0b37b8330eb1bcdc0031b600f2665eb93 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 30 Jan 2017 11:18:56 +0100 Subject: [PATCH] Excise use of importJSON Putting information in external JSON files is IMHO not an improvement over the idiomatic style of Nix expressions. The use of JSON doesn't add anything over Nix expressions (in fact it removes expressive power). And scattering package info over lots of little files makes packages less readable over having the info in one file. --- lib/trivial.nix | 20 +------------------ pkgs/applications/graphics/ao/default.nix | 8 +++++++- pkgs/applications/graphics/ao/src.json | 5 ----- .../virtualization/virtualbox/default.nix | 7 +++++-- .../virtualbox/guest-additions/default.nix | 2 +- .../virtualbox/upstream-info.json | 8 -------- pkgs/development/libraries/torch/default.nix | 9 ++++++++- pkgs/development/libraries/torch/src.json | 6 ------ pkgs/os-specific/linux/tp_smapi/default.nix | 13 +++++++----- pkgs/os-specific/linux/tp_smapi/update.json | 5 ----- 10 files changed, 30 insertions(+), 53 deletions(-) delete mode 100644 pkgs/applications/graphics/ao/src.json delete mode 100644 pkgs/applications/virtualization/virtualbox/upstream-info.json delete mode 100644 pkgs/development/libraries/torch/src.json delete mode 100644 pkgs/os-specific/linux/tp_smapi/update.json diff --git a/lib/trivial.nix b/lib/trivial.nix index 7860b949939..abe5a16c67d 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -102,25 +102,7 @@ rec { min = x: y: if x < y then x else y; max = x: y: if x > y then x else y; - /* Reads a JSON file. It is useful to import pure data into other nix - expressions. - - Example: - - mkDerivation { - src = fetchgit (importJSON ./repo.json) - #... - } - - where repo.json contains: - - { - "url": "git://some-domain/some/repo", - "rev": "265de7283488964f44f0257a8b4a055ad8af984d", - "sha256": "0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h" - } - - */ + /* Reads a JSON file. */ importJSON = path: builtins.fromJSON (builtins.readFile path); diff --git a/pkgs/applications/graphics/ao/default.nix b/pkgs/applications/graphics/ao/default.nix index 2a2d280d6b2..2bba73fae1a 100644 --- a/pkgs/applications/graphics/ao/default.nix +++ b/pkgs/applications/graphics/ao/default.nix @@ -10,7 +10,13 @@ stdenv.mkDerivation rec { libpthreadstubs libXau libXdmcp libXrandr libXext libXinerama libXxf86vm libXcursor libXfixes ]; - src = fetchgit (stdenv.lib.importJSON ./src.json); + + src = fetchgit { + url = https://github.com/mkeeter/ao; + rev = "69fadb81543cc9031e4a7ec2036c7f2ab505a620"; + sha256 = "1717k72vr0i5j7bvxmd6q16fpvkljnqfa1hr3i4yq8cjdsj69my7"; + }; + cmakeFlags = "-G Ninja"; buildPhase = "ninja"; installPhase = '' diff --git a/pkgs/applications/graphics/ao/src.json b/pkgs/applications/graphics/ao/src.json deleted file mode 100644 index 0fa10dc3b0f..00000000000 --- a/pkgs/applications/graphics/ao/src.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "url": "https://github.com/mkeeter/ao", - "rev": "69fadb81543cc9031e4a7ec2036c7f2ab505a620", - "sha256": "1717k72vr0i5j7bvxmd6q16fpvkljnqfa1hr3i4yq8cjdsj69my7" -} diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 14a87151e97..d0c98911387 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -18,11 +18,14 @@ let python = python2; buildType = "release"; - inherit (importJSON ./upstream-info.json) version extpackRev extpack main; + extpack = "3982657fd4853bcbc79b9162e618545a479b65aca08e9ced43a904aeeba3ffa5"; + extpackRev = 112026; + main = "98073b1b2adee4e6553df73cb5bb6ea8ed7c3a41a475757716fd9400393bea40"; + version = "5.1.10"; # See https://github.com/NixOS/nixpkgs/issues/672 for details extensionPack = requireFile rec { - name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRev}.vbox-extpack"; + name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${toString extpackRev}.vbox-extpack"; sha256 = extpack; message = '' In order to use the extension pack, you need to comply with the VirtualBox Personal Use diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 5a97d2a8efd..fe362616bc5 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 = (lib.importJSON ../upstream-info.json).guest; + sha256 = "29fa0af66a3dd273b0c383c4adee31a52061d52f57d176b67f444698300b8c41"; }; 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 deleted file mode 100644 index 1b85d2b8847..00000000000 --- a/pkgs/applications/virtualization/virtualbox/upstream-info.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "__NOTE": "Generated using update.py from the same directory.", - "extpack": "3982657fd4853bcbc79b9162e618545a479b65aca08e9ced43a904aeeba3ffa5", - "extpackRev": "112026", - "guest": "29fa0af66a3dd273b0c383c4adee31a52061d52f57d176b67f444698300b8c41", - "main": "98073b1b2adee4e6553df73cb5bb6ea8ed7c3a41a475757716fd9400393bea40", - "version": "5.1.10" -} diff --git a/pkgs/development/libraries/torch/default.nix b/pkgs/development/libraries/torch/default.nix index 1b1a100350c..d4c61890afb 100644 --- a/pkgs/development/libraries/torch/default.nix +++ b/pkgs/development/libraries/torch/default.nix @@ -10,7 +10,14 @@ stdenv.mkDerivation rec{ libjpeg zeromq3 ncurses openssl libpng readline pkgconfig zlib libX11 which ]; - src = fetchgit (stdenv.lib.importJSON ./src.json); + + src = fetchgit { + url = "https://github.com/torch/distro"; + rev = "8b6a834f8c8755f6f5f84ef9d8da9cfc79c5ce1f"; + sha256 = "120hnz82d7izinsmv5smyqww71dhpix23pm43s522dfcglpql8xy"; + fetchSubmodules = true; + }; + buildPhase = '' cd .. export PREFIX=$out diff --git a/pkgs/development/libraries/torch/src.json b/pkgs/development/libraries/torch/src.json deleted file mode 100644 index 37c7a20ce54..00000000000 --- a/pkgs/development/libraries/torch/src.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "url": "https://github.com/torch/distro", - "rev": "8b6a834f8c8755f6f5f84ef9d8da9cfc79c5ce1f", - "sha256": "120hnz82d7izinsmv5smyqww71dhpix23pm43s522dfcglpql8xy", - "fetchSubmodules": true -} diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix index 272b1368dec..cb5c539a94e 100644 --- a/pkgs/os-specific/linux/tp_smapi/default.nix +++ b/pkgs/os-specific/linux/tp_smapi/default.nix @@ -1,12 +1,15 @@ { stdenv, fetchurl, kernel, writeScript, coreutils, gnugrep, jq, curl }: -let - data = stdenv.lib.importJSON ./update.json; -in stdenv.mkDerivation rec { - name = "tp_smapi-${data.version}-${kernel.version}"; +stdenv.mkDerivation rec { + name = "tp_smapi-${version}-${kernel.version}"; - src = fetchurl { inherit (data) url sha256; }; + version = "0.42"; + + src = fetchurl { + url = "https://github.com/evgeni/tp_smapi/archive/tp-smapi/${version}.tar.gz"; + sha256 = "cd28bf6ee21b2c27b88d947cb0bfcb19648c7daa5d350115403dbcad05849381"; + }; hardeningDisable = [ "pic" ]; diff --git a/pkgs/os-specific/linux/tp_smapi/update.json b/pkgs/os-specific/linux/tp_smapi/update.json deleted file mode 100644 index 15e9801e7f2..00000000000 --- a/pkgs/os-specific/linux/tp_smapi/update.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "0.42", - "url": "https://github.com/evgeni/tp_smapi/archive/tp-smapi/0.42.tar.gz", - "sha256": "cd28bf6ee21b2c27b88d947cb0bfcb19648c7daa5d350115403dbcad05849381" -}