jdt-language-server: set passthru.updateScript

This commit is contained in:
éclairevoyant
2024-01-24 11:50:46 -05:00
parent af0589b0e6
commit 6b19a1f3fe
2 changed files with 23 additions and 0 deletions
@@ -48,6 +48,8 @@ stdenv.mkDerivation (finalAttrs: {
install -Dm444 -t $out/bin bin/jdtls.py
'';
passthru.updateScript = ./update.sh;
meta = {
homepage = "https://github.com/eclipse/eclipse.jdt.ls";
description = "Java language server";
@@ -0,0 +1,21 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash --pure -p curl cacert libxml2 yq nix jq
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
DRV_DIR="$PWD"
# scrape the downloads page for release info
newver=$(curl -s 'https://download.eclipse.org/jdtls/milestones/' | xmllint --html - --xmlout 2>/dev/null | xq --raw-output '.html.body.main.div.div.div[0].div.table.tr | max_by(.td[3]).td[1].a.["#text"]')
prefix="https://download.eclipse.org/jdtls/milestones/$newver"
filename=$(curl -s "$prefix/latest.txt")
newtimestamp=$(echo $filename | sed "s|^.*-$newver-||;s|\.tar\.gz$||")
newhash="$(nix-hash --to-sri --type sha256 $(nix-prefetch-url "$prefix/$filename"))";
sed -i default.nix \
-e "/^ version =/ s|\".*\"|\"$newver\"|" \
-e "/^ timestamp =/ s|\".*\"|\"$newtimestamp\"|" \
-e "/^ hash =/ s|\".*\"|\"$newhash\"|" \