aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix62
1 files changed, 50 insertions, 12 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix b/infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
index 49d18d9e8575..3b433ea5e77a 100644
--- a/infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -1,18 +1,17 @@
-{ stdenv, fetchFromGitHub, which, curl, makeWrapper, jdk }:
+{ stdenv, fetchFromGitHub, which, curl, makeWrapper, jdk, writeScript
+, common-updater-scripts, cacert, git, nixfmt, nix, jq, coreutils, gnused
+, nixosTests }:
-let
- rev = "1e9230f35879ce23cbd8d16add07d2134fd479c9";
- version = "2020-09-24";
-in
-stdenv.mkDerivation {
- name = "sbt-extras-${version}";
- inherit version;
+stdenv.mkDerivation rec {
+ pname = "sbt-extras";
+ rev = "be2f5d98f13884a18eaf5205458f985575dbe13a";
+ version = "2020-11-23";
src = fetchFromGitHub {
owner = "paulp";
repo = "sbt-extras";
inherit rev;
- sha256 = "1k6vknjjbhr5jfpiyh2yzayn2ziqi1bb862l1q2786q59161ij3j";
+ sha256 = "00acnj357fcwx7w25axaj0l5ync97ixsixg8s55r7hwibkxn0fa7";
};
dontBuild = true;
@@ -26,14 +25,53 @@ stdenv.mkDerivation {
install bin/sbt $out/bin
- wrapProgram $out/bin/sbt --prefix PATH : ${stdenv.lib.makeBinPath [ which curl ]}
+ wrapProgram $out/bin/sbt --prefix PATH : ${
+ stdenv.lib.makeBinPath [ which curl ]
+ }
'';
+ passthru = {
+ tests = { inherit (nixosTests) sbt-extras; };
+
+ updateScript = writeScript "update.sh" ''
+ #!${stdenv.shell}
+ set -xo errexit
+ PATH=${
+ stdenv.lib.makeBinPath [
+ common-updater-scripts
+ curl
+ cacert
+ git
+ nixfmt
+ nix
+ jq
+ coreutils
+ gnused
+ ]
+ }
+
+ oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')"
+ latestSha="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits\?sha\=master\&since\=$oldVersion | jq -r '.[0].sha')"
+
+ if [ ! "null" = "$latestSha" ]; then
+ nixpkgs="$(git rev-parse --show-toplevel)"
+ default_nix="$nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix"
+ latestDate="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits/$latestSha | jq '.commit.committer.date' | sed 's|"\(.*\)T.*|\1|g')"
+ update-source-version ${pname} "$latestSha" --version-key=rev
+ update-source-version ${pname} "$latestDate" --ignore-same-hash
+ nixfmt "$default_nix"
+ else
+ echo "${pname} is already up-to-date"
+ fi
+ '';
+ };
+
meta = {
- description = "A more featureful runner for sbt, the simple/scala/standard build tool";
+ description =
+ "A more featureful runner for sbt, the simple/scala/standard build tool";
homepage = "https://github.com/paulp/sbt-extras";
license = stdenv.lib.licenses.bsd3;
- maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
+ maintainers = with stdenv.lib.maintainers; [ nequissimus puffnfresh ];
platforms = stdenv.lib.platforms.unix;
};
}