mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-12 02:40:31 +08:00
44 lines
1.6 KiB
Bash
Executable File
44 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env nix-shell
|
|
#!nix-shell -i bash -p curl gnused jq common-updater-scripts
|
|
|
|
set -euo pipefail
|
|
|
|
current_version=$(nix-instantiate --eval -E "with import ./. {}; libcef.version or (lib.getVersion libcef)" | tr -d '"')
|
|
|
|
ROOT="$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
|
|
|
|
version_json=$(curl --silent https://cef-builds.spotifycdn.com/index.json | jq '[.linux64.versions[] | select (.channel == "stable")][0]')
|
|
cef_version=$(echo "$version_json" | jq -r '.cef_version' | cut -d'+' -f1)
|
|
git_revision=$(echo "$version_json" | jq -r '.cef_version' | cut -d'+' -f2 | cut -c 2-)
|
|
chromium_version=$(echo "$version_json" | jq -r '.chromium_version')
|
|
|
|
echo "Latest version: $cef_version"
|
|
echo "Current version: $current_version"
|
|
|
|
if [[ "$cef_version" == "$current_version" ]]; then
|
|
echo "Package is up-to-date"
|
|
exit 0
|
|
fi
|
|
|
|
update_nix_value() {
|
|
local key="$1"
|
|
local value="${2:-}"
|
|
sed -i "s|$key = \".*\"|$key = \"$value\"|" $ROOT/default.nix
|
|
}
|
|
|
|
update_nix_value version "$cef_version"
|
|
update_nix_value gitRevision "$git_revision"
|
|
update_nix_value chromiumVersion "$chromium_version"
|
|
|
|
declare -a platforms=(
|
|
"x86_64-linux 64"
|
|
"aarch64-linux arm64"
|
|
)
|
|
|
|
for platform in "${platforms[@]}"; do
|
|
read -r system arch <<< "$platform"
|
|
url="https://cef-builds.spotifycdn.com/cef_binary_${cef_version}+g${git_revision}+chromium-${chromium_version}_linux${arch}_minimal.tar.bz2"
|
|
hash=$(nix hash convert --to sri --hash-algo sha256 "$(nix-prefetch-url --quiet "$url")")
|
|
update-source-version libcef "$cef_version" "$hash" --system="$system" --ignore-same-version
|
|
done
|