[3.22] backports/electron: upgrade to 38.1.2 #1646

Merged
forge merged 2 commits from electron/upgrade-38.1.2 into v3.22 2025-09-22 23:54:40 +00:00
16 changed files with 225 additions and 468 deletions

View file

@ -2,7 +2,7 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=caprine
pkgver=2.60.3
pkgrel=4
pkgrel=5
pkgdesc="Elegant Facebook Messenger desktop app"
arch="x86_64 aarch64" # blocked by electron
url="https://github.com/sindresorhus/caprine"

View file

@ -0,0 +1,21 @@
From adbc495726382c023b755c35aea36c6e9cad1950 Mon Sep 17 00:00:00 2001
From: LN Liberda <lauren@selfisekai.rocks>
Date: Sat, 23 Aug 2025 03:11:09 +0200
Subject: [PATCH] hotfix: ignore a new warning in rust 1.89
---
third_party/rust/chromium_crates_io/vendor/qr_code-v2/src/lib.rs | 1 -
1 file changed, 1 deletion(-)
diff --git a/third_party/rust/chromium_crates_io/vendor/qr_code-v2/src/lib.rs b/third_party/rust/chromium_crates_io/vendor/qr_code-v2/src/lib.rs
index 1b729621c2f47..55d392c6da72f 100644
--- a/third_party/rust/chromium_crates_io/vendor/qr_code-v2/src/lib.rs
+++ b/third_party/rust/chromium_crates_io/vendor/qr_code-v2/src/lib.rs
@@ -5,7 +5,6 @@
//!
#![deny(missing_docs)]
-#![deny(warnings)]
#![allow(
clippy::must_use_candidate, // This is just annoying.
clippy::use_self, // Rust 1.33 doesn't support Self::EnumVariant, let's try again in 1.37.

View file

@ -1,11 +1,11 @@
# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=electron
pkgver=37.5.1
pkgver=38.1.2
_gittag=v"${pkgver/_beta/-beta.}"
pkgrel=0
_chromium=138.0.7204.251
_copium_tag=138.0
_chromium=140.0.7339.133
_copium_tag=140.2
_depot_tools=495b23b39aaba2ca3b55dd27cadc523f1cb17ee6
pkgdesc="Electron cross-platform desktop toolkit"
url="https://github.com/electron/electron"
@ -117,7 +117,7 @@ subpackages="$pkgname-lang $pkgname-dev"
source="
https://ayakael.net/api/packages/mirrors/generic/electron/$_gittag/electron-$_gittag-$_chromium.tar.zst
copium-$_copium_tag.tar.gz::https://codeberg.org/selfisekai/copium/archive/$_copium_tag.tar.gz
chromium-revert-drop-of-system-java.patch
0001-hotfix-ignore-a-new-warning-in-rust-1.89.patch
compiler.patch
disable-dns_config_service.patch
disable-failing-tests.patch
@ -126,16 +126,17 @@ source="
fstatat-32bit.patch
gdbinit.patch
generic-sensor-include.patch
musl-auxv.patch
headless-shell-no-license.patch
musl-sandbox.patch
musl-tid-caching.patch
net-test-no-vpython.patch
net-test-pyws3-py3.12.patch
no-execinfo.patch
no-mallinfo.patch
no-res-ninit-nclose.patch
no-sandbox-settls.patch
partalloc-no-tagging-arm64.patch
pvalloc.patch
rust_no_alloc_shim_is_unstable_v2.patch
temp-failure-retry.patch
electron_icon.patch
@ -155,6 +156,8 @@ _copium_patches="
cr133-is-musl-libcxx.patch
cr135-mv2-still-not-dead.patch
cr138-node-version-check.patch
cr140-musl-prctl.patch
cr140-rust-pre1.89.patch
"
# Avoid conflicting providers
sonameprefix="$pkgname:"
@ -173,6 +176,8 @@ export LD="/usr/lib/llvm$_llvmver/bin/clang++"
# less log spam, reproducible
export CFLAGS="${CFLAGS/-g/} -O2 -Wno-builtin-macro-redefined -Wno-deprecated-declarations -Wno-shift-count-overflow -Wno-ignored-attributes"
export CXXFLAGS="${CXXFLAGS/-g/} -O2 -Wno-builtin-macro-redefined -Wno-deprecated-declarations -Wno-invalid-constexpr"
# _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE is set by project
export CXXFLAGS="${CXXFLAGS/-D_LIBCPP_ENABLE_HARDENED_MODE=1/}"
export CPPFLAGS="${CPPFLAGS/-g/} -D__DATE__= -D__TIME__= -D__TIMESTAMP__="
case "$CARCH" in
aarch64|arm*|riscv64)
@ -453,10 +458,9 @@ _configure() {
custom_toolchain=\"//build/toolchain/linux/unbundle:default\"
disable_fieldtrial_testing_config=true
enable_hangout_services_extension=true
enable_nacl=false
enable_nocompile_tests=false
enable_stripping=false
enable_rust=true
enable_stripping=false
enable_vr=false
fatal_linker_warnings=false
ffmpeg_branding=\"Chrome\"
@ -552,27 +556,28 @@ lang() {
}
sha512sums="
6acf2715c0c7a7bb04c54ee20513df6a0ddaac6b46d04a610b6b6ed568371700c65f989f702b850c32e6d7a1260149c6fe498bfdbbb4398829c192e9e4ae9c57 electron-v37.5.1-138.0.7204.251.tar.zst
32e1edad4d149c489e6c6f6818cf2b2ed3c7ae1cb62600576f54d7315804e5be2c1b62716e1c1bcc445cc1e874299605cc2602b0b8ff5be665fb4b1b4f11f051 copium-138.0.tar.gz
29bb685e03356a77df5fd347cdf55194cc8b3265c421cc76e54d64edefc329dbcb052deb26b22e8f587ce68456876c071de1b7d258dd0fcc6ee66c875ec4a020 chromium-revert-drop-of-system-java.patch
ac765796ecd46f724f788181b9b76e1d100d18de7d45b32e33406e8540a83fab2fc93f74664c0748ed7839dbfbb9675a81a39f2dc0fbc796179b7d0dbd4fb706 compiler.patch
4057cc78f10bfd64092bc35a373869abb1d68b880cdbca70422f39ffd78a929c19c7728d4d4c40709aaba25581148a93ae5343e724849fd35323062ed68753fa disable-dns_config_service.patch
2470904846e3adde2c9506f9e78220daca0932320b628dd3d427bf2b7c17a8f7880cb97e787b046c28de7aca642e1a8d30824d6049905976da77e7473baa64da disable-failing-tests.patch
5fc5c012c1db6cf1ba82f38c6f3f4f5ca3a209e47ac708a74de379b018e0649b7694877c9571ef79002dde875ffc07b458a3355425f1c01867f362c66c2bc1bf fc-cache-version.patch
4213a67b2d2f3de2ac980d3ae11dffcc006ddbabdc1bef4d4787e5b596642120a5ac63dd602c75680714ca55e1b6eda47cf57625e888ff806b05c96dd1a0c384 fix-ffmpeg-codec-list.patch
3b8044ec28881e464619074b5d1ff1c8591aa9e15df33d5ec3915ee235619046ba97ade1352a805a699db2dd1942c1311b7d2df59c4d2086fa5f590bb3f6bad8 electron-v38.1.2-140.0.7339.133.tar.zst
472d7879560c4d62cda34b72288a2dda4917e9b5854a02eda22686a5e5cb3aeae0787f0d4e17c2b72c201178b0864a549226af57db79ad70902f3e85289a8ab6 copium-140.2.tar.gz
69b45005451ccd69c354b4c2910e92371cb801665f5e300dbecd36f8bc4ce68e77a431b5dac07c0937787debb4e93b7aadefa0a1e76c4ae334d2547ca3ca14ff 0001-hotfix-ignore-a-new-warning-in-rust-1.89.patch
b3eb30c66e80e8273ce180ee40ad746d819e11a18ab17dd88554ae9bd0734bfd7a9b1df2d6bac3b9d143803a3a18fe75bad4526ef8c225e29630a29827d544f0 compiler.patch
1bee1448e409fedff635388ee6f1efa6d23c29ae3e6b6fd31452c56974adb40fcd0088c82d1e643d549154663e402942cbab9807dff5aff2d8997a09de6f5655 disable-dns_config_service.patch
0ef9168b8b1a4779bc4c8df718735e06d29e459dcfd00f8cbf9a4edaf9fade8089225219e46dead7de81de716bddc8d745dc2069db0ee7f7e5d2f64c5236e2ab disable-failing-tests.patch
872bea229ce2442bfd15eae89ac2559e3b3e0f72d8d6435c941774fa052706362f0d4e524a167136a970a5a8009bcf406ab2bd4d6d2b4b5098f6a7a6368caa45 fc-cache-version.patch
87f63d83139562e058f3f649eb1f62bf100dd92c2bb6ee393fdce0c8f7d7c188a7062394647aafe4e82c0a8fbbffeb613edc5c8dd9415dd9dda777827ea371c5 fix-ffmpeg-codec-list.patch
c63dee5044353eb306a39ca1526158c0f003ab310ecb03d1c368dc2a979454590c84b8d3c15484517d5e66bb8add9b231da9abbadf2e50850abd72ac1345c4ab fstatat-32bit.patch
33ee60863cc438ef57ffef92ba4cf67a856a5ffc16138bce241bcf87e47b15154aa86918e793c26f7ec4dc62a445257ad5673ed7001daf22c4043cf6cc57da7f gdbinit.patch
36a764fa73443b47d38050b52dbe6ad2fa8d67201ff4ccdbad13b52308ef165ca046aac6f9609fe35890a6485f0f3e672e78cc41e3e44f3cdc7f145e540524e8 generic-sensor-include.patch
99bcc7dd485b404a90c606a96addab1d900852128d44fb8cea8acc7303189ef87c89a7b0e749fd0e10c5ef5f6bf1fadeb5c16a34503cab6a59938ce2653d887e musl-auxv.patch
a94cf7a0670abf5178abba33c619cc6d41d73f2e16c7a1fd5b152152f5077df103e049d166e3b8627797c38113821d2f2e6b64cd48d132c1e90ad32d63a349f5 headless-shell-no-license.patch
51f1959bd622af26a1c3a1f4b0ad9a5bfa461057aa4cf9960c568dddf8ac47d55989c277f5d5ab5db040a04c54925a531af7a1cc767559218b408eaa6bdd7577 musl-sandbox.patch
e7163ac5810ac85366cef2447412287c856e3d67c6b77f219a6e5a418b1965b98e449c409424ad0704a5bded9355dd0aec3dc4585918ce5a2ab36c079707afe2 musl-tid-caching.patch
3b7420d58d13dfc4baab5065e3017f666f51fed6de087af42a660a839d7b4444b50d1a93204322d213df36c6722eaf6b08d46d50dc374198a342da2675fafff5 net-test-no-vpython.patch
e487662b6606ea526ddd716c31e6b9ad3d61f1bee5356cd94b78a903efb3928338cbb48e3d5840b34c3b70a71e8361a228430bd50e707ad301228a7049d59e37 net-test-pyws3-py3.12.patch
a250cff50d282b02ce0f28880d0a2b4fb8e7df51bc072bfeeddc561c29a7c76453dbcbc7b17b82966a7b30a31409d2555720d1dcf963e1b3fb8a2a06a6abcf46 no-execinfo.patch
0b41aeb6b212f9c3f61aa0a8d3085c9e865a2e68f3270ceec2376aab67f337ac46eaea7da36d3fd7219e2a1cb731b7aa2d3fb619a374d2b7653976b9f4f384bb no-mallinfo.patch
e4c4e5bc6f828f9c883dd418c0ba01887949c29c311f76206a1ec29f620b0c0ba0452949dc2778a9c46ea066405857536964a36436a68eecf7da7952736333cf no-res-ninit-nclose.patch
6dc4d8dc92e685dace62265a1ddb3aebc558aed54d20ff6d36b030be0c48d7e84662326c31363612492574d9a03c62653cdc21a60995b97dee1d75cae86a9f9b no-sandbox-settls.patch
b75908a45ee2f4f806eec8d86fca2f51fda3531b88de48ef4539c364a40d7e2897cdaf38b715682d712648e3f43aac983055e688385f85fa7b7204ffb6d617e1 partalloc-no-tagging-arm64.patch
03f829a2da633533ef3fd0f287f5ec602d936a97a98b53cd2415553c2537ae9d571f35397ca7c9fb3f4b0806c300e3b189569f8d979ca132e1a2a4dae7206396 pvalloc.patch
2fac0d195ec9ae97b5e0758fa00d871461990f58f777dd70d35583eccf117d7c65a0e92d9781bca7e97ad7509aa1f37dfd8c775dabd8b055e9935a786b81d2a9 rust_no_alloc_shim_is_unstable_v2.patch
e48693e6b7aeebf69a5acbf80d9a35defe4c23835121dfeb58b051ac7c527e758a41004f4d193274fe1b01c0bfb1dbc77b09cb6a404a3fdee507a2918afb0edb temp-failure-retry.patch
465107da7818b237e3c144a318ab80c3c9343b51ed38b8971ef204692d13346929becbe94cefad4c153788d3a200642143584d5ca070f6304e768ba2139c19ec electron_icon.patch
e05180199ee1d559e4e577cedd3e589844ecf40d98a86321bf1bea5607b02eeb5feb486deddae40e1005b644550331f6b8500177aa7e79bcb3750d3c1ceb76c3 electron_python-jinja-3.10.patch

View file

@ -1,17 +0,0 @@
This was dropped for some reason in 6951c37cecd05979b232a39e5c10e6346a0f74ef
allows using /usr/bin/java instead of a downloaded one (that doesn't work on musl)
--
--- a/third_party/closure_compiler/compiler.py 2021-05-20 04:17:53.000000000 +0200
+++ b/third_party/closure_compiler/compiler.py 2021-05-20 04:17:53.000000000 +0200
@@ -13,8 +13,9 @@
_CURRENT_DIR = os.path.join(os.path.dirname(__file__))
-_JAVA_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java")
-assert os.path.isfile(_JAVA_PATH), "java only allowed in android builds"
+_JAVA_BIN = "java"
+_JDK_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java")
+_JAVA_PATH = _JDK_PATH if os.path.isfile(_JDK_PATH) else _JAVA_BIN
class Compiler(object):
"""Runs the Closure compiler on given source files to typecheck them

View file

@ -1,6 +1,6 @@
--- ./build/config/compiler/BUILD.gn.orig
+++ ./build/config/compiler/BUILD.gn
@@ -604,24 +604,6 @@
@@ -662,24 +662,6 @@
}
}
@ -25,39 +25,10 @@
# TODO(crbug.com/40192287): Investigate why/if this should be needed.
if (is_win) {
cflags += [ "/clang:-ffp-contract=off" ]
@@ -1062,20 +1044,6 @@
# `-nodefaultlibs` from the linker invocation from Rust, which would be used
# to compile dylibs on Android, such as for constructing unit test APKs.
"-Cdefault-linker-libraries",
-
- # To make Rust .d files compatible with ninja
- "-Zdep-info-omit-d-target",
-
- # If a macro panics during compilation, show which macro and where it is
- # defined.
- "-Zmacro-backtrace",
-
- # For deterministic builds, keep the local machine's current working
- # directory from appearing in build outputs.
- "-Zremap-cwd-prefix=.",
-
- # We use clang-rt sanitizer runtimes.
- "-Zexternal-clangrt",
]
if (!is_win || force_rustc_color_output) {
@@ -1130,7 +1098,6 @@
# Don't allow unstable features to be enabled by `#![feature()]` without
# additional command line flags.
config("disallow_unstable_features") {
- rustflags = [ "-Zallow-features=" ]
}
config("libcxx_hardening") {
@@ -1234,8 +1201,8 @@
@@ -1282,8 +1264,8 @@
# simplicity we always explicitly set the architecture.
if (current_cpu == "x64") {
if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
!is_chromeos_device) {
if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device) {
- cflags += [ "--target=x86_64-unknown-linux-gnu" ]
- ldflags += [ "--target=x86_64-unknown-linux-gnu" ]
+ cflags += [ "--target=x86_64-alpine-linux-musl" ]
@ -65,10 +36,10 @@
} else {
cflags += [ "-m64" ]
ldflags += [ "-m64" ]
@@ -1243,8 +1210,8 @@
@@ -1291,8 +1273,8 @@
cflags += [ "-msse3" ]
} else if (current_cpu == "x86") {
if (is_clang && !is_android && !is_nacl && !is_chromeos_device) {
if (is_clang && !is_android && !is_chromeos_device) {
- cflags += [ "--target=i386-unknown-linux-gnu" ]
- ldflags += [ "--target=i386-unknown-linux-gnu" ]
+ cflags += [ "--target=i586-alpine-linux-musl" ]
@ -76,29 +47,69 @@
} else {
cflags += [ "-m32" ]
ldflags += [ "-m32" ]
@@ -1257,8 +1224,8 @@
}
@@ -1303,8 +1285,8 @@
]
} else if (current_cpu == "arm") {
if (is_clang && !is_android && !is_nacl && !is_chromeos_device) {
if (is_clang && !is_android && !is_chromeos_device) {
- cflags += [ "--target=arm-linux-gnueabihf" ]
- ldflags += [ "--target=arm-linux-gnueabihf" ]
+ cflags += [ "--target=armv7-alpine-linux-musleabihf" ]
+ ldflags += [ "--target=armv7-alpine-linux-musleabihf" ]
}
if (!is_nacl) {
cflags += [
@@ -1272,8 +1239,8 @@
cflags += [
"-march=$arm_arch",
@@ -1315,8 +1297,8 @@
}
} else if (current_cpu == "arm64") {
if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
!is_chromeos_device) {
if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device) {
- cflags += [ "--target=aarch64-linux-gnu" ]
- ldflags += [ "--target=aarch64-linux-gnu" ]
+ cflags += [ "--target=aarch64-alpine-linux-musl" ]
+ ldflags += [ "--target=aarch64-alpine-linux-musl" ]
}
} else if (current_cpu == "mipsel" && !is_nacl) {
} else if (current_cpu == "mipsel") {
ldflags += [ "-Wl,--hash-style=sysv" ]
@@ -2262,7 +2229,7 @@
@@ -1560,22 +1542,22 @@
ldflags += [ "-maix64" ]
}
} else if (is_clang) {
- cflags += [ "--target=powerpc64le-unknown-linux-gnu" ]
- ldflags += [ "--target=powerpc64le-unknown-linux-gnu" ]
+ cflags += [ "--target=powerpc64le-alpine-linux-musl" ]
+ ldflags += [ "--target=powerpc64le-alpine-linux-musl" ]
} else {
cflags += [ "-m64" ]
ldflags += [ "-m64" ]
}
} else if (current_cpu == "riscv64") {
if (is_clang && !is_android) {
- cflags += [ "--target=riscv64-linux-gnu" ]
- ldflags += [ "--target=riscv64-linux-gnu" ]
+ cflags += [ "--target=riscv64-alpine-linux-musl" ]
+ ldflags += [ "--target=riscv64-alpine-linux-musl" ]
}
cflags += [ "-mabi=lp64d" ]
} else if (current_cpu == "loong64") {
if (is_clang) {
- cflags += [ "--target=loongarch64-linux-gnu" ]
- ldflags += [ "--target=loongarch64-linux-gnu" ]
+ cflags += [ "--target=loongarch64-alpine-linux-musl" ]
+ ldflags += [ "--target=loongarch64-alpine-linux-musl" ]
}
cflags += [
"-mabi=lp64d",
@@ -1583,8 +1565,8 @@
]
} else if (current_cpu == "s390x") {
if (is_clang) {
- cflags += [ "--target=s390x-unknown-linux-gnu" ]
- ldflags += [ "--target=s390x-unknown-linux-gnu" ]
+ cflags += [ "--target=s390x-alpine-linux-musl" ]
+ ldflags += [ "--target=s390x-alpine-linux-musl" ]
}
cflags += [ "-m64" ]
ldflags += [ "-m64" ]
@@ -2290,7 +2272,7 @@
defines = [ "_HAS_NODISCARD" ]
}
} else {
@ -167,7 +178,7 @@
} else if (is_android) {
--- ./build/config/clang/BUILD.gn.orig
+++ ./build/config/clang/BUILD.gn
@@ -208,16 +208,17 @@
@@ -207,22 +207,23 @@
assert(false) # Unhandled cpu type
}
} else if (is_linux || is_chromeos) {
@ -187,41 +198,15 @@
} else if (current_cpu == "loong64") {
- _dir = "loongarch64-unknown-linux-gnu"
+ _suffix = "-loongarch64"
} else if (current_cpu == "riscv64") {
- _dir = "riscv64-unknown-linux-gnu"
+ _suffix = "-riscv64"
} else if (current_cpu == "ppc64") {
- _dir = "ppc64le-unknown-linux-gnu"
+ _suffix = "-powerpc64le"
} else if (current_cpu == "s390x") {
- _dir = "s390x-unknown-linux-gnu"
+ _suffix = "-s390x"
} else {
assert(false) # Unhandled cpu type
}
--- ./build/config/gcc/BUILD.gn.orig
+++ ./build/config/gcc/BUILD.gn
@@ -32,7 +32,6 @@
# See http://gcc.gnu.org/wiki/Visibility
config("symbol_visibility_hidden") {
cflags = [ "-fvisibility=hidden" ]
- rustflags = [ "-Zdefault-visibility=hidden" ]
# Visibility attribute is not supported on AIX.
if (current_os != "aix") {
--- ./third_party/rust/bytemuck/v1/BUILD.gn.orig
+++ ./third_party/rust/bytemuck/v1/BUILD.gn
@@ -50,7 +50,6 @@
"bytemuck_derive",
"derive",
"min_const_generics",
- "nightly_portable_simd",
]
library_configs -= [ "//build/config/compiler:disallow_unstable_features" ]
executable_configs -= [ "//build/config/compiler:disallow_unstable_features" ]
--- ./third_party/crabbyavif/BUILD.gn.orig
+++ ./third_party/crabbyavif/BUILD.gn
@@ -162,12 +162,7 @@
"dav1d",
"libyuv",
"capi",
- "disable_cfi",
]
-
- # Required for disable_cfi feature.
- configs -= [ "//build/config/compiler:disallow_unstable_features" ]
- rustflags = [ "-Zallow-features=no_sanitize" ]
public_deps = [ ":header_files" ]
deps = [

View file

@ -2,7 +2,7 @@ diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn
index f36bf68..805d9a6 100644
--- a/net/dns/BUILD.gn
+++ b/net/dns/BUILD.gn
@@ -130,8 +130,8 @@ source_set("dns") {
@@ -142,8 +142,8 @@
]
} else if (is_linux) {
sources += [
@ -13,3 +13,11 @@ index f36bf68..805d9a6 100644
]
} else if (is_posix) {
sources += [
@@ -455,7 +455,6 @@
if (is_android) {
sources += [ "dns_config_service_android_unittest.cc" ]
} else if (is_linux) {
- sources += [ "dns_config_service_linux_unittest.cc" ]
} else if (is_posix) {
sources += [ "dns_config_service_posix_unittest.cc" ]
}

View file

@ -2,86 +2,6 @@ safesprintf emitnull:
error: conversion from 'std::nullptr_t' to 'const internal::Arg' is ambiguous
const internal::Arg arg_array[] = { args... };
flatmap incompletetype:
error: static assertion failed due to requirement 'std::__is_complete_or_unbounded(std::__type_identity<std::pair<A, A>>{})': template argument must be a complete class or an unbounded array
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
i18n, time:
various icu failures (new icu time formatting? internal api difference?)
a ton of these fail:
Expected equality of these values:
u"Monday 16 May Saturday 28 May"
Which is: u"Monday 16 May \x2013 Saturday 28 May"
DateIntervalFormat(begin_time, end_time, DATE_FORMAT_MONTH_WEEKDAY_DAY)
Which is: u"Monday 16\x2009\x2013\x2009Saturday 28 May"
../../base/i18n/time_formatting_unittest.cc:84: Failure
Expected equality of these values:
clock12h_pm
Which is: u"3:42 PM"
TimeFormatTimeOfDay(time)
Which is: u"3:42\x202FPM"
.. and so on
fileutiltest filetofile:
../../base/files/file_util_unittest.cc:2692: Failure
Value of: stream
Actual: true
Expected: false
stacktracetest: crashes (this doesn't seem to use execinfo so probably relies on glibc internal layout for tracing here)
platformthreadtest canchangethreadtype:
../../base/threading/platform_thread_unittest.cc:445: Failure
Expected equality of these values:
PlatformThread::CanChangeThreadType(ThreadType::kBackground, ThreadType::kResourceEfficient)
Which is: true
kCanIncreasePriority
Which is: false
scopedfdownershiptrackingtest crashonunownedclose: fails due to scoped-file-no-close.patch
stackcontainer customallocator:
../../base/containers/stack_container_unittest.cc:211: Failure
Expected equality of these values:
1
Allocator::deallocated
Which is: 0
nativelibrarytest loadlibrarypreferownsymbols: crashes (probably musl dlopen does not play nice here)
spantest empty: crashes (this looks fishy)
readelfbuildid: crashes (this looks like glibc dynamic linker semantics)
nss db unittest: various nss failures: e.g.:
../../net/cert/nss_cert_database_unittest.cc:209: Failure
Expected equality of these values:
OK
Which is: 0
cert_db_->ImportFromPKCS12(GetPublicSlot(), pkcs12_data, u"12345", true, nullptr)
Which is: -702
processutiltest cloneflags: fails in CI (ulimit? too many threads?)
../../base/process/process_util_unittest.cc:1434: Failure
Value of: process.IsValid()
Actual: false
Expected: true
addresstrackerlinuxnetlinktest:
../../net/base/address_tracker_linux_unittest.cc:886: Failure
Value of: child.process.IsValid()
Actual: false
Expected: true
ToAddressDoesNotDereference: ; Expected `get_for_extraction_cnt` to be 1 but got 0;
DataCapturedManyThreads: flaky
ProcessAlternativeServicesTest.Process*: crashed ?
--- a/base/strings/safe_sprintf_unittest.cc
+++ b/base/strings/safe_sprintf_unittest.cc
@@ -740,6 +740,7 @@
@ -100,244 +20,3 @@ ProcessAlternativeServicesTest.Process*: crashed ?
TEST(SafeSPrintfTest, PointerSize) {
// The internal data representation is a 64bit value, independent of the
--- a/base/containers/flat_map_unittest.cc
+++ b/base/containers/flat_map_unittest.cc
@@ -52,6 +52,7 @@
} // namespace
+#if 0
TEST(FlatMap, IncompleteType) {
struct A {
using Map = flat_map<A, A>;
@@ -65,6 +66,7 @@
A a;
}
+#endif
TEST(FlatMap, RangeConstructor) {
flat_map<int, int>::value_type input_vals[] = {
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -3194,21 +3194,6 @@
"hash/md5_constexpr_unittest.cc",
"hash/md5_unittest.cc",
"hash/sha1_unittest.cc",
- "i18n/break_iterator_unittest.cc",
- "i18n/case_conversion_unittest.cc",
- "i18n/char_iterator_unittest.cc",
- "i18n/character_encoding_unittest.cc",
- "i18n/file_util_icu_unittest.cc",
- "i18n/icu_string_conversions_unittest.cc",
- "i18n/icu_util_unittest.cc",
- "i18n/message_formatter_unittest.cc",
- "i18n/number_formatting_unittest.cc",
- "i18n/rtl_unittest.cc",
- "i18n/streaming_utf8_validator_unittest.cc",
- "i18n/string_search_unittest.cc",
- "i18n/time_formatting_unittest.cc",
- "i18n/timezone_unittest.cc",
- "i18n/transliterator_unittest.cc",
"immediate_crash_unittest.cc",
"json/json_parser_unittest.cc",
"json/json_reader_unittest.cc",
--- a/base/files/file_util_unittest.cc
+++ b/base/files/file_util_unittest.cc
@@ -2686,6 +2686,7 @@
}
}
+#if 0
TEST_F(FileUtilTest, FileToFILE) {
File file;
FILE* stream = FileToFILE(std::move(file), "w");
@@ -2700,6 +2701,7 @@
EXPECT_FALSE(file.IsValid());
EXPECT_TRUE(CloseFile(stream));
}
+#endif
TEST_F(FileUtilTest, FILEToFile) {
ScopedFILE stream;
--- a/base/threading/platform_thread_unittest.cc
+++ b/base/threading/platform_thread_unittest.cc
@@ -416,6 +416,7 @@
// platforms for all priorities. This not being the case. This test documents
// and hardcodes what we know. Please inform scheduler-dev@chromium.org if this
// proprerty changes for a given platform.
+#if 0
TEST(PlatformThreadTest, CanChangeThreadType) {
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
// On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be
@@ -472,6 +473,7 @@
ThreadType::kBackground));
#endif
}
+#endif
TEST(PlatformThreadTest, SetCurrentThreadTypeTest) {
TestPriorityResultingFromThreadType(ThreadType::kBackground,
--- a/base/files/scoped_file_linux_unittest.cc
+++ b/base/files/scoped_file_linux_unittest.cc
@@ -42,11 +42,13 @@
EXPECT_DEATH(ScopedFD(fd.get()), "");
}
+#if 0
TEST_F(ScopedFDOwnershipTrackingTest, CrashOnUnownedClose) {
ScopedFD fd = OpenFD();
subtle::EnableFDOwnershipEnforcement(true);
EXPECT_DEATH(close(fd.get()), "");
}
+#endif
#endif // defined(GTEST_HAS_DEATH_TEST)
--- a/base/native_library_unittest.cc
+++ b/base/native_library_unittest.cc
@@ -139,6 +139,7 @@
// Verifies that the |prefer_own_symbols| option satisfies its guarantee that
// a loaded library will always prefer local symbol resolution before
// considering global symbols.
+#if 0
TEST(NativeLibraryTest, LoadLibraryPreferOwnSymbols) {
NativeLibraryOptions options;
options.prefer_own_symbols = true;
@@ -171,6 +172,7 @@
EXPECT_EQ(2, NativeLibraryTestIncrement());
EXPECT_EQ(3, NativeLibraryTestIncrement());
}
+#endif
#endif // !BUILDFLAG(IS_ANDROID) && !defined(THREAD_SANITIZER) && \
// !defined(MEMORY_SANITIZER)
--- a/base/containers/span_unittest.cc
+++ b/base/containers/span_unittest.cc
@@ -995,6 +995,7 @@
}
}
+#if 0
TEST(SpanTest, Empty) {
{
span<int> span;
@@ -1014,6 +1015,7 @@
EXPECT_TRUE(span_of_checked_iterators.empty());
}
}
+#endif
TEST(SpanTest, OperatorAt) {
static constexpr int kArray[] = {1, 6, 1, 8, 0};
--- a/base/debug/elf_reader_unittest.cc
+++ b/base/debug/elf_reader_unittest.cc
@@ -194,6 +194,7 @@
}
}
+#if 0
TEST(ElfReaderTestWithCurrentImage, ReadElfBuildId) {
#if BUILDFLAG(IS_ANDROID)
// On Android the library loader memory maps the full so file.
@@ -229,6 +230,7 @@
UnloadNativeLibrary(library);
#endif
}
+#endif
} // namespace debug
} // namespace base
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -4826,7 +4826,6 @@
sources += [
"cert/internal/system_trust_store_nss_unittest.cc",
"cert/internal/trust_store_nss_unittest.cc",
- "cert/nss_cert_database_unittest.cc",
"cert/x509_util_nss_unittest.cc",
]
if (!is_castos) {
--- a/base/process/process_util_unittest.cc
+++ b/base/process/process_util_unittest.cc
@@ -1419,7 +1419,7 @@
return kSuccess;
}
-#if defined(CLONE_NEWUSER) && defined(CLONE_NEWPID)
+#if 0 && defined(CLONE_NEWUSER) && defined(CLONE_NEWPID)
TEST_F(ProcessUtilTest, CloneFlags) {
if (!PathExists(FilePath("/proc/self/ns/user")) ||
!PathExists(FilePath("/proc/self/ns/pid"))) {
--- a/net/base/address_tracker_linux_unittest.cc
+++ b/net/base/address_tracker_linux_unittest.cc
@@ -831,6 +831,7 @@
//
// This test creates multiple concurrent `AddressTrackerLinux` instances in
// separate processes, each in their own PID namespaces.
+#if 0
TEST(AddressTrackerLinuxNetlinkTest, TestInitializeTwoTrackersInPidNamespaces) {
// This test initializes `kNumChildren` instances of `AddressTrackerLinux` in
// tracking mode, each in their own child process running in a PID namespace.
@@ -901,6 +902,7 @@
ASSERT_EQ(exit_code, 0);
}
}
+#endif
MULTIPROCESS_TEST_MAIN(ChildProcessInitializeTrackerForTesting) {
base::test::TaskEnvironment task_env(
--- a/base/trace_event/trace_event_unittest.cc
+++ b/base/trace_event/trace_event_unittest.cc
@@ -1368,6 +1368,7 @@
}
// Test that data sent from multiple threads is gathered
+#if 0
TEST_F(TraceEventTestFixture, DataCapturedManyThreads) {
BeginTrace();
@@ -1408,6 +1409,7 @@
delete task_complete_events[i];
}
}
+#endif
// Test that thread and process names show up in the trace.
// In SDK build, thread names are not tracked inside //base. Instead, there's
--- a/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_unittest.cc
+++ b/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_unittest.cc
@@ -1481,6 +1481,7 @@
// `base::to_address()` will use the dereference operator. This is not
// what we want; this test enforces extraction semantics for
// `to_address()`.
+#if 0
TEST_F(RawPtrTest, ToAddressDoesNotDereference) {
CountingRawPtr<int> ptr = nullptr;
int* raw = base::to_address(ptr);
@@ -1492,6 +1493,7 @@
.get_for_duplication_cnt = 0}),
CountersMatch());
}
+#endif
TEST_F(RawPtrTest, ToAddressGivesBackRawAddress) {
int* raw = nullptr;
--- a/net/http/http_stream_factory_unittest.cc
+++ b/net/http/http_stream_factory_unittest.cc
@@ -3477,6 +3477,7 @@
DefaultCTPolicyEnforcer ct_policy_enforcer_;
};
+#if 0
TEST_F(ProcessAlternativeServicesTest, ProcessEmptyAltSvc) {
session_ =
std::make_unique<HttpNetworkSession>(session_params_, session_context_);
@@ -3585,6 +3586,7 @@
alternatives[0].host_port_pair());
EXPECT_EQ(0u, alternatives[0].advertised_versions().size());
}
+#endif
} // namespace

View file

@ -1,12 +1,10 @@
instead of hardcoding the version, use the defined macro.
--
--- a/third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc
+++ b/third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc
--- ./third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc.orig
+++ ./third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc
@@ -56,7 +56,7 @@
FcFini();
// Check existence of intended fontconfig cache file.
- auto cache = fontconfig_caches + "/" + kCacheKey + "-le64.cache-9";
- auto cache = fontconfig_caches + "/" + kCacheKey + "-le64.cache-reindex1-10";
+ auto cache = fontconfig_caches + "/" + kCacheKey + "-le64.cache-" + FC_CACHE_VERSION;
bool cache_exists = access(cache.c_str(), F_OK) == 0;
return !cache_exists;

View file

@ -1,12 +1,13 @@
--- a/media/ffmpeg/ffmpeg_common.cc
+++ b/media/ffmpeg/ffmpeg_common.cc
@@ -1025,7 +1025,7 @@
static const base::NoDestructor<std::string> kAllowedAudioCodecs([]() {
// This should match the configured lists in //third_party/ffmpeg.
std::string allowed_decoders(
- "vorbis,libopus,flac,pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,"
+ "vorbis,opus,libopus,flac,pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,"
- "mp3,pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw");
+ "mp3float,mp3,pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw");
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
allowed_decoders += ",aac";
@@ -1046,8 +1046,8 @@
// This should match the configured lists in //third_party/ffmpeg.
static constexpr std::string_view kAllowedAudioCodecs =
- "vorbis,libopus,flac,pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,"
- "mp3,pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw" EXTRA_CODECS;
+ "vorbis,opus,libopus,flac,pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,"
+ "mp3float,mp3,pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw" EXTRA_CODECS;
#undef EXTRA_CODECS
return kAllowedAudioCodecs.data();

View file

@ -0,0 +1,27 @@
From 6f4685cff1ab8c68de98c0731bb8afaf8a05a723 Mon Sep 17 00:00:00 2001
From: knuxify <knuxify@gmail.com>
Date: Sat, 5 Apr 2025 14:10:37 +0200
Subject: [PATCH] Do not generate license file for headless-shell build
---
headless/BUILD.gn | 4 ----
1 file changed, 4 deletions(-)
diff --git a/headless/BUILD.gn b/headless/BUILD.gn
index 798bb22..9d83f49 100644
--- a/headless/BUILD.gn
+++ b/headless/BUILD.gn
@@ -934,10 +934,6 @@ executable("headless_shell") {
deps = [ ":headless_shell_lib" ]
- if (proprietary_codecs) {
- deps += [ ":generate_headless_shell_license_file" ]
- }
-
if (!headless_use_embedded_resources) {
data = [
"$root_out_dir/headless_lib_data.pak",
--
2.49.0

View file

@ -1,11 +0,0 @@
--- ./v8/src/base/cpu.cc.orig
+++ ./v8/src/base/cpu.cc
@@ -14,7 +14,7 @@
#if V8_OS_LINUX
#include <linux/auxvec.h> // AT_HWCAP
#endif
-#if V8_GLIBC_PREREQ(2, 16) || V8_OS_ANDROID
+#if 1
#include <sys/auxv.h> // getauxval()
#endif
#if V8_OS_QNX

View file

@ -0,0 +1,22 @@
From 4b41417068045f11db9e7edead1447e93adb9073 Mon Sep 17 00:00:00 2001
From: LN Liberda <lauren@selfisekai.rocks>
Date: Sat, 28 Jun 2025 18:13:59 +0200
Subject: [PATCH] Test net without vendored python
---
net/test/python_utils.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/test/python_utils.cc b/net/test/python_utils.cc
index 2cdc07dad9948..0b2d42a5bf126 100644
--- a/net/test/python_utils.cc
+++ b/net/test/python_utils.cc
@@ -47,7 +47,7 @@ bool GetPython3Command(base::CommandLine* python_cmd) {
#if BUILDFLAG(IS_WIN)
python_cmd->SetProgram(base::FilePath(FILE_PATH_LITERAL("vpython3.bat")));
#else
- python_cmd->SetProgram(base::FilePath(FILE_PATH_LITERAL("vpython3")));
+ python_cmd->SetProgram(base::FilePath(FILE_PATH_LITERAL("python3")));
#endif
#if BUILDFLAG(IS_MAC)

View file

@ -0,0 +1,39 @@
ssl.wrap_socket() was removed in Python 3.12, needed for net_unittests.
Patch-Source: https://github.com/GoogleChromeLabs/pywebsocket3/pull/39
Modified (changed path) -lnl
From bc50ae9d451ca705edd6101d987b839e1a09d45e Mon Sep 17 00:00:00 2001
From: Sven Diederichs <22592421+zaurask@users.noreply.github.com>
Date: Thu, 28 Mar 2024 18:55:28 +0100
Subject: [PATCH] use ssl.SSLContext.wrap_socket rather than the deprecated
ssl.wrap_socket
---
pywebsocket3/websocket_server.py | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/third_party/pywebsocket3/src/mod_pywebsocket/websocket_server.py b/third_party/pywebsocket3/src/mod_pywebsocket/websocket_server.py
index e7485ec..93ad6f1 100644
--- a/third_party/pywebsocket3/src/mod_pywebsocket/websocket_server.py
+++ b/third_party/pywebsocket3/src/mod_pywebsocket/websocket_server.py
@@ -157,12 +157,14 @@ class WebSocketServer(socketserver.ThreadingMixIn, BaseHTTPServer.HTTPServer):
client_cert_ = ssl.CERT_REQUIRED
else:
client_cert_ = ssl.CERT_NONE
- socket_ = ssl.wrap_socket(
- socket_,
- keyfile=server_options.private_key,
- certfile=server_options.certificate,
- ca_certs=server_options.tls_client_ca,
- cert_reqs=client_cert_)
+
+ ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS)
+ if server_options.certificate:
+ ssl_context.load_cert_chain(certfile=server_options.certificate, keyfile=server_options.private_key)
+ if server_options.tls_client_ca:
+ ssl_context.load_verify_locations(server_options.tls_client_ca)
+ ssl_context.verify_mode =client_cert_
+ socket_ = ssl_context.wrap_socket(socket_)
self._sockets.append((socket_, addrinfo))
def server_bind(self):

View file

@ -2,7 +2,7 @@
maintainer="lauren n. liberda <lauren@selfisekai.rocks>"
pkgname=element-desktop
pkgver=1.11.100
pkgrel=3
pkgrel=4
pkgdesc="Secure and independent communication, connected via Matrix"
url="https://element.io/"
arch="aarch64 x86_64" # same as electron

View file

@ -2,7 +2,7 @@
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=freetube
pkgver=0.23.5
pkgrel=3
pkgrel=4
pkgdesc="An open source desktop YouTube player built with privacy in mind."
arch="x86_64 aarch64" # blocked by electron
license="AGPL-3.0-only"

View file

@ -3,7 +3,7 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=signal-desktop
pkgver=7.71.0
pkgrel=0
pkgrel=1
pkgdesc="A messaging app for simple private communication with friends"
url="https://github.com/signalapp/Signal-Desktop/"
# same as electron