From 15d1a80889d3fd5be29d8430356572c24770f70c Mon Sep 17 00:00:00 2001 From: Nikkuss Date: Sun, 17 May 2026 21:11:08 +0400 Subject: [PATCH] remove helium --- pkgs/by-name/he/helium-browser/depot_tools.py | 122 --- .../he/helium-browser/fix-scripts.patch | 18 - .../he/helium-browser/helium-patcher.nix | 57 -- pkgs/by-name/he/helium-browser/info.json | 824 ------------------ pkgs/by-name/he/helium-browser/package.nix | 163 ---- .../he/helium-browser/ungoogled-flags.toml | 18 - pkgs/by-name/he/helium-browser/unwrapped.nix | 227 ----- pkgs/by-name/he/helium-browser/update.mjs | 290 ------ 8 files changed, 1719 deletions(-) delete mode 100755 pkgs/by-name/he/helium-browser/depot_tools.py delete mode 100644 pkgs/by-name/he/helium-browser/fix-scripts.patch delete mode 100644 pkgs/by-name/he/helium-browser/helium-patcher.nix delete mode 100644 pkgs/by-name/he/helium-browser/info.json delete mode 100644 pkgs/by-name/he/helium-browser/package.nix delete mode 100644 pkgs/by-name/he/helium-browser/ungoogled-flags.toml delete mode 100644 pkgs/by-name/he/helium-browser/unwrapped.nix delete mode 100755 pkgs/by-name/he/helium-browser/update.mjs diff --git a/pkgs/by-name/he/helium-browser/depot_tools.py b/pkgs/by-name/he/helium-browser/depot_tools.py deleted file mode 100755 index ab8007a..0000000 --- a/pkgs/by-name/he/helium-browser/depot_tools.py +++ /dev/null @@ -1,122 +0,0 @@ -#! /usr/bin/env nix-shell -#! nix-shell -i python -p python3 -""" -This is a heavily simplified variant of electron's update.py -for use in ./update.mjs and should not be called manually. - -It resolves chromium's DEPS file recursively when called with -a working depot_tools checkout and a ref to fetch and prints -the result as JSON to stdout. -""" -import base64 -import json -from typing import Optional -from urllib.request import urlopen - -import sys - -if len(sys.argv) != 3: - print("""This internal script has been called with the wrong amount of parameters. -This script is not supposed to be called manually. -Refer to ./update.mjs instead.""") - exit(1) - -_, depot_tools_checkout, chromium_version = sys.argv - -sys.path.append(depot_tools_checkout) -import gclient_eval -import gclient_utils - - -class Repo: - fetcher: str - args: dict - - def __init__(self) -> None: - self.deps: dict = {} - self.hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" - - def get_deps(self, repo_vars: dict, path: str) -> None: - print( - "evaluating " + json.dumps(self, default=vars, sort_keys=True), - file=sys.stderr, - ) - - deps_file = self.get_file("DEPS") - evaluated = gclient_eval.Parse(deps_file, vars_override=repo_vars, filename="DEPS") - - repo_vars = dict(evaluated.get("vars", {})) | repo_vars - - prefix = f"{path}/" if evaluated.get("use_relative_paths", False) else "" - - self.deps = { - prefix + dep_name: repo_from_dep(dep) - for dep_name, dep in evaluated.get("deps", {}).items() - if ( - gclient_eval.EvaluateCondition(dep["condition"], repo_vars) - if "condition" in dep - else True - ) - and repo_from_dep(dep) != None - } - - for key in evaluated.get("recursedeps", []): - dep_path = prefix + key - if dep_path in self.deps and dep_path != "src/third_party/squirrel.mac": - self.deps[dep_path].get_deps(repo_vars, dep_path) - - def flatten_repr(self) -> dict: - return {"fetcher": self.fetcher, "hash": self.hash, **self.args} - - def flatten(self, path: str) -> dict: - out = {path: self.flatten_repr()} - for dep_path, dep in self.deps.items(): - out |= dep.flatten(dep_path) - return out - - def get_file(self, filepath: str) -> str: - raise NotImplementedError - - -class GitilesRepo(Repo): - def __init__(self, url: str, rev: str) -> None: - super().__init__() - self.fetcher = "fetchFromGitiles" - self.args = { - "url": url, - "rev": rev, - } - - def get_file(self, filepath: str) -> str: - return base64.b64decode( - urlopen( - f"{self.args['url']}/+/{self.args['rev']}/{filepath}?format=TEXT" - ).read() - ).decode("utf-8") - - -def repo_from_dep(dep: dict) -> Optional[Repo]: - if "url" in dep: - url, rev = gclient_utils.SplitUrlRevision(dep["url"]) - return GitilesRepo(url, rev) - else: - # Not a git dependency; skip - return None - - - -chromium = GitilesRepo("https://chromium.googlesource.com/chromium/src.git", chromium_version) -chromium.get_deps( - { - **{ - f"checkout_{platform}": platform == "linux" or platform == "x64" or platform == "arm64" or platform == "arm" - for platform in ["ios", "chromeos", "android", "mac", "win", "linux"] - }, - **{ - f"checkout_{arch}": True - for arch in ["x64", "arm64", "arm", "x86", "mips", "mips64", "ppc", "riscv64"] - }, - }, - "", -) -print(json.dumps(chromium.flatten("src"))) diff --git a/pkgs/by-name/he/helium-browser/fix-scripts.patch b/pkgs/by-name/he/helium-browser/fix-scripts.patch deleted file mode 100644 index 7fa09f9..0000000 --- a/pkgs/by-name/he/helium-browser/fix-scripts.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/utils/generate_resources.py b/utils/generate_resources.py -index f14d3c03..9fcc1df3 100644 ---- a/utils/generate_resources.py -+++ b/utils/generate_resources.py -@@ -1,3 +1,4 @@ -+#!/usr/bin/env python3 - # Copyright 2025 The Helium Authors - # You can use, redistribute, and/or modify this source code under - # the terms of the GPL-3.0 license that can be found in the LICENSE file. -diff --git a/utils/replace_resources.py b/utils/replace_resources.py -index 935ab525..d30bfa8f 100644 ---- a/utils/replace_resources.py -+++ b/utils/replace_resources.py -@@ -1,3 +1,4 @@ -+#!/usr/bin/env python3 - # Copyright 2025 The Helium Authors - # You can use, redistribute, and/or modify this source code under - # the terms of the GPL-3.0 license that can be found in the LICENSE file. diff --git a/pkgs/by-name/he/helium-browser/helium-patcher.nix b/pkgs/by-name/he/helium-browser/helium-patcher.nix deleted file mode 100644 index 885d82d..0000000 --- a/pkgs/by-name/he/helium-browser/helium-patcher.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - stdenv, - fetchFromGitHub, - python3Packages, - makeWrapper, - patch, -}: - -{ - rev, - hash, -}: - -stdenv.mkDerivation { - pname = "helium-patcher"; - - version = rev; - - src = fetchFromGitHub { - owner = "imputnet"; - repo = "helium"; - inherit rev hash; - }; - - dontBuild = true; - - # patches = [ ./fix-scripts.patch ]; - - buildInputs = [ - - (python3Packages.python.withPackages ( - pythonPackages: with pythonPackages; [ - pillow - ] - )) - - patch - ]; - - nativeBuildInputs = [ - makeWrapper - ]; - - postPatch = '' - sed -i '/chromium-widevine/d' patches/series - ''; - - installPhase = '' - mkdir $out - cp -R * $out/ - wrapProgram $out/utils/patches.py --add-flags "apply" --prefix PATH : "${patch}/bin" - chmod +x $out/utils/name_substitution.py - chmod +x $out/utils/helium_version.py - chmod +x $out/utils/generate_resources.py - chmod +x $out/utils/replace_resources.py - ''; -} diff --git a/pkgs/by-name/he/helium-browser/info.json b/pkgs/by-name/he/helium-browser/info.json deleted file mode 100644 index 0112f75..0000000 --- a/pkgs/by-name/he/helium-browser/info.json +++ /dev/null @@ -1,824 +0,0 @@ -{ - "ungoogled-chromium": { - "version": "146.0.7680.80", - "deps": { - "depot_tools": { - "rev": "42786f6e46c25c30dd58f69283ab6fcd0c959f58", - "hash": "sha256-wI3L6w3G9QCWzvSSUXeLJFHZ+7iv01hs+ig12EXJFHk=" - }, - "gn": { - "version": "0-unstable-2026-02-05", - "rev": "304bbef6c7e9a86630c12986b99c8654eb7fe648", - "hash": "sha256-wFCuu4GR0N7QZCwT8UAhqH5moicYQjZ4ZLI58AM4pJ0=" - }, - "ungoogled-patches": { - "rev": "0.10.5", - "hash": "sha256-V4DmFFLpZNiRRn0GQA0VtJ+IvoRFPc33UP6IVWS9m4A=" - }, - "npmHash": "sha256-ByB1Ea5tduIJZXyydeBWsoS8OPABOgwHe+dNXRssdvc=" - }, - "DEPS": { - "src": { - "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "f08938029c887ea624da7a1717059788ed95034d", - "hash": "sha256-PCQeTdc6Fl74TLyvxjli4scIUIm0GgZ3e9wbC18Tclw=", - "recompress": true - }, - "src/third_party/clang-format/script": { - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git", - "rev": "c2725e0622e1a86d55f14514f2177a39efea4a0e", - "hash": "sha256-f+BbQ6xIubloSzx/MhPSZ8ymCskmS+9+epDGtPjZqXc=" - }, - "src/third_party/compiler-rt/src": { - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git", - "rev": "86587046105639b66fe40059bf8fdb8a33522f97", - "hash": "sha256-Ah/ErOAoKo49VYXHg7MRRdwpjf1azOLp/k5RSf6LJbI=" - }, - "src/third_party/libc++/src": { - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git", - "rev": "7ab65651aed6802d2599dcb7a73b1f82d5179d05", - "hash": "sha256-7O/X2JW8ghkPTjmFZmT9cgG3Ui5zk3gUb436KlPww34=" - }, - "src/third_party/libc++abi/src": { - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git", - "rev": "8f11bb1d4438d0239d0dfc1bd9456a9f31629dda", - "hash": "sha256-L5CUvhpOLS+NBNGssCv0pY9rsDFuAI0LlPjXQRfy62A=" - }, - "src/third_party/libunwind/src": { - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git", - "rev": "ba19d93d6d4f467fba11ff20fe2fc7c056f79345", - "hash": "sha256-iRfpzVN+QEpN6okwVs5oEtZqIJYzFGxsUO/IJY1c/W8=" - }, - "src/third_party/llvm-libc/src": { - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git", - "rev": "5705ee75b1fafbf96ff11534a9976f10d6c47dfd", - "hash": "sha256-f4Xfk3SN+miTE6Fc3hqe8dlxBPblOPghTLYdnUmPDus=" - }, - "src/chrome/test/data/perf/canvas_bench": { - "url": "https://chromium.googlesource.com/chromium/canvas_bench.git", - "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732", - "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=" - }, - "src/chrome/test/data/perf/frame_rate/content": { - "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git", - "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9", - "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=" - }, - "src/chrome/test/data/xr/webvr_info": { - "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git", - "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248", - "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=" - }, - "src/docs/website": { - "url": "https://chromium.googlesource.com/website.git", - "rev": "5522b25f3da74caafdcd3f1bcf33380f9f023a1c", - "hash": "sha256-NmU/u3gWFkjVhZeEaESGn013mnsPmIDUK79lsVc/JzE=" - }, - "src/media/cdm/api": { - "url": "https://chromium.googlesource.com/chromium/cdm.git", - "rev": "9920660ea0162f88c44a648de177e6f8cb976d07", - "hash": "sha256-rC/aV3vsFzXQ8BiOIK+OTXxTsgTLEEqC19KDAot1PTs=" - }, - "src/net/third_party/quiche/src": { - "url": "https://quiche.googlesource.com/quiche.git", - "rev": "24430cb4103438f3cd1680f8f89d7c9e4288d5ca", - "hash": "sha256-QEmVSKg1qbJ2aKrCq3AOgDQ3yMPx1dcvSJcGEjAffDg=" - }, - "src/testing/libfuzzer/fuzzers/wasm_corpus": { - "url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git", - "rev": "1df5e50a45db9518a56ebb42cb020a94a090258b", - "hash": "sha256-gItDOfNqm1tHlmelz3l2GGdiKi9adu1EpPP6U7+8EQY=" - }, - "src/third_party/angle": { - "url": "https://chromium.googlesource.com/angle/angle.git", - "rev": "1d3190bf5633327395d694d621258978d989dffd", - "hash": "sha256-QVtTxBBox8fiqTj0gjqvYx6HoBSlvuWIe5ki4iCQl08=" - }, - "src/third_party/angle/third_party/glmark2/src": { - "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2", - "rev": "6edcf02205fd1e8979dc3f3964257a81959b80c8", - "hash": "sha256-VebUALLFKwEa4+oE+jF8mBSzhJd6aflphPmcK1Em8bw=" - }, - "src/third_party/angle/third_party/rapidjson/src": { - "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson", - "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f", - "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=" - }, - "src/third_party/angle/third_party/VK-GL-CTS/src": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS", - "rev": "1698899cb078aacfb11d6b8eb5c4753d86bd2661", - "hash": "sha256-oifCX+zx63p5eB7nnfE+FM895Ino3gmS39N5twBIAKg=" - }, - "src/third_party/anonymous_tokens/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git", - "rev": "fdff40da0398d2c229308aed169345f6ff1a150f", - "hash": "sha256-eJP45x3vXOG1rWvRl/0H0c2IV7nQ/9dYjAzJGHHszdc=" - }, - "src/third_party/readability/src": { - "url": "https://chromium.googlesource.com/external/github.com/mozilla/readability.git", - "rev": "d7949dc47dd9ed9ee1d3b34ffdcf3bce28cde435", - "hash": "sha256-lFsHXk4kEkzIbHgJiLTgeiKqiGOErzUwADo8WSZlnec=" - }, - "src/third_party/content_analysis_sdk/src": { - "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git", - "rev": "9a408736204513e0e95dd2ab3c08de0d95963efc", - "hash": "sha256-f5Jmk1MiGjaRdLun+v/GKVl8Yv9hOZMTQUSxgiJalcY=" - }, - "src/third_party/dav1d/libdav1d": { - "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git", - "rev": "b546257f770768b2c88258c533da38b91a06f737", - "hash": "sha256-E3da/LJ8HNy1osExmupovqnL8JHgVNzPUCG5F8TJKXQ=" - }, - "src/third_party/dawn": { - "url": "https://dawn.googlesource.com/dawn.git", - "rev": "c46c81b25577c40de6e7e510743ae0454e0c8351", - "hash": "sha256-Duv3kNulPtVxCLPa3bFIev64O9Y4ObJP/IZz31oPJ0E=" - }, - "src/third_party/dawn/third_party/glfw": { - "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw", - "rev": "b35641f4a3c62aa86a0b3c983d163bc0fe36026d", - "hash": "sha256-E1zXIDiw87badrLOZTvV+Wh9NZHu51nb70ZK9vlAlqE=" - }, - "src/third_party/dawn/third_party/dxc": { - "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler", - "rev": "907ddace203afad066242f3c1b1b59e86dbb34ee", - "hash": "sha256-0bIw1sVkVqNinAqt9u1Zeyltrnd02TWSRTOT4TcT3OY=" - }, - "src/third_party/dawn/third_party/dxheaders": { - "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers", - "rev": "980971e835876dc0cde415e8f9bc646e64667bf7", - "hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA=" - }, - "src/third_party/dawn/third_party/khronos/OpenGL-Registry": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry", - "rev": "5bae8738b23d06968e7c3a41308568120943ae77", - "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=" - }, - "src/third_party/dawn/third_party/khronos/EGL-Registry": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry", - "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071", - "hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A=" - }, - "src/third_party/dawn/third_party/webgpu-cts": { - "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts", - "rev": "f1db17e4ab8b6a5a7d2709a67927d8a769a741a4", - "hash": "sha256-5Fdl72VNfNnofPMG/ZWO0MJ2N7Dmcn+6sOLNqw5+IF4=" - }, - "src/third_party/dawn/third_party/webgpu-headers/src": { - "url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers", - "rev": "0bfcdc4f487023d85e33597de0a94fc523e30fca", - "hash": "sha256-lvvZx8CrkRHdHINcqscQOPTaPZ7ORgr2wgr/OlTQBTE=" - }, - "src/third_party/highway/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/highway.git", - "rev": "84379d1c73de9681b54fbe1c035a23c7bd5d272d", - "hash": "sha256-HNrlqtAs1vKCoSJ5TASs34XhzjEbLW+ISco1NQON+BI=" - }, - "src/third_party/google_benchmark/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git", - "rev": "188e8278990a9069ffc84441cb5a024fd0bede37", - "hash": "sha256-GfqY2d+Nd7ovNrXxzTRm/AYWj7GuxIO6FawzUEzwOVA=" - }, - "src/third_party/libpfm4/src": { - "url": "https://chromium.googlesource.com/external/git.code.sf.net/p/perfmon2/libpfm4.git", - "rev": "964baf9d35d5f88d8422f96d8a82c672042e7064", - "hash": "sha256-awpZ22rovLZWQkX/qog93vL4u2gJ+F3w5IGFNlZ0heQ=" - }, - "src/third_party/boringssl/src": { - "url": "https://boringssl.googlesource.com/boringssl.git", - "rev": "2a7ca5404e136341b63a2c7608bd1f6924f09294", - "hash": "sha256-WglRBVPuUMskW0+bwV0sJiuHmXeWy1Nis0ln3KJlyKQ=" - }, - "src/third_party/breakpad/breakpad": { - "url": "https://chromium.googlesource.com/breakpad/breakpad.git", - "rev": "79099fdf668ae097c9eca7052fd5c4c5de6c9098", - "hash": "sha256-dtuBGcYwwaqSKiW7ASFveAeJqcdnFLeU97ip8D786/Q=" - }, - "src/third_party/cast_core/public/src": { - "url": "https://chromium.googlesource.com/cast_core/public", - "rev": "f5ee589bdaea60418f670fa176be15ccb9a34942", - "hash": "sha256-yQxm1GMMne80bLl1P7OAN3bJLz1qRNAvou2/5MKp2ig=" - }, - "src/third_party/catapult": { - "url": "https://chromium.googlesource.com/catapult.git", - "rev": "a476f554f8865b7d162ec9f1ad8aae1eab38e048", - "hash": "sha256-fdmcMUvK8h8q109tcwlOAD31lchNyTxkATfh1uRVDEA=" - }, - "src/third_party/ced/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git", - "rev": "ba412eaaacd3186085babcd901679a48863c7dd5", - "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=" - }, - "src/third_party/cld_3/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git", - "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661", - "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=" - }, - "src/third_party/colorama/src": { - "url": "https://chromium.googlesource.com/external/colorama.git", - "rev": "3de9f013df4b470069d03d250224062e8cf15c49", - "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=" - }, - "src/third_party/cpu_features/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git", - "rev": "936b9ab5515dead115606559502e3864958f7f6e", - "hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA=" - }, - "src/third_party/cpuinfo/src": { - "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git", - "rev": "84818a41e074779dbb00521a4731d3e14160ff15", - "hash": "sha256-eXrfeFK0ADKAYoy/vESv7nQnH0oGpeZKlX8XEqPQspo=" - }, - "src/third_party/crc32c/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git", - "rev": "d3d60ac6e0f16780bcfcc825385e1d338801a558", - "hash": "sha256-KBraGaO5LmmPP+p8RuDogGldbTWdNDK+WzF4Q09keuE=" - }, - "src/third_party/cros_system_api": { - "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git", - "rev": "9cd08527738f3684f5f74053f4b6db6cb1a3b165", - "hash": "sha256-nmwwvdgVGzg4tiYPHYAPCdU/49Cw61+7oythtpuejHM=" - }, - "src/third_party/crossbench": { - "url": "https://chromium.googlesource.com/crossbench.git", - "rev": "274eec196c5343b2059a29558396a8a54b3f0695", - "hash": "sha256-fwD0OMubN3MY1xAYrIfOSq75Os8Ct6+Ev6ld8j/tkZg=" - }, - "src/third_party/crossbench-web-tests": { - "url": "https://chromium.googlesource.com/chromium/web-tests.git", - "rev": "d2424bbd8125374af35f0b9fe9f70ec2e1277548", - "hash": "sha256-mowr2K6jMn5tOR1McTIYHPmL7Mhn0k4SXE+RVjTn/XU=" - }, - "src/third_party/depot_tools": { - "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git", - "rev": "42786f6e46c25c30dd58f69283ab6fcd0c959f58", - "hash": "sha256-wI3L6w3G9QCWzvSSUXeLJFHZ+7iv01hs+ig12EXJFHk=" - }, - "src/third_party/devtools-frontend/src": { - "url": "https://chromium.googlesource.com/devtools/devtools-frontend", - "rev": "890a74027b0fdeaee6bbf0a0b9b108bbda7af5b9", - "hash": "sha256-k4k7r5wcgl6t13TsDTPCrYhgG44To+yvmvNsx0FPWZE=" - }, - "src/third_party/dom_distiller_js/dist": { - "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git", - "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d", - "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=" - }, - "src/third_party/dragonbox/src": { - "url": "https://chromium.googlesource.com/external/github.com/jk-jeon/dragonbox.git", - "rev": "beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44", - "hash": "sha256-j6swuGgYGfiFcK3iqd4EKTeU92rZHKTbF5T1fcak/ko=" - }, - "src/third_party/eigen3/src": { - "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git", - "rev": "afb43805349cf1cbec0083d94256bb8f72cbc53b", - "hash": "sha256-GpuSoq887Z1qGKsc4+Vz8X+Sx40P6UnWhaQgrmigkdQ=" - }, - "src/third_party/farmhash/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git", - "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45", - "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=" - }, - "src/third_party/fast_float/src": { - "url": "https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git", - "rev": "cb1d42aaa1e14b09e1452cfdef373d051b8c02a4", - "hash": "sha256-CG5je117WYyemTe5PTqznDP0bvY5TeXn8Vu1Xh5yUzQ=" - }, - "src/third_party/federated_compute/src": { - "url": "https://chromium.googlesource.com/external/github.com/google-parfait/federated-compute.git", - "rev": "e51058dfe7888094ecc09cda38bfceffd4d4664b", - "hash": "sha256-5kuTp0TXOUCQQ7XcnwBRsQRxugl869hZhx8MbxDLwYk=" - }, - "src/third_party/ffmpeg": { - "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git", - "rev": "ae11d2ba5c835b822a61d6a99eeb853ca30d41d8", - "hash": "sha256-j8d6N+qmBHvWiQNaXtdYRaRkEYVMAMU7J2CZVc+0hG0=" - }, - "src/third_party/flac": { - "url": "https://chromium.googlesource.com/chromium/deps/flac.git", - "rev": "807e251d9f8c5dd6059e547931e9c6a4251967af", - "hash": "sha256-Y5TXyJ8lVh8TaVC5S4BVxOmFxySBzPbJYEe8YJS6ZR4=" - }, - "src/third_party/flatbuffers/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git", - "rev": "a86afae9399bbe631d1ea0783f8816e780e236cc", - "hash": "sha256-gV1hn1iHI7knFEXy3Oii97mLRZYJUBiBlTh6/sqOoXg=" - }, - "src/third_party/fontconfig/src": { - "url": "https://chromium.googlesource.com/external/fontconfig.git", - "rev": "d62c2ab268d1679335daa8fb0ea6970f35224a76", - "hash": "sha256-Oo4ewK86dbEkO5EXyGWvdmsPHa8Wk1BHQah784vIem0=" - }, - "src/third_party/fp16/src": { - "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git", - "rev": "3d2de1816307bac63c16a297e8c4dc501b4076df", - "hash": "sha256-CR7h1d9RFE86l6btk4N8vbQxy0KQDxSMvckbiO87JEg=" - }, - "src/third_party/gemmlowp/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git", - "rev": "16e8662c34917be0065110bfcd9cc27d30f52fdf", - "hash": "sha256-e6AeRhZioIiTG5R+IA9g2GBqI4o74wijJYmqINLOtQs=" - }, - "src/third_party/freetype/src": { - "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git", - "rev": "e3a0652b6d706ee1ce77d4dda606b6597dd8b5c4", - "hash": "sha256-CorCyTiS2fumIF0jhqQgw7VjGkjGXNVD8efdmfZ2wUo=" - }, - "src/third_party/fxdiv/src": { - "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git", - "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8", - "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=" - }, - "src/third_party/harfbuzz-ng/src": { - "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git", - "rev": "fa2908bf16d2ccd6623f4d575455fea72a1a722b", - "hash": "sha256-pXAQYEotsqZmfaJSQFaJmZAQVzUiNrHw52z0vmbxQRQ=" - }, - "src/third_party/ink/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/ink.git", - "rev": "9d5367423281a8fcf5bc1c418e20477a992b270a", - "hash": "sha256-uDaK/cDA52Cn+ioPW2bXAJze1eW8TK3xF7+bl/Ylh6Y=" - }, - "src/third_party/ink_stroke_modeler/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/ink-stroke-modeler.git", - "rev": "278aacc769cd42e09e4d0cd4ac4dcff87fe32c20", - "hash": "sha256-z5heZU5X6CITxOTu92GwZjmsi30xcV93CUltCYnTL0o=" - }, - "src/third_party/instrumented_libs": { - "url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git", - "rev": "69015643b3f68dbd438c010439c59adc52cac808", - "hash": "sha256-8kokdsnn5jD9KgM/6g0NuITBbKkGXWEM4BMr1nCrfdU=" - }, - "src/third_party/emoji-segmenter/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git", - "rev": "955936be8b391e00835257059607d7c5b72ce744", - "hash": "sha256-KdQdKBBipEBRT8UmNGao6yCB4m2CU8/SrMVvcXlb5qE=" - }, - "src/third_party/oak/src": { - "url": "https://chromium.googlesource.com/external/github.com/project-oak/oak.git", - "rev": "96c00a6c99ac382f3f3a8f376bc7a70890d1adaa", - "hash": "sha256-+ouwII+i5CbWoJ3NAxQPmczofzkPwtZTtjIPaXyyXt8=" - }, - "src/third_party/ots/src": { - "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git", - "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33", - "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=" - }, - "src/third_party/libgav1/src": { - "url": "https://chromium.googlesource.com/codecs/libgav1.git", - "rev": "40f58ed32ff39071c3f2a51056dbc49a070af0dc", - "hash": "sha256-gisU0p0HDL7Po/ZXIIZVOTnxnOuVvSE/FYo9DaEUFfo=" - }, - "src/third_party/googletest/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git", - "rev": "4fe3307fb2d9f86d19777c7eb0e4809e9694dde7", - "hash": "sha256-gJhv3DQQSP5BQ6GmDobq42/Gkx4AbOg/ZS80bM0WpEw=" - }, - "src/third_party/hunspell_dictionaries": { - "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git", - "rev": "cccf64a8acc951afe3f47fee023908e55699bc58", - "hash": "sha256-mYDPXa64IOKLMNiBiMqDrQMR7gDPI+vdyVc+M7E+ddc=" - }, - "src/third_party/icu": { - "url": "https://chromium.googlesource.com/chromium/deps/icu.git", - "rev": "a86a32e67b8d1384b33f8fa48c83a6079b86f8cd", - "hash": "sha256-zFxeAY6lEFRGNbCOOJij0CFjp3512WkyaN1Ld0+WADs=" - }, - "src/third_party/nlohmann_json/src": { - "url": "https://chromium.googlesource.com/external/github.com/nlohmann/json.git", - "rev": "75d9166a68355d2cd5a98bfd1a75a3a3dae8f071", - "hash": "sha256-t+ygFLws+E4D0Avia7swt4wruaDFaAT6shN6tl92q8k=" - }, - "src/third_party/jsoncpp/source": { - "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git", - "rev": "42e892d96e47b1f6e29844cc705e148ec4856448", - "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=" - }, - "src/third_party/leveldatabase/src": { - "url": "https://chromium.googlesource.com/external/leveldb.git", - "rev": "4ee78d7ea98330f7d7599c42576ca99e3c6ff9c5", - "hash": "sha256-ANtMVRZmW6iOjDVn2y15ak2fTagFTTaz1Se6flUHL8w=" - }, - "src/third_party/libFuzzer/src": { - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git", - "rev": "bea408a6e01f0f7e6c82a43121fe3af4506c932e", - "hash": "sha256-TDi1OvYClJKmEDikanKVTmy8uxUXJ95nuVKo5u+uFPM=" - }, - "src/third_party/fuzztest/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git", - "rev": "54dfec04d5c9ad1f22b08002ab6a5e2d0de77671", - "hash": "sha256-CqJJ1hj9nQkGONB+5tJgafg1xvrPgTuE3tM8RjO2RY0=" - }, - "src/third_party/domato/src": { - "url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git", - "rev": "053714bccbda79cf76dac3fee48ab2b27f21925e", - "hash": "sha256-fYxoA0fxKe9U23j+Jp0MWj4m7RfsRpM0XjF6/yOhX1I=" - }, - "src/third_party/libaddressinput/src": { - "url": "https://chromium.googlesource.com/external/libaddressinput.git", - "rev": "e20690c8d5178bb282641d5eb06ef0298ff4cbc5", - "hash": "sha256-rX7LQNUgk5ZljUrayD1a/SUrBrvpomW0Cs0KBw3lYu4=" - }, - "src/third_party/libaom/source/libaom": { - "url": "https://aomedia.googlesource.com/aom.git", - "rev": "4018d3b63456eb657475e66c352bfa86f321e0f5", - "hash": "sha256-RuCmzPIR6hW8znjQH4kQqSJmIIJWtMkUQjYEVn3B9AE=" - }, - "src/third_party/crabbyavif/src": { - "url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git", - "rev": "908b36ca6195b3db6d8112e39405430b724377de", - "hash": "sha256-1GloE33jDgerd4XAo/ZIIhRzEGZ9AgLsN+ruNTMusdI=" - }, - "src/third_party/nearby/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git", - "rev": "0bad8b0c9877f92eeeb550654f1ea51a71a085e4", - "hash": "sha256-Mwuo2RlKweqZPkDw4OcJDD+QNRiXVysSyzLdjHsG1mA=" - }, - "src/third_party/securemessage/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git", - "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84", - "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=" - }, - "src/third_party/jetstream/main": { - "url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git", - "rev": "ad5e39771904b63750ae410fb00b71c9d2992b03", - "hash": "sha256-y3JKkY2tQ9rC9piFlWaUVmsSOfeWkyKFx2Qv9Lo6nrI=" - }, - "src/third_party/jetstream/v2.2": { - "url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git", - "rev": "2145cedef4ca2777b792cb0059d3400ee2a6153c", - "hash": "sha256-zucA2tqNOsvjhwYQKZ5bFUC73ZF/Fu7KpBflSelvixw=" - }, - "src/third_party/speedometer/main": { - "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git", - "rev": "e2e2538900938c5d6819e9456bf33d48f806c96c", - "hash": "sha256-oF8ELo2qmkgaTpNzBLaC3A6gyf2iFv+FQNPGwdGqzVU=" - }, - "src/third_party/speedometer/v3.1": { - "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git", - "rev": "1386415be8fef2f6b6bbdbe1828872471c5d802a", - "hash": "sha256-G89mrrgRaANT1vqzhKPQKemHbz56YwR+oku7rlRoCHw=" - }, - "src/third_party/speedometer/v3.0": { - "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git", - "rev": "8d67f28d0281ac4330f283495b7f48286654ad7d", - "hash": "sha256-qMQ4naX+4uUu3vtzzinjkhxX9/dNoTwj6vWCu4FdQmU=" - }, - "src/third_party/speedometer/v2.1": { - "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git", - "rev": "8bf7946e39e47c875c00767177197aea5727e84a", - "hash": "sha256-0z5tZlz32fYh9I1ALqfLm2WWO8HiRBwt0hcmgKQhaeM=" - }, - "src/third_party/speedometer/v2.0": { - "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git", - "rev": "732af0dfe867f8815e662ac637357e55f285dbbb", - "hash": "sha256-p7WUS8gZUaS+LOm7pNmRkwgxjx+V8R6yy7bbaEHaIs4=" - }, - "src/third_party/ukey2/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git", - "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47", - "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=" - }, - "src/third_party/cros-components/src": { - "url": "https://chromium.googlesource.com/external/google3/cros_components.git", - "rev": "7ccdbf60606671c2c057628125908fbfef9bd0c8", - "hash": "sha256-g7LzBd2V21AaLdSdCw65WGYvKfrbtpRXsYc+3ILdiKs=" - }, - "src/third_party/libdrm/src": { - "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git", - "rev": "369990d9660a387f618d0eedc341eb285016243b", - "hash": "sha256-kOaTjBeo4IsfWEk/JBTNId5ikrnpoc9DEjIl7DUd2yE=" - }, - "src/third_party/expat/src": { - "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git", - "rev": "69d6c054c1bd5258c2a13405a7f5628c72c177c2", - "hash": "sha256-qe8O7otL6YcDDBx2DS/+c5mWIS8Rf8RQXVtLFMIAeyk=" - }, - "src/third_party/libipp/libipp": { - "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git", - "rev": "4be5f77f672a3a9f1bbf3c935fb0ea8b3f86ce61", - "hash": "sha256-GzLVt6RIN+FgOpcK61ya5lvdIIhQRciAb/ISIirWogY=" - }, - "src/third_party/libjpeg_turbo": { - "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git", - "rev": "6bb85251a8382b5e07f635a981ac685cc5ab5053", - "hash": "sha256-FeSS7D3NietL34KgpaDFenBf/GcvapGSpkiKwgIOOHs=" - }, - "src/third_party/liblouis/src": { - "url": "https://chromium.googlesource.com/external/liblouis-github.git", - "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376", - "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=" - }, - "src/third_party/libphonenumber/dist": { - "url": "https://chromium.googlesource.com/external/libphonenumber.git", - "rev": "9d46308f313f2bf8dbce1dfd4f364633ca869ca7", - "hash": "sha256-ZbuDrZEUVp/ekjUP8WO/FsjAomRjeDBptT4nQZvTVi4=" - }, - "src/third_party/libprotobuf-mutator/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git", - "rev": "7bf98f78a30b067e22420ff699348f084f802e12", - "hash": "sha256-EaEC6R7SzqLw4QjEcWXFXhZc84lNBp6RSa9izjGnWKE=" - }, - "src/third_party/libsrtp": { - "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git", - "rev": "a52756acb1c5e133089c798736dd171567df11f5", - "hash": "sha256-bkG1+ss+1a2rCHGwZjhvf5UaNVbPPZJt9HZSIPBKGwM=" - }, - "src/third_party/libsync/src": { - "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git", - "rev": "d29ac04dc81e6b072c091c5b1342a282765ea250", - "hash": "sha256-aI7Exie3AmTy8R/Ua5lua0lCwMO1k4wMS6cxulU6iD8=" - }, - "src/third_party/libva-fake-driver/src": { - "url": "https://chromium.googlesource.com/chromiumos/platform/libva-fake-driver.git", - "rev": "a9bcab9cd6b15d4e3634ca44d5e5f7652c612194", - "hash": "sha256-em/8rNqwv6szlxyji7mnYr3nObSW/x3OzEEnkiLuqpI=" - }, - "src/third_party/libvpx/source/libvpx": { - "url": "https://chromium.googlesource.com/webm/libvpx.git", - "rev": "e83e25f791932202256479052f18bdd03a091147", - "hash": "sha256-/FtYzbcOgOlaaWCoJfYns5oye7DoRZx1/xew3lN7tAM=" - }, - "src/third_party/libwebm/source": { - "url": "https://chromium.googlesource.com/webm/libwebm.git", - "rev": "f2a982d748b80586ae53b89a2e6ebbc305848b8c", - "hash": "sha256-SxDGt7nPVkSxwRF/lMmcch1h+C2Dyh6GZUXoZjnXWb4=" - }, - "src/third_party/libwebp/src": { - "url": "https://chromium.googlesource.com/webm/libwebp.git", - "rev": "c00d83f6642e7838a12bb03bca94237f03cc2e00", - "hash": "sha256-a7F97BEnwpdx9W8OsVnz+NfIYW+J1XVDSi38KsIZIfI=" - }, - "src/third_party/libyuv": { - "url": "https://chromium.googlesource.com/libyuv/libyuv.git", - "rev": "917276084a49be726c90292ff0a6b0a3d571a6af", - "hash": "sha256-2lnobd22L9u+h6JGWJoWT/0gjhI5JImDsEjn+RRYzJg=" - }, - "src/third_party/lss": { - "url": "https://chromium.googlesource.com/linux-syscall-support.git", - "rev": "29164a80da4d41134950d76d55199ea33fbb9613", - "hash": "sha256-89CdA7vBYudbko0nAIyHcpHMXqFZHC05kwRIUmeEWGo=" - }, - "src/third_party/material_color_utilities/src": { - "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git", - "rev": "13434b50dcb64a482cc91191f8cf6151d90f5465", - "hash": "sha256-Y85XU+z9W6tvmDNHJ/dXQnUKXvvDkO3nH/kUJRLqbc4=" - }, - "src/third_party/minigbm/src": { - "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git", - "rev": "3018207f4d89395cc271278fb9a6558b660885f5", - "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=" - }, - "src/third_party/nasm": { - "url": "https://chromium.googlesource.com/chromium/deps/nasm.git", - "rev": "af5eeeb054bebadfbb79c7bcd100a95e2ad4525f", - "hash": "sha256-vH3OUzfLZbaPY4DMAvSW0jKYRJmOa7aE8EfIJtZ1/Xs=" - }, - "src/third_party/neon_2_sse/src": { - "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git", - "rev": "662a85912e8f86ec808f9b15ce77f8715ba53316", - "hash": "sha256-4OzG4wIPwnKbFD9LG+stxHt5O4qB85ZIXVeSrNqDAyM=" - }, - "src/third_party/openh264/src": { - "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264", - "rev": "652bdb7719f30b52b08e506645a7322ff1b2cc6f", - "hash": "sha256-tf0lnxATCkoq+xRti6gK6J47HwioAYWnpEsLGSA5Xdg=" - }, - "src/third_party/openscreen/src": { - "url": "https://chromium.googlesource.com/openscreen", - "rev": "67cac118873cb41fd19e3fc8b1b4010b3eecf683", - "hash": "sha256-X2U179s+ZFUeazygFcCyu0/kskz0gORENXG/9NleCfQ=" - }, - "src/third_party/openscreen/src/buildtools": { - "url": "https://chromium.googlesource.com/chromium/src/buildtools", - "rev": "eca5f0685c48ed59ff06077cb18cee00934249dd", - "hash": "sha256-sWkgWY2rXVQK83WBVaZxCupQsS/8BtlgagNBQywScPE=" - }, - "src/third_party/openscreen/src/third_party/tinycbor/src": { - "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git", - "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7", - "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=" - }, - "src/third_party/pdfium": { - "url": "https://pdfium.googlesource.com/pdfium.git", - "rev": "67cf48602b0c8aaa9807cd185212ee078eb30b21", - "hash": "sha256-jMoYwf63C0IHx/QcOT+LKCCYN3dJVUhC5COukkhwqx0=" - }, - "src/third_party/perfetto": { - "url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git", - "rev": "436a00fb3edbec1ca5a12ea678a7ee81cf2b6f31", - "hash": "sha256-F3MmIOhwDGJnruz8nZNzbyElDZcpz6wEzLmoyehnvsU=" - }, - "src/third_party/protobuf-javascript/src": { - "url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript", - "rev": "e6d763860001ba1a76a63adcff5efb12b1c96024", - "hash": "sha256-1o6N9+1wsQSu1B4w5LlGlwzIUmuPCIYHPqwOyt234ZM=" - }, - "src/third_party/pthreadpool/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/pthreadpool.git", - "rev": "9003ee6c137cea3b94161bd5c614fb43be523ee1", - "hash": "sha256-Es9QNblzo5b+x4K7myQJwIiUKvqyP16QExWPhGqqDO8=" - }, - "src/third_party/pyelftools": { - "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git", - "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae", - "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=" - }, - "src/third_party/quic_trace/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git", - "rev": "352288a06d2c83ae68b5a402b2219f4678be9f39", - "hash": "sha256-JmK7nmHg/BfXvFNG2oMpOV83EF+LwVLdwL6qX5FGREs=" - }, - "src/third_party/pywebsocket3/src": { - "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git", - "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2", - "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=" - }, - "src/third_party/re2/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/re2.git", - "rev": "972a15cedd008d846f1a39b2e88ce48d7f166cbd", - "hash": "sha256-oEU+dz8ax1S36+f9OysjB0GnQj8mjZx1VsZ/UgckdDI=" - }, - "src/third_party/ruy/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git", - "rev": "de9b160a51ab3a06ce8505b96f7548fa09837a10", - "hash": "sha256-qa9x2n+2R4C9DhMY3ued4IWWY3lnE03/dZ6wYjeQsQk=" - }, - "src/third_party/search_engines_data/resources": { - "url": "https://chromium.googlesource.com/external/search_engines_data.git", - "rev": "9be56ed146f8334c39cd70ab7434fdf726a4f4a4", - "hash": "sha256-PFALT2hhIUrDB1YS2tMq29z1xG9aXLZzJnGOk6RthxM=" - }, - "src/third_party/skia": { - "url": "https://skia.googlesource.com/skia.git", - "rev": "248acd90d9a35ac46b2ec30201ae50f301b8a173", - "hash": "sha256-zOL5j9X72ZvYmS8MzQ+pqSkT8AWBz2IwmaH7I3LN1IE=" - }, - "src/third_party/smhasher/src": { - "url": "https://chromium.googlesource.com/external/smhasher.git", - "rev": "0ff96f7835817a27d0487325b6c16033e2992eb5", - "hash": "sha256-OgZQwkQcVgRMf62ROGuY+3zQhBoWuUSP4naTmSKdq8s=" - }, - "src/third_party/snappy/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git", - "rev": "32ded457c0b1fe78ceb8397632c416568d6714a0", - "hash": "sha256-jUwnjbaqXz7fgI2TPRK7SlUPQUVzcpjp4ZlFbEzwA+o=" - }, - "src/third_party/sqlite/src": { - "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git", - "rev": "7d348fc79216a09b864ff881d8561a6222301666", - "hash": "sha256-13HMEpzzcFx/UKqt4V68619R+0j4B/GOl6NYlhpBk0c=" - }, - "src/third_party/swiftshader": { - "url": "https://swiftshader.googlesource.com/SwiftShader.git", - "rev": "b7b7fd22e5f28079b92412f47f6da4df43e4cd37", - "hash": "sha256-ARFgIJvRzKWin1DJBr7xoeWCuLjuTEu/U0Fqbq8/ono=" - }, - "src/third_party/text-fragments-polyfill/src": { - "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git", - "rev": "c036420683f672d685e27415de0a5f5e85bdc23f", - "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=" - }, - "src/third_party/tflite/src": { - "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git", - "rev": "01e030d23d3b904d98cbf908da74d63b3c186949", - "hash": "sha256-pIhOSb9eLzel5oDPCpxCvI2XJ2jGLdLURCRkd1BbMkk=" - }, - "src/third_party/litert/src": { - "url": "https://chromium.googlesource.com/external/github.com/google-ai-edge/LiteRT.git", - "rev": "320c13c17b995e7ccd7b8d6560db255d2f994199", - "hash": "sha256-pttQPrsptpnLmycmburH3Zh4pvIFgRDudZa9qLC3vjc=" - }, - "src/third_party/vulkan-deps": { - "url": "https://chromium.googlesource.com/vulkan-deps", - "rev": "2cb91a73a9fb82fb967b9432286e7882d791ae91", - "hash": "sha256-duQjSjwS8T6q+l5VEr8MT+LEQNJPROOhBt93myD+3II=" - }, - "src/third_party/glslang/src": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang", - "rev": "e9c2cb495285706c6980932483e7fa9566107ac1", - "hash": "sha256-8sMsiLwOoEdgUsxwyZ6AoT7TAeC2/oApsQg8no1iNmQ=" - }, - "src/third_party/spirv-cross/src": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross", - "rev": "b8fcf307f1f347089e3c46eb4451d27f32ebc8d3", - "hash": "sha256-H43M9DXfEuyKuvo6rjb5k0KEbYOSFodbPJh8ZKY4PQg=" - }, - "src/third_party/spirv-headers/src": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers", - "rev": "f31ca173eff866369e54d35e53375fadbabd58f4", - "hash": "sha256-gND9ef2irqv3v79FSZcFElhiBC6jcKC4XSG6KP2mrFg=" - }, - "src/third_party/spirv-tools/src": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools", - "rev": "f139c64525c7c449c83d299a9fda4e1657bf37ab", - "hash": "sha256-yDcOY2t8n9sUOLo03KGHN95SNfsctOfou1dJ/2R/njQ=" - }, - "src/third_party/vulkan-headers/src": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers", - "rev": "49f1a381e2aec33ef32adf4a377b5a39ec016ec4", - "hash": "sha256-K/8X9D7B0o6+osOzScplwea+OsfM3srAtDKCgfZpcJU=" - }, - "src/third_party/vulkan-loader/src": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader", - "rev": "ab275e43c69f273185a72afa031c7e881b587a42", - "hash": "sha256-nQqF0ff9IoBWnrauMQ/9BoI3aWh5syyvzqTvH/3vTfw=" - }, - "src/third_party/vulkan-tools/src": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools", - "rev": "39a19dccf79d28951516c3c7c9f1ee4a606fb733", - "hash": "sha256-TGgU9IIsuQKs7XKmnoOaD870aR8+txsRZu8nj//K+ks=" - }, - "src/third_party/vulkan-utility-libraries/src": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries", - "rev": "50af38b6cd43afb1462f9ad26b8d015382d11a3d", - "hash": "sha256-4i9+7BXmJHkDRzUE+gbwCNBcW2h0xDP7hcHH/DH2QZg=" - }, - "src/third_party/vulkan-validation-layers/src": { - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers", - "rev": "cee14167434e805deb7010e1bbc1866a5f013d58", - "hash": "sha256-rCBqqcjGNjD8vIN/WSkxVLRRTxHnH+cAZTr87tuG2uU=" - }, - "src/third_party/vulkan_memory_allocator": { - "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git", - "rev": "cb0597213b0fcb999caa9ed08c2f88dc45eb7d50", - "hash": "sha256-yBCs3zfqs/60htsZAOscjcyKhVbAWE6znweuXcs1oKo=" - }, - "src/third_party/wayland/src": { - "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git", - "rev": "736d12ac67c20c60dc406dc49bb06be878501f86", - "hash": "sha256-5iG0HaPXJCEo027TuyXlJQNGluTaAPlvwQDFbiYOEJQ=" - }, - "src/third_party/wayland-protocols/src": { - "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git", - "rev": "efbc060534be948b63e1f395d69b583eebba3235", - "hash": "sha256-tdpEK7soY0aKSk6VD4nulH7ORubX8RfjXYmNAd/cWKY=" - }, - "src/third_party/wayland-protocols/kde": { - "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git", - "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e", - "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=" - }, - "src/third_party/wayland-protocols/gtk": { - "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git", - "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0", - "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=" - }, - "src/third_party/webdriver/pylib": { - "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git", - "rev": "1e954903022e9386b9acf452c24f4458dd4c4fc1", - "hash": "sha256-k5qx4xyO83jPtHaMh6aMigMJ3hsytFdFQOcZLmwPEYo=" - }, - "src/third_party/webgl/src": { - "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git", - "rev": "c01b768bce4a143e152c1870b6ba99ea6267d2b0", - "hash": "sha256-mSketnpcDtz3NnhPkXMpMpq8MWcFiSviJbK6h06fcnw=" - }, - "src/third_party/webgpu-cts/src": { - "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git", - "rev": "eb9091d141e126fd9479a62aeceb927b73b6af47", - "hash": "sha256-BJuBJGsP+rEzLDREo8pARqyX/DOQS9BcZ4KWnris/EM=" - }, - "src/third_party/webpagereplay": { - "url": "https://chromium.googlesource.com/webpagereplay.git", - "rev": "50c853586c642039992d9b0215f87072a0967bd8", - "hash": "sha256-yR5+CafUHiJAZC7940dBboOrUPoAId8FjcxB1nwPbHw=" - }, - "src/third_party/webrtc": { - "url": "https://webrtc.googlesource.com/src.git", - "rev": "d1972add2a63b2a528a6471d447f82e0010b5215", - "hash": "sha256-evtOzxwWgKUaJl9zwpQDqPp1wM7w3DzjRcLg29z9ELQ=" - }, - "src/third_party/wuffs/src": { - "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git", - "rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8", - "hash": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw=" - }, - "src/third_party/weston/src": { - "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git", - "rev": "b65be9e699847c975440108a42f05412cc7fddac", - "hash": "sha256-PySen9syu0OshtlHAZw666FeSQXdnsV8nlW9RmxgapM=" - }, - "src/third_party/xdg-utils": { - "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git", - "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44", - "hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U=" - }, - "src/third_party/xnnpack/src": { - "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git", - "rev": "1154ae8178f0efc634cd1e8a681646dc22973255", - "hash": "sha256-chWb8gVyjdjJaXIbJzPLH9Bt9P7qkUNk4f0EeFePlSo=" - }, - "src/third_party/zstd/src": { - "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git", - "rev": "1168da0e567960d50cba1b58c9b0ba047ece4733", - "hash": "sha256-T2CwRpL/XT/OsBrRfxC8kNIm43U4qPMBju8Ug13Qebo=" - }, - "src/v8": { - "url": "https://chromium.googlesource.com/v8/v8.git", - "rev": "70253f966a7c3936f5a5ff57c6a4a4face1f16ad", - "hash": "sha256-8tA9nWXsiQ2Qt7pbALrhsnNFHOFLw/wlcz5OrFjYEI8=" - } - } - } -} diff --git a/pkgs/by-name/he/helium-browser/package.nix b/pkgs/by-name/he/helium-browser/package.nix deleted file mode 100644 index 391081e..0000000 --- a/pkgs/by-name/he/helium-browser/package.nix +++ /dev/null @@ -1,163 +0,0 @@ -{ - stdenv, - lib, - makeWrapper, - ed, - gsettings-desktop-schemas, - gtk3, - gtk4, - adwaita-icon-theme, - libva, - pipewire, - wayland, - glib, - libkrb5, - xdg-utils, - coreutils, - gnugrep, - callPackage, - rustc, - runCommand, - widevine-cdm, - enableWideVine ? false, - proprietaryCodecs ? true, - cupsSupport ? true, - pulseSupport ? stdenv.hostPlatform.isLinux, - commandLineArgs ? "", - -}: -let - upstream-info = (lib.importJSON ./info.json)."ungoogled-chromium"; - unwrapped = callPackage ./unwrapped.nix { - inherit - helium-patcher-unwrapped - upstream-info - proprietaryCodecs - cupsSupport - pulseSupport - ; - stdenv = rustc.llvmPackages.stdenv; - }; - helium-patcher-unwrapped = callPackage ./helium-patcher.nix { }; - sandboxExecutableName = unwrapped.passthru.sandboxExecutableName; - - chromiumWV = - let - browser = unwrapped; - in - if enableWideVine then - runCommand (browser.name + "-wv") { version = browser.version; } '' - mkdir -p $out - cp -a ${browser}/* $out/ - chmod u+w $out/libexec/helium - cp -a ${widevine-cdm}/share/google/chrome/WidevineCdm $out/libexec/helium/ - '' - else - browser; - -in -stdenv.mkDerivation { - pname = "helium-browser"; - inherit (unwrapped) version; - - nativeBuildInputs = [ - makeWrapper - ed - ]; - - buildInputs = [ - # needed for GSETTINGS_SCHEMAS_PATH - gsettings-desktop-schemas - glib - gtk3 - gtk4 - - # needed for XDG_ICON_DIRS - adwaita-icon-theme - - # Needed for kerberos at runtime - libkrb5 - ]; - - outputs = [ - "out" - "sandbox" - ]; - - buildCommand = - let - browserBinary = "${chromiumWV}/libexec/helium/helium"; - libPath = lib.makeLibraryPath [ - libva - pipewire - wayland - gtk3 - gtk4 - libkrb5 - ]; - - in - '' - mkdir -p "$out/bin" - - makeWrapper "${browserBinary}" "$out/bin/helium" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - --add-flags ${lib.escapeShellArg commandLineArgs} - ed -v -s "$out/bin/helium" << EOF - 2i - - if [ -x "/run/wrappers/bin/${sandboxExecutableName}" ] - then - export CHROME_DEVEL_SANDBOX="/run/wrappers/bin/${sandboxExecutableName}" - else - export CHROME_DEVEL_SANDBOX="$sandbox/bin/${sandboxExecutableName}" - fi - - # Make generated desktop shortcuts have a valid executable name. - export CHROME_WRAPPER='helium' - - '' - + lib.optionalString (libPath != "") '' - # To avoid loading .so files from cwd, LD_LIBRARY_PATH here must not - # contain an empty section before or after a colon. - export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}${libPath}" - '' - + '' - - # libredirect causes chromium to deadlock on startup - export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | ${coreutils}/bin/tr ':' '\n' | ${gnugrep}/bin/grep -v /lib/libredirect\\\\.so$ | ${coreutils}/bin/tr '\n' ':')" - - export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS - - '' - + lib.optionalString (!xdg-utils.meta.broken) '' - # Mainly for xdg-open but also other xdg-* tools (this is only a fallback; \$PATH is suffixed so that other implementations can be used): - export PATH="\$PATH\''${PATH:+:}${xdg-utils}/bin" - '' - + '' - - . - w - EOF - - ln -sv "${unwrapped.sandbox}" "$sandbox" - - ln -s "$out/bin/helium" "$out/bin/helium-browser" - - mkdir -p "$out/share" - for f in '${unwrapped}'/share/*; do # hello emacs */ - ln -s -t "$out/share/" "$f" - done - ''; - - inherit (unwrapped) packageName; - meta = unwrapped.meta // { - platforms = [ "x86_64-linux" ]; - }; - passthru = { - inherit (unwrapped) upstream-info; - browser = unwrapped; - inherit sandboxExecutableName; - updateScript = ./update.mjs; - }; -} diff --git a/pkgs/by-name/he/helium-browser/ungoogled-flags.toml b/pkgs/by-name/he/helium-browser/ungoogled-flags.toml deleted file mode 100644 index 59f19c8..0000000 --- a/pkgs/by-name/he/helium-browser/ungoogled-flags.toml +++ /dev/null @@ -1,18 +0,0 @@ -build_with_tflite_lib=false -chrome_pgo_phase=0 -clang_use_chrome_plugins=false -disable_fieldtrial_testing_config=true -enable_hangout_services_extension=false -enable_mdns=false -enable_remoting=false -enable_reporting=false -enable_service_discovery=false -enable_widevine=true -exclude_unwind_tables=true -google_api_key="" -google_default_client_id="" -google_default_client_secret="" -safe_browsing_mode=0 -treat_warnings_as_errors=false -use_official_google_api_keys=false -use_unofficial_version_number=false diff --git a/pkgs/by-name/he/helium-browser/unwrapped.nix b/pkgs/by-name/he/helium-browser/unwrapped.nix deleted file mode 100644 index 4ab6570..0000000 --- a/pkgs/by-name/he/helium-browser/unwrapped.nix +++ /dev/null @@ -1,227 +0,0 @@ -{ - stdenv, - upstream-info, - chromium, - fetchurl, - go-crx3, - overrideCC, - pkgsBuildBuild, - lib, - electron-source, - helium-patcher-unwrapped, - fetchzip, - breakpointHook, - proprietaryCodecs, - cupsSupport, - pulseSupport, -}: -let - warnObsoleteVersionConditional = - min-version: result: - let - min-supported-version = (lib.head (lib.attrValues electron-source)).unwrapped.info.chromium.version; - # Warning can be toggled by changing the value of enabled: - enabled = false; - in - lib.warnIf (enabled && lib.versionAtLeast min-supported-version min-version) - "chromium: min-supported-version ${min-supported-version} is newer than a conditional bounded at ${min-version}. You can safely delete it." - result; - chromiumVersionAtLeast = - min-version: - let - result = lib.versionAtLeast upstream-info.version min-version; - in - warnObsoleteVersionConditional min-version result; - versionRange = - min-version: upto-version: - let - inherit (upstream-info) version; - result = lib.versionAtLeast version min-version && lib.versionOlder version upto-version; - in - warnObsoleteVersionConditional upto-version result; - -in -( - (chromium.passthru.mkDerivation.override (old: { - inherit stdenv; - ungoogled = true; - ungoogled-chromium = helium-patcher-unwrapped; - inherit - upstream-info - chromiumVersionAtLeast - versionRange - proprietaryCodecs - cupsSupport - pulseSupport - ; - - })) - ( - base: - let - helium = helium-patcher-unwrapped { - inherit (upstream-info.deps.ungoogled-patches) rev hash; - }; - buildPlatformLlvmStdenv = - let - llvmPackages = pkgsBuildBuild.rustc.llvmPackages; - in - overrideCC llvmPackages.stdenv ( - llvmPackages.stdenv.cc.override { - inherit (llvmPackages) bintools; - } - ); - - ublock_src = - let - version = "1.67.0"; - in - fetchurl { - url = "https://github.com/imputnet/ublock-origin-crx/releases/download/${version}/uBlock0_${version}.crx"; - hash = "sha256-06NjhGEfV5Msg098vq6NdPXPrGNrqVUkz+nlLoFVAac="; - - recursiveHash = true; - downloadToTemp = true; - nativeBuildInputs = [ - go-crx3 - ]; - postFetch = '' - mv "$downloadedFile" "$TMPDIR/uBlock0_${version}.crx" - crx3 unpack "$TMPDIR/uBlock0_${version}.crx" - mv "uBlock0_${version}" "$out" - ''; - }; - helium-onboarding = - let - version = "202511061712"; - in - fetchzip { - url = "https://github.com/imputnet/helium-onboarding/releases/download/${version}/helium-onboarding-${version}.tar.gz"; - hash = "sha256-wsEFW9Psj4xTFUwgWC12aLErp/QKDIhcRkcw9WZms8Q="; - stripRoot = false; - }; - search-engine-data = fetchzip { - url = "https://gist.githubusercontent.com/wukko/2a591364dda346e10219e4adabd568b1/raw/e75ae3c4a1ce940ef7627916a48bc40882d24d40/nonfree-search-engines-data.tar.gz"; - hash = "sha256-G83WwfoNmzI0ib9SRfjoDEoULnwgOTMQurlr1fKIpoo="; - stripRoot = false; - }; - - in - rec { - inherit stdenv; - pname = "helium-browser-unwrapped"; - version = "${upstream-info.deps.ungoogled-patches.rev}-${upstream-info.version}"; - depsBuildBuild = - lib.filter (d: d != buildPlatformLlvmStdenv && d != buildPlatformLlvmStdenv.cc) base.depsBuildBuild - ++ [ - # breakpointHook - ]; - # skip chromium-126-llvm-17.patch - patches = lib.filter ( - p: - let - name = (builtins.baseNameOf p); - in - !builtins.elem name [ - "chromium-126-llvm-17.patch" - "x5k78i7w4zics8v9b9azy4k1g7c8586z-chromium-141-Revert-Remove-unnecessary-include-in-tree_scope.h.patch" - "1rh5mwg9vxra2bbadh2saxzscfpxf5w4-chromium-142-Backport-Add-missing-include-for-FormFieldData-type-completeness.patch" - ] - ) base.patches; - - postUnpack = '' - cp -r ${helium-onboarding}/ src/components/helium_onboarding - chmod +rw -R src/components/helium_onboarding - cp -r ${ublock_src}/ src/third_party/ublock - chmod +rw -R src/third_party/ublock - cp -r ${search-engine-data}/. src/third_party/search_engines_data/resources_internal - chmod +rw -R src/third_party/search_engines_data/resources_internal - ''; - postPatch = base.postPatch + '' - "${helium}/utils/name_substitution.py" --sub -t . - "${helium}/utils/helium_version.py" --tree "${helium}" --chromium-tree . - cp --no-preserve=mode,ownership -r "${helium}/resources" "$TMPDIR/helium-resources" - "${helium}/utils/generate_resources.py" "${helium}/resources/generate_resources.txt" "$TMPDIR/helium-resources" - "${helium}/utils/replace_resources.py" "${helium}/resources/helium_resources.txt" "$TMPDIR/helium-resources" . - ''; - name = "helium-browser"; - packageName = "helium"; - buildTargets = [ - "run_mksnapshot_default" - "chrome_sandbox" - "chrome" - ]; - - outputs = [ - "out" - "sandbox" - ]; - - sandboxExecutableName = "__chromium-suid-sandbox"; - - installPhase = '' - mkdir -p "$libExecPath" - cp -v "$buildPath/"*.so "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/" - cp -v "$buildPath/libvulkan.so.1" "$libExecPath/" - cp -v "$buildPath/vk_swiftshader_icd.json" "$libExecPath/" - cp -v "$buildPath/icudtl.dat" "$libExecPath/" - cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/" - cp -v "$buildPath/chrome_crashpad_handler" "$libExecPath/" - cp -v "$buildPath/chrome" "$libExecPath/$packageName" - - # Swiftshader - # See https://stackoverflow.com/a/4264351/263061 for the find invocation. - if [ -n "$(find "$buildPath/swiftshader/" -maxdepth 1 -name '*.so' -print -quit)" ]; then - echo "Swiftshader files found; installing" - mkdir -p "$libExecPath/swiftshader" - cp -v "$buildPath/swiftshader/"*.so "$libExecPath/swiftshader/" - else - echo "Swiftshader files not found" - fi - - mkdir -p "$sandbox/bin" - cp -v "$buildPath/chrome_sandbox" "$sandbox/bin/${sandboxExecutableName}" - - mkdir -vp "$out/share/man/man1" - cp -v "$buildPath/chrome.1" "$out/share/man/man1/$packageName.1" - - for icon_file in chrome/app/theme/chromium/product_logo_*[0-9].png; do - num_and_suffix="''${icon_file##*logo_}" - icon_size="''${num_and_suffix%.*}" - expr "$icon_size" : "^[0-9][0-9]*$" || continue - logo_output_prefix="$out/share/icons/hicolor" - logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps" - mkdir -vp "$logo_output_path" - cp -v "$icon_file" "$logo_output_path/$packageName.png" - done - - # Install Desktop Entry - install -D chrome/installer/linux/common/desktop.template \ - $out/share/applications/helium-browser.desktop - - substituteInPlace $out/share/applications/helium-browser.desktop \ - --replace "@@MENUNAME@@" "Helium" \ - --replace "@@PACKAGE@@" "helium" \ - --replace "Exec=/usr/bin/@@USR_BIN_SYMLINK_NAME@@" "Exec=helium" - - # Append more mime types to the end - sed -i '/^MimeType=/ s,$,x-scheme-handler/webcal;x-scheme-handler/mailto;x-scheme-handler/about;x-scheme-handler/unknown,' \ - $out/share/applications/helium-browser.desktop - - # See https://github.com/NixOS/nixpkgs/issues/12433 - sed -i \ - -e '/\[Desktop Entry\]/a\' \ - -e 'StartupWMClass=helium-browser' \ - $out/share/applications/helium-browser.desktop - ''; - - passthru = { - inherit sandboxExecutableName; - inherit upstream-info chromiumVersionAtLeast; - }; - - requiredSystemFeatures = [ "big-parallel" ]; - - } - ) -) diff --git a/pkgs/by-name/he/helium-browser/update.mjs b/pkgs/by-name/he/helium-browser/update.mjs deleted file mode 100755 index 3e63407..0000000 --- a/pkgs/by-name/he/helium-browser/update.mjs +++ /dev/null @@ -1,290 +0,0 @@ -#! /usr/bin/env nix-shell -/* -#! nix-shell -i zx -p zx -*/ - -console.log(process.cwd()) - -const custompkgs = (await $`git rev-parse --show-toplevel`).stdout.trim() -const $custompkgs = $({ - cwd:custompkgs -}) -const nixpkgs = "" - -const dummy_hash = 'sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' - -const lockfile_file = './info.json' -const lockfile_initial = fs.readJsonSync(lockfile_file) -function flush_to_file() { - fs.writeJsonSync(lockfile_file, lockfile, { spaces: 2 }) -} -const flush_to_file_proxy = { - get(obj, prop) { - const value = obj[prop] - return typeof value == 'object' ? new Proxy(value, flush_to_file_proxy) : value - }, - - set(obj, prop, value) { - obj[prop] = value - flush_to_file() - return true - }, -} -const lockfile = new Proxy(structuredClone(lockfile_initial), flush_to_file_proxy) -const ungoogled_rev = argv['ungoogled-chromium-rev'] - -for (const attr_path of Object.keys(lockfile)) { - const ungoogled = attr_path === 'ungoogled-chromium' - - if (!argv[attr_path] && !(ungoogled && ungoogled_rev)) { - console.log(`[${attr_path}] Skipping ${attr_path}. Pass --${attr_path} as argument to update.`) - continue - } - - const version_nixpkgs = !ungoogled ? lockfile[attr_path].version : lockfile[attr_path].deps['ungoogled-patches'].rev - const version_upstream = !ungoogled ? await get_latest_chromium_release('linux') : - ungoogled_rev ?? await get_latest_ungoogled_release() - - console.log(`[${attr_path}] ${chalk.red(version_nixpkgs)} (nixpkgs)`) - console.log(`[${attr_path}] ${chalk.green(version_upstream)} (upstream)`) - - if (ungoogled_rev || version_greater_than(version_upstream, version_nixpkgs)) { - console.log(`[${attr_path}] ${chalk.green(version_upstream)} from upstream is newer than our ${chalk.red(version_nixpkgs)}...`) - - let ungoogled_patches = ungoogled ? await fetch_ungoogled(version_upstream) : undefined - - // For ungoogled-chromium we need to remove the patch revision (e.g. 130.0.6723.116-1 -> 130.0.6723.116) - // by just using the chromium_version.txt content from the patches checkout (to also work with commit revs). - const version_chromium = ungoogled_patches?.chromium_version ?? version_upstream - - const chromium_rev = await chromium_resolve_tag_to_rev(version_chromium) - - lockfile[attr_path] = { - version: version_chromium, - chromedriver: !ungoogled ? await fetch_chromedriver_binaries(await get_latest_chromium_release('mac')) : undefined, - deps: { - depot_tools: {}, - gn: await fetch_gn(chromium_rev, lockfile_initial[attr_path].deps.gn), - 'ungoogled-patches': !ungoogled ? undefined : { - rev: ungoogled_patches.rev, - hash: ungoogled_patches.hash, - }, - npmHash: dummy_hash, - }, - DEPS: {}, - } - - const depot_tools = await fetch_depot_tools(chromium_rev, lockfile_initial[attr_path].deps.depot_tools) - lockfile[attr_path].deps.depot_tools = { - rev: depot_tools.rev, - hash: depot_tools.hash, - } - - // DEPS update loop - lockfile[attr_path].DEPS = await resolve_DEPS(depot_tools.out, chromium_rev) - for (const [path, value] of Object.entries(lockfile[attr_path].DEPS)) { - delete value.fetcher - delete value.postFetch - - if (value.url === 'https://chromium.googlesource.com/chromium/src.git') { - value.recompress = true - } - - const cache_hit = (() => { - for (const attr_path in lockfile_initial) { - const cache = lockfile_initial[attr_path].DEPS[path] - const hits_cache = - cache !== undefined && - value.url === cache.url && - value.rev === cache.rev && - value.recompress === cache.recompress && - cache.hash !== undefined && - cache.hash !== '' && - cache.hash !== dummy_hash - - if (hits_cache) { - cache.attr_path = attr_path - return cache; - } - } - })(); - - if (cache_hit) { - console.log(`[${chalk.green(path)}] Reusing hash from previous info.json for ${cache_hit.url}@${cache_hit.rev} from ${cache_hit.attr_path}`) - value.hash = cache_hit.hash - continue - } - - console.log(`[${chalk.red(path)}] FOD prefetching ${value.url}@${value.rev}...`) - // value.hash = await prefetch_FOD('./package.nix', '-A', `${attr_path}.browser.passthru.chromiumDeps."${path}"`) - value.hash = await prefetch_flake_FOD(`.#helium-browser.browser.passthru.chromiumDeps."${path}"`) - // console.log(`[${chalk.green(path)}] FOD prefetching successful`) - } - - // lockfile[attr_path].deps.npmHash = await prefetch_FOD('./package.nix', '-A', `${attr_path}.browser.passthru.npmDeps`) - lockfile[attr_path].deps.npmHash = await prefetch_flake_FOD(`.#helium-browser.browser.passthru.npmDeps`) - - console.log(chalk.green(`[${attr_path}] Done updating ${attr_path} from ${version_nixpkgs} to ${version_upstream}!`)) - } -} - - -async function fetch_gn(chromium_rev, gn_previous) { - const DEPS_file = await get_gitiles_file('https://chromium.googlesource.com/chromium/src', chromium_rev, 'DEPS') - const { rev } = /^\s+'gn_version': 'git_revision:(?.+)',$/m.exec(DEPS_file).groups - - const cache_hit = rev === gn_previous.rev; - if (cache_hit) { - return gn_previous - } - - const commit_date = await get_gitiles_commit_date('https://gn.googlesource.com/gn', rev) - const version = `0-unstable-${commit_date}` - - const expr = [`(import ${nixpkgs} {}).gn.override { version = "${version}"; rev = "${rev}"; hash = ""; }`] - const derivation = await $`nix-instantiate --expr ${expr}` - - return { - version, - rev, - hash: await prefetch_FOD(derivation), - } -} - - -async function get_gitiles_commit_date(base_url, rev) { - const url = `${base_url}/+/${rev}?format=json` - const response = await (await fetch(url)).text() - const json = JSON.parse(response.replace(`)]}'\n`, '')) - - const date = new Date(json.committer.time) - return date.toISOString().split("T")[0] -} - - -async function fetch_chromedriver_binaries(version) { - // https://developer.chrome.com/docs/chromedriver/downloads/version-selection - const prefetch = async (url) => { - const expr = [`(import ${nixpkgs} {}).fetchzip { url = "${url}"; hash = ""; }`] - const derivation = await $`nix-instantiate --expr ${expr}` - return await prefetch_FOD(derivation) - } - - // if the URL ever changes, the URLs in the chromedriver derivations need updating as well! - const url = (platform) => `https://storage.googleapis.com/chrome-for-testing-public/${version}/${platform}/chromedriver-${platform}.zip` - return { - version, - hash_darwin: await prefetch(url('mac-x64')), - hash_darwin_aarch64: await prefetch(url('mac-arm64')), - } -} - - -async function chromium_resolve_tag_to_rev(tag) { - const url = `https://chromium.googlesource.com/chromium/src/+/refs/tags/${tag}?format=json` - const response = await (await fetch(url)).text() - const json = JSON.parse(response.replace(`)]}'\n`, '')) - return json.commit -} - - -async function resolve_DEPS(depot_tools_checkout, chromium_rev) { - const { stdout } = await $`./depot_tools.py ${depot_tools_checkout} ${chromium_rev}` - const deps = JSON.parse(stdout) - return Object.fromEntries(Object.entries(deps).map(([k, { url, rev, hash }]) => [k, { url, rev, hash }])) -} - - -async function get_latest_chromium_release(platform) { - const url = `https://versionhistory.googleapis.com/v1/chrome/platforms/${platform}/channels/stable/versions/all/releases?` + new URLSearchParams({ - order_by: 'version desc', - filter: 'endtime=none,fraction>=0.5' - }) - - const response = await (await fetch(url)).json() - return response.releases[0].version -} - - -async function get_latest_ungoogled_release() { - const ungoogled_tags = await (await fetch('https://api.github.com/repos/imputnet/helium/tags')).json() - // console.log(ungoogled_tags) - // const chromium_releases = await (await fetch('https://versionhistory.googleapis.com/v1/chrome/platforms/linux/channels/stable/versions/all/releases')).json() - // const chromium_release_map = chromium_releases.releases.map((x) => x.version) - // return "0.5.2" // TODO: figure out how to actually properly do this stuff - return ungoogled_tags[0].name -} - - -async function fetch_ungoogled(rev) { - const expr = (hash) => [`(import ${nixpkgs} {}).fetchFromGitHub { owner = "imputnet"; repo = "helium"; rev = "${rev}"; hash = "${hash}"; }`] - const hash = await prefetch_FOD('--expr', expr('')) - - const checkout = await $`nix-build --expr ${expr(hash)}` - const checkout_path = checkout.stdout.trim() - - await fs.copy(path.join(checkout_path, 'flags.gn'), './ungoogled-flags.toml') - - const chromium_version = (await fs.readFile(path.join(checkout_path, 'chromium_version.txt'))).toString().trim() - - console.log(`[ungoogled-chromium] ${chalk.green(rev)} patch revision resolves to chromium version ${chalk.green(chromium_version)}`) - - return { - rev, - hash, - chromium_version, - } -} - - -function version_greater_than(greater, than) { - return greater.localeCompare(than, undefined, { numeric: true, sensitivity: 'base' }) === 1 -} - - -async function get_gitiles_file(repo, rev, path) { - const base64 = await (await fetch(`${repo}/+/${rev}/${path}?format=TEXT`)).text() - return Buffer.from(base64, 'base64').toString('utf-8') -} - - -async function fetch_depot_tools(chromium_rev, depot_tools_previous) { - const depot_tools_rev = await get_gitiles_file('https://chromium.googlesource.com/chromium/src', chromium_rev, 'third_party/depot_tools') - const hash = depot_tools_rev === depot_tools_previous.rev ? depot_tools_previous.hash : '' - return await prefetch_gitiles('https://chromium.googlesource.com/chromium/tools/depot_tools', depot_tools_rev, hash) -} - - -async function prefetch_gitiles(url, rev, hash = '') { - const expr = () => [`(import ${nixpkgs} {}).fetchFromGitiles { url = "${url}"; rev = "${rev}"; hash = "${hash}"; }`] - - if (hash === '') { - hash = await prefetch_FOD('--expr', expr()) - } - - const { stdout } = await $`nix-build --expr ${expr()}` - return { - url, - rev, - hash, - out: stdout.trim(), - } -} - - -async function prefetch_FOD(...args) { - const { stderr } = await $`nix-build ${args}`.nothrow() - const hash = /\s+got:\s+(?.+)$/m.exec(stderr)?.groups?.hash - if (hash == undefined) { - throw new Error(chalk.red('Expected to find hash in nix-build stderr output:') + stderr) - } - return hash -} -async function prefetch_flake_FOD(...args) { - const { stderr } = await $custompkgs`nix build ${args}`.nothrow() - const hash = /\s+got:\s+(?.+)$/m.exec(stderr)?.groups?.hash - if (hash == undefined) { - throw new Error(chalk.red('Expected to find hash in nix build stderr output:') + stderr) - } - return hash -}