From 069ce244f765704fbd0c510606d0d0b7ea443c5f Mon Sep 17 00:00:00 2001 From: Duncaen Date: Tue, 29 Nov 2022 22:16:09 +0100 Subject: [PATCH] chromium: update to 108.0.5359.98. --- .../musl-patches/xxx-ppc64le-support.patch | 9 +- .../chromium/patches/fix-resolver-musl.patch | 22 ++-- srcpkgs/chromium/patches/old-clang.patch | 11 ++ .../patches/sandbox-sched_getparam.patch | 21 ---- .../patches/use-ffile-compilation-dir.patch | 66 ----------- .../use-ffile-compilation-dir.patch.args | 1 - .../chromium/patches/xxx-ppc64le-libvpx.patch | 14 +-- .../patches/xxx-ppc64le-support.patch | 32 +---- srcpkgs/chromium/template | 110 +++++++++--------- 9 files changed, 93 insertions(+), 193 deletions(-) create mode 100644 srcpkgs/chromium/patches/old-clang.patch delete mode 100644 srcpkgs/chromium/patches/sandbox-sched_getparam.patch delete mode 100644 srcpkgs/chromium/patches/use-ffile-compilation-dir.patch delete mode 100644 srcpkgs/chromium/patches/use-ffile-compilation-dir.patch.args diff --git a/srcpkgs/chromium/files/musl-patches/xxx-ppc64le-support.patch b/srcpkgs/chromium/files/musl-patches/xxx-ppc64le-support.patch index c893d9b078fb..555f69c072c8 100644 --- a/srcpkgs/chromium/files/musl-patches/xxx-ppc64le-support.patch +++ b/srcpkgs/chromium/files/musl-patches/xxx-ppc64le-support.patch @@ -41,13 +41,12 @@ index d53a7ff56..c290f0e92 100644 } #endif SECCOMP_RESULT(ctx) = static_cast(ret_val); ---- third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h.orig -+++ third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h -@@ -46,7 +46,7 @@ - +--- third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h ++++ third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +@@ -22,6 +22,7 @@ // The following platforms have an implementation of a hardware counter. #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ -- defined(__powerpc__) || defined(__ppc__) || defined(__riscv) || \ + defined(__powerpc__) || defined(__ppc__) || defined(__riscv) || \ + ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || defined(__riscv) || \ defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC)) #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 diff --git a/srcpkgs/chromium/patches/fix-resolver-musl.patch b/srcpkgs/chromium/patches/fix-resolver-musl.patch index 6bb7aaabb76c..567d74174ede 100644 --- a/srcpkgs/chromium/patches/fix-resolver-musl.patch +++ b/srcpkgs/chromium/patches/fix-resolver-musl.patch @@ -29,17 +29,17 @@ } bool ScopedResState::IsValid() const { ---- a/net/dns/host_resolver_manager.cc.orig -+++ b/net/dns/host_resolver_manager.cc -@@ -3015,7 +3015,7 @@ - if (system_dns_config_notifier_) - system_dns_config_notifier_->AddObserver(this); +--- 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(); - #endif - + #elif BUILDFLAG(IS_WIN) + EnsureWinsockInit(); --- a/net/dns/dns_reloader.cc.orig +++ b/net/dns/dns_reloader.cc @@ -7,7 +7,8 @@ @@ -52,9 +52,9 @@ #include ---- a/net/dns/host_resolver_proc.cc.orig -+++ b/net/dns/host_resolver_proc.cc -@@ -177,7 +177,8 @@ +--- 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) && \ @@ -63,4 +63,4 @@ + (BUILDFLAG(IS_LINUX) && !defined(__GLIBC__))) DnsReloaderMaybeReload(); #endif - absl::optional ai; + auto [ai, err, os_error] = AddressInfo::Get(host, hints, nullptr, network); diff --git a/srcpkgs/chromium/patches/old-clang.patch b/srcpkgs/chromium/patches/old-clang.patch new file mode 100644 index 000000000000..b773d09fbd7d --- /dev/null +++ b/srcpkgs/chromium/patches/old-clang.patch @@ -0,0 +1,11 @@ +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -1288,7 +1288,7 @@ + } else { + # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= + # and -fcoverage-compilation-dir=. +- cflags += [ "-ffile-compilation-dir=." ] ++ cflags += [ "-fdebug-compilation-dir=." ] + swiftflags += [ "-file-compilation-dir=." ] + } + if (!is_win) { diff --git a/srcpkgs/chromium/patches/sandbox-sched_getparam.patch b/srcpkgs/chromium/patches/sandbox-sched_getparam.patch deleted file mode 100644 index dfe0bd8f8235..000000000000 --- a/srcpkgs/chromium/patches/sandbox-sched_getparam.patch +++ /dev/null @@ -1,21 +0,0 @@ -Allow SYS_sched_getparam and SYS_sched_getscheduler -musl uses them for pthread_getschedparam() - -source: https://git.alpinelinux.org/aports/commit/community/chromium?id=54af9f8ac24f52d382c5758e2445bf0206eff40e - ---- a/sandbox/policy/linux/bpf_renderer_policy_linux.cc -+++ b/sandbox/policy/linux/bpf_renderer_policy_linux.cc -@@ -102,11 +102,11 @@ - #if defined(__arm__) || defined(__aarch64__) - case __NR_getcpu: - #endif -- return Allow(); -- case __NR_sched_getaffinity: - case __NR_sched_getparam: - case __NR_sched_getscheduler: - case __NR_sched_setscheduler: -+ return Allow(); -+ case __NR_sched_getaffinity: - return RestrictSchedTarget(GetPolicyPid(), sysno); - case __NR_prlimit64: - // See crbug.com/662450 and setrlimit comment above. diff --git a/srcpkgs/chromium/patches/use-ffile-compilation-dir.patch b/srcpkgs/chromium/patches/use-ffile-compilation-dir.patch deleted file mode 100644 index f0ce44c0a487..000000000000 --- a/srcpkgs/chromium/patches/use-ffile-compilation-dir.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 34a955823630096f5b01c2b01d51c1ea59d22763 Mon Sep 17 00:00:00 2001 -From: Zequan Wu -Date: Tue, 20 Jul 2021 14:13:50 +0000 -Subject: [PATCH] Use -ffile-compilation-dir= instead of - -fdebug-compilation-dir= - -Bug: 1010267 -Change-Id: If2b4ead8535a76490eb466a38e3d8fed6ea91079 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2770738 -Auto-Submit: Zequan Wu -Commit-Queue: Nico Weber -Reviewed-by: Nico Weber -Cr-Commit-Position: refs/heads/master@{#903456} ---- - build/config/compiler/BUILD.gn | 18 ++++++++++++------ - build/config/compiler/compiler.gni | 7 ++----- - 2 files changed, 14 insertions(+), 11 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index ede07d111c..6db16c1cdd 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -1216,12 +1216,19 @@ config("compiler_deterministic") { - # different build directory like "out/feature_a" and "out/feature_b" if - # we build same files with same compile flag. - # Other paths are already given in relative, no need to normalize them. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -+ if (is_nacl) { -+ # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -+ cflags += [ -+ "-Xclang", -+ "-fdebug-compilation-dir", -+ "-Xclang", -+ ".", -+ ] -+ } else { -+ # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -+ # and -fcoverage-compilation-dir=. -+ cflags += [ "-ffile-compilation-dir=." ] -+ } - if (!is_win) { - # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) - asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni -index 8c259c360a..642319b4f4 100644 ---- a/build/config/compiler/compiler.gni -+++ b/build/config/compiler/compiler.gni -@@ -225,11 +225,8 @@ declare_args() { - # deterministic builds to reduce compile times, so this is less relevant for - # official builders. - strip_absolute_paths_from_debug_symbols_default = -- # TODO(crbug.com/1010267): remove '!use_clang_coverage', coverage build has -- # dependency to absolute path of source files. -- !use_clang_coverage && -- (is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux || -- is_chromeos || (is_apple && !enable_dsyms)) -+ is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux || -+ is_chromeos || (is_apple && !enable_dsyms) - - # If the platform uses stripped absolute paths by default, then we don't expose - # it as a configuration option. If this is causing problems, please file a bug. diff --git a/srcpkgs/chromium/patches/use-ffile-compilation-dir.patch.args b/srcpkgs/chromium/patches/use-ffile-compilation-dir.patch.args deleted file mode 100644 index 8bbbbe948363..000000000000 --- a/srcpkgs/chromium/patches/use-ffile-compilation-dir.patch.args +++ /dev/null @@ -1 +0,0 @@ --RNp1 diff --git a/srcpkgs/chromium/patches/xxx-ppc64le-libvpx.patch b/srcpkgs/chromium/patches/xxx-ppc64le-libvpx.patch index 05384cd360ba..0c03ad4a65eb 100644 --- a/srcpkgs/chromium/patches/xxx-ppc64le-libvpx.patch +++ b/srcpkgs/chromium/patches/xxx-ppc64le-libvpx.patch @@ -13,19 +13,19 @@ diff --git a/third_party/libvpx/generate_gni.sh b/third_party/libvpx/generate_gn index 7429080..43ee29a 100755 --- a/third_party/libvpx/generate_gni.sh +++ b/third_party/libvpx/generate_gni.sh -@@ -374,7 +374,7 @@ gen_config_files linux/arm-neon-highbd "--target=armv7-linux-gcc ${all_platforms - gen_config_files linux/arm64-highbd "--target=armv8-linux-gcc ${all_platforms} ${HIGHBD}" - gen_config_files linux/mipsel "--target=mips32-linux-gcc ${all_platforms}" +@@ -405,7 +405,7 @@ gen_config_files linux/mips64el "--target=mips64-linux-gcc ${all_platforms}" + gen_config_files linux/loongarch \ + "--target=loongarch64-linux-gcc ${all_platforms}" -gen_config_files linux/ppc64 "--target=ppc64le-linux-gcc ${all_platforms}" +gen_config_files linux/ppc64 "--target=generic-gnu ${all_platforms}" gen_config_files linux/generic "--target=generic-gnu $HIGHBD ${all_platforms}" - gen_config_files win/arm64 "--target=arm64-win64-vs15 ${all_platforms} ${HIGHBD}" - gen_config_files win/ia32 "--target=x86-win32-vs14 ${all_platforms} ${x86_platforms}" -@@ -430,7 +430,7 @@ gen_rtcd_header linux/arm-neon-highbd armv7 - gen_rtcd_header linux/arm64-highbd armv8 + gen_config_files win/arm64 \ + "--target=arm64-win64-vs15 ${all_platforms} ${HIGHBD}" +@@ -468,7 +468,7 @@ gen_rtcd_header linux/mipsel mipsel gen_rtcd_header linux/mips64el mips64el + gen_rtcd_header linux/loongarch loongarch -gen_rtcd_header linux/ppc64 ppc +gen_rtcd_header linux/ppc64 generic gen_rtcd_header linux/generic generic diff --git a/srcpkgs/chromium/patches/xxx-ppc64le-support.patch b/srcpkgs/chromium/patches/xxx-ppc64le-support.patch index 9c9d1a39a4e9..0bc505358916 100644 --- a/srcpkgs/chromium/patches/xxx-ppc64le-support.patch +++ b/srcpkgs/chromium/patches/xxx-ppc64le-support.patch @@ -3453,24 +3453,6 @@ index bdac4d784..51e0f2cac 100644 typedef vector float v4sf; # define SIMD_SZ 4 # define VZERO() ((vector float) vec_splat_u8(0)) -diff --git a/third_party/skia/src/sksl/SkSLString.cpp b/third_party/skia/src/sksl/SkSLString.cpp -index ec3e56964..4cf8999a2 100644 ---- a/third_party/skia/src/sksl/SkSLString.cpp -+++ b/third_party/skia/src/sksl/SkSLString.cpp -@@ -37,7 +37,12 @@ String to_string(double value) { - if (needsDotZero) { - buffer << ".0"; - } -- return buffer.str(); -+ -+ std::string ret(buffer.str()); -+ if (std::signbit(value) && ret[0] == '.') { -+ ret[0] = '-'; -+ } -+ return ret; - } - - bool stod(const StringFragment& s, SKSL_FLOAT* value) { diff --git a/third_party/sqlite/src/amalgamation/sqlite3.c b/third_party/sqlite/src/amalgamation/sqlite3.c index 6b4a7899d..b8c7fe414 100644 --- a/third_party/sqlite/src/amalgamation/sqlite3.c @@ -3566,16 +3548,14 @@ index f39529a3a..e84fc449e 100644 } else if (host_byteorder == "big") { defines += [ "V8_TARGET_ARCH_PPC_BE" ] if (current_os == "aix") { -diff --git a/ui/gl/features.gni b/ui/gl/features.gni -index 5fda9b6..3d2dd8b 100644 --- a/ui/gl/features.gni +++ b/ui/gl/features.gni -@@ -32,5 +32,5 @@ - (target_cpu == "x86" || target_cpu == "x64" || - target_cpu == "arm" || target_cpu == "arm64" || - target_cpu == "mipsel" || target_cpu == "mips64el" || -- target_cpu == "riscv64") -+ target_cpu == "riscv64" || target_cpu == "ppc64") +@@ -33,5 +33,5 @@ + is_chromeos_ash || is_fuchsia) && + (target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm" || + target_cpu == "arm64" || target_cpu == "mipsel" || +- target_cpu == "mips64el" || target_cpu == "riscv64") ++ target_cpu == "mips64el" || target_cpu == "riscv64" || target_cpu == "ppc64") } diff --git a/v8/test/BUILD.gn b/v8/test/BUILD.gn index fb872ad39..45fc585dd 100644 diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index 7ca956340ea0..4b54c499a694 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,15 +1,34 @@ # Template file for 'chromium' pkgname=chromium # See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version -version=107.0.5304.87 +version=108.0.5359.98 revision=1 archs="i686* x86_64* aarch64* armv7l* ppc64le*" +hostmakedepends=" + $(vopt_if clang "clang lld llvm12") + $(vopt_if js_optimize openjdk) + bison git gperf hwids ninja nodejs perl pkg-config python3 + libatomic-devel libepoxy-devel libevent-devel libglib-devel wayland-devel" +makedepends=" + alsa-lib-devel libdav1d-devel brotli-devel cups-devel elfutils-devel ffmpeg-devel + fontconfig-devel freetype-devel gtk+3-devel jsoncpp-devel libXScrnSaver-devel + libXcomposite-devel libXcursor-devel libXdamage-devel libXi-devel libXrandr-devel + libatomic-devel libavif-devel libcap-devel libcurl-devel libdrm-devel libevent-devel + libexif-devel libflac-devel libgcrypt-devel libjpeg-turbo-devel libmtp-devel + libpng-devel libva-devel libwebp-devel libxml2-devel libxshmfence-devel + libxslt-devel woff2-devel minizip-devel mit-krb5-devel nss-devel opus-devel + pciutils-devel re2-devel snappy-devel speech-dispatcher-devel speex-devel + xcb-proto zlib-devel libaom-devel + $(vopt_if pipewire pipewire-devel) + $(vopt_if pulseaudio pulseaudio-devel) + $(vopt_if sndio sndio-devel)" +depends="desktop-file-utils hicolor-icon-theme hwids xdg-utils" short_desc="Google's attempt at creating a safer, faster, and more stable browser" maintainer="Duncaen " license="BSD-3-Clause" homepage="https://www.chromium.org/" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=6c0e00c186e22a1be29177ea410ba40ff0bf65f3ded67a345eb5b17f76c93c59 +checksum=60b6137971e3cb2947477f654491ed4f517ab88ea2807fa3b89fcce34b83561e lib32disabled=yes @@ -20,21 +39,6 @@ desc_option_debug="Build with debug symbols" desc_option_js_optimize="Optimize the JS used for Chromium's UI" desc_option_pipewire="Enable support for screen sharing for WebRTC via PipeWire" -hostmakedepends="$(vopt_if clang "clang lld llvm12") python3 pkgconf perl gperf bison ninja nodejs hwids - libatomic-devel libevent-devel libglib-devel $(vopt_if js_optimize openjdk) wayland-devel libepoxy-devel git" -makedepends="libpng-devel gtk+3-devel nss-devel pciutils-devel - libXi-devel libgcrypt-devel cups-devel elfutils-devel - libXcomposite-devel speech-dispatcher-devel libXrandr-devel mit-krb5-devel - libXScrnSaver-devel alsa-lib-devel snappy-devel libdrm-devel - libxml2-devel libxslt-devel $(vopt_if pulseaudio pulseaudio-devel) libexif-devel - libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel - libjpeg-turbo-devel libevent-devel json-c-devel - minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel - re2-devel fontconfig-devel freetype-devel opus-devel libatomic-devel - ffmpeg-devel libva-devel xcb-proto libcurl-devel - libxshmfence-devel - $(vopt_if pipewire pipewire-devel) $(vopt_if sndio sndio-devel)" -depends="libexif hwids desktop-file-utils hicolor-icon-theme xdg-utils" case "$XBPS_TARGET_MACHINE" in ppc64*-musl) makedepends+=" libucontext-devel" ;; @@ -46,7 +50,8 @@ if [ "$CROSS_BUILD" ]; then libxml2-devel $(vopt_if pulseaudio pulseaudio-devel) libxslt-devel libxkbcommon-devel $(vopt_if pipewire pipewire-devel) ffmpeg-devel opus-devel pango-devel libva-devel libcurl-devel snappy-devel re2-devel libXrandr-devel libXcomposite-devel cups-devel - mit-krb5-devel alsa-lib-devel libXdamage-devel libepoxy-devel" + mit-krb5-devel alsa-lib-devel libXdamage-devel libepoxy-devel + libavif-devel libaom-devel jsoncpp-devel woff2-devel libdav1d-devel" fi if [ ! "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then @@ -72,18 +77,6 @@ post_patch() { done fi - # Use the file at run time instead of effectively compiling it in - sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \ - -i services/device/public/cpp/usb/BUILD.gn - - if [ -z "$build_option_clang" ]; then - # Work around bug in blink in which GCC 6 optimizes away null pointer checks - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833524 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68853#c2 - sed -i '/config("compiler")/ a cflags_cc = [ "-fno-delete-null-pointer-checks" ]' \ - build/config/linux/BUILD.gn - fi - # prevent annoying errors when regenerating gni vsed -i 's,^update_readme$,#update_readme,' \ third_party/libvpx/generate_gni.sh @@ -100,8 +93,8 @@ _setup_clang() { export CXX=clang++ export AR=llvm-ar export NM=llvm-nm - export CFLAGS="-Wno-unknown-warning-option" - export CXXFLAGS="-Wno-unknown-warning-option" + export CFLAGS="-Wno-unknown-warning-option -fdebug-prefix-map=$wrksrc=." + export CXXFLAGS="-Wno-unknown-warning-option -fdebug-prefix-map=$wrksrc=." export LDFLAGS="" export BUILD_CC=clang export BUILD_CXX=clang++ @@ -163,41 +156,46 @@ do_configure() { # TODO: use_system_ssl (http://crbug.com/58087). # TODO: use_system_sqlite (http://crbug.com/22208). # TODO: use_system_icu (segfaults) - # XXX xtraeme: broken currently # use_system_protobuf # use_system_v8=1 - # use_system_zlib=1 - # bzip2 jsoncpp minizip xdg_utils speex + # bzip2 xdg_utils speex # XXX: harfbuzz-ng use builtin one until system-wide is updated >=3.0.0 system=" - ffmpeg - flac - fontconfig - freetype - libdrm - libevent - libjpeg - libpng - libwebp - libxml - libxslt - opus - re2 - snappy + brotli + dav1d + dav1d + ffmpeg + flac + fontconfig + freetype + jsoncpp + libaom + libavif + libdrm + libevent + libjpeg + libpng + libwebp + libxml + libxslt + opus + re2 + snappy + woff2 + zlib " # remove build scripts for system provided dependencies - basically does the # same as the bundeled script to remove bundeled libs, but this way we don't # have to list the remaining libs for LIB in ${system} libjpeg_turbo; do - find -type f -path "*third_party/$LIB/*" \ - \! -path "*third_party/$LIB/chromium/*" \ - \! -path "*third_party/$LIB/google/*" \ + find "third_party/$LIB" -type f \ + \! -path "third_party/$LIB/chromium/*" \ + \! -path "third_party/$LIB/google/*" \ \! -path './base/third_party/icu/*' \ - \! -path './third_party/pdfium/third_party/freetype/include/pstables.h' \ \! -path './third_party/harfbuzz-ng/utils/hb_scoped.h' \ - \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \ - -delete + \! -regex '.*\.\(gn\|gni\|isolate\)' \ + -delete || : done # switch to system provided dependencies @@ -236,7 +234,7 @@ do_configure() { 'enable_hangout_services_extension=true' 'use_system_harfbuzz=false' - 'use_system_libwayland_server=true' + 'use_system_libwayland=true' 'use_system_wayland_scanner=true' 'use_qt=false'