Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] chromium: update to 112.0.5615.49.
@ 2023-04-05 23:34 Duncaen
  2023-04-06 12:54 ` [PR PATCH] [Updated] " Duncaen
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Duncaen @ 2023-04-05 23:34 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]

There is a new pull request by Duncaen against master on the void-packages repository

https://github.com/Duncaen/void-packages chromium-112
https://github.com/void-linux/void-packages/pull/43294

chromium: update to 112.0.5615.49.
[ci skip]

* [ ] x86_64-glibc
* [ ] x86_64-musl
* [ ] aarch64-musl
* [ ] i686

A patch file from https://github.com/void-linux/void-packages/pull/43294.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-112-43294.patch --]
[-- Type: text/x-diff, Size: 14639 bytes --]

From c96bb9a352bb52ae45f965c698711d6efc3bb8c0 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Thu, 6 Apr 2023 00:04:37 +0200
Subject: [PATCH] chromium: update to 112.0.5615.49.

---
 .../files/musl-patches/musl-sandbox.patch     | 135 ++++++++++++------
 .../chromium/patches/fc-cache-version.patch   |  13 ++
 .../patches/fix-build-with-old-clang.patch    |  20 ---
 .../chromium/patches/fix-resolver-musl.patch  |  66 ---------
 srcpkgs/chromium/template                     |   7 +-
 5 files changed, 106 insertions(+), 135 deletions(-)
 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-resolver-musl.patch

diff --git a/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch b/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
index c770e76d8688..52c3b2105034 100644
--- a/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
+++ b/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
@@ -1,20 +1,21 @@
---- ./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 @@
+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<unsigned long> 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 +24,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 +53,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 +61,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 <sys/syscall.h>
+ 
+ #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/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-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 <resolv.h>
- 
---- 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/template b/srcpkgs/chromium/template
index 3c1c1caf3765..fd69b22560af 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 <duncaen@voidlinux.org>"
 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
 
@@ -195,7 +195,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'

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] chromium: update to 112.0.5615.49.
  2023-04-05 23:34 [PR PATCH] chromium: update to 112.0.5615.49 Duncaen
@ 2023-04-06 12:54 ` Duncaen
  2023-04-06 14:08 ` Duncaen
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Duncaen @ 2023-04-06 12:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 411 bytes --]

There is an updated pull request by Duncaen against master on the void-packages repository

https://github.com/Duncaen/void-packages chromium-112
https://github.com/void-linux/void-packages/pull/43294

chromium: update to 112.0.5615.49.
[ci skip]

* [x] x86_64-glibc
* [ ] x86_64-musl
* [ ] aarch64-musl
* [ ] i686

A patch file from https://github.com/void-linux/void-packages/pull/43294.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-112-43294.patch --]
[-- Type: text/x-diff, Size: 14639 bytes --]

From 4f235149ebb4f92040826c1d8eb5856562a2b6d1 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Thu, 6 Apr 2023 00:04:37 +0200
Subject: [PATCH] chromium: update to 112.0.5615.49.

---
 .../files/musl-patches/musl-sandbox.patch     | 135 ++++++++++++------
 .../chromium/patches/fc-cache-version.patch   |  13 ++
 .../patches/fix-build-with-old-clang.patch    |  20 ---
 .../chromium/patches/fix-resolver-musl.patch  |  66 ---------
 srcpkgs/chromium/template                     |   7 +-
 5 files changed, 106 insertions(+), 135 deletions(-)
 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-resolver-musl.patch

diff --git a/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch b/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
index c770e76d8688..52c3b2105034 100644
--- a/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
+++ b/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
@@ -1,20 +1,21 @@
---- ./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 @@
+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<unsigned long> 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 +24,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 +53,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 +61,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 <sys/syscall.h>
+ 
+ #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/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-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 <resolv.h>
- 
---- 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/template b/srcpkgs/chromium/template
index 3c1c1caf3765..fd69b22560af 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 <duncaen@voidlinux.org>"
 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
 
@@ -195,7 +195,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'

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] chromium: update to 112.0.5615.49.
  2023-04-05 23:34 [PR PATCH] chromium: update to 112.0.5615.49 Duncaen
  2023-04-06 12:54 ` [PR PATCH] [Updated] " Duncaen
@ 2023-04-06 14:08 ` Duncaen
  2023-04-06 22:54 ` Duncaen
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Duncaen @ 2023-04-06 14:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 411 bytes --]

There is an updated pull request by Duncaen against master on the void-packages repository

https://github.com/Duncaen/void-packages chromium-112
https://github.com/void-linux/void-packages/pull/43294

chromium: update to 112.0.5615.49.
[ci skip]

* [x] x86_64-glibc
* [ ] x86_64-musl
* [ ] aarch64-musl
* [ ] i686

A patch file from https://github.com/void-linux/void-packages/pull/43294.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-112-43294.patch --]
[-- Type: text/x-diff, Size: 28287 bytes --]

From 058bc07811b4997b76492c4e4a32da28eccf7eed Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
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                     |   9 +-
 13 files changed, 122 insertions(+), 372 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<char>::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<char>::mask*
-@@ -1136,12 +1136,10 @@ ctype<char>::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<char>::classic_table() is not implemented
--    printf("ctype<char>::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<unsigned long> 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 <sys/syscall.h>
+ 
+ #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 <malloc.h> 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 <resolv.h>
- 
---- 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 <CrashReporterClient.h> header file. */
- /* #undef HAVE_CRASHREPORTERCLIENT_H */
-@@ -58,7 +62,11 @@
- #define HAVE_ERRNO_H 1
- 
- /* Define to 1 if you have the <execinfo.h> header file. */
-+#ifdef __GLIBC__
- #define HAVE_EXECINFO_H 1
-+#else
-+#define HAVE_EXECINFO_H 0
-+#endif
- 
- /* Define to 1 if you have the <fcntl.h> 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 <execinfo.h>
-+#endif
-
- #include <vector>
-
-@@ -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..de6d445c7973 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 <duncaen@voidlinux.org>"
 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
 
@@ -76,7 +76,7 @@ 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 +195,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'

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] chromium: update to 112.0.5615.49.
  2023-04-05 23:34 [PR PATCH] chromium: update to 112.0.5615.49 Duncaen
  2023-04-06 12:54 ` [PR PATCH] [Updated] " Duncaen
  2023-04-06 14:08 ` Duncaen
@ 2023-04-06 22:54 ` Duncaen
  2023-04-12  2:11 ` Duncaen
  2023-04-12  2:12 ` [PR PATCH] [Merged]: " Duncaen
  4 siblings, 0 replies; 6+ messages in thread
From: Duncaen @ 2023-04-06 22:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 411 bytes --]

There is an updated pull request by Duncaen against master on the void-packages repository

https://github.com/Duncaen/void-packages chromium-112
https://github.com/void-linux/void-packages/pull/43294

chromium: update to 112.0.5615.49.
[ci skip]

* [x] x86_64-glibc
* [x] x86_64-musl
* [ ] aarch64-musl
* [ ] i686

A patch file from https://github.com/void-linux/void-packages/pull/43294.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-112-43294.patch --]
[-- Type: text/x-diff, Size: 28482 bytes --]

From 1706965d99235375d4e363a76a7fa45871df152c Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
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<char>::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<char>::mask*
-@@ -1136,12 +1136,10 @@ ctype<char>::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<char>::classic_table() is not implemented
--    printf("ctype<char>::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<unsigned long> 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 <sys/syscall.h>
+ 
+ #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 <malloc.h> 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 <resolv.h>
- 
---- 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 <CrashReporterClient.h> header file. */
- /* #undef HAVE_CRASHREPORTERCLIENT_H */
-@@ -58,7 +62,11 @@
- #define HAVE_ERRNO_H 1
- 
- /* Define to 1 if you have the <execinfo.h> header file. */
-+#ifdef __GLIBC__
- #define HAVE_EXECINFO_H 1
-+#else
-+#define HAVE_EXECINFO_H 0
-+#endif
- 
- /* Define to 1 if you have the <fcntl.h> 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 <execinfo.h>
-+#endif
-
- #include <vector>
-
-@@ -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 <duncaen@voidlinux.org>"
 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'

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] chromium: update to 112.0.5615.49.
  2023-04-05 23:34 [PR PATCH] chromium: update to 112.0.5615.49 Duncaen
                   ` (2 preceding siblings ...)
  2023-04-06 22:54 ` Duncaen
@ 2023-04-12  2:11 ` Duncaen
  2023-04-12  2:12 ` [PR PATCH] [Merged]: " Duncaen
  4 siblings, 0 replies; 6+ messages in thread
From: Duncaen @ 2023-04-12  2:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 411 bytes --]

There is an updated pull request by Duncaen against master on the void-packages repository

https://github.com/Duncaen/void-packages chromium-112
https://github.com/void-linux/void-packages/pull/43294

chromium: update to 112.0.5615.49.
[ci skip]

* [x] x86_64-glibc
* [x] x86_64-musl
* [ ] aarch64-musl
* [ ] i686

A patch file from https://github.com/void-linux/void-packages/pull/43294.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-112-43294.patch --]
[-- Type: text/x-diff, Size: 28482 bytes --]

From 0c0b6833b8cd984b0b65bf27762c1018bca0cb63 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
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<char>::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<char>::mask*
-@@ -1136,12 +1136,10 @@ ctype<char>::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<char>::classic_table() is not implemented
--    printf("ctype<char>::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<unsigned long> 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 <sys/syscall.h>
+ 
+ #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 <malloc.h> 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 <resolv.h>
- 
---- 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 <CrashReporterClient.h> header file. */
- /* #undef HAVE_CRASHREPORTERCLIENT_H */
-@@ -58,7 +62,11 @@
- #define HAVE_ERRNO_H 1
- 
- /* Define to 1 if you have the <execinfo.h> header file. */
-+#ifdef __GLIBC__
- #define HAVE_EXECINFO_H 1
-+#else
-+#define HAVE_EXECINFO_H 0
-+#endif
- 
- /* Define to 1 if you have the <fcntl.h> 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 <execinfo.h>
-+#endif
-
- #include <vector>
-
-@@ -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 <duncaen@voidlinux.org>"
 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'

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Merged]: chromium: update to 112.0.5615.49.
  2023-04-05 23:34 [PR PATCH] chromium: update to 112.0.5615.49 Duncaen
                   ` (3 preceding siblings ...)
  2023-04-12  2:11 ` Duncaen
@ 2023-04-12  2:12 ` Duncaen
  4 siblings, 0 replies; 6+ messages in thread
From: Duncaen @ 2023-04-12  2:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 250 bytes --]

There's a merged pull request on the void-packages repository

chromium: update to 112.0.5615.49.
https://github.com/void-linux/void-packages/pull/43294

Description:
[ci skip]

* [x] x86_64-glibc
* [x] x86_64-musl
* [ ] aarch64-musl
* [ ] i686

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-04-12  2:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-05 23:34 [PR PATCH] chromium: update to 112.0.5615.49 Duncaen
2023-04-06 12:54 ` [PR PATCH] [Updated] " Duncaen
2023-04-06 14:08 ` Duncaen
2023-04-06 22:54 ` Duncaen
2023-04-12  2:11 ` Duncaen
2023-04-12  2:12 ` [PR PATCH] [Merged]: " Duncaen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).