[3.22] backports/electron: upgrade to 36.8.1 #1595

Merged
forge merged 3 commits from electron/upgrade-36.8.2 into v3.22 2025-09-06 06:56:14 +00:00
12 changed files with 141 additions and 79 deletions

View file

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

View file

@ -0,0 +1,17 @@
diff --git a/build/rust/allocator/lib.rs b/build/rust/allocator/lib.rs
index c49d424..142c6e60 100644
--- a/build/rust/allocator/lib.rs
+++ b/build/rust/allocator/lib.rs
@@ -86,6 +86,12 @@
/// As part of rustc's contract for using `#[global_allocator]` without
/// rustc-generated shims we must define this symbol, since we are opting in
/// to unstable functionality. See https://github.com/rust-lang/rust/issues/123015
+ #[rustc_std_internal_symbol]
+ #[linkage = "weak"]
+ fn __rust_no_alloc_shim_is_unstable_v2() {}
+
+ // TODO(crbug.com/422538133) Remove after rolling past
+ // https://github.com/rust-lang/rust/pull/141061
#[no_mangle]
#[linkage = "weak"]
static __rust_no_alloc_shim_is_unstable: u8 = 0;

View file

@ -1,11 +1,11 @@
# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=electron
pkgver=35.6.0
pkgver=36.8.1
_gittag=v"${pkgver/_beta/-beta.}"
pkgrel=0
_chromium=134.0.6998.205
_copium_tag=134.0
_chromium=136.0.7103.177
_copium_tag=136.2
_depot_tools=495b23b39aaba2ca3b55dd27cadc523f1cb17ee6
pkgdesc="Electron cross-platform desktop toolkit"
url="https://github.com/electron/electron"
@ -24,8 +24,8 @@ makedepends="
c-ares-dev
cairo-dev
clang$_llvmver-dev
clang$_llvmver-rtlib
clang-extra-tools
compiler-rt
crc32c-dev
cups-dev
curl-dev
@ -74,7 +74,7 @@ makedepends="
libxscrnsaver-dev
libxslt-dev
linux-headers
lld
lld$_llvmver
llhttp-dev
llvm$_llvmver
mesa-dev
@ -121,7 +121,7 @@ source="
disable-dns_config_service.patch
disable-failing-tests.patch
fc-cache-version.patch
fix-opus.patch
fix-ffmpeg-codec-list.patch
fstatat-32bit.patch
gdbinit.patch
generic-sensor-include.patch
@ -135,13 +135,12 @@ source="
partalloc-no-tagging-arm64.patch
pvalloc.patch
temp-failure-retry.patch
pipewire-1.4.patch
gperf-3.2-fix.patch
0001-Reland-Use-global_allocator-to-provide-Rust-allocato.patch
0002-Call-Rust-default-allocator-directly-from-Rust.patch
0003-Roll-rust-only-f7b43542838f0a4a6cfdb17fbeadf45002042.patch
0004-Drop-remap_alloc-dep.patch
0005-rust-Clean-up-build-rust-allocator-after-a-Rust-tool.patch
0006-Define-__rust_no_alloc_shim_is_unstable_v2.patch
electron_icon.patch
electron_python-jinja-3.10.patch
@ -157,8 +156,10 @@ _copium_patches="
cr131-v8-non4k-pages.patch
cr133-ffmpeg-no-noh264parse.patch
cr133-is-musl-libcxx.patch
cr133-mv2-still-not-dead.patch
cr134-unbundle-simdutf.patch
cr135-mv2-still-not-dead.patch
cr135-unbundle-simdutf-v8-fix.patch
cr136-gpery-3.2-fallthrough.patch
cr136-node-version-check.patch
"
# Avoid conflicting providers
sonameprefix="$pkgname:"
@ -166,13 +167,13 @@ sonameprefix="$pkgname:"
options="!check net suid"
builddir="$srcdir/electron-$_gittag-$_chromium"
export CC=clang-$_llvmver
export CXX=clang++-$_llvmver
export CC="/usr/lib/llvm$_llvmver/bin/clang"
export CXX="/usr/lib/llvm$_llvmver/bin/clang++"
# required to find the tools
export AR=llvm-ar
export NM=llvm-nm
export LD=clang++-$_llvmver
export NM="/usr/lib/llvm$_llvmver/bin/llvm-nm"
export AR="/usr/lib/llvm$_llvmver/bin/llvm-ar"
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"
@ -269,6 +270,8 @@ snapshot() {
mcli cp "$SRCDEST"/$pkgname-$_gittag-$_chromium.tar.zst "$_distbucket"
}
export RUSTC_BOOTSTRAP=1
prepare() {
default_prepare
@ -469,6 +472,7 @@ _configure() {
is_musl=true
is_official_build=true
link_pulseaudio=true
node_version_check=false
proprietary_codecs=true
rtc_link_pipewire=true
rtc_use_pipewire=true
@ -551,14 +555,14 @@ lang() {
}
sha512sums="
f0b7bbbe24edaf0dec11088c49c1c90a92f686cd52ca26b8417777b9d6a73cf588a9be0bc9b0c9ebaae8ebd2fc7ccc0591671e528734b34a4bd6334fa957b352 electron-v35.6.0-134.0.6998.205.tar.zst
c1857b5d6975650f915f3db552666f521822b857e39958ccfb54129f3878f272deaafc3dd446bc8441a5e84f075791feeeb62841b74bb555d8c546bfe231d164 copium-134.0.tar.gz
66315d8d453df503904ae67c53dc412621eb9d9fe0cf22a7ce08502712ad456f8b5af435d0b66628737b0b7426f75a9d14f9c77acf322b5b9c6661ba3aa00a44 electron-v36.8.1-136.0.7103.177.tar.zst
7188e6020dbbe19923698e31c7b793f0125c92d397187a2b4075b3e90f8d1b9ad63f860c02113cdc4260bb05f45ad4781543156e8d925e7969ad7ec26ffdb52e copium-136.2.tar.gz
29bb685e03356a77df5fd347cdf55194cc8b3265c421cc76e54d64edefc329dbcb052deb26b22e8f587ce68456876c071de1b7d258dd0fcc6ee66c875ec4a020 chromium-revert-drop-of-system-java.patch
d9cc4a37a0311d23ae315a8d8124f8dbf60db8cc4a3943818638174b20387f1d770d00871f6608957b246ad956abca43c22ea0b072724287f2947e1909e47323 compiler.patch
574e8dfd949925e8181b9cbae5bd82ba284d9f9236f6ce5de01bf9e097a443e0e964597b925c89761a009d286c8869ba1748e924a009b1bca2897aa2aa62071b compiler.patch
4057cc78f10bfd64092bc35a373869abb1d68b880cdbca70422f39ffd78a929c19c7728d4d4c40709aaba25581148a93ae5343e724849fd35323062ed68753fa disable-dns_config_service.patch
2470904846e3adde2c9506f9e78220daca0932320b628dd3d427bf2b7c17a8f7880cb97e787b046c28de7aca642e1a8d30824d6049905976da77e7473baa64da disable-failing-tests.patch
5fc5c012c1db6cf1ba82f38c6f3f4f5ca3a209e47ac708a74de379b018e0649b7694877c9571ef79002dde875ffc07b458a3355425f1c01867f362c66c2bc1bf fc-cache-version.patch
f7fe8a8e5eee17310fb4c3e5de621b4b89ea0567f75033c65be970950cca62b50c5fbd004735e4ad39bdb2e1638b3b73ea614203d323f8181ae18c71edf302a0 fix-opus.patch
4213a67b2d2f3de2ac980d3ae11dffcc006ddbabdc1bef4d4787e5b596642120a5ac63dd602c75680714ca55e1b6eda47cf57625e888ff806b05c96dd1a0c384 fix-ffmpeg-codec-list.patch
c63dee5044353eb306a39ca1526158c0f003ab310ecb03d1c368dc2a979454590c84b8d3c15484517d5e66bb8add9b231da9abbadf2e50850abd72ac1345c4ab fstatat-32bit.patch
33ee60863cc438ef57ffef92ba4cf67a856a5ffc16138bce241bcf87e47b15154aa86918e793c26f7ec4dc62a445257ad5673ed7001daf22c4043cf6cc57da7f gdbinit.patch
36a764fa73443b47d38050b52dbe6ad2fa8d67201ff4ccdbad13b52308ef165ca046aac6f9609fe35890a6485f0f3e672e78cc41e3e44f3cdc7f145e540524e8 generic-sensor-include.patch
@ -569,16 +573,15 @@ a250cff50d282b02ce0f28880d0a2b4fb8e7df51bc072bfeeddc561c29a7c76453dbcbc7b17b8296
0b41aeb6b212f9c3f61aa0a8d3085c9e865a2e68f3270ceec2376aab67f337ac46eaea7da36d3fd7219e2a1cb731b7aa2d3fb619a374d2b7653976b9f4f384bb no-mallinfo.patch
e4c4e5bc6f828f9c883dd418c0ba01887949c29c311f76206a1ec29f620b0c0ba0452949dc2778a9c46ea066405857536964a36436a68eecf7da7952736333cf no-res-ninit-nclose.patch
6dc4d8dc92e685dace62265a1ddb3aebc558aed54d20ff6d36b030be0c48d7e84662326c31363612492574d9a03c62653cdc21a60995b97dee1d75cae86a9f9b no-sandbox-settls.patch
f2b08538ff57c50b3772a07ca91845f9d45f4a5112f608b6192d4fb5d7be48f478c0c36194d95ab7bbf933e0278e5c6d578619d8643895cdc40386eebc5b975f partalloc-no-tagging-arm64.patch
b75908a45ee2f4f806eec8d86fca2f51fda3531b88de48ef4539c364a40d7e2897cdaf38b715682d712648e3f43aac983055e688385f85fa7b7204ffb6d617e1 partalloc-no-tagging-arm64.patch
03f829a2da633533ef3fd0f287f5ec602d936a97a98b53cd2415553c2537ae9d571f35397ca7c9fb3f4b0806c300e3b189569f8d979ca132e1a2a4dae7206396 pvalloc.patch
e48693e6b7aeebf69a5acbf80d9a35defe4c23835121dfeb58b051ac7c527e758a41004f4d193274fe1b01c0bfb1dbc77b09cb6a404a3fdee507a2918afb0edb temp-failure-retry.patch
1814096bc611e7f56cc5c570214dae715a4cda1fba96a6b585a73a1abc8b9161efaa799dc83887dac531dbafe9479bbe235cabe1a61cb3081e268c53a6144908 pipewire-1.4.patch
4bc087a1e5acbb0f8f884756b40c127df88699ecd6eb42c4aff6691b87239bb6915dd102e9ef2544502a12bff011859ad497206940473e6b0a0fd75afb562a4c gperf-3.2-fix.patch
858f8e3c544abf3ffe0f54ba303713e9b4058e15996c8dc10bab7c999d82e1960756325a41d6bebb3a00404efb8e51c299f61f60de4feaac6b621757ab85d329 0001-Reland-Use-global_allocator-to-provide-Rust-allocato.patch
077497c1598c7db9f4c23e000e9b86e1833de4866479fd921313543ad599e141427bf38ae687f84c3da59af68f09a776265c2a569e1a7abfa80440231baef10a 0002-Call-Rust-default-allocator-directly-from-Rust.patch
5002aa73eb19b87c702eef5b087ecb3a2679142c28cd95a5a9571aeffe24e6944497e862058ed1d609317a723cdec1678f84543235fb93f12653a92b92309efe 0003-Roll-rust-only-f7b43542838f0a4a6cfdb17fbeadf45002042.patch
d2e414135d2b046dd9efe277f88062bcb0a94749a17a014309260b1469305d55059931b9531572713c8e516897e30fd2f5317948ece1581ffe9b7b6c01078a6d 0004-Drop-remap_alloc-dep.patch
fe66228c0eefe3d08e2a7955b11e6a46f58f477befceba1628765fb016f30eb0bb02723aeedcabdb1ea3b84c42b5ea65073998e0a64f5ce082120fc7e65dee9a 0005-rust-Clean-up-build-rust-allocator-after-a-Rust-tool.patch
2fac0d195ec9ae97b5e0758fa00d871461990f58f777dd70d35583eccf117d7c65a0e92d9781bca7e97ad7509aa1f37dfd8c775dabd8b055e9935a786b81d2a9 0006-Define-__rust_no_alloc_shim_is_unstable_v2.patch
465107da7818b237e3c144a318ab80c3c9343b51ed38b8971ef204692d13346929becbe94cefad4c153788d3a200642143584d5ca070f6304e768ba2139c19ec electron_icon.patch
e05180199ee1d559e4e577cedd3e589844ecf40d98a86321bf1bea5607b02eeb5feb486deddae40e1005b644550331f6b8500177aa7e79bcb3750d3c1ceb76c3 electron_python-jinja-3.10.patch
2aa340854316f1284217c0ca17cbf44953684ad6c7da90815117df30928612eb9fb9ffb734b948dfc309cd25d1a67cd57f77aac2d052a3dd9aca07a3a58cbb30 electron_webpack-hash.patch

View file

@ -1,6 +1,6 @@
--- ./build/config/compiler/BUILD.gn.orig
+++ ./build/config/compiler/BUILD.gn
@@ -591,24 +591,6 @@
@@ -590,24 +590,6 @@
}
}
@ -25,7 +25,7 @@
# TODO(crbug.com/40192287): Investigate why/if this should be needed.
if (is_win) {
cflags += [ "/clang:-ffp-contract=off" ]
@@ -1045,20 +1027,6 @@
@@ -1033,20 +1015,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",
@ -46,7 +46,7 @@
]
if (!is_win || force_rustc_color_output) {
@@ -1107,7 +1075,6 @@
@@ -1095,7 +1063,6 @@
# Don't allow unstable features to be enabled by `#![feature()]` without
# additional command line flags.
config("disallow_unstable_features") {
@ -54,7 +54,7 @@
}
config("libcxx_hardening") {
@@ -1242,8 +1209,8 @@
@@ -1213,8 +1180,8 @@
}
} else if (current_cpu == "arm") {
if (is_clang && !is_android && !is_nacl && !is_chromeos_device) {
@ -65,7 +65,7 @@
}
if (!is_nacl) {
cflags += [
@@ -1257,8 +1224,8 @@
@@ -1228,8 +1195,8 @@
} else if (current_cpu == "arm64") {
if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
!is_chromeos_device) {
@ -76,7 +76,7 @@
}
} else if (current_cpu == "mipsel" && !is_nacl) {
ldflags += [ "-Wl,--hash-style=sysv" ]
@@ -2086,7 +2053,7 @@
@@ -2111,7 +2078,7 @@
defines = [ "_HAS_NODISCARD" ]
}
} else {
@ -87,7 +87,7 @@
cflags += [ "-Wextra" ]
--- ./build/config/rust.gni.orig
+++ ./build/config/rust.gni
@@ -198,13 +198,13 @@
@@ -175,13 +175,13 @@
rust_abi_target = ""
if (is_linux || is_chromeos) {
if (current_cpu == "arm64") {
@ -104,11 +104,15 @@
cargo_target_abi = ""
} else if (current_cpu == "arm") {
if (arm_float_abi == "hard") {
@@ -214,18 +214,18 @@
}
if (arm_arch == "armv7-a" || arm_arch == "armv7") {
# No way to inform Rust about the -a suffix.
- rust_abi_target = "armv7-unknown-linux-gnueabi" + float_suffix
@@ -200,22 +200,18 @@
# The thumbv7 vs. armv7 distinction is for legacy reasons and both
# targets in fact target Thumb, see:
# https://github.com/rust-lang/rust/issues/44722
- if (arm_use_neon) {
- rust_abi_target = "thumbv7neon-unknown-linux-gnueabi" + float_suffix
- } else {
- rust_abi_target = "armv7-unknown-linux-gnueabi" + float_suffix
- }
+ rust_abi_target = "armv7-alpine-linux-musleabi" + float_suffix
cargo_target_abi = "eabi" + float_suffix
} else {
@ -159,3 +163,28 @@
# 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

@ -6,6 +6,7 @@
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");
- "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";

View file

@ -1,23 +0,0 @@
use monotonic clock for pthread_cond_timedwait with musl too, since it supports
it
--
--- a/v8/src/base/platform/condition-variable.cc
+++ b/v8/src/base/platform/condition-variable.cc
@@ -16,7 +16,7 @@
ConditionVariable::ConditionVariable() {
#if (V8_OS_FREEBSD || V8_OS_NETBSD || V8_OS_OPENBSD || \
- (V8_OS_LINUX && V8_LIBC_GLIBC))
+ V8_OS_LINUX)
// On Free/Net/OpenBSD and Linux with glibc we can change the time
// source for pthread_cond_timedwait() to use the monotonic clock.
pthread_condattr_t attr;
@@ -92,7 +92,7 @@
&native_handle_, &mutex->native_handle(), &ts);
#else
#if (V8_OS_FREEBSD || V8_OS_NETBSD || V8_OS_OPENBSD || \
- (V8_OS_LINUX && V8_LIBC_GLIBC))
+ V8_OS_LINUX)
// On Free/Net/OpenBSD and Linux with glibc we can change the time
// source for pthread_cond_timedwait() to use the monotonic clock.
result = clock_gettime(CLOCK_MONOTONIC, &ts);

View file

@ -3,15 +3,16 @@ missing some required interface headers for it, and it's not clear how
to make the partalloc support code for it work.
--- ./base/allocator/partition_allocator/partition_alloc.gni.orig
+++ ./base/allocator/partition_allocator/partition_alloc.gni
@@ -30,7 +30,7 @@
}
@@ -89,8 +89,7 @@
# TODO(crbug.com/329199197): Clean this up when experiments are complete.
use_large_empty_slot_span_ring = true
has_memory_tagging =
- current_cpu == "arm64" && is_clang && !is_asan && (is_linux || is_android)
+ false
-has_memory_tagging = current_cpu == "arm64" && is_clang && !is_asan &&
- !is_hwasan && (is_linux || is_android)
+has_memory_tagging = false
declare_args() {
# Causes all the allocations to be routed via allocator_shim.cc. Usually,
# Debug configuration.
--- ./base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h.orig
+++ ./base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h
@@ -10,7 +10,7 @@

View file

@ -1,11 +0,0 @@
--- ./buildtools/third_party/libc++/__config_site.orig
+++ ./buildtools/third_party/libc++/__config_site
@@ -18,7 +18,7 @@
/* #undef _LIBCPP_ABI_FORCE_MICROSOFT */
/* #undef _LIBCPP_HAS_NO_THREADS */
/* #undef _LIBCPP_HAS_NO_MONOTONIC_CLOCK */
-/* #undef _LIBCPP_HAS_MUSL_LIBC */
+#define _LIBCPP_HAS_MUSL_LIBC 1
/* #undef _LIBCPP_HAS_THREAD_API_PTHREAD */
/* #undef _LIBCPP_HAS_THREAD_API_EXTERNAL */
/* #undef _LIBCPP_HAS_THREAD_API_WIN32 */

View file

@ -2,7 +2,7 @@
maintainer="lauren n. liberda <lauren@selfisekai.rocks>"
pkgname=element-desktop
pkgver=1.11.100
pkgrel=1
pkgrel=2
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=1
pkgrel=2
pkgdesc="An open source desktop YouTube player built with privacy in mind."
arch="x86_64 aarch64" # blocked by electron
license="AGPL-3.0-only"

45
backports/llhttp/APKBUILD Normal file
View file

@ -0,0 +1,45 @@
maintainer="Michał Polański <michal@polanski.me>"
pkgname=llhttp
pkgver=9.3.0
pkgrel=0
pkgdesc="Port of http_parser to llparse"
url="https://llhttp.org/"
license="MIT"
arch="all"
makedepends="cmake clang samurai npm"
subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/nodejs/llhttp/archive/v$pkgver/llhttp-$pkgver.tar.gz"
# secfixes:
# 9.2.1-r0:
# - CVE-2024-27982
prepare() {
default_prepare
npm ci
}
build() {
make release RELEASE="$pkgver"
cmake -S release -B releasebuild -G Ninja \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=ON
cmake --build releasebuild
}
check() {
npm test
}
package() {
DESTDIR="$pkgdir" cmake --install releasebuild
install -Dm644 LICENSE -t "$pkgdir"/usr/share/doc/$pkgname
}
sha512sums="
ff4166f842f933cbb419221ab401e684c1314072abef2cda455812cc20c28ce4b467ed5f44079b6844eaa627c975247f640a8449b5f512e1a76d6df81790dec5 llhttp-9.3.0.tar.gz
"

View file

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