google-chrome: add aarch64-linux support

Assisted-by: Oh My Pi (dendro/gpt-5.6-sol)
This commit is contained in:
codgician
2026-07-26 15:33:35 +08:00
parent dcd832018a
commit 52bfc741ed
2 changed files with 34 additions and 11 deletions

View File

@@ -181,10 +181,24 @@ let
inherit pname meta passthru;
version = "150.0.7871.186";
src = fetchurl {
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-QZPgC21dWWnuY/emlZaGj1RqoOjLB3s+C/nMHixxnQA=";
};
src =
let
debArch =
{
aarch64-linux = "arm64";
x86_64-linux = "amd64";
}
.${stdenvNoCC.hostPlatform.system};
in
fetchurl {
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_${debArch}.deb";
hash =
{
amd64 = "sha256-QZPgC21dWWnuY/emlZaGj1RqoOjLB3s+C/nMHixxnQA=";
arm64 = "sha256-AllqLQfbFu7EJCK5Xeo3TuItGMnOqunpMBKY4OJnj7M=";
}
.${debArch};
};
# With strictDeps on, some shebangs were not being patched correctly
# ie, $out/share/google/chrome/google-chrome
@@ -338,7 +352,10 @@ let
iedame
mdaniels5757
];
platforms = lib.platforms.darwin ++ [ "x86_64-linux" ];
platforms = lib.platforms.darwin ++ [
"aarch64-linux"
"x86_64-linux"
];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
mainProgram = "google-chrome-stable";
};

View File

@@ -27,8 +27,10 @@ update_linux() {
local version_info
local version
local current_version
local arch
local download_url
local new_hash
local new_sri_hash
local -A new_hashes
read -ra version_info <<< "$(get_version_info "linux" "linux = stdenvNoCC.mkDerivation" "});")"
version="${version_info[0]}"
@@ -39,14 +41,18 @@ update_linux() {
return 0
fi
local download_url="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${version}-1_amd64.deb"
new_hash="$(nix-prefetch-url "$download_url" 2>/dev/null)"
new_sri_hash="$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$new_hash")"
for arch in amd64 arm64; do
download_url="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${version}-1_${arch}.deb"
new_hash="$(nix-prefetch-url "$download_url" 2>/dev/null)"
new_hashes["$arch"]="$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$new_hash")"
done
sed -i "/^ linux = stdenvNoCC.mkDerivation/,/^ });/s/version = \".*\"/version = \"$version\"/" "$DEFAULT_NIX"
sed -i "/^ linux = stdenvNoCC.mkDerivation/,/^ });/s|hash = \".*\"|hash = \"$new_sri_hash\"|" "$DEFAULT_NIX"
echo "[Nix] Linux google-chrome: $current_version -> $version with hash $new_hash"
for arch in amd64 arm64; do
sed -i "/^ linux = stdenvNoCC.mkDerivation/,/^ });/s|^\([[:space:]]*\)${arch} = \".*\";|\1${arch} = \"${new_hashes[$arch]}\";|" "$DEFAULT_NIX"
echo "[Nix] Linux ${arch} google-chrome: $current_version -> $version with hash ${new_hashes[$arch]}"
done
}
update_darwin() {