diff options
author | adisbladis <adisbladis@gmail.com> | 2024-07-04 13:47:08 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-04 13:47:08 +1200 |
commit | 1be927ca6672322781a4cdb44ec4bb74260acd33 (patch) | |
tree | e5cda59dd9caaf37903c45fd00f1dac61cbe15f9 /pkgs/applications/editors | |
parent | 7e4cda72fcee65122fccd43967732eecfbc62a43 (diff) | |
parent | 8d2a765adf01d45bddc63fbc2e97d0e5cf1638f8 (diff) |
Merge pull request #316983 from edolstra/let-float-json
Let-float various fromJSON calls to avoid repeated JSON reading/parsing
Diffstat (limited to 'pkgs/applications/editors')
-rw-r--r-- | pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix | 9 | ||||
-rw-r--r-- | pkgs/applications/editors/jetbrains/default.nix | 11 |
2 files changed, 14 insertions, 6 deletions
diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index 1e9a8191b3f16..00646b6d81b38 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -23,6 +23,11 @@ formats commits for you. */ +let + # Read ./recipes-archive-melpa.json in an outer let to make sure we only do this once. + defaultArchive = builtins.fromJSON (builtins.readFile ./recipes-archive-melpa.json); +in + { lib, pkgs }: variant: self: let dontConfigure = pkg: @@ -57,7 +62,7 @@ let if pkg != null then dontConfigure (externalSrc pkg pkgs.rtags) else null; - generateMelpa = lib.makeOverridable ({ archiveJson ? ./recipes-archive-melpa.json + generateMelpa = lib.makeOverridable ({ archiveJson ? defaultArchive }: let inherit (import ./libgenerated.nix lib self) melpaDerivation; @@ -66,7 +71,7 @@ let (s: s != null) (map (melpaDerivation variant) - (lib.importJSON archiveJson) + (if builtins.isList archiveJson then archiveJson else lib.importJSON archiveJson) ) ) ); diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index fb57331cc3b46..af155d9de826c 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -1,3 +1,10 @@ +let + # `ides.json` is handwritten and contains information that doesn't change across updates, like maintainers and other metadata + # `versions.json` contains everything generated/needed by the update script version numbers, build numbers and tarball hashes + ideInfo = builtins.fromJSON (builtins.readFile ./bin/ides.json); + versions = builtins.fromJSON (builtins.readFile ./bin/versions.json); +in + { lib , stdenv , callPackage @@ -30,10 +37,6 @@ let inherit (stdenv.hostPlatform) system; - # `ides.json` is handwritten and contains information that doesn't change across updates, like maintainers and other metadata - # `versions.json` contains everything generated/needed by the update script version numbers, build numbers and tarball hashes - ideInfo = lib.importJSON ./bin/ides.json; - versions = lib.importJSON ./bin/versions.json; products = versions.${system} or (throw "Unsupported system: ${system}"); package = if stdenv.isDarwin then ./bin/darwin.nix else ./bin/linux.nix; |