pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/www/firefox
Module Name: pkgsrc
Committed By: ryoon
Date: Wed Dec 24 15:26:41 UTC 2025
Modified Files:
pkgsrc/www/firefox: Makefile distinfo mozilla-common.mk
pkgsrc/www/firefox/files: node-wrapper.sh
pkgsrc/www/firefox/patches:
patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc
patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc
patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc
Added Files:
pkgsrc/www/firefox/patches:
patch-third__party_libwebrtc_modules_portal_portal__gn_moz.build
patch-third__party_libwebrtc_modules_video__capture_video__capture__internal__impl__gn_moz.build
Log Message:
www/firefox: Update to 146.0.1
* Disable pipewire under non-Linux explicitly.
* Update FFmpeg dependency to 8.
* Detect video(4) devices under NetBSD. It seems that NetBSD's uvideo(4) does
not support Windows Hello ready webcams yet.
Changelog:
146.0.1:
Fixed
* Improved overall stability by fixing crashes related to browsing, graphics,
and accessibility features. (Bugs 2001160, 1998185, 1998188)
* Fixed an issue where fingerprinting protection caused incorrect font
rendering on popular websites. (Bug 2000429)
* Fixed crashes related to media playback and GMP process shutdown. (Bug
2002697)
* Fixed an issue where desktop profile shortcuts were being unintentionally
removed when changing copied profile settings. (Bug 1998209)
* Improved sidebar text contrast when using vertical tabs with certain
themes. (Bug 2006091)
* When restoring from a backup, the restore success message will appear over
the new tab page instead of one of the tabs restored from a backup, to
avoid cases where the restored tab canceled the restore success message. (
Bug 2003307)
* Various security fixes.
Security fixes:
Mozilla Foundation Security Advisory 2025-98
#CVE-2025-14860: Use-after-free in the Disability Access APIs component
#CVE-2025-14861: Memory safety bugs fixed in Firefox 146.0.1
146.0:
New
* Windows 10 users can now automatically protect their passwords, bookmarks,
and more by turning on backup in Firefox. Your browsing data is saved daily
on your device and can be encrypted with a password. When you set up a
fresh install of Firefox on any operating system for a new device or your
current one, you can restore from this backup and pick up right where you
left off. This feature is currently available on Windows devices and will
be coming to other operating systems soon.
* MacOS users now have a dedicated GPU process by default. This includes
WebGPU, WebGL, and Firefox's own WebRender. With this feature enabled,
fatal errors in graphics code will no longer crash the browser, and will
instead transparently restart the GPU process.
* Firefox Labs is now available to all desktop users, regardless of whether
they choose to participate in studies or submit telemetry. This means more
experimental features are now available to more people.
* Users can now skip the results page and see direct results as they type in
the search bar for faster, simpler browsing.
* There is a New Tab Weather opt-in workflow available for users in the EU
and some other countries, where they can choose whether to enable location
detection or manually search for a location.
* Firefox now natively supports fractional scaled displays on Linux
(Wayland), making rendering more effective.
* For users of the English-language versions of Firefox in France, Germany,
and Italy, the address bar now shows English-language suggestions for
holidays and other important dates.
Fixed
* When the timepicker is enabled for <input type="time"> and <input type=
"datetime-local">, it now provides full keyboard and assistive technology
support. This update also improves the behavior of the time spin buttons
for users who prefer reduced motion. The Firefox Accessibility team hopes
that making the built-in timepicker accessible will encourage wider
adoption of browser-provided time and date inputs across the web, reducing
the need for custom controls, and improving accessibility for all users.
* Various security fixes.
Security fixes:
Mozilla Foundation Security Advisory 2025-92
#CVE-2025-14321: Use-after-free in the WebRTC: Signaling component
#CVE-2025-14322: Sandbox escape due to incorrect boundary conditions in the
Graphics: CanvasWebGL component
#CVE-2025-14323: Privilege escalation in the DOM: Notifications component
#CVE-2025-14324: JIT miscompilation in the JavaScript Engine: JIT component
#CVE-2025-14325: JIT miscompilation in the JavaScript Engine: JIT component
#CVE-2025-14326: Use-after-free in the Audio/Video: GMP component
#CVE-2025-14327: Spoofing issue in the Downloads Panel component
#CVE-2025-14328: Privilege escalation in the Netmonitor component
#CVE-2025-14329: Privilege escalation in the Netmonitor component
#CVE-2025-14330: JIT miscompilation in the JavaScript Engine: JIT component
#CVE-2025-14331: Same-origin policy bypass in the Request Handling component
#CVE-2025-14332: Memory safety bugs fixed in Firefox 146 and Thunderbird 146
#CVE-2025-14333: Memory safety bugs fixed in Firefox ESR 140.6, Thunderbird ESR
140.6, Firefox 146 and Thunderbird 146
To generate a diff of this commit:
cvs rdiff -u -r1.652 -r1.653 pkgsrc/www/firefox/Makefile
cvs rdiff -u -r1.572 -r1.573 pkgsrc/www/firefox/distinfo
cvs rdiff -u -r1.304 -r1.305 pkgsrc/www/firefox/mozilla-common.mk
cvs rdiff -u -r1.34 -r1.35 pkgsrc/www/firefox/files/node-wrapper.sh
cvs rdiff -u -r1.4 -r1.5 \
pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc \
pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc
cvs rdiff -u -r0 -r1.1 \
pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_portal_portal__gn_moz.build \
pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_video__capture__internal__impl__gn_moz.build
cvs rdiff -u -r1.2 -r1.3 \
pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/www/firefox/Makefile
diff -u pkgsrc/www/firefox/Makefile:1.652 pkgsrc/www/firefox/Makefile:1.653
--- pkgsrc/www/firefox/Makefile:1.652 Mon Dec 22 06:08:17 2025
+++ pkgsrc/www/firefox/Makefile Wed Dec 24 15:26:40 2025
@@ -1,18 +1,17 @@
-# $NetBSD: Makefile,v 1.652 2025/12/22 06:08:17 adam Exp $
+# $NetBSD: Makefile,v 1.653 2025/12/24 15:26:40 ryoon Exp $
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
-MOZ_BRANCH= 145.0
-MOZ_BRANCH_MINOR= .2
+MOZ_BRANCH= 146.0
+MOZ_BRANCH_MINOR= .1
DISTNAME= firefox-${FIREFOX_VER}.source
PKGNAME= ${DISTNAME:S/.source//:S/b/beta/:S/esr//}
-PKGREVISION= 1
CATEGORIES= www
MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
MASTER_SITES+= ${MASTER_SITE_MOZILLA_ALL:=firefox/releases/${FIREFOX_VER}/source/}
EXTRACT_SUFX= .tar.xz
-NODEJSKIT= nodejs-output-144.0.tgz
+NODEJSKIT= nodejs-output-146.0.1.tgz
DISTFILES= ${DEFAULT_DISTFILES} ${NODEJSKIT}
SITES.${NODEJSKIT}= ${MASTER_SITE_LOCAL}
Index: pkgsrc/www/firefox/distinfo
diff -u pkgsrc/www/firefox/distinfo:1.572 pkgsrc/www/firefox/distinfo:1.573
--- pkgsrc/www/firefox/distinfo:1.572 Mon Dec 15 21:09:16 2025
+++ pkgsrc/www/firefox/distinfo Wed Dec 24 15:26:40 2025
@@ -1,11 +1,11 @@
-$NetBSD: distinfo,v 1.572 2025/12/15 21:09:16 gutteridge Exp $
+$NetBSD: distinfo,v 1.573 2025/12/24 15:26:40 ryoon Exp $
-BLAKE2s (firefox-145.0.2.source.tar.xz) = 5e6c16d0a55df4f928a6e77519bd9413fd82308d053a62c637b7af23406662fc
-SHA512 (firefox-145.0.2.source.tar.xz) = 99d28daf7054c80bc521c8b73d1cf5c1beb77ac9b66904fdbb5890f89ddf5b12a2715deaf867ed86a4806cf4f44952f7bcceb38cc5f2faf9290b0a07be823418
-Size (firefox-145.0.2.source.tar.xz) = 642269800 bytes
-BLAKE2s (nodejs-output-144.0.tgz) = 5c8b90a5d17c56467480bdf0a8f1884d14972c8f4163d293463834721f9a4432
-SHA512 (nodejs-output-144.0.tgz) = 6bb2a8975660c68d37b09da5d3f8f0af9bd9a826ca6cb836ef41ca3e7c0c5a902e37b6cbfac5871177688fc1d808b2e07a4e0d0a705470bfa3e368053bc079fd
-Size (nodejs-output-144.0.tgz) = 248214 bytes
+BLAKE2s (firefox-146.0.1.source.tar.xz) = 97e4144e54e4f520b637ccd6a3634b8e18c1a2c0ec169482e2e066c586861b2e
+SHA512 (firefox-146.0.1.source.tar.xz) = ae95b86e483febf8dfec8347748dd9048ed7d7f845250e07aa8048e2b351da61f6f3c5f83bb0d0c72e1a75ec61b60e59bbe69639f0f33532910ff8bf5ca07394
+Size (firefox-146.0.1.source.tar.xz) = 648938528 bytes
+BLAKE2s (nodejs-output-146.0.1.tgz) = 325dc3d29b5fa5492bfd77905caf0030db0b61b8b8db6317cf4097d236435714
+SHA512 (nodejs-output-146.0.1.tgz) = 847a32df3759e2650b6897794a66036c99ed727849f39a545671d47385de3610766e64f5f329e5d35d0bdf261d585db1b1bc0815900b3558a4db184833c71699
+Size (nodejs-output-146.0.1.tgz) = 249292 bytes
SHA1 (patch-browser_app_profile_firefox.js) = 1eaa674c0aa8279e2f9dc2eda582650a08156d65
SHA1 (patch-build_gn__processor.py) = 078f773104bf4c1b30584564aefe365db6ba6daf
SHA1 (patch-build_moz.configure_init.configure) = 65deb3c233df0aab81eb1fca05d708e5a4ed169a
@@ -39,11 +39,13 @@ SHA1 (patch-python_mozbuild_mozbuild_bac
SHA1 (patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.cc) = b1067a6804470f7e365f347683b7d505853fd799
SHA1 (patch-third__party_abseil-cpp_absl_debugging_internal_vdso__support.cc) = f9c44d0d6fd952296f23c24f56053958b30d8e5c
SHA1 (patch-third__party_js_cfworker_build.sh) = 46cdf97b99cf01080f290ae8d9a33b5f869fc3e4
-SHA1 (patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc) = 927532138175f99f96433d24060f65a2a919d2d1
+SHA1 (patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc) = 127284a1a9b6e12581d325f5a5aadae443b0e57b
SHA1 (patch-third__party_libwebrtc_modules_desktop__capture_desktop__capture__gn_moz.build) = f53af8e5383f31b5de7df21f80eb53d60c11eae1
SHA1 (patch-third__party_libwebrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc) = 89f8f8eb5dcb877e0c70120f742050f1b32676fb
-SHA1 (patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc) = 8831d477f14fd4f8f735ff0c1a322cba8c70e277
-SHA1 (patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc) = 8111952a107eb2cd665525ddd0e27c79eee3c1cd
+SHA1 (patch-third__party_libwebrtc_modules_portal_portal__gn_moz.build) = 9a1ad764d5df7e19da8d370edf12f7ae07e4c8e3
+SHA1 (patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc) = a4b04c390f93ffbc79e049f532251bfa00376eff
+SHA1 (patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc) = 9f1e606242b2ab2625dabc06f25b593f4721d387
+SHA1 (patch-third__party_libwebrtc_modules_video__capture_video__capture__internal__impl__gn_moz.build) = 2a214979769cbf57b1d534610e524138aac7fc2b
SHA1 (patch-third__party_libwebrtc_modules_video__capture_video__capture__options.cc) = e15f7e365ef6d57cd262f920f49c4d73f3a13305
SHA1 (patch-third__party_libwebrtc_rtc__base_memory__usage.cc) = a831145ba15b30d30c6e6e216b574d416253ed4a
SHA1 (patch-third__party_libwebrtc_rtc__base_physical__socket__server.cc) = 6909c4da9e7b3785252e5bce9be0ff47ebb87e01
Index: pkgsrc/www/firefox/mozilla-common.mk
diff -u pkgsrc/www/firefox/mozilla-common.mk:1.304 pkgsrc/www/firefox/mozilla-common.mk:1.305
--- pkgsrc/www/firefox/mozilla-common.mk:1.304 Fri Nov 14 20:47:01 2025
+++ pkgsrc/www/firefox/mozilla-common.mk Wed Dec 24 15:26:40 2025
@@ -1,4 +1,4 @@
-# $NetBSD: mozilla-common.mk,v 1.304 2025/11/14 20:47:01 tsutsui Exp $
+# $NetBSD: mozilla-common.mk,v 1.305 2025/12/24 15:26:40 ryoon Exp $
#
# common Makefile fragment for mozilla packages based on gecko 2.0.
#
@@ -25,7 +25,7 @@ USE_LANGUAGES+= c c++
# XXX: As of 145.0
GCC_REQD+= 10
-TOOL_DEPENDS+= cbindgen>=0.28.0:../../devel/cbindgen
+TOOL_DEPENDS+= cbindgen>=0.29.1:../../devel/cbindgen
.if defined(FIREFOX_MAINTAINER) && !defined(MAINTAINER_INTERNAL)
TOOL_DEPENDS+= nodejs-[0-9]*:../../lang/nodejs
@@ -278,7 +278,7 @@ RUST_REQ= 1.82.0
# TODO: check again, pkgsrc has hunspell 1.7
# was: textproc/hunspell 1.3 is too old
#.include "../../textproc/hunspell/buildlink3.mk"
-.include "../../multimedia/ffmpeg7/buildlink3.mk"
+.include "../../multimedia/ffmpeg8/buildlink3.mk"
.include "../../x11/libXt/buildlink3.mk"
.include "../../x11/libXtst/buildlink3.mk"
BUILDLINK_API_DEPENDS.pixman+= pixman>=0.40
Index: pkgsrc/www/firefox/files/node-wrapper.sh
diff -u pkgsrc/www/firefox/files/node-wrapper.sh:1.34 pkgsrc/www/firefox/files/node-wrapper.sh:1.35
--- pkgsrc/www/firefox/files/node-wrapper.sh:1.34 Mon Oct 27 14:24:32 2025
+++ pkgsrc/www/firefox/files/node-wrapper.sh Wed Dec 24 15:26:40 2025
@@ -1,6 +1,6 @@
#! /bin/sh
-VERS=v24.10.0
+VERS=v25.2.1
if [ "$1" = "-v" ] || [ "$1" = "--version" ]; then
printf "${VERS}\n"
Index: pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc
diff -u pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc:1.4
pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc:1.5
--- pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc:1.4 Mon Oct 27 14:24:33 2025
+++ pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc Wed Dec 24 15:26:41 2025
@@ -1,17 +1,17 @@
-$NetBSD: patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc,v 1.4 2025/10/27 14:24:33 ryoon Exp $
+$NetBSD: patch-third__party_libwebrtc_modules_audio__device_audio__device__impl.cc,v 1.5 2025/12/24 15:26:41 ryoon Exp $
---- third_party/libwebrtc/modules/audio_device/audio_device_impl.cc.orig 2025-10-03 13:18:12.000000000 +0000
+--- third_party/libwebrtc/modules/audio_device/audio_device_impl.cc.orig 2025-11-28 13:14:41.000000000 +0000
+++ third_party/libwebrtc/modules/audio_device/audio_device_impl.cc
-@@ -33,7 +33,7 @@
- #if defined(WEBRTC_WINDOWS_CORE_AUDIO_BUILD)
+@@ -28,7 +28,7 @@
+
+ #if defined(WEBRTC_WIN)
#include "modules/audio_device/win/audio_device_core_win.h"
- #endif
-#elif defined(WEBRTC_LINUX)
+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
#if defined(WEBRTC_ENABLE_LINUX_ALSA)
#include "modules/audio_device/linux/audio_device_alsa_linux.h"
#endif
-@@ -151,6 +151,11 @@ int32_t AudioDeviceModuleImpl::CheckPlat
+@@ -146,6 +146,11 @@ int32_t AudioDeviceModuleImpl::CheckPlat
#elif defined(WEBRTC_FUCHSIA)
platform = kPlatformFuchsia;
RTC_LOG(LS_INFO) << "current platform is Fuchsia";
@@ -23,7 +23,7 @@ $NetBSD: patch-third__party_libwebrtc_mo
#endif
if (platform == kPlatformNotSupported) {
RTC_LOG(LS_ERROR)
-@@ -204,7 +209,7 @@ int32_t AudioDeviceModuleImpl::CreatePla
+@@ -199,7 +204,7 @@ int32_t AudioDeviceModuleImpl::CreatePla
// 'rtc_include_pulse_audio' build flag.
// TODO(bugs.webrtc.org/9127): improve support and make it more clear that
// PulseAudio is the default selection.
Index: pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc
diff -u pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc:1.4
pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc:1.5
--- pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc:1.4 Tue Jul 15 13:58:05 2025
+++ pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc Wed Dec 24 15:26:41 2025
@@ -1,50 +1,10 @@
-$NetBSD: patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc,v 1.4 2025/07/15 13:58:05 ryoon Exp $
+$NetBSD: patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc,v 1.5 2025/12/24 15:26:41 ryoon Exp $
* Fix build under NetBSD 9 and older.
The older NetBSD's sys/videoio.h does not have v4l2_capability.device_caps.
---- third_party/libwebrtc/modules/video_capture/linux/device_info_v4l2.cc.orig 2025-05-17 19:55:48.000000000 +0000
+--- third_party/libwebrtc/modules/video_capture/linux/device_info_v4l2.cc.orig 2025-12-11 01:10:40.995051175 +0000
+++ third_party/libwebrtc/modules/video_capture/linux/device_info_v4l2.cc
-@@ -52,14 +52,14 @@
- #define V4L2_PIX_FMT_RGBA32 v4l2_fourcc('A', 'B', '2', '4')
- #endif
-
--#ifdef WEBRTC_LINUX
-+#ifdef WEBRTC_LINUX || WEBRTC_BSD
- #define EVENT_SIZE ( sizeof (struct inotify_event) )
- #define BUF_LEN ( 1024 * ( EVENT_SIZE + 16 ) )
- #endif
-
- namespace webrtc {
- namespace videocapturemodule {
--#ifdef WEBRTC_LINUX
-+#ifdef WEBRTC_LINUX || WEBRTC_BSD
- void DeviceInfoV4l2::HandleEvent(inotify_event* event, int fd)
- {
- if (event->mask & IN_CREATE) {
-@@ -175,11 +175,11 @@ void DeviceInfoV4l2::InotifyProcess()
- #endif
-
- DeviceInfoV4l2::DeviceInfoV4l2() : DeviceInfoImpl()
--#ifdef WEBRTC_LINUX
-+#ifdef WEBRTC_LINUX || WEBRTC_BSD
- , _isShutdown(false)
- #endif
- {
--#ifdef WEBRTC_LINUX
-+#ifdef WEBRTC_LINUX || WEBRTC_BSD
- _inotifyEventThread = rtc::PlatformThread::SpawnJoinable(
- [this] {
- InotifyProcess();
-@@ -192,7 +192,7 @@ int32_t DeviceInfoV4l2::Init() {
- }
-
- DeviceInfoV4l2::~DeviceInfoV4l2() {
--#ifdef WEBRTC_LINUX
-+#ifdef WEBRTC_LINUX || WEBRTC_BSD
- _isShutdown = true;
-
- if (!_inotifyEventThread.empty()) {
@@ -211,11 +211,13 @@ uint32_t DeviceInfoV4l2::NumberOfDevices
for (int n = 0; n < 64; n++) {
snprintf(device, sizeof(device), "/dev/video%d", n);
@@ -59,37 +19,7 @@ $NetBSD: patch-third__party_libwebrtc_mo
close(fd);
count++;
-@@ -243,11 +245,13 @@ int32_t DeviceInfoV4l2::GetDeviceName(ui
- for (int n = 0; n < 64; n++) {
- snprintf(device, sizeof(device), "/dev/video%d", n);
- if ((fd = open(device, O_RDONLY)) != -1) {
-+#if defined(VIDIOC_QUERYCAP)
- // query device capabilities and make sure this is a video capture device
- if (ioctl(fd, VIDIOC_QUERYCAP, &cap) < 0 || !IsVideoCaptureDevice(&cap)) {
- close(fd);
- continue;
- }
-+#endif
- if (count == deviceNumber) {
- // Found the device
- found = true;
-@@ -318,6 +322,7 @@ int32_t DeviceInfoV4l2::CreateCapability
- if (fd == -1)
- continue;
-
-+#if defined(VIDIOC_QUERYCAP)
- // query device capabilities
- struct v4l2_capability cap;
- if (ioctl(fd, VIDIOC_QUERYCAP, &cap) == 0) {
-@@ -342,6 +347,7 @@ int32_t DeviceInfoV4l2::CreateCapability
- }
- }
- }
-+#endif
- close(fd); // close since this is not the matching device
- }
-
-@@ -387,11 +393,15 @@ bool DeviceInfoV4l2::IsDeviceNameMatches
+@@ -387,11 +389,15 @@ bool DeviceInfoV4l2::IsDeviceNameMatches
bool DeviceInfoV4l2::IsVideoCaptureDevice(struct v4l2_capability* cap)
{
@@ -100,7 +30,7 @@ $NetBSD: patch-third__party_libwebrtc_mo
return cap->capabilities & V4L2_CAP_VIDEO_CAPTURE;
}
+#else
-+ return cap->capabilities & V4L2_CAP_VIDEO_CAPTURE;
++ return true;
+#endif
}
Index: pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc
diff -u pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc:1.2
pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc:1.3
--- pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc:1.2 Tue Jan 24 17:57:09 2023
+++ pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc Wed Dec 24 15:26:41 2025
@@ -1,11 +1,14 @@
-$NetBSD: patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc,v 1.2 2023/01/24 17:57:09 nia Exp $
+$NetBSD: patch-third__party_libwebrtc_modules_video__capture_linux_video__capture__v4l2.cc,v 1.3 2025/12/24 15:26:41 ryoon Exp $
* Fix build under NetBSD 9 and older.
The older NetBSD's sys/videoio.h does not have v4l2_capability.device_caps.
+* On NetBSD, some uvideo(4) devices are not usable. They returns
+ fmt.pixelformat as zero from VIDIOC_ENUM_FMT. Exclude unsupported devices
+ in early stage.
---- third_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.cc.orig 2022-10-06 21:19:29.000000000 +0000
+--- third_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.cc.orig 2025-12-05 17:43:20.000000000 +0000
+++ third_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.cc
-@@ -77,6 +77,7 @@ int32_t VideoCaptureModuleV4L2::Init(con
+@@ -90,18 +90,28 @@ int32_t VideoCaptureModuleV4L2::Init(con
if ((fd = open(device, O_RDONLY)) != -1) {
// query device capabilities
struct v4l2_capability cap;
@@ -13,7 +16,23 @@ $NetBSD: patch-third__party_libwebrtc_mo
if (ioctl(fd, VIDIOC_QUERYCAP, &cap) == 0) {
if (cap.bus_info[0] != 0) {
if (strncmp((const char*)cap.bus_info,
-@@ -89,6 +90,7 @@ int32_t VideoCaptureModuleV4L2::Init(con
+ (const char*)deviceUniqueIdUTF8,
+ strlen((const char*)deviceUniqueIdUTF8)) ==
+ 0) { // match with device id
+- close(fd);
+- found = true;
+- break; // fd matches with device unique id supplied
++ struct v4l2_fmtdesc fmt;
++ memset(&fmt, 0, sizeof(fmt));
++ fmt.index = 0;
++ fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
++ if (ioctl(fd, VIDIOC_ENUM_FMT, &fmt) == 0) {
++ if (fmt.pixelformat != 0) {
++ close(fd);
++ found = true;
++ break; // fd matches with device unique id supplied
++ }
++ }
}
}
}
Added files:
Index: pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_portal_portal__gn_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_portal_portal__gn_moz.build:1.1
--- /dev/null Wed Dec 24 15:26:41 2025
+++ pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_portal_portal__gn_moz.build Wed Dec 24 15:26:41 2025
@@ -0,0 +1,29 @@
+$NetBSD: patch-third__party_libwebrtc_modules_portal_portal__gn_moz.build,v 1.1 2025/12/24 15:26:41 ryoon Exp $
+
+--- third_party/libwebrtc/modules/portal/portal_gn/moz.build.orig 2025-12-02 15:14:25.832556602 +0000
++++ third_party/libwebrtc/modules/portal/portal_gn/moz.build
+@@ -41,7 +41,8 @@ DEFINES["WEBRTC_MOZILLA_BUILD"] = True
+ DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0"
+ DEFINES["WEBRTC_POSIX"] = True
+ DEFINES["WEBRTC_STRICT_FIELD_TRIALS"] = "0"
+-DEFINES["WEBRTC_USE_PIPEWIRE"] = True
++if CONFIG["OS_TARGET"] == "Linux":
++ DEFINES["WEBRTC_USE_PIPEWIRE"] = True
+ DEFINES["_FILE_OFFSET_BITS"] = "64"
+ DEFINES["_GLIBCXX_ASSERTIONS"] = "1"
+ DEFINES["_GNU_SOURCE"] = True
+@@ -67,10 +68,13 @@ LOCAL_INCLUDES += [
+ ]
+
+ UNIFIED_SOURCES += [
+- "/third_party/libwebrtc/modules/portal/pipewire_utils.cc",
+ "/third_party/libwebrtc/modules/portal/scoped_glib.cc",
+ "/third_party/libwebrtc/modules/portal/xdg_desktop_portal_utils.cc"
+ ]
++if CONFIG["OS_TARGET"] == "Linux":
++ UNIFIED_SOURCES += [
++ "/third_party/libwebrtc/modules/portal/pipewire_utils.cc"
++ ]
+
+ if not CONFIG["MOZ_DEBUG"]:
+
Index: pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_video__capture__internal__impl__gn_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_video__capture__internal__impl__gn_moz.build:1.1
--- /dev/null Wed Dec 24 15:26:41 2025
+++ pkgsrc/www/firefox/patches/patch-third__party_libwebrtc_modules_video__capture_video__capture__internal__impl__gn_moz.build Wed Dec 24 15:26:41 2025
@@ -0,0 +1,40 @@
+$NetBSD: patch-third__party_libwebrtc_modules_video__capture_video__capture__internal__impl__gn_moz.build,v 1.1 2025/12/24 15:26:41 ryoon Exp $
+
+--- third_party/libwebrtc/modules/video_capture/video_capture_internal_impl_gn/moz.build.orig 2025-12-02 15:13:29.385557469 +0000
++++ third_party/libwebrtc/modules/video_capture/video_capture_internal_impl_gn/moz.build
+@@ -282,7 +282,7 @@ if CONFIG["OS_TARGET"] == "Android" and
+ "-msse2"
+ ]
+
+-if CONFIG["TARGET_CPU"] == "aarch64" and (CONFIG["OS_TARGET"] == "Linux" or CONFIG["OS_TARGET"] == "NetBSD" or CONFIG["OS_TARGET"] == "OpenBSD" or CONFIG["OS_TARGET"] == "FreeBSD"):
++if CONFIG["TARGET_CPU"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux":
+
+ DEFINES["WEBRTC_USE_PIPEWIRE"] = True
+ DEFINES["_GNU_SOURCE"] = True
+@@ -299,7 +299,7 @@ if CONFIG["TARGET_CPU"] == "aarch64" and
+ "/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.cc"
+ ]
+
+-if CONFIG["TARGET_CPU"] == "arm" and (CONFIG["OS_TARGET"] == "Linux" or CONFIG["OS_TARGET"] == "NetBSD" or CONFIG["OS_TARGET"] == "OpenBSD" or CONFIG["OS_TARGET"] == "FreeBSD"):
++if CONFIG["TARGET_CPU"] == "arm" and CONFIG["OS_TARGET"] == "Linux":
+
+ DEFINES["WEBRTC_USE_PIPEWIRE"] = True
+ DEFINES["_GNU_SOURCE"] = True
+@@ -316,7 +316,7 @@ if CONFIG["TARGET_CPU"] == "arm" and (CO
+ "/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.cc"
+ ]
+
+-if CONFIG["TARGET_CPU"] == "x86" and (CONFIG["OS_TARGET"] == "Linux" or CONFIG["OS_TARGET"] == "NetBSD" or CONFIG["OS_TARGET"] == "OpenBSD" or CONFIG["OS_TARGET"] == "FreeBSD"):
++if CONFIG["TARGET_CPU"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
+
+ CXXFLAGS += [
+ "-msse2"
+@@ -337,7 +337,7 @@ if CONFIG["TARGET_CPU"] == "x86" and (CO
+ "/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.cc"
+ ]
+
+-if CONFIG["TARGET_CPU"] == "x86_64" and (CONFIG["OS_TARGET"] == "Linux" or CONFIG["OS_TARGET"] == "NetBSD" or CONFIG["OS_TARGET"] == "OpenBSD" or CONFIG["OS_TARGET"] == "FreeBSD"):
++if CONFIG["TARGET_CPU"] == "x86_64" and CONFIG["OS_TARGET"] == "Linux":
+
+ DEFINES["WEBRTC_USE_PIPEWIRE"] = True
+ DEFINES["_GNU_SOURCE"] = True
Home |
Main Index |
Thread Index |
Old Index