grafanaPlugins: added versionPrefix argument

Starting with v1.6.2, the plugin `grafana-oncall-app` changed the versioning schema in the upstream grafana plugin repository, adding a prefix "v" to every version. This creates a minor stylistic break in the current `grafanaPlugins` module, since it expects a version with just numbers and decimal points. By adding the versionPrefix arg, we preserve compatibility with other modules, while keeping with nixpkgs conventions.
This commit is contained in:
Kartik Gokte 2024-06-18 19:43:21 +05:30
parent 56fc115880
commit d1b53c4f6f

View File

@ -1,14 +1,14 @@
{ stdenvNoCC, fetchurl, unzip, lib }:
{ pname, version, zipHash, meta ? {}, passthru ? {}, ... }@args:
{ pname, versionPrefix ? "", version, zipHash, meta ? {}, passthru ? {}, ... }@args:
let plat = stdenvNoCC.hostPlatform.system; in stdenvNoCC.mkDerivation ({
inherit pname version;
inherit pname versionPrefix version;
src = if lib.isAttrs zipHash then
fetchurl {
name = "${pname}-${version}-${plat}.zip";
name = "${pname}-${versionPrefix}${version}-${plat}.zip";
hash = zipHash.${plat} or (throw "Unsupported system: ${plat}");
url = "https://grafana.com/api/plugins/${pname}/versions/${version}/download" + {
url = "https://grafana.com/api/plugins/${pname}/versions/${versionPrefix}${version}/download" + {
x86_64-linux = "?os=linux&arch=amd64";
aarch64-linux = "?os=linux&arch=arm64";
x86_64-darwin = "?os=darwin&arch=amd64";
@ -17,9 +17,9 @@ let plat = stdenvNoCC.hostPlatform.system; in stdenvNoCC.mkDerivation ({
}
else
fetchurl {
name = "${pname}-${version}.zip";
name = "${pname}-${versionPrefix}${version}.zip";
hash = zipHash;
url = "https://grafana.com/api/plugins/${pname}/versions/${version}/download";
url = "https://grafana.com/api/plugins/${pname}/versions/${versionPrefix}${version}/download";
}
;
@ -38,4 +38,4 @@ let plat = stdenvNoCC.hostPlatform.system; in stdenvNoCC.mkDerivation ({
meta = {
homepage = "https://grafana.com/grafana/plugins/${pname}";
} // meta;
} // (builtins.removeAttrs args [ "zipHash" "pname" "version" "sha256" "meta" ]))
} // (builtins.removeAttrs args [ "zipHash" "pname" "versionPrefix" "version" "sha256" "meta" ]))