summary refs log tree commit diff
path: root/pkgs/development/beam-modules
diff options
context:
space:
mode:
authorRaphael Megzari <raphael@megzari.com>2021-12-08 09:11:35 +0900
committerGitHub <noreply@github.com>2021-12-08 09:11:35 +0900
commit89d416b670025b7ede4e4e30155fee3dba70a74f (patch)
tree5f2ad10ac2d84cfbec5337d9189db11851b52d79 /pkgs/development/beam-modules
parent4f4f8dcf04b86d63be7ee4e7143ccac42a304768 (diff)
downloadnixpkgs-89d416b670025b7ede4e4e30155fee3dba70a74f.tar
nixpkgs-89d416b670025b7ede4e4e30155fee3dba70a74f.tar.gz
nixpkgs-89d416b670025b7ede4e4e30155fee3dba70a74f.tar.bz2
nixpkgs-89d416b670025b7ede4e4e30155fee3dba70a74f.tar.lz
nixpkgs-89d416b670025b7ede4e4e30155fee3dba70a74f.tar.xz
nixpkgs-89d416b670025b7ede4e4e30155fee3dba70a74f.tar.zst
nixpkgs-89d416b670025b7ede4e4e30155fee3dba70a74f.zip
elixir-ls: 0.8.1 -> 0.9.0 (#148671)
Diffstat (limited to 'pkgs/development/beam-modules')
-rw-r--r--pkgs/development/beam-modules/elixir-ls/default.nix14
-rw-r--r--pkgs/development/beam-modules/elixir-ls/pin.json5
-rwxr-xr-xpkgs/development/beam-modules/elixir-ls/update.sh35
3 files changed, 30 insertions, 24 deletions
diff --git a/pkgs/development/beam-modules/elixir-ls/default.nix b/pkgs/development/beam-modules/elixir-ls/default.nix
index e0a7cb4e539..72862d5b968 100644
--- a/pkgs/development/beam-modules/elixir-ls/default.nix
+++ b/pkgs/development/beam-modules/elixir-ls/default.nix
@@ -2,23 +2,25 @@
 # Based on the work of Hauleth
 # None of this would have happened without him
 
-mixRelease rec {
+let
   pname = "elixir-ls";
-  version = "0.8.1";
-  inherit elixir;
-
+  pinData = lib.importJSON ./pin.json;
+  version = pinData.version;
   src = fetchFromGitHub {
     owner = "elixir-lsp";
     repo = "elixir-ls";
     rev = "v${version}";
-    sha256 = "sha256-KlZq12RCor9GrwA8QMP3R+jUQ/xFHRjkLwwkvthiMU0=";
+    sha256 = pinData.sha256;
     fetchSubmodules = true;
   };
+in
+mixRelease  {
+  inherit pname version src elixir;
 
   mixFodDeps = fetchMixDeps {
     pname = "mix-deps-${pname}";
     inherit src version elixir;
-    sha256 = "sha256-OzjToAg+q/ybCyqzNFk28OBsItjFTbdPi416EPh2qX0=";
+    sha256 = pinData.depsSha256;
   };
 
   # elixir_ls is an umbrella app
diff --git a/pkgs/development/beam-modules/elixir-ls/pin.json b/pkgs/development/beam-modules/elixir-ls/pin.json
new file mode 100644
index 00000000000..02b0ef8c4ae
--- /dev/null
+++ b/pkgs/development/beam-modules/elixir-ls/pin.json
@@ -0,0 +1,5 @@
+{
+  "version": "0.9.0",
+  "sha256": "sha256-dHHmA9TAM5YEfbUoujgy1XLzdh7zGWhR9SsFoTnKX48=",
+  "depsSha256": "sha256-YkZ/tp537ULKfXka4IdD+RgLlXuv6ayxdYn9KFyXrr4="
+}
diff --git a/pkgs/development/beam-modules/elixir-ls/update.sh b/pkgs/development/beam-modules/elixir-ls/update.sh
index 8bc1c2b6e96..eaa73815d73 100755
--- a/pkgs/development/beam-modules/elixir-ls/update.sh
+++ b/pkgs/development/beam-modules/elixir-ls/update.sh
@@ -2,31 +2,30 @@
 #! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep
 
 # TODO set to `verbose` or `extdebug` once implemented in oil
-shopt --set xtrace
+set -x
 
-var directory = $(dirname $0 | xargs realpath)
-var owner = "elixir-lsp"
-var repo = "elixir-ls"
-var latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \
+const directory = $(dirname $0 | xargs realpath)
+const owner = "elixir-lsp"
+const repo = "elixir-ls"
+const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \
   jq -r '.tag_name')
-var latest_version = $(echo $latest_rev | sd 'v' '')
-var current_version = $(nix-instantiate -A elixir_ls.version --eval --json | jq -r)
-if ("$latest_version" == "$current_version") {
+const latest_version = $(echo $latest_rev | sd 'v' '')
+const current_version = $(jq -r '.version' $directory/pin.json)
+if ("$latest_version" === "$current_version") {
   echo "elixir-ls is already up-to-date"
   return 0
 } else {
-  var tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev")
-  var tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')"
-  var sha256s = $(rg '"sha256-.+"' $directory/default.nix | sd '.+"(.+)";' '$1' )
-  echo $sha256s | read --line :github_sha256
-  echo $sha256s | tail -n 1 | read --line :old_mix_sha256
-  sd 'version = ".+"' "version = \"$latest_version\"" "$directory/default.nix"
-  sd "sha256 = \"$github_sha256\"" "sha256 = \"$tarball_hash\"" "$directory/default.nix"
-  sd "sha256 = \"$old_mix_sha256\"" "sha256 = \"\"" "$directory/default.nix"
+  const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev")
+  const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')"
+  const sha256s = $(rg '"sha256-.+"' $directory/default.nix | sd '.+"(.+)";' '$1' )
 
-  var new_mix_hash = $(nix-build -A elixir_ls.mixFodDeps 2>&1 | \
+  jq ".version = \"$latest_version\" | \
+      .\"sha256\" = \"$tarball_hash\" | \
+      .\"depsSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json
+
+  const new_mix_hash = $(nix-build -A elixir_ls.mixFodDeps 2>&1 | \
     tail -n 1 | \
     sd '\s+got:\s+' '')
 
-  sd "sha256 = \"\"" "sha256 = \"$new_mix_hash\"" "$directory/default.nix"
+  jq ".depsSha256 = \"$new_mix_hash\"" $directory/pin.json | sponge $directory/pin.json
 }