pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/www/qt6-qtwebengine



Module Name:    pkgsrc
Committed By:   tnn
Date:           Sun Mar 29 16:57:04 UTC 2026

Modified Files:
        pkgsrc/www/qt6-qtwebengine: distinfo
        pkgsrc/www/qt6-qtwebengine/patches:
            patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c
            patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn
            patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c
Added Files:
        pkgsrc/www/qt6-qtwebengine/patches:
            patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc
            patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_target.h
            patch-src_3rdparty_chromium_third__party_dav1d_config_linux_arm64_config.h
            patch-src_3rdparty_chromium_third__party_dav1d_libdav1d_src_arm_cpu.c
            patch-src_3rdparty_gn_src_gn_args.cc

Log Message:
qt6-qtwebengine: implement runtime CPU detection for NetBSD/aarch64


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 pkgsrc/www/qt6-qtwebengine/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc \
    pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_target.h \
    pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_dav1d_config_linux_arm64_config.h \
    pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_dav1d_libdav1d_src_arm_cpu.c \
    pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_gn_src_gn_args.cc
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c \
    pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn \
    pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_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/qt6-qtwebengine/distinfo
diff -u pkgsrc/www/qt6-qtwebengine/distinfo:1.4 pkgsrc/www/qt6-qtwebengine/distinfo:1.5
--- pkgsrc/www/qt6-qtwebengine/distinfo:1.4     Sat Jan 31 08:01:14 2026
+++ pkgsrc/www/qt6-qtwebengine/distinfo Sun Mar 29 16:57:04 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.4 2026/01/31 08:01:14 markd Exp $
+$NetBSD: distinfo,v 1.5 2026/03/29 16:57:04 tnn Exp $
 
 BLAKE2s (kikadf-chromium-audioio-v130.0.tar.gz) = 45fe07cb8280f81b8ef490059002da426b59fe69b5ebd53951fe1dc3e9495a10
 SHA512 (kikadf-chromium-audioio-v130.0.tar.gz) = 840aed119dc69982f14fd5f4767e144bfc8a66672b660f0f05f5459070d7f6a36b8719ae7c0de049f7345dec39266759aedcdd5ee37aa4e98bcd2b44d06a3a4c
@@ -792,6 +792,8 @@ SHA1 (patch-src_3rdparty_chromium_third_
 SHA1 (patch-src_3rdparty_chromium_third__party_blink_renderer_platform_wtf_container__annotations.h) = f425805a50ae5f0b07b886b1e338bf055d53b1be
 SHA1 (patch-src_3rdparty_chromium_third__party_blink_renderer_platform_wtf_math__extras.h) = 6748c595e0a4ebfc6d0cf2b0f36a74f7f393f031
 SHA1 (patch-src_3rdparty_chromium_third__party_blink_renderer_platform_wtf_stack__util.cc) = f9290ad20511b1c7f78a49789037f3718aadd582
+SHA1 (patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc) = 08873c418be9e70633a9e9b95ece7150b7c38f1e
+SHA1 (patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_target.h) = fa43db86b01e30343aa58e55a37da7bea1d50b41
 SHA1 (patch-src_3rdparty_chromium_third__party_brotli_common_platform.h) = 2246c2c9135c6fd8e5fecb51a3c4fcda1a935183
 SHA1 (patch-src_3rdparty_chromium_third__party_cpuinfo_cpuinfo.gni) = 06732bf5faec7e58939bb46d8f81ab10df20b87c
 SHA1 (patch-src_3rdparty_chromium_third__party_crashpad_crashpad_build_crashpad__buildconfig.gni) = 824408609b62e5f54368fc97ed13c9d9b323c146
@@ -807,6 +809,8 @@ SHA1 (patch-src_3rdparty_chromium_third_
 SHA1 (patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_signals.cc) = ac090058943b52a508fce44e958d7f03d22930df
 SHA1 (patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc) = fa045385b45456a5dfebe1007951d096fa318536
 SHA1 (patch-src_3rdparty_chromium_third__party_crc32c_BUILD.gn) = cb6b21ecff03ac54032ecb554acb3bcbc5af84ef
+SHA1 (patch-src_3rdparty_chromium_third__party_dav1d_config_linux_arm64_config.h) = a9dbd1d7e9c266883408893266f35f19147d6920
+SHA1 (patch-src_3rdparty_chromium_third__party_dav1d_libdav1d_src_arm_cpu.c) = 334b8265f78e4d49c3c455a5dde6f2f3f1480960
 SHA1 (patch-src_3rdparty_chromium_third__party_dawn_include_dawn_native_VulkanBackend.h) = b25c7484d57d39eb45113653b19450dab8794577
 SHA1 (patch-src_3rdparty_chromium_third__party_dawn_src_dawn_common_Platform.h) = fedcd17e6aa2c10875c45ee291a90169e39b35c2
 SHA1 (patch-src_3rdparty_chromium_third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp) = b5b83663c12a569c0b1bd17d393d38593737ad6d
@@ -821,7 +825,7 @@ SHA1 (patch-src_3rdparty_chromium_third_
 SHA1 (patch-src_3rdparty_chromium_third__party_ipcz_src_reference__drivers_random.cc) = ba0a891a0d4965cbaa4b8fd9b4a05eda4f3452b4
 SHA1 (patch-src_3rdparty_chromium_third__party_ipcz_src_standalone_base_logging.cc) = bbac877e4349235ee5219c191d401f8af1912467
 SHA1 (patch-src_3rdparty_chromium_third__party_leveldatabase_env__chromium.cc) = 37961107b08698a2a82dd7dec2aa3b1ea986f2ca
-SHA1 (patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c) = 7f65641425dcb7a104a65b3ae0d8d0bc9f813493
+SHA1 (patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c) = 66abf8a98dc2563073168a6bdc411f363806dbe3
 SHA1 (patch-src_3rdparty_chromium_third__party_libc++_src_src_chrono.cpp) = 7a9ea7d759ba459349407150937aa750c527d875
 SHA1 (patch-src_3rdparty_chromium_third__party_libc++_src_src_filesystem_filesystem__clock.cpp) = ac41653c3ddf1630a5107eaf968fb0a8ef752554
 SHA1 (patch-src_3rdparty_chromium_third__party_libc++abi_src_src_cxa__guard__impl.h) = f28e250cb6b21c89a2bf7b548f68ba46c39089de
@@ -904,8 +908,8 @@ SHA1 (patch-src_3rdparty_chromium_third_
 SHA1 (patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h) = c9fd798d2df4b4d4de9ef6f55e0f3aa333e44c81
 SHA1 (patch-src_3rdparty_chromium_third__party_webrtc_system__wrappers_BUILD.gn) = 96cfc37e2fedbe1a5f8a1f69ab8f3212d9cdb013
 SHA1 (patch-src_3rdparty_chromium_third__party_widevine_cdm_widevine.gni) = c436d85e02e3b83899d21bc6f4ee2e4c078bf80a
-SHA1 (patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn) = fb018cc4c880fe2fd8a6772a97ce97d07edfe10d
-SHA1 (patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c) = 5e89223784c3e02b1a1fc1c76d8f282d7f9ad4f3
+SHA1 (patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn) = 341b746657e186e851e24aa84f34c646e2d8ff65
+SHA1 (patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c) = 0760f609d403831524964bf0e36d774ca0b7a298
 SHA1 (patch-src_3rdparty_chromium_tools_generate__stubs_rules.gni) = 6f46457dc136e1aec0ac211221f9762d58791557
 SHA1 (patch-src_3rdparty_chromium_tools_grit_grit_node_base.py) = d617dbdd658da4d54668235a9c30a0f6f753f3c9
 SHA1 (patch-src_3rdparty_chromium_tools_json__schema__compiler_cpp__bundle__generator.py) = c52a89f391eb78e8e2475f6abc07da99baf5c7ad
@@ -1061,6 +1065,7 @@ SHA1 (patch-src_3rdparty_chromium_v8_src
 SHA1 (patch-src_3rdparty_chromium_v8_src_trap-handler_trap-handler.h) = 3b0d491032a8c5094d638b2a0278a3cb7b346593
 SHA1 (patch-src_3rdparty_chromium_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h) = 5edc0269929f0011b439ea49328ae6a470908412
 SHA1 (patch-src_3rdparty_chromium_v8_tools_run-paxctl.py) = 0a2aa78fd50836fb66f6c7ec818739553e96a258
+SHA1 (patch-src_3rdparty_gn_src_gn_args.cc) = f88e3c9b4112c402515fc8a804d6ffa64b965db6
 SHA1 (patch-src_3rdparty_gn_src_gn_c__tool.cc) = 6167583fe68fd1238fcca76dc66a3e89fd494c25
 SHA1 (patch-src_3rdparty_gn_src_gn_ninja__binary__target__writer.cc) = 2cc5e43ab3c87ee7d965f1c88c6aac158c993e1d
 SHA1 (patch-src_3rdparty_gn_src_gn_tool.h) = c136d13d8be6e21d6d3441b3f8cae35245ef1081

Index: pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c
diff -u pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c:1.1 
pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c:1.2
--- pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c:1.1        Sun Dec 21 09:38:42 2025
+++ pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c    Sun Mar 29 16:57:04 2026
@@ -1,12 +1,12 @@
-$NetBSD: patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c,v 1.1 2025/12/21 09:38:42 markd Exp $
+$NetBSD: patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c,v 1.2 2026/03/29 16:57:04 tnn Exp $
 
 * Part of patchset to build chromium on NetBSD
 * Based on OpenBSD's chromium patches, and
   pkgsrc's qt5-qtwebengine patches
 
---- src/3rdparty/chromium/third_party/libaom/source/libaom/aom_ports/aarch64_cpudetect.c.orig  2024-12-17 17:58:49.000000000 +0000
+--- src/3rdparty/chromium/third_party/libaom/source/libaom/aom_ports/aarch64_cpudetect.c.orig  2026-01-23 19:06:19.000000000 +0000
 +++ src/3rdparty/chromium/third_party/libaom/source/libaom/aom_ports/aarch64_cpudetect.c
-@@ -127,10 +127,46 @@ static int arm_get_cpu_caps(void) {
+@@ -127,9 +127,98 @@ static int arm_get_cpu_caps(void) {
    return flags;
  }
  
@@ -15,6 +15,7 @@ $NetBSD: patch-src_3rdparty_chromium_thi
 +#include <sys/sysctl.h>
 +#include <machine/cpu.h>
 +#include <machine/armreg.h>
+ 
 +
 +static int arm_get_cpu_caps(void) {
 +  int flags = 0;
@@ -33,10 +34,62 @@ $NetBSD: patch-src_3rdparty_chromium_thi
 +  return flags;
 +}
 +
++#elif defined(__NetBSD__)
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#include <machine/armreg.h>
++#include <stdio.h>
++
++
++static int arm_get_cpu_caps(void) {
++  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_crc32 = 0;
++  int num_dp = 0;
++  int num_i8mm = 0;
++  int num_sve = 0;
++  int flags = HAS_NEON;
++
++  len = sizeof(ncpu);
++  if (sysctl(mib, 2, &ncpu, &len, NULL, 0) < 0)
++    return flags;
++
++  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_CRC32) >= ID_AA64ISAR0_EL1_CRC32_CRC32X)
++      num_crc32++;
++    if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_DP) >= ID_AA64ISAR0_EL1_DP_UDOT)
++      num_dp++;
++    if (__SHIFTOUT(id.ac_aa64isar1, ID_AA64ISAR1_EL1_I8MM) >= ID_AA64ISAR1_EL1_I8MM_SUPPORTED)
++      num_i8mm++;
++    if (__SHIFTOUT(id.ac_aa64pfr0, ID_AA64PFR0_EL1_SVE) >= ID_AA64PFR0_EL1_SVE_IMPL)
++      num_sve++;
++  }
++
++  if (num_crc32 == ncpu)
++    flags |= HAS_ARM_CRC32;
++  if (num_dp == ncpu)
++    flags |= HAS_NEON_DOTPROD;
++  if (num_i8mm == ncpu)
++    flags |= HAS_NEON_I8MM;
++  if (num_sve == ncpu)
++    flags |= HAS_SVE;
++
++  return flags;
++}
++
 +#elif defined(__linux__) || defined(__FreeBSD__)  // end defined(AOM_USE_ANDROID_CPU_FEATURES)
- 
++
  #include <sys/auxv.h>
- 
++
 +#if defined(__FreeBSD__)
 +static unsigned long getauxval(unsigned long type)
 +{
@@ -50,7 +103,6 @@ $NetBSD: patch-src_3rdparty_chromium_thi
 +    return ret;
 +}
 +#endif
-+
+ 
  // Define hwcap values ourselves: building with an old auxv header where these
  // hwcap values are not defined should not prevent features from being enabled.
- #define AOM_AARCH64_HWCAP_CRC32 (1 << 7)
Index: pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn
diff -u pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn:1.1 pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn:1.2
--- pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn:1.1       Sun Dec 21 09:38:45 2025
+++ pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn   Sun Mar 29 16:57:04 2026
@@ -1,12 +1,12 @@
-$NetBSD: patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn,v 1.1 2025/12/21 09:38:45 markd Exp $
+$NetBSD: patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn,v 1.2 2026/03/29 16:57:04 tnn Exp $
 
 * Part of patchset to build chromium on NetBSD
 * Based on OpenBSD's chromium patches, and
   pkgsrc's qt5-qtwebengine patches
 
---- src/3rdparty/chromium/third_party/zlib/BUILD.gn.orig       2024-12-17 17:58:49.000000000 +0000
-+++ src/3rdparty/chromium/third_party/zlib/BUILD.gn
-@@ -128,7 +128,7 @@ if (use_arm_neon_optimizations) {
+--- ./src/3rdparty/chromium/third_party/zlib/BUILD.gn.orig     2026-01-23 19:06:19.000000000 +0000
++++ ./src/3rdparty/chromium/third_party/zlib/BUILD.gn
+@@ -140,7 +140,7 @@ if (use_arm_neon_optimizations) {
      defines = [ "CRC32_ARMV8_CRC32" ]
      if (is_android) {
        defines += [ "ARMV8_OS_ANDROID" ]
@@ -15,7 +15,7 @@ $NetBSD: patch-src_3rdparty_chromium_thi
        defines += [ "ARMV8_OS_LINUX" ]
      } else if (is_mac) {
        defines += [ "ARMV8_OS_MACOS" ]
-@@ -138,6 +138,10 @@ if (use_arm_neon_optimizations) {
+@@ -150,6 +150,12 @@ if (use_arm_neon_optimizations) {
        defines += [ "ARMV8_OS_FUCHSIA" ]
      } else if (is_win) {
        defines += [ "ARMV8_OS_WINDOWS" ]
@@ -23,10 +23,12 @@ $NetBSD: patch-src_3rdparty_chromium_thi
 +      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")
      }
-@@ -413,7 +417,7 @@ static_library("minizip") {
+@@ -467,7 +473,7 @@ static_library("bundled_minizip") {
      ]
    }
  
Index: pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c
diff -u pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c:1.1 
pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c:1.2
--- pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c:1.1        Sun Dec 21 09:38:45 2025
+++ pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c    Sun Mar 29 16:57:04 2026
@@ -1,22 +1,23 @@
-$NetBSD: patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c,v 1.1 2025/12/21 09:38:45 markd Exp $
+$NetBSD: patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c,v 1.2 2026/03/29 16:57:04 tnn Exp $
 
 * Part of patchset to build chromium on NetBSD
 * Based on OpenBSD's chromium patches, and
   pkgsrc's qt5-qtwebengine patches
 
---- src/3rdparty/chromium/third_party/zlib/cpu_features.c.orig 2025-05-29 01:27:28.000000000 +0000
+--- src/3rdparty/chromium/third_party/zlib/cpu_features.c.orig 2026-01-23 19:06:19.000000000 +0000
 +++ src/3rdparty/chromium/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,19 +25,23 @@ $NetBSD: patch-src_3rdparty_chromium_thi
 +#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
-@@ -81,7 +86,7 @@ void ZLIB_INTERNAL cpu_check_features(vo
+@@ -81,7 +91,7 @@ void ZLIB_INTERNAL cpu_check_features(void)
  #elif 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(__ARM_NEON__) || defined(__ARM_NEON)
-+    defined(RISCV_RVV) || defined(__ARM_NEON__) || defined(__ARM_NEON) || defined(ARMV8_OS_OPENBSD) || defined(ARMV8_OS_FREEBSD)
++    defined(RISCV_RVV) || defined(__ARM_NEON__) || defined(__ARM_NEON) || defined(ARMV8_OS_OPENBSD) || 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 +127,17 @@ static void _cpu_check_features(void)
+@@ -122,6 +132,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);
@@ -51,6 +56,36 @@ $NetBSD: patch-src_3rdparty_chromium_thi
 +
 +    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/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc
diff -u /dev/null pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc:1.1
--- /dev/null   Sun Mar 29 16:57:04 2026
+++ pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc   Sun Mar 29 16:57:04 2026
@@ -0,0 +1,74 @@
+$NetBSD: patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.cc,v 1.1 2026/03/29 16:57:04 tnn Exp $
+
+Add NetBSD support.
+
+--- src/3rdparty/chromium/third_party/boringssl/src/crypto/cpu_aarch64_openbsd.cc.orig 2026-01-23 19:06:19.000000000 +0000
++++ src/3rdparty/chromium/third_party/boringssl/src/crypto/cpu_aarch64_openbsd.cc
+@@ -59,3 +59,67 @@ void OPENSSL_cpuid_setup(void) {
+ }
+ 
+ #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 <openssl/arm_arch.h>
++
++#include "internal.h"
++
++
++void OPENSSL_cpuid_setup(void) {
++  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/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_target.h
diff -u /dev/null pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_target.h:1.1
--- /dev/null   Sun Mar 29 16:57:04 2026
+++ pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_target.h  Sun Mar 29 16:57:04 2026
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_target.h,v 1.1 2026/03/29 16:57:04 tnn Exp $
+
+Add NetBSD support.
+
+--- src/3rdparty/chromium/third_party/boringssl/src/include/openssl/target.h.orig      2026-03-28 15:03:26.265395108 +0000
++++ src/3rdparty/chromium/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
Index: pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_dav1d_config_linux_arm64_config.h
diff -u /dev/null pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_dav1d_config_linux_arm64_config.h:1.1
--- /dev/null   Sun Mar 29 16:57:04 2026
+++ pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_dav1d_config_linux_arm64_config.h       Sun Mar 29 16:57:04 2026
@@ -0,0 +1,18 @@
+$NetBSD: patch-src_3rdparty_chromium_third__party_dav1d_config_linux_arm64_config.h,v 1.1 2026/03/29 16:57:04 tnn Exp $
+
+Add NetBSD support via kludge. Since it uses pregenerated config.
+
+--- src/3rdparty/chromium/third_party/dav1d/config/linux/arm64/config.h.orig   2026-03-29 09:29:22.523216258 +0000
++++ src/3rdparty/chromium/third_party/dav1d/config/linux/arm64/config.h
+@@ -67,7 +67,11 @@
+ 
+ #define HAVE_ELF_AUX_INFO 0
+ 
++#if defined(__NetBSD__)
++#define HAVE_GETAUXVAL 0
++#else
+ #define HAVE_GETAUXVAL 1
++#endif
+ 
+ #define HAVE_I8MM 1
+ 
Index: pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_dav1d_libdav1d_src_arm_cpu.c
diff -u /dev/null pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_dav1d_libdav1d_src_arm_cpu.c:1.1
--- /dev/null   Sun Mar 29 16:57:04 2026
+++ pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_chromium_third__party_dav1d_libdav1d_src_arm_cpu.c    Sun Mar 29 16:57:04 2026
@@ -0,0 +1,53 @@
+$NetBSD: patch-src_3rdparty_chromium_third__party_dav1d_libdav1d_src_arm_cpu.c,v 1.1 2026/03/29 16:57:04 tnn Exp $
+
+--- src/3rdparty/chromium/third_party/dav1d/libdav1d/src/arm/cpu.c.orig        2026-01-23 19:06:19.000000000 +0000
++++ src/3rdparty/chromium/third_party/dav1d/libdav1d/src/arm/cpu.c
+@@ -131,6 +131,48 @@ COLD unsigned dav1d_get_cpu_flags_arm(void) {
+      return flags;
+ }
+ 
++#elif defined(__NetBSD__) && ARCH_AARCH64
++#define _NETBSD_SOURCE 1 /* XXX may be too late for this */
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#include <machine/armreg.h>
++#include <stdio.h>
++
++COLD unsigned dav1d_get_cpu_flags_arm(void) {
++    unsigned flags = dav1d_get_default_cpu_flags();
++
++    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_dotprod = 0;
++    int num_i8mm = 0;
++
++    len = sizeof(ncpu);
++    if (sysctl(mib, 2, &ncpu, &len, NULL, 0) < 0)
++        return flags;
++
++    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_DP) >= ID_AA64ISAR0_EL1_DP_UDOT)
++            num_dotprod++;
++        if (__SHIFTOUT(id.ac_aa64isar1, ID_AA64ISAR1_EL1_I8MM) >= ID_AA64ISAR1_EL1_I8MM_SUPPORTED)
++            num_i8mm++;
++    }
++
++    if (num_dotprod == ncpu)
++        flags |= DAV1D_ARM_CPU_FLAG_DOTPROD;
++    if (num_i8mm == ncpu)
++        flags |= DAV1D_ARM_CPU_FLAG_I8MM;
++
++    return flags;
++}
++
+ #elif defined(_WIN32)
+ #include <windows.h>
+ 
Index: pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_gn_src_gn_args.cc
diff -u /dev/null pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_gn_src_gn_args.cc:1.1
--- /dev/null   Sun Mar 29 16:57:04 2026
+++ pkgsrc/www/qt6-qtwebengine/patches/patch-src_3rdparty_gn_src_gn_args.cc     Sun Mar 29 16:57:04 2026
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_3rdparty_gn_src_gn_args.cc,v 1.1 2026/03/29 16:57:04 tnn Exp $
+
+- Handle NetBSD/evbarm correctly (from wip/gn-git)
+
+--- src/3rdparty/gn/src/gn/args.cc.orig        2026-03-28 14:06:25.132164117 +0000
++++ src/3rdparty/gn/src/gn/args.cc
+@@ -358,6 +358,10 @@ void Args::SetSystemVarsLocked(Scope* dest) const {
+     arch = kX86;
+   else if (os_arch == "x86_64")
+     arch = kX64;
++  else if (os_arch == "evbarm" && sizeof(long) == 8)
++    arch = kArm64;
++  else if (os_arch == "evbarm" && sizeof(long) == 4)
++    arch = kArm;
+   else if (os_arch == "aarch64" || os_arch == "arm64")
+     arch = kArm64;
+   else if (os_arch.substr(0, 3) == "arm")



Home | Main Index | Thread Index | Old Index