ibmcloud-cli: 2.30.0 -> 2.34.0

This commit is contained in:
emaryn
2025-05-02 23:37:15 +08:00
parent cbc2586506
commit 707bc16ed8
2 changed files with 51 additions and 17 deletions
+22 -17
View File
@@ -3,6 +3,7 @@
stdenv,
fetchurl,
installShellFiles,
writableTmpDirAsHomeHook,
}:
let
arch =
@@ -29,50 +30,54 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "ibmcloud-cli";
version = "2.30.0";
version = "2.34.0";
src = fetchurl {
url = "https://download.clis.cloud.ibm.com/ibm-cloud-cli/${finalAttrs.version}/binaries/IBM_Cloud_CLI_${finalAttrs.version}_${platform}.tgz";
sha256 =
hash =
{
"x86_64-darwin" = "5d4d16f35c034aa336e28b5685684146ec5773a6d7f456ed0d0e5d686adf4b25";
"aarch64-darwin" = "d563b8a4214da4360756bd18283b68c118139b5d3dd1b1d31c7ab7e61349e126";
"x86_64-linux" = "e6c874702851f16a3c21570020da85122a0ec0ca7e9dd75091684df1030d7295";
"aarch64-linux" = "6904c9de54845adcd08eb9906567493b68ad3f4cbba9d1121f63d9df2dd47185";
"i686-linux" = "bc6be9a65a6942e158ab202a2d1c89c4294b5cebf60841f4ac1d21064052e7e7";
"powerpc64le-linux" = "271a0aa9c0a1dc2c84772fba33c9c6b97588d35eccf6757de6974c433b6e7874";
"s390x-linux" = "e8ec8adaaae2eab091500c257c7b18acf5e9556b4910df8290600bd7f723fdc1";
"x86_64-darwin" = "sha256-6E+yUqpX8kp/T4jxAWwkBUsCQh31vwJGw3wnqkUs3Js=";
"aarch64-darwin" = "sha256-CK0fUIYDVx25EzXGdhexaChVxkifSn6BKtZTQB5wl1o=";
"x86_64-linux" = "sha256-xYuVEkgbVQNdR/v9C0Do9wMeOYlfntRJaen/XaHMJvQ=";
"aarch64-linux" = "sha256-MXr6NpO3XhrCbcss3Y+GzkbgQ07iOzmp99lAtfZ8YMk=";
"i686-linux" = "sha256-1oL+jn3KTfIE+2oW4i8+RUr/c9/Ew/H7PToe/l19C5s=";
"powerpc64le-linux" = "sha256-hZADXpi9zxRB+wy4V4owQqmE3BYRSenNjlUfjWqBnow=";
"s390x-linux" = "sha256-ayQZD4+6U6WLfIhbVy/HCATjhZYybk3/83ak7BruWQ8=";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
nativeBuildInputs = [ installShellFiles ];
nativeBuildInputs = [
installShellFiles
writableTmpDirAsHomeHook
];
installPhase = ''
runHook preInstall
install -D ibmcloud $out/bin/ibmcloud
install -Dm755 ibmcloud $out/bin/ibmcloud
mkdir -p $out/share/ibmcloud
cp LICENSE NOTICE $out/share/ibmcloud
export HOME=$(mktemp -d)
installShellCompletion --cmd ibmcloud --bash <($out/bin/ibmcloud --generate-bash-completion)
runHook postInstall
'';
meta = with lib; {
passthru.updateScript = ./update.sh;
meta = {
description = "Command line client for IBM Cloud";
homepage = "https://cloud.ibm.com/docs/cli";
license = licenses.asl20;
maintainers = with maintainers; [ emilytrau ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ emilytrau ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"i686-linux"
"powerpc64le-linux"
"s390x-linux"
] ++ platforms.darwin;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
] ++ lib.platforms.darwin;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
mainProgram = "ibmcloud";
};
})
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bash nix-update common-updater-scripts nix jq
set -euo pipefail
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; ibmcloud-cli.version or (lib.getVersion ibmcloud-cli)" | tr -d '"')
latestVersion=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/IBM-Cloud/ibm-cloud-cli-release/releases/latest | jq --raw-output .tag_name | sed 's/^v//')
if [[ "$currentVersion" == "$latestVersion" ]]; then
echo "package is up-to-date: $currentVersion"
exit 0
fi
update-source-version ibmcloud-cli $latestVersion || true
for system in \
x86_64-linux \
aarch64-linux \
i686-linux \
powerpc64le-linux \
s390x-linux \
x86_64-darwin \
aarch64-darwin; do
tmp=$(mktemp -d)
curl -fsSL -o $tmp/ibmcloud-cli $(nix-instantiate --eval -E "with import ./. {}; ibmcloud-cli.src.url" --system "$system" | tr -d '"')
hash=$(nix hash file $tmp/ibmcloud-cli)
update-source-version ibmcloud-cli $latestVersion $hash --system=$system --ignore-same-version
rm -rf $tmp
done