gemini-cli-bin: 0.6.0 -> 0.6.1 (#446606)
This commit is contained in:
@@ -3,25 +3,22 @@
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
nodejs,
|
||||
gitUpdater,
|
||||
writableTmpDirAsHomeHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
owner = "google-gemini";
|
||||
repo = "gemini-cli";
|
||||
asset = "gemini.js";
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "gemini-cli-bin";
|
||||
version = "0.6.0";
|
||||
version = "0.6.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/${owner}/${repo}/releases/download/v${finalAttrs.version}/${asset}";
|
||||
hash = "sha256-jmZvL4Rst3238H2BdZ/bQuddFkFcFLRABJ1wTHm8qPM=";
|
||||
url = "https://github.com/google-gemini/gemini-cli/releases/download/v${finalAttrs.version}/gemini.js";
|
||||
hash = "sha256-gTd+uw5geR7W87BOiE6YmDDJ4AiFlYxbuLE2GWgg0kw=";
|
||||
};
|
||||
|
||||
phases = [
|
||||
"installPhase"
|
||||
"fixupPhase"
|
||||
"installCheckPhase"
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
@@ -36,11 +33,23 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = [
|
||||
./update-asset.sh
|
||||
"${owner}/${repo}"
|
||||
"${asset}"
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
# versionCheckHook cannot be used because the reported version might be incorrect (e.g., 0.6.1 returns 0.6.0).
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
|
||||
"$out/bin/gemini" -v
|
||||
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
# Ignore `preview` and `nightly` tags
|
||||
extraArgs = [ "--version-regex=^v([0-9.]+)$" ];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "AI agent that brings the power of Gemini directly into your terminal";
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p gnugrep curl jq gnused
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
NIX_FILE="package.nix"
|
||||
|
||||
GITHUB_REPO="$1"
|
||||
ASSET_NAME="$2"
|
||||
REV_PREFIX="${3:-v}"
|
||||
|
||||
CURRENT_VER="$(grep -oP 'version = "\K[^"]+' "${NIX_FILE}")"
|
||||
CURRENT_HASH="$(grep -oP 'hash = "\K[^"]+' "${NIX_FILE}")"
|
||||
|
||||
JQ_FILTER='[.[] | select((.tag_name | test("preview|nightly")) | not)] |
|
||||
first | .tag_name, (.assets[] | select(.name == $asset_name) | .digest)'
|
||||
|
||||
{
|
||||
read -r LATEST_VER
|
||||
read -r ASSET_DIGEST
|
||||
} < <(
|
||||
curl --fail -s ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} \
|
||||
"https://api.github.com/repos/${GITHUB_REPO}/releases" |
|
||||
jq -r --arg asset_name "${ASSET_NAME}" "${JQ_FILTER}"
|
||||
)
|
||||
|
||||
LATEST_VER="${LATEST_VER#"${REV_PREFIX}"}"
|
||||
|
||||
if [[ "${LATEST_VER}" == "${CURRENT_VER}" ]]; then
|
||||
echo "Up to date."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
LATEST_HASH="$(nix-hash --to-sri "${ASSET_DIGEST}")"
|
||||
|
||||
sed -i "s#hash = \"${CURRENT_HASH}\";#hash = \"${LATEST_HASH}\";#g" "${NIX_FILE}"
|
||||
sed -i "s#version = \"${CURRENT_VER}\";#version = \"${LATEST_VER}\";#g" "${NIX_FILE}"
|
||||
|
||||
echo "Successfully updated from ${CURRENT_VER} to version ${LATEST_VER}."
|
||||
Reference in New Issue
Block a user