diff options
author | Raphael Megzari <raphael@megzari.com> | 2021-12-08 09:11:35 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-08 09:11:35 +0900 |
commit | 89d416b670025b7ede4e4e30155fee3dba70a74f (patch) | |
tree | 5f2ad10ac2d84cfbec5337d9189db11851b52d79 /pkgs/development/beam-modules | |
parent | 4f4f8dcf04b86d63be7ee4e7143ccac42a304768 (diff) | |
download | nixpkgs-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.nix | 14 | ||||
-rw-r--r-- | pkgs/development/beam-modules/elixir-ls/pin.json | 5 | ||||
-rwxr-xr-x | pkgs/development/beam-modules/elixir-ls/update.sh | 35 |
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 } |