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