aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
diff options
context:
space:
mode:
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.nix38
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
+ '';
+ };
}