diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix b/infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix index 2ff15d68871a..ebcae9e63eea 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix @@ -1,13 +1,14 @@ -{ stdenv, fetchurl, jre, autoPatchelfHook, zlib }: +{ stdenv, fetchurl, jre, autoPatchelfHook, zlib, writeScript +, common-updater-scripts, git, nixfmt, nix, coreutils, gnused, nixosTests }: stdenv.mkDerivation rec { pname = "sbt"; - version = "1.4.0"; + version = "1.4.4"; src = fetchurl { url = "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"; - sha256 = "1mgfs732w1c1p7dna7h47x8h073lvjs224fqlpkkvq10153mnxxl"; + sha256 = "0ibdq8g2bcanc7gcjslia89khlccn11inqmkx3y7pbqrc63y1yif"; }; patchPhase = '' @@ -34,4 +35,35 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ nequissimus ]; platforms = platforms.unix; }; + + passthru = { + tests = { inherit (nixosTests) sbt; }; + + updateScript = writeScript "update.sh" '' + #!${stdenv.shell} + set -o errexit + PATH=${ + stdenv.lib.makeBinPath [ + common-updater-scripts + git + nixfmt + nix + coreutils + gnused + ] + } + + oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion sbt" | tr -d '"')" + latestTag="$(git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags git@github.com:sbt/sbt.git '*.*.*' | tail --lines=1 | cut --delimiter='/' --fields=3 | sed 's|^v||g')" + + if [ ! "$oldVersion" = "$latestTag" ]; then + update-source-version sbt "$latestTag" --version-key=version --print-changes + nixpkgs="$(git rev-parse --show-toplevel)" + default_nix="$nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix" + nixfmt "$default_nix" + else + echo "sbt is already up-to-date" + fi + ''; + }; } |