elixir-ls: 0.8.1 -> 0.9.0 (#148671)

authored by Raphael Megzari and committed by GitHub 89d416b6 4f4f8dcf

+30 -24
+8 -6
pkgs/development/beam-modules/elixir-ls/default.nix
··· 2 2 # Based on the work of Hauleth 3 3 # None of this would have happened without him 4 4 5 - mixRelease rec { 5 + let 6 6 pname = "elixir-ls"; 7 - version = "0.8.1"; 8 - inherit elixir; 9 - 7 + pinData = lib.importJSON ./pin.json; 8 + version = pinData.version; 10 9 src = fetchFromGitHub { 11 10 owner = "elixir-lsp"; 12 11 repo = "elixir-ls"; 13 12 rev = "v${version}"; 14 - sha256 = "sha256-KlZq12RCor9GrwA8QMP3R+jUQ/xFHRjkLwwkvthiMU0="; 13 + sha256 = pinData.sha256; 15 14 fetchSubmodules = true; 16 15 }; 16 + in 17 + mixRelease { 18 + inherit pname version src elixir; 17 19 18 20 mixFodDeps = fetchMixDeps { 19 21 pname = "mix-deps-${pname}"; 20 22 inherit src version elixir; 21 - sha256 = "sha256-OzjToAg+q/ybCyqzNFk28OBsItjFTbdPi416EPh2qX0="; 23 + sha256 = pinData.depsSha256; 22 24 }; 23 25 24 26 # elixir_ls is an umbrella app
+5
pkgs/development/beam-modules/elixir-ls/pin.json
··· 1 + { 2 + "version": "0.9.0", 3 + "sha256": "sha256-dHHmA9TAM5YEfbUoujgy1XLzdh7zGWhR9SsFoTnKX48=", 4 + "depsSha256": "sha256-YkZ/tp537ULKfXka4IdD+RgLlXuv6ayxdYn9KFyXrr4=" 5 + }
+17 -18
pkgs/development/beam-modules/elixir-ls/update.sh
··· 2 2 #! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep 3 3 4 4 # TODO set to `verbose` or `extdebug` once implemented in oil 5 - shopt --set xtrace 5 + set -x 6 6 7 - var directory = $(dirname $0 | xargs realpath) 8 - var owner = "elixir-lsp" 9 - var repo = "elixir-ls" 10 - var latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \ 7 + const directory = $(dirname $0 | xargs realpath) 8 + const owner = "elixir-lsp" 9 + const repo = "elixir-ls" 10 + const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \ 11 11 jq -r '.tag_name') 12 - var latest_version = $(echo $latest_rev | sd 'v' '') 13 - var current_version = $(nix-instantiate -A elixir_ls.version --eval --json | jq -r) 14 - if ("$latest_version" == "$current_version") { 12 + const latest_version = $(echo $latest_rev | sd 'v' '') 13 + const current_version = $(jq -r '.version' $directory/pin.json) 14 + if ("$latest_version" === "$current_version") { 15 15 echo "elixir-ls is already up-to-date" 16 16 return 0 17 17 } else { 18 - var tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev") 19 - var tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')" 20 - var sha256s = $(rg '"sha256-.+"' $directory/default.nix | sd '.+"(.+)";' '$1' ) 21 - echo $sha256s | read --line :github_sha256 22 - echo $sha256s | tail -n 1 | read --line :old_mix_sha256 23 - sd 'version = ".+"' "version = \"$latest_version\"" "$directory/default.nix" 24 - sd "sha256 = \"$github_sha256\"" "sha256 = \"$tarball_hash\"" "$directory/default.nix" 25 - sd "sha256 = \"$old_mix_sha256\"" "sha256 = \"\"" "$directory/default.nix" 18 + const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev") 19 + const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')" 20 + const sha256s = $(rg '"sha256-.+"' $directory/default.nix | sd '.+"(.+)";' '$1' ) 21 + 22 + jq ".version = \"$latest_version\" | \ 23 + .\"sha256\" = \"$tarball_hash\" | \ 24 + .\"depsSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json 26 25 27 - var new_mix_hash = $(nix-build -A elixir_ls.mixFodDeps 2>&1 | \ 26 + const new_mix_hash = $(nix-build -A elixir_ls.mixFodDeps 2>&1 | \ 28 27 tail -n 1 | \ 29 28 sd '\s+got:\s+' '') 30 29 31 - sd "sha256 = \"\"" "sha256 = \"$new_mix_hash\"" "$directory/default.nix" 30 + jq ".depsSha256 = \"$new_mix_hash\"" $directory/pin.json | sponge $directory/pin.json 32 31 }