From 1706965d99235375d4e363a76a7fa45871df152c Mon Sep 17 00:00:00 2001 From: Duncaen Date: Thu, 6 Apr 2023 00:04:37 +0200 Subject: [PATCH] chromium: update to 112.0.5615.49. --- .../files/musl-patches/musl-hacks.patch | 23 --- .../files/musl-patches/musl-libc++.patch | 55 ------- .../files/musl-patches/musl-sandbox.patch | 136 ++++++++++++------ .../files/musl-patches/musl-tid-caching.patch | 9 +- .../files/musl-patches/no-mallinfo.patch | 95 ------------ .../musl-patches/quiche-arena-size.patch | 10 +- .../chromium/patches/fc-cache-version.patch | 13 ++ .../patches/fix-build-with-old-clang.patch | 20 --- .../patches/fix-musl-no-mallinfo.patch | 11 -- .../chromium/patches/fix-resolver-musl.patch | 66 --------- .../fix-swiftshader-llvm-musl-config.patch | 26 ---- srcpkgs/chromium/patches/no-execinfo.patch | 21 --- srcpkgs/chromium/template | 13 +- 13 files changed, 122 insertions(+), 376 deletions(-) delete mode 100644 srcpkgs/chromium/files/musl-patches/musl-hacks.patch delete mode 100644 srcpkgs/chromium/files/musl-patches/musl-libc++.patch delete mode 100644 srcpkgs/chromium/files/musl-patches/no-mallinfo.patch create mode 100644 srcpkgs/chromium/patches/fc-cache-version.patch delete mode 100644 srcpkgs/chromium/patches/fix-build-with-old-clang.patch delete mode 100644 srcpkgs/chromium/patches/fix-musl-no-mallinfo.patch delete mode 100644 srcpkgs/chromium/patches/fix-resolver-musl.patch delete mode 100644 srcpkgs/chromium/patches/no-execinfo.patch diff --git a/srcpkgs/chromium/files/musl-patches/musl-hacks.patch b/srcpkgs/chromium/files/musl-patches/musl-hacks.patch deleted file mode 100644 index 5cdae585d27e..000000000000 --- a/srcpkgs/chromium/files/musl-patches/musl-hacks.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- base/debug/stack_trace.cc.orig 2018-12-08 14:11:25.303475116 +0100 -+++ base/debug/stack_trace.cc 2018-12-08 18:00:43.874946999 +0100 -@@ -229,7 +229,7 @@ - } - std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const { - std::stringstream stream; --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(_AIX) - OutputToStreamWithPrefix(&stream, prefix_string); - #endif - return stream.str(); ---- base/debug/stack_trace.cc 2021-05-25 00:05:31.000000000 +0200 -+++ - 2021-05-27 13:46:43.740380140 +0200 -@@ -217,7 +217,9 @@ - } - - void StackTrace::OutputToStream(std::ostream* os) const { -+#if defined(__GLIBC__) - OutputToStreamWithPrefix(os, nullptr); -+#endif - } - - std::string StackTrace::ToString() const { diff --git a/srcpkgs/chromium/files/musl-patches/musl-libc++.patch b/srcpkgs/chromium/files/musl-patches/musl-libc++.patch deleted file mode 100644 index 088d80fad52b..000000000000 --- a/srcpkgs/chromium/files/musl-patches/musl-libc++.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/buildtools/third_party/libc++/trunk/include/locale b/buildtools/third_party/libc++/trunk/include/locale -index d29a2dc..53998bc 100644 ---- buildtools/third_party/libc++/trunk/include/locale -+++ buildtools/third_party/libc++/trunk/include/locale -@@ -11,6 +11,15 @@ - #ifndef _LIBCPP_LOCALE - #define _LIBCPP_LOCALE - -+// musl doesn't define _l (with locale) variants of functions, as it only supports UTF-8. -+// we can simply make macros that will call the non-localated ones if we're using musl, or rather not-using something that has the _l ones. -+// couldn't find anything glibc #defines when it creates strtoull_l (that it doesn't undefine a few lines later), so let's test against glibc and glibc-likes. -+// almost all glibc-likes define __GNU_LIBRARY__ for compatibility -+#ifndef __GNU_LIBRARY__ -+#define strtoull_l(A, B, C, LOC) strtoull(A,B,C) -+#define strtoll_l(A, B, C, LOC) strtoll(A,B,C) -+#endif -+ - /* - locale synopsis - -diff --git a/buildtools/third_party/libc++/trunk/src/locale.cpp b/buildtools/third_party/libc++/trunk/src/locale.cpp -index 4163c2c..3d1902a 100644 ---- a/buildtools/third_party/libc++/trunk/src/locale.cpp -+++ buildtools/third_party/libc++/trunk/src/locale.cpp -@@ -1028,11 +1028,11 @@ ctype::do_narrow(const char_type* low, const char_type* high, char dfault, - return low; - } - --#if defined(__EMSCRIPTEN__) -+//#if defined(__EMSCRIPTEN__) - extern "C" const unsigned short ** __ctype_b_loc(); - extern "C" const int ** __ctype_tolower_loc(); - extern "C" const int ** __ctype_toupper_loc(); --#endif -+//#endif - - #ifdef _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE - const ctype::mask* -@@ -1136,12 +1136,10 @@ ctype::classic_table() _NOEXCEPT - #elif defined(_AIX) - return (const unsigned int *)__lc_ctype_ptr->obj->mask; - #else -- // Platform not supported: abort so the person doing the port knows what to -- // fix --# warning ctype::classic_table() is not implemented -- printf("ctype::classic_table() is not implemented\n"); -- abort(); -- return NULL; -+// not sure any other libc like this exists, but there is no way to differentiate musl as of right now -+// to be fair, with the change above, this should always work -+// also, #warning is a gcc extension -+ return (const unsigned long *)*__ctype_b_loc(); - #endif - } - #endif diff --git a/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch b/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch index c770e76d8688..22d865aa42f5 100644 --- a/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch +++ b/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch @@ -1,20 +1,22 @@ ---- ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.orig 2019-07-03 11:53:21.213479736 -0400 -+++ ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2019-07-03 11:57:01.304998253 -0400 -@@ -140,31 +140,14 @@ +Source: https://git.alpinelinux.org/aports/tree/community/chromium/musl-sandbox.patch +musl uses different syscalls from glibc for some functions, so the sandbox has +to account for that +-- +diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +index ff5a1c0..da56b9b 100644 +--- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc ++++ ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +@@ -139,21 +139,11 @@ namespace sandbox { + // present (as in newer versions of posix_spawn). ResultExpr RestrictCloneToThreadsAndEPERMFork() { const Arg flags(0); - +- - // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2. - const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES | - CLONE_SIGHAND | CLONE_THREAD | - CLONE_SYSVSEM; - const uint64_t kObsoleteAndroidCloneMask = kAndroidCloneMask | CLONE_DETACHED; -+ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | -+ CLONE_THREAD | CLONE_SYSVSEM; -+ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID | -+ CLONE_DETACHED; -+ const BoolExpr thread_clone_ok = (flags&~safe)==required; - +- - const uint64_t kGlibcPthreadFlags = - CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD | - CLONE_SYSVSEM | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID; @@ -23,45 +25,28 @@ - const BoolExpr android_test = - AnyOf(flags == kAndroidCloneMask, flags == kObsoleteAndroidCloneMask, - flags == kGlibcPthreadFlags); -- -- // The following two flags are the two important flags in any vfork-emulating -- // clone call. EPERM any clone call that contains both of them. -- const uint64_t kImportantCloneVforkFlags = CLONE_VFORK | CLONE_VM; -- -- const BoolExpr is_fork_or_clone_vfork = -- AnyOf((flags & (CLONE_VM | CLONE_THREAD)) == 0, -- (flags & kImportantCloneVforkFlags) == kImportantCloneVforkFlags); -- ++ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | ++ CLONE_THREAD | CLONE_SYSVSEM; ++ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID | ++ CLONE_DETACHED; ++ const BoolExpr thread_clone_ok = (flags&~safe)==required; + + // The following two flags are the two important flags in any vfork-emulating + // clone call. EPERM any clone call that contains both of them. +@@ -163,7 +153,7 @@ ResultExpr RestrictCloneToThreadsAndEPERMFork() { + AnyOf((flags & (CLONE_VM | CLONE_THREAD)) == 0, + (flags & kImportantCloneVforkFlags) == kImportantCloneVforkFlags); + - return If(IsAndroid() ? android_test : glibc_test, Allow()) -- .ElseIf(is_fork_or_clone_vfork, Error(EPERM)) + return If(thread_clone_ok, Allow()) -+ .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM)) + .ElseIf(is_fork_or_clone_vfork, Error(EPERM)) .Else(CrashSIGSYSClone()); } - ---- ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.orig +diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +index d9d1882..0567557 100644 +--- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +++ ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -@@ -494,6 +494,7 @@ - case __NR_mlock: - case __NR_munlock: - case __NR_munmap: -+ case __NR_mremap: - return true; - case __NR_madvise: - case __NR_mincore: -@@ -509,7 +510,6 @@ - case __NR_modify_ldt: - #endif - case __NR_mprotect: -- case __NR_mremap: - case __NR_msync: - case __NR_munlockall: - case __NR_readahead: -diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -index 80f02c0..21fbe21 100644 ---- sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -+++ sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -@@ -373,6 +373,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { +@@ -392,6 +392,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { #if defined(__i386__) case __NR_waitpid: #endif @@ -69,7 +54,7 @@ index 80f02c0..21fbe21 100644 return true; case __NR_clone: // Should be parameter-restricted. case __NR_setns: // Privileged. -@@ -385,7 +386,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { +@@ -404,7 +405,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) case __NR_set_thread_area: #endif @@ -77,3 +62,64 @@ index 80f02c0..21fbe21 100644 case __NR_unshare: #if !defined(__mips__) && !defined(__aarch64__) case __NR_vfork: +@@ -514,6 +514,8 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { + case __NR_mlock: + case __NR_munlock: + case __NR_munmap: ++ case __NR_mremap: ++ case __NR_membarrier: + return true; + case __NR_madvise: + case __NR_mincore: +@@ -531,7 +533,6 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { + case __NR_modify_ldt: + #endif + case __NR_mprotect: +- case __NR_mremap: + case __NR_msync: + case __NR_munlockall: + case __NR_readahead: +diff --git a/sandbox/linux/system_headers/linux_syscalls.h ./sandbox/linux/system_headers/linux_syscalls.h +index 2b78a0c..b6fedb5 100644 +--- a/sandbox/linux/system_headers/linux_syscalls.h ++++ b/sandbox/linux/system_headers/linux_syscalls.h +@@ -10,6 +10,7 @@ + #define SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_ + + #include "build/build_config.h" ++#include + + #if defined(__x86_64__) + #include "sandbox/linux/system_headers/x86_64_linux_syscalls.h" +--- a/sandbox/policy/linux/bpf_renderer_policy_linux.cc ++++ b/sandbox/policy/linux/bpf_renderer_policy_linux.cc +@@ -94,6 +94,9 @@ + case __NR_pwrite64: + case __NR_sched_get_priority_max: + case __NR_sched_get_priority_min: ++ case __NR_sched_getparam: ++ case __NR_sched_getscheduler: ++ case __NR_sched_setscheduler: + case __NR_sysinfo: + case __NR_times: + case __NR_uname: +--- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc ++++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +@@ -225,10 +225,15 @@ + if (sysno == __NR_getpriority || sysno ==__NR_setpriority) + return RestrictGetSetpriority(current_pid); + ++ // XXX: hacks for musl sandbox, calls needed? ++ if (sysno == __NR_sched_getparam || sysno == __NR_sched_getscheduler || ++ sysno == __NR_sched_setscheduler) { ++ return Allow(); ++ } ++ + // The scheduling syscalls are used in threading libraries and also heavily in + // abseil. See for example https://crbug.com/1370394. +- if (sysno == __NR_sched_getaffinity || sysno == __NR_sched_getparam || +- sysno == __NR_sched_getscheduler || sysno == __NR_sched_setscheduler) { ++ if (sysno == __NR_sched_getaffinity) { + return RestrictSchedTarget(current_pid, sysno); + } + diff --git a/srcpkgs/chromium/files/musl-patches/musl-tid-caching.patch b/srcpkgs/chromium/files/musl-patches/musl-tid-caching.patch index cec0ffd551f3..52bbe775ad2a 100644 --- a/srcpkgs/chromium/files/musl-patches/musl-tid-caching.patch +++ b/srcpkgs/chromium/files/musl-patches/musl-tid-caching.patch @@ -1,5 +1,10 @@ ---- ./sandbox/linux/services/namespace_sandbox.cc.orig -+++ ./sandbox/linux/services/namespace_sandbox.cc +Source: https://git.alpinelinux.org/aports/plain/community/chromium/musl-tid-caching.patch +the sandbox caching of thread id's only works with glibc +see: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/32356 +see: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13579 +-- +--- a/sandbox/linux/services/namespace_sandbox.cc ++++ b/sandbox/linux/services/namespace_sandbox.cc @@ -209,6 +209,70 @@ return base::LaunchProcess(argv, launch_options_copy); } diff --git a/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch b/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch deleted file mode 100644 index 6c021d74b27e..000000000000 --- a/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch +++ /dev/null @@ -1,95 +0,0 @@ ---- base/trace_event/malloc_dump_provider.cc.orig -+++ base/trace_event/malloc_dump_provider.cc -@@ -189,7 +189,8 @@ - - #if (BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \ - (!BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \ -- !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA)) -+ !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) && \ -+ !(BUILDFLAG(IS_LINUX) && !defined(__GLIBC__))) - void ReportMallinfoStats(ProcessMemoryDump* pmd, - size_t* total_virtual_size, - size_t* resident_size, ---- base/trace_event/malloc_dump_provider.cc -+++ base/trace_event/malloc_dump_provider.cc -@@ -339,7 +339,7 @@ - &allocated_objects_count); - #elif BUILDFLAG(IS_FUCHSIA) - // TODO(fuchsia): Port, see https://crbug.com/706592. --#else -+#elif defined(__GLIBC__) - ReportMallinfoStats(/*pmd=*/nullptr, &total_virtual_size, &resident_size, - &allocated_objects_size, &allocated_objects_count); - #endif ---- base/process/process_metrics_posix.cc.orig -+++ base/process/process_metrics_posix.cc -@@ -105,7 +105,7 @@ - - #endif // !BUILDFLAG(IS_FUCHSIA) - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) - namespace { - - size_t GetMallocUsageMallinfo() { -@@ -123,7 +123,7 @@ - } - - } // namespace --#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || -+#endif // (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS) || - // BUILDFLAG(IS_ANDROID) - - size_t ProcessMetrics::GetMallocUsage() { -@@ -131,9 +131,9 @@ - malloc_statistics_t stats = {0}; - malloc_zone_statistics(nullptr, &stats); - return stats.size_in_use; --#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#elif (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) - return GetMallocUsageMallinfo(); --#elif BUILDFLAG(IS_FUCHSIA) -+#elif BUILDFLAG(IS_FUCHSIA) || (BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) - // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. - return 0; - #endif ---- third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc.orig -+++ third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc -@@ -35,7 +35,7 @@ - - MemoryUsage GetMemoryUsage() { - MemoryUsage result; --#ifdef __linux__ -+#if defined(__linux__) && defined(__GLIBC__) - rusage res; - if (getrusage(RUSAGE_SELF, &res) == 0) { - result.max_rss_kb = res.ru_maxrss; ---- third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc -+++ third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc.orig -@@ -86,11 +86,11 @@ - } - - size_t Process::GetMallocUsage() { --#if defined(HAVE_MALLINFO2) -+#if defined(HAVE_MALLINFO2) && defined(__GLIBC__) - struct mallinfo2 mi; - mi = ::mallinfo2(); - return mi.uordblks; --#elif defined(HAVE_MALLINFO) -+#elif defined(HAVE_MALLINFO) && defined(__GLIBC__) - struct mallinfo mi; - mi = ::mallinfo(); - return mi.uordblks; - ---- third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h.orig 2019-09-30 13:03:42.556880537 -0400 -+++ third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h 2019-09-30 13:07:27.989821227 -0400 -@@ -122,7 +122,9 @@ - /* #undef HAVE_MALLCTL */ - - /* Define to 1 if you have the `mallinfo' function. */ -+#if defined(__GLIBC__) - #define HAVE_MALLINFO 1 -+#endif - - /* Define to 1 if you have the header file. */ - #define HAVE_MALLOC_H 1 diff --git a/srcpkgs/chromium/files/musl-patches/quiche-arena-size.patch b/srcpkgs/chromium/files/musl-patches/quiche-arena-size.patch index c2cb489b246b..4d17c41b56d5 100644 --- a/srcpkgs/chromium/files/musl-patches/quiche-arena-size.patch +++ b/srcpkgs/chromium/files/musl-patches/quiche-arena-size.patch @@ -1,6 +1,10 @@ ---- ./net/third_party/quiche/src/quiche/quic/core/quic_one_block_arena.h -+++ ./net/third_party/quiche/src/quiche/quic/core/quic_one_block_arena.h -@@ -70,7 +70,7 @@ +Source: https://git.alpinelinux.org/aports/plain/community/chromium/quiche-arena-size.patch +back in the day when net_unittests were ran, the block arena size was not big +enough for some reason. should look at this again +-- +--- a/net/third_party/quiche/src/quiche/quic/core/quic_one_block_arena.h ++++ b/net/third_party/quiche/src/quiche/quic/core/quic_one_block_arena.h +@@ -69,7 +69,7 @@ // QuicConnections currently use around 1KB of polymorphic types which would // ordinarily be on the heap. Instead, store them inline in an arena. diff --git a/srcpkgs/chromium/patches/fc-cache-version.patch b/srcpkgs/chromium/patches/fc-cache-version.patch new file mode 100644 index 000000000000..3b768978a43d --- /dev/null +++ b/srcpkgs/chromium/patches/fc-cache-version.patch @@ -0,0 +1,13 @@ +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 +@@ -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-" + FC_CACHE_VERSION; + bool cache_exists = access(cache.c_str(), F_OK) == 0; + return !cache_exists; + } diff --git a/srcpkgs/chromium/patches/fix-build-with-old-clang.patch b/srcpkgs/chromium/patches/fix-build-with-old-clang.patch deleted file mode 100644 index f23218e71e4d..000000000000 --- a/srcpkgs/chromium/patches/fix-build-with-old-clang.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -805,17 +805,6 @@ - cflags += [ "-fcomplete-member-pointers" ] - } - -- # Use DWARF simple template names, with the following exceptions: -- # -- # * Windows is not supported as it doesn't use DWARF. -- # * Apple platforms (e.g. MacOS, iPhone, iPad) aren't supported because xcode -- # lldb doesn't have the needed changes yet. -- # * Fuchsia isn't supported as zxdb doesn't support simple template names yet. -- # TODO(crbug.com/1379070): Remove if the upstream default ever changes. -- if (is_clang && !is_nacl && !is_win && !is_apple && !is_fuchsia) { -- cflags_cc += [ "-gsimple-template-names" ] -- } -- - # MLGO specific flags. These flags enable an ML-based inliner trained on - # Chrome on Android (arm32) with ThinLTO enabled, optimizing for size. - # The "release" ML model is embedded into clang as part of its build. diff --git a/srcpkgs/chromium/patches/fix-musl-no-mallinfo.patch b/srcpkgs/chromium/patches/fix-musl-no-mallinfo.patch deleted file mode 100644 index 1718eccb2204..000000000000 --- a/srcpkgs/chromium/patches/fix-musl-no-mallinfo.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/base/allocator/partition_allocator/shim/allocator_shim_default_dispatch_to_partition_alloc.cc -+++ b/base/allocator/partition_allocator/shim/allocator_shim_default_dispatch_to_partition_alloc.cc -@@ -717,7 +717,7 @@ - - #endif // !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_ANDROID) - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS) - SHIM_ALWAYS_EXPORT struct mallinfo mallinfo(void) __THROW { - base::SimplePartitionStatsDumper allocator_dumper; - Allocator()->DumpStats("malloc", true, &allocator_dumper); diff --git a/srcpkgs/chromium/patches/fix-resolver-musl.patch b/srcpkgs/chromium/patches/fix-resolver-musl.patch deleted file mode 100644 index 567d74174ede..000000000000 --- a/srcpkgs/chromium/patches/fix-resolver-musl.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- a/net/dns/public/scoped_res_state.cc.orig -+++ b/net/dns/public/scoped_res_state.cc -@@ -13,7 +13,7 @@ - namespace net { - - ScopedResState::ScopedResState() { --#if BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_FUCHSIA) -+#if BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_FUCHSIA) || (BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) - // Note: res_ninit in glibc always returns 0 and sets RES_INIT. - // res_init behaves the same way. - memset(&_res, 0, sizeof(_res)); ---- a/net/dns/public/scoped_res_state.cc -+++ b/net/dns/public/scoped_res_state.cc -@@ -25,7 +25,7 @@ - } - - ScopedResState::~ScopedResState() { --#if !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA) -+#if !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA) && !(BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) - - // Prefer res_ndestroy where available. - #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FREEBSD) -@@ -34,7 +34,7 @@ - res_nclose(&res_); - #endif // BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FREEBSD) - --#endif // !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA) -+#endif // !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA) && !(BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) - } - - bool ScopedResState::IsValid() const { ---- a/net/dns/host_resolver_system_task.cc.orig -+++ b/net/dns/host_resolver_system_task.cc -@@ -311,7 +311,7 @@ - - void EnsureSystemHostResolverCallReady() { - #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) && \ -- !BUILDFLAG(IS_ANDROID) -+ !BUILDFLAG(IS_ANDROID) && !(BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) - EnsureDnsReloaderInit(); - #elif BUILDFLAG(IS_WIN) - EnsureWinsockInit(); ---- a/net/dns/dns_reloader.cc.orig -+++ b/net/dns/dns_reloader.cc -@@ -7,7 +7,8 @@ - #include "build/build_config.h" - - #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) && \ -- !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA) -+ !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA) && \ -+ !(BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) - - #include - ---- a/net/dns/host_resolver_system_task.cc -+++ b/net/dns/host_resolver_system_task.cc -@@ -397,7 +397,8 @@ - base::BlockingType::WILL_BLOCK); - - #if BUILDFLAG(IS_POSIX) && \ -- !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_ANDROID)) -+ !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_ANDROID) || \ -+ (BUILDFLAG(IS_LINUX) && !defined(__GLIBC__))) - DnsReloaderMaybeReload(); - #endif - auto [ai, err, os_error] = AddressInfo::Get(host, hints, nullptr, network); diff --git a/srcpkgs/chromium/patches/fix-swiftshader-llvm-musl-config.patch b/srcpkgs/chromium/patches/fix-swiftshader-llvm-musl-config.patch index 7bf63bd33d4e..e69de29bb2d1 100644 --- a/srcpkgs/chromium/patches/fix-swiftshader-llvm-musl-config.patch +++ b/srcpkgs/chromium/patches/fix-swiftshader-llvm-musl-config.patch @@ -1,26 +0,0 @@ ---- a/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h -+++ b/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h -@@ -17,7 +17,11 @@ - #define ENABLE_CRASH_OVERRIDES 0 - - /* Define to 1 if you have the `backtrace' function. */ -+#ifdef __GLIBC__ - #define HAVE_BACKTRACE 1 -+#else -+#define HAVE_BACKTRACE 0 -+#endif - - /* Define to 1 if you have the header file. */ - /* #undef HAVE_CRASHREPORTERCLIENT_H */ -@@ -58,7 +62,11 @@ - #define HAVE_ERRNO_H 1 - - /* Define to 1 if you have the header file. */ -+#ifdef __GLIBC__ - #define HAVE_EXECINFO_H 1 -+#else -+#define HAVE_EXECINFO_H 0 -+#endif - - /* Define to 1 if you have the header file. */ - #define HAVE_FCNTL_H 1 diff --git a/srcpkgs/chromium/patches/no-execinfo.patch b/srcpkgs/chromium/patches/no-execinfo.patch deleted file mode 100644 index 747476d75b15..000000000000 --- a/srcpkgs/chromium/patches/no-execinfo.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/v8/src/codegen/external-reference-table.cc.orig -+++ b/v8/src/codegen/external-reference-table.cc -@@ -11,7 +11,9 @@ - - #if defined(DEBUG) && defined(V8_OS_LINUX) && !defined(V8_OS_ANDROID) - #define SYMBOLIZE_FUNCTION -+#if defined(__GLIBC__) - #include -+#endif - - #include - -@@ -96,7 +98,7 @@ - } - - const char* ExternalReferenceTable::ResolveSymbol(void* address) { --#ifdef SYMBOLIZE_FUNCTION -+#if defined(SYMBOLIZE_FUNCTION) && defined(__GLIBC__) - char** names = backtrace_symbols(&address, 1); - const char* name = names[0]; - // The array of names is malloc'ed. However, each name string is static diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index 3c1c1caf3765..940592718baa 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,11 +1,11 @@ # Template file for 'chromium' pkgname=chromium # See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version -version=111.0.5563.64 +version=112.0.5615.49 revision=1 archs="i686* x86_64* aarch64* armv7l*" hostmakedepends=" - $(vopt_if clang "clang lld llvm12") + $(vopt_if clang "clang lld llvm15") $(vopt_if js_optimize openjdk) bison git gperf hwids ninja nodejs perl pkg-config python3 libatomic-devel libepoxy-devel libevent-devel libglib-devel" @@ -28,7 +28,7 @@ maintainer="Duncaen " license="BSD-3-Clause" homepage="https://www.chromium.org/" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=7d5ca0e2bdb22a97713e6bfce74c651006d71aa883056c8e2c2a148039fe4074 +checksum=ddfd37373c1fa0f433a6ac11f0baa2b1f3fdfb9c7b5867e32a4300f2eb5aff41 lib32disabled=yes @@ -68,15 +68,11 @@ if [ "$CROSS_BUILD" ]; then esac fi -case "${XBPS_TARGET_MACHINE}" in - i686*) broken="https://build.voidlinux.org/builders/i686_builder/builds/40258/steps/shell_3/logs/stdio" ;; -esac - post_patch() { if [ "$XBPS_TARGET_LIBC" = "musl" ]; then for f in "${FILESDIR}"/musl-patches/*.patch; do echo "Applying $f" - patch -Np0 -i "$f" + patch -Np1 -i "$f" done fi @@ -195,7 +191,6 @@ do_configure() { "use_lld=$(vopt_if clang true false)" 'clang_use_chrome_plugins=false' 'clang_base_path="/usr"' - 'use_cxx17=true' "gold_path=\"${XBPS_CROSS_BASE}/usr/bin/ld.gold\"" 'use_custom_libcxx=false'