diff --git a/pkgs/servers/nosql/cassandra/3.0.nix b/pkgs/servers/nosql/cassandra/3.0.nix index d9f5978f2649..df484778740d 100644 --- a/pkgs/servers/nosql/cassandra/3.0.nix +++ b/pkgs/servers/nosql/cassandra/3.0.nix @@ -1,5 +1,4 @@ { callPackage, ... } @ args: - callPackage ./generic.nix (args // { version = "3.0.26"; sha256 = "09wim1w2yizcqpja62jk64fhaw3jgnrgrjlrm4kgmcc3g3bsmw6i"; diff --git a/pkgs/servers/nosql/cassandra/3.11.nix b/pkgs/servers/nosql/cassandra/3.11.nix index fc839fa8c356..838ece0e8a6c 100644 --- a/pkgs/servers/nosql/cassandra/3.11.nix +++ b/pkgs/servers/nosql/cassandra/3.11.nix @@ -1,5 +1,4 @@ { callPackage, ... } @ args: - callPackage ./generic.nix (args // { version = "3.11.12"; sha256 = "16j58l7r47qrfh8q7fm92y935ykgvnbj3qn984c42qda15x92hkw"; diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix index ca11b838e325..41d33a497bef 100644 --- a/pkgs/servers/nosql/cassandra/generic.nix +++ b/pkgs/servers/nosql/cassandra/generic.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { src = fetchurl { inherit sha256; - url = "mirror://apache/cassandra/${version}/apache-${pname}-${version}-bin.tar.gz"; + url = "mirror://apache/cassandra/${version}/apache-cassandra-${version}-bin.tar.gz"; }; nativeBuildInputs = [ makeWrapper coreutils ]; @@ -113,6 +113,8 @@ stdenv.mkDerivation rec { assert test.testPackage.version == version; test; }; + + updateScript = ./update.sh; }; meta = with lib; { diff --git a/pkgs/servers/nosql/cassandra/update.sh b/pkgs/servers/nosql/cassandra/update.sh new file mode 100755 index 000000000000..e49536051174 --- /dev/null +++ b/pkgs/servers/nosql/cassandra/update.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash +#!nix-shell -p git + +cd "$(dirname "$0")" +set -eux -o pipefail + +tmp="$(mktemp -d)" +cleanup() { + rm -rf "$tmp" +} +trap cleanup EXIT + +# get numeric-only versions, sort them latest first +git ls-remote --tags https://github.com/apache/cassandra \ + | awk '{ if (match($0, /refs.tags.cassandra-([0-9.]*)$/, m)) print m[1] }' \ + | sort -V \ + | tac >$tmp/versions + +version="$(grep -E '3[.]11[.]' <$tmp/versions | head -n 1)" +hash="$(nix-prefetch-url "mirror://apache/cassandra/${version}/apache-cassandra-${version}-bin.tar.gz")" +cat >3.11.nix <3.0.nix <