pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/www/chromium
Module Name: pkgsrc
Committed By: tnn
Date: Sun Mar 29 19:18:49 UTC 2026
Modified Files:
pkgsrc/www/chromium: distinfo
pkgsrc/www/chromium/patches:
patch-third__party_webrtc_rtc__base_cpu__info.cc
patch-third__party_zlib_BUILD.gn
patch-third__party_zlib_cpu__features.c
Added Files:
pkgsrc/www/chromium/patches:
patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc
patch-third__party_boringssl_src_include_openssl_target.h
Log Message:
chromium: implement runtime CPU detection for NetBSD/aarch64
To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 pkgsrc/www/chromium/distinfo
cvs rdiff -u -r0 -r1.1 \
pkgsrc/www/chromium/patches/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc \
pkgsrc/www/chromium/patches/patch-third__party_boringssl_src_include_openssl_target.h
cvs rdiff -u -r1.12 -r1.13 \
pkgsrc/www/chromium/patches/patch-third__party_webrtc_rtc__base_cpu__info.cc
cvs rdiff -u -r1.16 -r1.17 \
pkgsrc/www/chromium/patches/patch-third__party_zlib_BUILD.gn \
pkgsrc/www/chromium/patches/patch-third__party_zlib_cpu__features.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/www/chromium/distinfo
diff -u pkgsrc/www/chromium/distinfo:1.35 pkgsrc/www/chromium/distinfo:1.36
--- pkgsrc/www/chromium/distinfo:1.35 Wed Mar 25 08:07:12 2026
+++ pkgsrc/www/chromium/distinfo Sun Mar 29 19:18:49 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.35 2026/03/25 08:07:12 kikadf Exp $
+$NetBSD: distinfo,v 1.36 2026/03/29 19:18:49 tnn Exp $
BLAKE2s (Inflector-0.11.4.crate) = 2f8b4a805230be3b58267c7fb6b9c26c2ec966378d195673d1128a851cca515d
SHA512 (Inflector-0.11.4.crate) = f1f6463e033b6d3c16c51dc1e1a3f5569954308b95b59058294b7f9310919bbda797e99e6a07529071bb83f0688867a243997d33795a7136b0af73977004296e
@@ -1746,6 +1746,8 @@ SHA1 (patch-third__party_blink_renderer_
SHA1 (patch-third__party_blink_renderer_platform_wtf_container__annotations.h) = 8b2af34eab32ea4a575ed05ad4ba5e645a69a62d
SHA1 (patch-third__party_blink_renderer_platform_wtf_math__extras.h) = 374a8c5409c0df333fd1919e7d838b7e3dcb26d8
SHA1 (patch-third__party_blink_renderer_platform_wtf_stack__util.cc) = ec569cc6ee0438b99b4cd6879565d8f6325c31bc
+SHA1 (patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc) = 069c4d4de357fc02cb5bdd813ab11eab54d3ce38
+SHA1 (patch-third__party_boringssl_src_include_openssl_target.h) = 2e0d758f07c46f718ad0502b63fbac179aa4b822
SHA1 (patch-third__party_brotli_common_platform.h) = 2a5402ccbd5f293f16f7ac13b0efc737eb805856
SHA1 (patch-third__party_cpuinfo_cpuinfo.gni) = 19fc26b0d9aad5b6c6cde4178fecad7d01b113b1
SHA1 (patch-third__party_crabbyavif_BUILD.gn) = 84d270468134419f80d2e5c7df814c24d10b3b2a
@@ -1873,7 +1875,7 @@ SHA1 (patch-third__party_webrtc_modules_
SHA1 (patch-third__party_webrtc_modules_portal_pipewire__utils.h) = 91c92067503c4bba89c2d9a1ab7f41f9441fee1f
SHA1 (patch-third__party_webrtc_modules_video__coding_codecs_av1_libaom__av1__encoder.cc) = b1362a6b41ed259b9487f025c1bec6f9ee2e3961
SHA1 (patch-third__party_webrtc_rtc__base_byte__order.h) = 9efcac94b0fc46a832a4bf66a89beda4d520587e
-SHA1 (patch-third__party_webrtc_rtc__base_cpu__info.cc) = 7572da337a55267fc380fd0f39a876e4f5bb9ac8
+SHA1 (patch-third__party_webrtc_rtc__base_cpu__info.cc) = ffe9e707ad08426bfb7c2271848fd61c203baa02
SHA1 (patch-third__party_webrtc_rtc__base_ip__address.cc) = f41bca32c967d4523ea4675f48e96219dcc708a1
SHA1 (patch-third__party_webrtc_rtc__base_net__helpers.cc) = 0ff389dbd207a81566635eaca25d2658be087678
SHA1 (patch-third__party_webrtc_rtc__base_network.cc) = 4bed6079f52fc6774a8599eef4c918395f1b4660
@@ -1881,8 +1883,8 @@ SHA1 (patch-third__party_webrtc_rtc__bas
SHA1 (patch-third__party_webrtc_rtc__base_physical__socket__server.h) = 5481cd559ac921472721f6f11958640a4150f0ec
SHA1 (patch-third__party_webrtc_rtc__base_platform__thread__types.cc) = 72763b7bd7f52fcdc2136a993b7ef041b414c728
SHA1 (patch-third__party_widevine_cdm_widevine.gni) = 7d9af4b55d8d048ba38ac3fba93ea40e722e9b81
-SHA1 (patch-third__party_zlib_BUILD.gn) = 8226a19604e1d0f9c2820d6469e52fc468dfdb52
-SHA1 (patch-third__party_zlib_cpu__features.c) = bc08eb27e4dec589f9e471f7ac0b3eec63c4fb90
+SHA1 (patch-third__party_zlib_BUILD.gn) = e8e7b8263e52161aa02d4be3e8cc936f06f261f5
+SHA1 (patch-third__party_zlib_cpu__features.c) = 39c414766d93aa0aca20ab91d9b982c2f856d092
SHA1 (patch-tools_code__cache__generator_BUILD.gn) = 4fe8df5ab270e836c08d185f47c9392662f3e7f1
SHA1 (patch-tools_generate__shim__headers_generate__shim__headers.py) = 158734dc4a587751272b12b35a390aca244bc414
SHA1 (patch-tools_generate__stubs_rules.gni) = 6cf1dbfefccc5a86f6d22b3d92c3aa56d06db329
Index: pkgsrc/www/chromium/patches/patch-third__party_webrtc_rtc__base_cpu__info.cc
diff -u pkgsrc/www/chromium/patches/patch-third__party_webrtc_rtc__base_cpu__info.cc:1.12 pkgsrc/www/chromium/patches/patch-third__party_webrtc_rtc__base_cpu__info.cc:1.13
--- pkgsrc/www/chromium/patches/patch-third__party_webrtc_rtc__base_cpu__info.cc:1.12 Sat Mar 14 12:40:43 2026
+++ pkgsrc/www/chromium/patches/patch-third__party_webrtc_rtc__base_cpu__info.cc Sun Mar 29 19:18:49 2026
@@ -1,30 +1,44 @@
-$NetBSD: patch-third__party_webrtc_rtc__base_cpu__info.cc,v 1.12 2026/03/14 12:40:43 kikadf Exp $
+$NetBSD: patch-third__party_webrtc_rtc__base_cpu__info.cc,v 1.13 2026/03/29 19:18:49 tnn Exp $
* Part of patchset to build chromium on NetBSD
* Based on OpenBSD's chromium patches, and
pkgsrc's qt5-qtwebengine patches
---- third_party/webrtc/rtc_base/cpu_info.cc.orig 2026-03-11 22:12:25.000000000 +0000
+--- third_party/webrtc/rtc_base/cpu_info.cc.orig 2026-03-20 23:29:56.000000000 +0000
+++ third_party/webrtc/rtc_base/cpu_info.cc
-@@ -37,7 +37,9 @@
+@@ -37,9 +37,13 @@
#include <intrin.h>
#endif
#if defined(WEBRTC_ARCH_ARM_FAMILY) && defined(WEBRTC_LINUX)
+#if !defined(WEBRTC_BSD)
#include <asm/hwcap.h>
+#endif
++#if !defined(__NetBSD__)
#include <sys/auxv.h>
#endif
++#endif
+
+ // Parts of this file derived from Chromium's base/cpu.cc.
-@@ -178,7 +180,11 @@ bool Supports(ISA instruction_set_archit
+@@ -178,11 +182,21 @@ bool Supports(ISA instruction_set_architecture) {
return 0 != (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON);
#elif defined(WEBRTC_LINUX)
uint64_t hwcap = 0;
-+#if defined(WEBRTC_BSD)
++#if defined(WEBRTC_BSD) && defined(__NetBSD__)
++ hwcap = 0;
++#elif defined(WEBRTC_BSD)
+ elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap));
+#else
hwcap = getauxval(AT_HWCAP);
+#endif
#if defined(__aarch64__)
++#if defined(__NetBSD__)
++ return true; /* No need to check. ASIMD/NEON mandatory in ARMV8.0-A */
++#else
if ((hwcap & HWCAP_ASIMD) != 0) {
return true;
+ }
++#endif
+ #else
+ if ((hwcap & HWCAP_NEON) != 0) {
+ return true;
Index: pkgsrc/www/chromium/patches/patch-third__party_zlib_BUILD.gn
diff -u pkgsrc/www/chromium/patches/patch-third__party_zlib_BUILD.gn:1.16 pkgsrc/www/chromium/patches/patch-third__party_zlib_BUILD.gn:1.17
--- pkgsrc/www/chromium/patches/patch-third__party_zlib_BUILD.gn:1.16 Sat Mar 14 12:40:43 2026
+++ pkgsrc/www/chromium/patches/patch-third__party_zlib_BUILD.gn Sun Mar 29 19:18:49 2026
@@ -1,10 +1,10 @@
-$NetBSD: patch-third__party_zlib_BUILD.gn,v 1.16 2026/03/14 12:40:43 kikadf Exp $
+$NetBSD: patch-third__party_zlib_BUILD.gn,v 1.17 2026/03/29 19:18:49 tnn Exp $
* Part of patchset to build chromium on NetBSD
* Based on OpenBSD's chromium patches, and
pkgsrc's qt5-qtwebengine patches
---- third_party/zlib/BUILD.gn.orig 2026-03-11 22:12:25.000000000 +0000
+--- third_party/zlib/BUILD.gn.orig 2026-03-20 23:29:56.000000000 +0000
+++ third_party/zlib/BUILD.gn
@@ -123,7 +123,7 @@ if (use_arm_neon_optimizations) {
defines = [ "CRC32_ARMV8_CRC32" ]
@@ -15,7 +15,7 @@ $NetBSD: patch-third__party_zlib_BUILD.g
defines += [ "ARMV8_OS_LINUX" ]
} else if (is_mac) {
defines += [ "ARMV8_OS_MACOS" ]
-@@ -133,6 +133,10 @@ if (use_arm_neon_optimizations) {
+@@ -133,6 +133,12 @@ if (use_arm_neon_optimizations) {
defines += [ "ARMV8_OS_FUCHSIA" ]
} else if (is_win) {
defines += [ "ARMV8_OS_WINDOWS" ]
@@ -23,10 +23,12 @@ $NetBSD: patch-third__party_zlib_BUILD.g
+ defines += [ "ARMV8_OS_OPENBSD" ]
+ } else if (is_freebsd) {
+ defines += [ "ARMV8_OS_FREEBSD" ]
++ } else if (is_netbsd) {
++ defines += [ "ARMV8_OS_NETBSD" ]
} else {
assert(false, "Unsupported ARM OS")
}
-@@ -414,7 +418,7 @@ static_library("minizip") {
+@@ -414,7 +420,7 @@ static_library("minizip") {
]
}
Index: pkgsrc/www/chromium/patches/patch-third__party_zlib_cpu__features.c
diff -u pkgsrc/www/chromium/patches/patch-third__party_zlib_cpu__features.c:1.16 pkgsrc/www/chromium/patches/patch-third__party_zlib_cpu__features.c:1.17
--- pkgsrc/www/chromium/patches/patch-third__party_zlib_cpu__features.c:1.16 Sat Mar 14 12:40:43 2026
+++ pkgsrc/www/chromium/patches/patch-third__party_zlib_cpu__features.c Sun Mar 29 19:18:49 2026
@@ -1,22 +1,23 @@
-$NetBSD: patch-third__party_zlib_cpu__features.c,v 1.16 2026/03/14 12:40:43 kikadf Exp $
+$NetBSD: patch-third__party_zlib_cpu__features.c,v 1.17 2026/03/29 19:18:49 tnn Exp $
* Part of patchset to build chromium on NetBSD
* Based on OpenBSD's chromium patches, and
pkgsrc's qt5-qtwebengine patches
---- third_party/zlib/cpu_features.c.orig 2026-03-11 22:12:25.000000000 +0000
+--- third_party/zlib/cpu_features.c.orig 2026-03-20 23:29:56.000000000 +0000
+++ third_party/zlib/cpu_features.c
-@@ -39,7 +39,8 @@ int ZLIB_INTERNAL riscv_cpu_enable_vclmu
+@@ -39,7 +39,9 @@ int ZLIB_INTERNAL riscv_cpu_enable_vclmul = 0;
#ifndef CPU_NO_SIMD
#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || \
- defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_IOS)
+ defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_IOS) || \
-+ defined(ARMV8_OS_OPENBSD) || defined(ARMV8_OS_FREEBSD)
++ defined(ARMV8_OS_OPENBSD) || defined(ARMV8_OS_FREEBSD) || \
++ defined(ARMV8_OS_NETBSD)
#include <pthread.h>
#endif
-@@ -56,6 +57,10 @@ int ZLIB_INTERNAL riscv_cpu_enable_vclmu
+@@ -56,6 +58,14 @@ int ZLIB_INTERNAL riscv_cpu_enable_vclmul = 0;
#include <windows.h>
#elif defined(ARMV8_OS_IOS)
#include <sys/sysctl.h>
@@ -24,20 +25,24 @@ $NetBSD: patch-third__party_zlib_cpu__fe
+#include <sys/sysctl.h>
+#include <machine/cpu.h>
+#include <machine/armreg.h>
++#elif defined(ARMV8_OS_NETBSD)
++#include <sys/sysctl.h>
++#include <machine/armreg.h>
++#include <stdio.h>
#elif !defined(_MSC_VER)
#include <pthread.h>
#else
-@@ -69,7 +74,8 @@ static void _cpu_check_features(void);
+@@ -69,7 +79,8 @@ static void _cpu_check_features(void);
#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || \
defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || \
defined(X86_NOT_WINDOWS) || defined(ARMV8_OS_IOS) || \
- defined(RISCV_RVV)
+ defined(RISCV_RVV) || defined(ARMV8_OS_OPENBSD) || \
-+ defined(ARMV8_OS_FREEBSD)
++ defined(ARMV8_OS_FREEBSD) || defined(ARMV8_OS_NETBSD)
#if !defined(ARMV8_OS_MACOS)
// _cpu_check_features() doesn't need to do anything on mac/arm since all
// features are known at build time, so don't call it.
-@@ -122,6 +128,17 @@ static void _cpu_check_features(void)
+@@ -122,6 +133,47 @@ static void _cpu_check_features(void)
unsigned long features = getauxval(AT_HWCAP2);
arm_cpu_enable_crc32 = !!(features & HWCAP2_CRC32);
arm_cpu_enable_pmull = !!(features & HWCAP2_PMULL);
@@ -52,6 +57,36 @@ $NetBSD: patch-third__party_zlib_cpu__fe
+
+ if (ID_AA64ISAR0_CRC32(cpu_id) >= ID_AA64ISAR0_CRC32_BASE)
+ arm_cpu_enable_crc32 = 1;
++#elif defined(ARMV8_OS_NETBSD)
++ size_t len;
++ unsigned int curcpu;
++ int mib[] = { CTL_HW, HW_NCPU };
++ int ncpu;
++ struct aarch64_sysctl_cpu_id id;
++ char path[32];
++ int num_pmull = 0;
++ int num_crc32 = 0;
++
++ len = sizeof(ncpu);
++ if (sysctl(mib, 2, &ncpu, &len, NULL, 0) < 0)
++ return;
++
++ for (curcpu = 0; curcpu < ncpu; curcpu++) {
++ len = sizeof(id);
++ snprintf(path, sizeof(path), "machdep.cpu%d.cpu_id", curcpu);
++ if (sysctlbyname(path, &id, &len, NULL, 0) < 0)
++ continue;
++
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_AES) >= ID_AA64ISAR0_EL1_AES_PMUL)
++ num_pmull++;
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_CRC32) >= ID_AA64ISAR0_EL1_CRC32_CRC32X)
++ num_crc32++;
++ }
++
++ if (num_pmull == ncpu)
++ arm_cpu_enable_pmull = 1;
++ if (num_crc32 == ncpu)
++ arm_cpu_enable_crc32 = 1;
#elif defined(ARMV8_OS_FUCHSIA)
uint32_t features;
zx_status_t rc = zx_system_get_features(ZX_FEATURE_KIND_CPU, &features);
Added files:
Index: pkgsrc/www/chromium/patches/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc
diff -u /dev/null pkgsrc/www/chromium/patches/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc:1.1
--- /dev/null Sun Mar 29 19:18:49 2026
+++ pkgsrc/www/chromium/patches/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc Sun Mar 29 19:18:49 2026
@@ -0,0 +1,74 @@
+$NetBSD: patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc,v 1.1 2026/03/29 19:18:49 tnn Exp $
+
+Add NetBSD support.
+
+--- third_party/boringssl/src/crypto/cpu_aarch64_openbsd.cc.orig 2026-03-20 23:29:56.000000000 +0000
++++ third_party/boringssl/src/crypto/cpu_aarch64_openbsd.cc
+@@ -43,3 +43,67 @@ void bssl::OPENSSL_cpuid_setup() {
+ }
+
+ #endif // OPENSSL_AARCH64 && OPENSSL_OPENBSD && !OPENSSL_STATIC_ARMCAP
++
++#if defined(OPENSSL_AARCH64) && defined(OPENSSL_NETBSD) && \
++ !defined(OPENSSL_STATIC_ARMCAP) && !defined(OPENSSL_NO_ASM)
++
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#include <machine/armreg.h>
++#include <stdio.h>
++
++#include "internal.h"
++
++using namespace bssl;
++
++
++void bssl::OPENSSL_cpuid_setup() {
++ size_t len;
++ unsigned int curcpu;
++ int mib[] = { CTL_HW, HW_NCPU };
++ int ncpu;
++ struct aarch64_sysctl_cpu_id id;
++ char path[32];
++ int num_aes = 0;
++ int num_pmull = 0;
++ int num_sha1 = 0;
++ int num_sha256 = 0;
++ int num_sha512 = 0;
++
++ OPENSSL_armcap_P |= ARMV7_NEON;
++
++ len = sizeof(ncpu);
++ if (sysctl(mib, 2, &ncpu, &len, NULL, 0) < 0)
++ return;
++
++ for (curcpu = 0; curcpu < ncpu; curcpu++) {
++ len = sizeof(id);
++ snprintf(path, sizeof(path), "machdep.cpu%d.cpu_id", curcpu);
++ if (sysctlbyname(path, &id, &len, NULL, 0) < 0)
++ continue;
++
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_AES) >= ID_AA64ISAR0_EL1_AES_AES)
++ num_aes++;
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_AES) >= ID_AA64ISAR0_EL1_AES_PMUL)
++ num_pmull++;
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_SHA1) >= ID_AA64ISAR0_EL1_SHA1_SHA1CPMHSU)
++ num_sha1++;
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_SHA2) >= ID_AA64ISAR0_EL1_SHA2_SHA256HSU)
++ num_sha256++;
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_SHA2) >= ID_AA64ISAR0_EL1_SHA2_SHA512HSU)
++ num_sha512++;
++ }
++
++ if (num_aes == ncpu)
++ OPENSSL_armcap_P |= ARMV8_AES;
++ if (num_pmull == ncpu)
++ OPENSSL_armcap_P |= ARMV8_PMULL;
++ if (num_sha1 == ncpu)
++ OPENSSL_armcap_P |= ARMV8_SHA1;
++ if (num_sha256 == ncpu)
++ OPENSSL_armcap_P |= ARMV8_SHA256;
++ if (num_sha512 == ncpu)
++ OPENSSL_armcap_P |= ARMV8_SHA512;
++}
++
++#endif // OPENSSL_AARCH64 && OPENSSL_NETBSD && !OPENSSL_STATIC_ARMCAP
Index: pkgsrc/www/chromium/patches/patch-third__party_boringssl_src_include_openssl_target.h
diff -u /dev/null pkgsrc/www/chromium/patches/patch-third__party_boringssl_src_include_openssl_target.h:1.1
--- /dev/null Sun Mar 29 19:18:49 2026
+++ pkgsrc/www/chromium/patches/patch-third__party_boringssl_src_include_openssl_target.h Sun Mar 29 19:18:49 2026
@@ -0,0 +1,17 @@
+$NetBSD: patch-third__party_boringssl_src_include_openssl_target.h,v 1.1 2026/03/29 19:18:49 tnn Exp $
+
+Add NetBSD support.
+
+--- third_party/boringssl/src/include/openssl/target.h.orig 2026-03-28 17:21:56.979756510 +0000
++++ third_party/boringssl/src/include/openssl/target.h
+@@ -175,6 +175,10 @@
+ #define OPENSSL_OPENBSD
+ #endif
+
++#if defined(__NetBSD__)
++#define OPENSSL_NETBSD
++#endif
++
+ // BoringSSL requires platform's locking APIs to make internal global state
+ // thread-safe, including the PRNG. On some single-threaded embedded platforms,
+ // locking APIs may not exist, so this dependency may be disabled with the
Home |
Main Index |
Thread Index |
Old Index