pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/mail/thunderbird
Module Name: pkgsrc
Committed By: ryoon
Date: Wed Sep 23 08:48:58 UTC 2026
Modified Files:
pkgsrc/mail/thunderbird: Makefile PLIST distinfo mozilla-common.mk
pkgsrc/mail/thunderbird/patches: patch-config_makefiles_rust.mk
patch-nsprpub_pr_src_pthreads_ptsynch.c
Log Message:
mail/thunderbird: Update to 156.0.1
Changelog:
156.0.1:
What's Fixed
fixed
Thunderbird could crash when saving a message
156.0:
What's New
new
OpenPGP key properties can print debug information to the Error Console
new
External browser login flow enabled for Yandex
new
Custom OAuth support for issuer ID and client secret field for IMAP and POP3
new
Custom OAuth support for POP3
new
Enterprise policy DisableUpdateSettings prevents users from changing update
settings
new
Enterprise policy DisableDataCollectionSettings prevents users from changing
data collection setting
new
Enterprise policy DisableMessageForwardingFilters prevents message filters from
automatically forwarding messages
What's Changed
changed
Preference mail.offer_experimental_features renamed to
mail.experimental_features_settings.enabled
changed
Thundermail built-in add-on updated to v2.0.11
What's Fixed
fixed
Detached attachment links were truncated when folder path contained &
fixed
Opening a PDF attachment in a tab displayed empty tab
fixed
POP3 folders with names over 55 characters could become duplicated after
upgrading
fixed
Folders with invalid filename characters could show hashed names if cache was
lost
fixed
Save All, Detach All, and Delete All failed after deleting one attachment
fixed
Renaming folders could reset folder settings
fixed
Subscribing an IMAP folder and subfolder together failed to subscribe the
subfolder
fixed
Some newly fetched POP messages were not marked with new star after startup
fixed
Sorting after deleting the only child message removed the parent from view
fixed
OpenPGP signing failed with external GnuPG when the primary key could not sign
fixed
Remote content could load in encrypted messages opened from files
fixed
Sent message with expired S/MIME certificate wrongly showed untrusted CA
warning
fixed
PDF attachments from compose windows could wrongly be detected as HTML
fixed
Saving unconfirmed recipients could create invalid address pills with >>
fixed
External browser OAuth failed when a browser preconnection closed first
fixed
Users could not set up custom OAuth for Exchange accounts
fixed
Pressing Enter on Windows system tray icon did not restore Thunderbird window
fixed
Inline attachments incorrectly changed the message channel content type
fixed
Message loading was slow while discovering large numbers of IMAP folders
fixed
SMTP authentication failed when usernames contained non-ASCII characters
fixed
Unsupported EWS archive folder prevented all mailbox folders from syncing
fixed
Manual Get Messages failed after startup until toggling offline mode
fixed
Case differences in CalDAV email addresses caused duplicate invitations
fixed
Accepted CalDAV invitations could be saved to the wrong calendar
fixed
Visual and UX improvements
fixed
Security fixes
Security fixes:
Mozilla Foundation Security Advisory 2026-94
#CVE-2026-92238: Ambiguous parsing of mail headers
#CVE-2026-92239: Buffer overrun in IMAP
#CVE-2026-92240: Out-of-bounds read in IMAP response parser
#CVE-2026-92005: Use-after-free in the Audio/Video: Web Codecs component
#CVE-2026-92006: Privilege escalation due to incorrect boundary conditions in
the Graphics: CanvasWebGL component
#CVE-2026-92007: Privilege escalation due to incorrect boundary conditions in
the Graphics: CanvasWebGL component
#CVE-2026-92008: Privilege escalation due to incorrect boundary conditions in
the Graphics: CanvasWebGL component
#CVE-2026-92009: Privilege escalation due to incorrect boundary conditions in
the Graphics: CanvasWebGL component
#CVE-2026-92010: Privilege escalation due to incorrect boundary conditions in
the Graphics: CanvasWebGL component
#CVE-2026-92011: Privilege escalation due to incorrect boundary conditions in
the Graphics: CanvasWebGL component
#CVE-2026-92012: Privilege escalation due to incorrect boundary conditions in
the Graphics: CanvasWebGL component
#CVE-2026-92013: Privilege escalation due to incorrect boundary conditions in
the Graphics: CanvasWebGL component
#CVE-2026-92015: Privilege escalation in the WebExtensions component
#CVE-2026-92034: Site isolation issue in the Graphics component
#CVE-2026-92035: Sandbox escape due to incorrect boundary conditions in the
Graphics component
#CVE-2026-92016: Use-after-free in the Disability Access APIs component
#CVE-2026-92017: Privilege escalation in the DOM: Service Workers component
#CVE-2026-92018: Sandbox escape in the DOM: Core & HTML component
#CVE-2026-92019: Mitigation bypass in the Remote Settings Client component
#CVE-2026-92020: Privilege escalation due to incorrect boundary conditions in
the Graphics: WebRender component
#CVE-2026-92022: Use-after-free in the DOM: HTML Parser component
#CVE-2026-92023: Use-after-free in the XML component
#CVE-2026-92024: Use-after-free in the SVG component
#CVE-2026-92025: Use-after-free in the DOM: Navigation component
#CVE-2026-92026: Use-after-free in the Networking component
#CVE-2026-92036: Incorrect boundary conditions in the Networking: HTTP
component
#CVE-2026-92027: Use-after-free in the DOM: Streams component
#CVE-2026-92028: Use-after-free in the DOM: Core & HTML component
#CVE-2026-92029: Use-after-free in the SVG component
#CVE-2026-92037: Incorrect boundary conditions in the DOM: Animation component
#CVE-2026-92038: Mitigation bypass in the Remote Settings Client component
#CVE-2026-92039: Mitigation bypass in the DOM: Notifications component
#CVE-2026-92040: Use-after-free in the JavaScript: WebAssembly component
#CVE-2026-92041: Mitigation bypass in the DOM: Networking component
#CVE-2026-92042: Race condition in the DOM: Content Processes component
#CVE-2026-92043: Privilege escalation due to incorrect boundary conditions in
the Audio/Video component
#CVE-2026-92044: Information disclosure in the Networking: HTTP component
#CVE-2026-92045: Sandbox escape due to incorrect boundary conditions in the
WebRTC component
#CVE-2026-92030: Mitigation bypass in the DOM: Copy & Paste and Drag & Drop
component
#CVE-2026-92046: Use-after-free in the Graphics component
#CVE-2026-92047: Privilege escalation in the Crash Reporting component
#CVE-2026-92048: Sandbox escape due to incorrect boundary conditions in the
Widget: Win32 component
#CVE-2026-92049: Use-after-free in the Widget: Win32 component
#CVE-2026-92050: Sandbox escape due to race condition in the XPConnect
component
#CVE-2026-92051: Spoofing issue due to invalid pointer in the Graphics
component
#CVE-2026-92052: Privilege escalation due to uninitialized memory in the
Graphics: CanvasWebGL component
#CVE-2026-92053: Privilege escalation in the Graphics: CanvasWebGL component
#CVE-2026-92054: Privilege escalation in the Memory component
#CVE-2026-92055: Privilege escalation in the DevTools component
#CVE-2026-92056: Use-after-free in the Graphics: Text component
#CVE-2026-92057: Mitigation bypass in the Enterprise Policies component
#CVE-2026-92031: Information disclosure in the Graphics: ImageLib component
#CVE-2026-92032: Sandbox escape due to invalid pointer in the Graphics
component
#CVE-2026-92058: Use-after-free in the Graphics component
#CVE-2026-92059: Incorrect boundary conditions in the DOM: Editor component
#CVE-2026-92060: Use-after-free in the Internationalization component
#CVE-2026-92061: Incorrect boundary conditions in the Security: Process
Sandboxing component
#CVE-2026-92062: Privilege escalation in the Session Restore component
#CVE-2026-92063: Denial-of-service in the Audio/Video component
#CVE-2026-92064: Sandbox escape due to incorrect boundary conditions in the
Widget: Win32 component
#CVE-2026-92065: Sandbox escape due to incorrect boundary conditions in the
Widget: Win32 component
#CVE-2026-92066: Sandbox escape in the Profile Backup component
#CVE-2026-92067: Use-after-free in the Widget: Gtk component
#CVE-2026-92068: Site isolation issue in the Reader Mode component
#CVE-2026-92069: Spoofing issue in the DOM: Navigation component
#CVE-2026-92070: Information disclosure in the Networking component
#CVE-2026-92071: Sandbox escape due to incorrect boundary conditions in the
Widget: Win32 component
#CVE-2026-92072: Incorrect boundary conditions in the Safe Browsing component
#CVE-2026-92073: Privilege escalation in the Enterprise Policies component
#CVE-2026-92074: Mitigation bypass in the Popup Blocker component
#CVE-2026-92075: Mitigation bypass in the Networking component
#CVE-2026-92076: Incorrect boundary conditions in the Networking component
#CVE-2026-92077: Denial-of-service in the SVG component
#CVE-2026-92078: Denial-of-service in the Security component
#CVE-2026-92079: Mitigation bypass in the Widget: Win32 component
To generate a diff of this commit:
cvs rdiff -u -r1.368 -r1.369 pkgsrc/mail/thunderbird/Makefile
cvs rdiff -u -r1.98 -r1.99 pkgsrc/mail/thunderbird/PLIST
cvs rdiff -u -r1.300 -r1.301 pkgsrc/mail/thunderbird/distinfo
cvs rdiff -u -r1.30 -r1.31 pkgsrc/mail/thunderbird/mozilla-common.mk
cvs rdiff -u -r1.7 -r1.8 \
pkgsrc/mail/thunderbird/patches/patch-config_makefiles_rust.mk
cvs rdiff -u -r1.4 -r1.5 \
pkgsrc/mail/thunderbird/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/mail/thunderbird/Makefile
diff -u pkgsrc/mail/thunderbird/Makefile:1.368 pkgsrc/mail/thunderbird/Makefile:1.369
--- pkgsrc/mail/thunderbird/Makefile:1.368 Wed Sep 2 19:03:21 2026
+++ pkgsrc/mail/thunderbird/Makefile Wed Sep 23 08:48:57 2026
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.368 2026/09/02 19:03:21 wiz Exp $
+# $NetBSD: Makefile,v 1.369 2026/09/23 08:48:57 ryoon Exp $
DISTNAME= thunderbird-${TB_VER}.source
PKGNAME= thunderbird-${TB_VER:S/esr//}
-PKGREVISION= 1
-TB_VER= 154.0
+TB_VER= 155.0.1
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_MOZILLA:=thunderbird/releases/${TB_VER}/source/}
EXTRACT_SUFX= .tar.xz
@@ -51,45 +50,6 @@ BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-rpat
CHECK_WRKREF_SKIP+= lib/${MOZILLA_NAME}/omni.ja
-#
-# Generate list of subst entries for various .cargo-checksum.json files. These
-# are all handled together in one big substitution to simplify things rather
-# than one substitution entry per file, but are kept separate below to ease
-# updating and verification.
-#
-
-#CKSUM_CRATES+= comm/third_party/rust/minimal-lexical
-#
-## touch comm/third_party/rust/minimal-lexical/.gitmodules
-#CKSUMS+= 6976207a02c7160a3a1d076c5fae10fe4b78f58cdc0aa66ae47f3855b3c392fb
-#CKSUMS+= e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-
-#CKSUM_CRATES+= comm/third_party/rust/sfv
-#
-## touch comm/third_party/rust/sfv/.gitmodules
-#CKSUMS+= caa4f75b6a87c4a0f2e7d8d0d5fa2ef3f726fb0ae7797af09bfa3d57c4721148
-#CKSUMS+= e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-
-#CKSUM_CRATES+= comm/third_party/rust/glslopt
-#
-## touch comm/third_party/rust/glslopt/.gitmodules
-#CKSUMS+= ffc0cce90e856d4f4bdb3bd3c950c9e59501a45ebd5022b91cfe8c07c79ef1ac
-#CKSUMS+= e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-
-CKSUM_CRATES+= third_party/rust/mtu
-
-CKSUMS+= 9fbb89ab042627182477b35adc61eed71cffada9d3d5d522766d6d369ad02d80
-CKSUMS+= 986f84f01a44521224c7a7c1b1883cc6a4f89cbcb24b36844bfffea5f285747e
-
-SUBST_CLASSES+= cksum
-SUBST_STAGE.cksum= pre-configure
-.for crate in ${CKSUM_CRATES}
-SUBST_FILES.cksum+= ${crate}/.cargo-checksum.json
-.endfor
-.for from to in ${CKSUMS}
-SUBST_SED.cksum+= -e 's,${from},${to},g'
-.endfor
-
PRINT_PLIST_AWK+= /\/${MOZILLA}\// { gsub(/\/${MOZILLA}\//, "/$${MOZILLA}/") }
PRINT_PLIST_AWK+= /\/${MOZILLA}.png$$/ { gsub(/\/${MOZILLA}.png$$/, "/$${MOZILLA}.png") }
PRINT_PLIST_AWK+= /\/${MOZILLA}.desktop$$/ { gsub(/\/${MOZILLA}.desktop$$/, "/$${MOZILLA}.desktop") }
Index: pkgsrc/mail/thunderbird/PLIST
diff -u pkgsrc/mail/thunderbird/PLIST:1.98 pkgsrc/mail/thunderbird/PLIST:1.99
--- pkgsrc/mail/thunderbird/PLIST:1.98 Sun May 18 00:54:58 2025
+++ pkgsrc/mail/thunderbird/PLIST Wed Sep 23 08:48:57 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.98 2025/05/18 00:54:58 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.99 2026/09/23 08:48:57 ryoon Exp $
bin/thunderbird
lib/thunderbird/application.ini
lib/thunderbird/chrome/icons/default/TB-symbolic.svg
@@ -19,7 +19,7 @@ lib/thunderbird/chrome/icons/default/msg
lib/thunderbird/defaults/messenger/mailViews.dat
lib/thunderbird/defaults/pref/channel-prefs.js
lib/thunderbird/dependentlibs.list
-lib/thunderbird/glxtest
+lib/thunderbird/gfxtest
lib/thunderbird/interesting_serverknobs.json
lib/thunderbird/isp/Bogofilter.sfd
lib/thunderbird/isp/DSPAM.sfd
@@ -43,7 +43,6 @@ lib/thunderbird/rnp-cli
lib/thunderbird/rnpkeys
lib/thunderbird/thunderbird
lib/thunderbird/thunderbird-bin
-lib/thunderbird/vaapitest
share/applications/thunderbird.desktop
share/pixmaps/thunderbird.png
@pkgdir lib/thunderbird/extensions
Index: pkgsrc/mail/thunderbird/distinfo
diff -u pkgsrc/mail/thunderbird/distinfo:1.300 pkgsrc/mail/thunderbird/distinfo:1.301
--- pkgsrc/mail/thunderbird/distinfo:1.300 Sun Aug 30 10:26:05 2026
+++ pkgsrc/mail/thunderbird/distinfo Wed Sep 23 08:48:57 2026
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.300 2026/08/30 10:26:05 ryoon Exp $
+$NetBSD: distinfo,v 1.301 2026/09/23 08:48:57 ryoon Exp $
-BLAKE2s (thunderbird-154.0.source.tar.xz) = c33328c8278ad347c20a3c9ead15483bf23c26ee92dcb82f05bffe45abc94e03
-SHA512 (thunderbird-154.0.source.tar.xz) = aebdc5f0f4788124128a77b8a329767fa0f6d1d46c41ca6fd45889368e4e964a7a82a41f5367e825da0d544eff61d4da07dff2e6eb13f72c935bed79a184c5a8
-Size (thunderbird-154.0.source.tar.xz) = 950250240 bytes
+BLAKE2s (thunderbird-155.0.1.source.tar.xz) = f68efb1036ee0cc446665bb6c0b77ed1a8e6fb62a0c9210dda56cb3b83b2fb9b
+SHA512 (thunderbird-155.0.1.source.tar.xz) = f0811a90cdad910d0265a37e18a36f2f51185b4a50f7f7647938a7ca1bd31f5bc49572954a5039a9e7e87dc2b4f98bb32f1dc393199c3304d8e87cf36b6c89f0
+Size (thunderbird-155.0.1.source.tar.xz) = 945085524 bytes
SHA1 (patch-browser_app_profile_firefox.js) = 1eaa674c0aa8279e2f9dc2eda582650a08156d65
SHA1 (patch-build_gn__processor.py) = 078f773104bf4c1b30584564aefe365db6ba6daf
SHA1 (patch-build_moz.configure_init.configure) = 65deb3c233df0aab81eb1fca05d708e5a4ed169a
@@ -12,7 +12,7 @@ SHA1 (patch-comm_mailnews_search_src_nsM
SHA1 (patch-comm_third__party_libgcrypt_configure) = c5ca8a8b44c485f81139b54d341ac044189d98d3
SHA1 (patch-comm_third__party_openpgp.configure) = 674e8a741d82f576549aa0bb44465d3a2577a212
SHA1 (patch-config_gcc-stl-wrapper.template.h) = b5b4f2aef747836b09584b77d6332a7010963b0b
-SHA1 (patch-config_makefiles_rust.mk) = 25eb2d4c99ace2b215917490f28ceb90ab90145f
+SHA1 (patch-config_makefiles_rust.mk) = 62c823e5f11f047a54c7ebcce7534469c3f0d515
SHA1 (patch-dom_base_nsAttrName.h) = ac7ba441a3b27df2855cf2673eea36b1cb44ad49
SHA1 (patch-dom_canvas_WebGLMethodDispatcher.h) = 78f6e44116a939615523339fb73ac93f40777749
SHA1 (patch-dom_media_mediacapabilities_MediaCapabilitiesValidation.cpp) = 2f471067387bb63d530ba1299f0542d3b3a785b6
@@ -42,7 +42,7 @@ SHA1 (patch-media_libpng_pngpriv.h) = ee
SHA1 (patch-memory_build_mozjemalloc__types.h) = af87ef935653cb845a6b702af2f5645a6ada27db
SHA1 (patch-mozglue_misc_Now.cpp) = 760724be1bdc4ca6e19edaf2c8df6dd84192d93f
SHA1 (patch-netwerk_protocol_http_nsHttpHandler.cpp) = 67493b4635041d21ff9fbfda80b3197fed542a26
-SHA1 (patch-nsprpub_pr_src_pthreads_ptsynch.c) = 753fd4d62088c870aefe7c4b739286259848446e
+SHA1 (patch-nsprpub_pr_src_pthreads_ptsynch.c) = c99c3ce679f4196fc3baaf65051471a13d6fe8cd
SHA1 (patch-python_mozbuild_mozbuild_backend_recursivemake.py) = 5be4183d9075f5a3a3c6b3e0338473af185fb50e
SHA1 (patch-python_sites_build.txt) = f03f059bbe79bfdf7f1db5475279edb3c9d6ebed
SHA1 (patch-python_sites_mach.txt) = be62d091430daaa2ceeff3aff07f71275896352f
Index: pkgsrc/mail/thunderbird/mozilla-common.mk
diff -u pkgsrc/mail/thunderbird/mozilla-common.mk:1.30 pkgsrc/mail/thunderbird/mozilla-common.mk:1.31
--- pkgsrc/mail/thunderbird/mozilla-common.mk:1.30 Sun Aug 30 10:26:05 2026
+++ pkgsrc/mail/thunderbird/mozilla-common.mk Wed Sep 23 08:48:57 2026
@@ -1,4 +1,4 @@
-# $NetBSD: mozilla-common.mk,v 1.30 2026/08/30 10:26:05 ryoon Exp $
+# $NetBSD: mozilla-common.mk,v 1.31 2026/09/23 08:48:57 ryoon Exp $
#
# common Makefile fragment for mozilla packages based on gecko 2.0.
#
@@ -31,8 +31,13 @@ CFLAGS.NetBSD+= -D_NETBSD_SOURCE
TOOL_DEPENDS+= cbindgen>=0.29.4:../../devel/cbindgen
+.if defined(FIREFOX_MAINTAINER) && !defined(MAINTAINER_INTERNAL)
BUILDLINK_DEPMETHOD.nodejs= build
.include "../../lang/nodejs/nodeversion.mk"
+USE_TOOLS+= diff
+.else
+CONFIGURE_ENV+= NODEJS="${FILESDIR}/node-wrapper.sh"
+.endif
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
TOOL_DEPENDS+= nasm>=2.14:../../devel/nasm
@@ -40,6 +45,20 @@ TOOL_DEPENDS+= yasm>=1.1:../../devel/ya
CFLAGS+= -msse2
.endif
+CKSUM_CRATES+= third_party/rust/mtu
+
+CKSUMS+= 9fbb89ab042627182477b35adc61eed71cffada9d3d5d522766d6d369ad02d80
+CKSUMS+= 986f84f01a44521224c7a7c1b1883cc6a4f89cbcb24b36844bfffea5f285747e
+
+SUBST_CLASSES+= cksum
+SUBST_STAGE.cksum= pre-configure
+.for crate in ${CKSUM_CRATES}
+SUBST_FILES.cksum+= ${crate}/.cargo-checksum.json
+.endfor
+.for from to in ${CKSUMS}
+SUBST_SED.cksum+= -e 's,${from},${to},g'
+.endfor
+
# This is to work around build failures where an upstream configuration script
# is confused by having more than one approximate match to MACHINE_GNU_PLATFORM
# "i486" when attempting to select the Rust compiler target.
@@ -135,7 +154,7 @@ CONFIGURE_ARGS+= --without-wasm-sandboxe
SUBST_CLASSES+= fix-libpci-soname
SUBST_STAGE.fix-libpci-soname= pre-configure
SUBST_MESSAGE.fix-libpci-soname= Fixing libpci soname
-SUBST_FILES.fix-libpci-soname+= ${MOZILLA_DIR}toolkit/xre/glxtest/glxtest.cpp
+SUBST_FILES.fix-libpci-soname+= ${MOZILLA_DIR}toolkit/xre/gfxtest/glxtest.cpp
SUBST_SED.fix-libpci-soname+= -e 's,"libpci.so, "lib${PCIUTILS_LIBNAME}.so,'
.if ${MACHINE_PLATFORM:MNetBSD-*-i386}
@@ -202,7 +221,11 @@ ALL_ENV+= MOZ_APP_NAME=${MOZILLA}
# Build outside ${WRKSRC}
# Try to avoid conflict with config/makefiles/xpidl/Makefile.in
+.if ${MAINTAINER_INTERNAL:Uno} == "yes"
+OBJDIR= ../no-node-build
+.else
OBJDIR= ../build
+.endif
CONFIGURE_DIRS= ${OBJDIR}
CONFIGURE_SCRIPT= ${WRKSRC}/configure
@@ -256,9 +279,9 @@ BUILDLINK_API_DEPENDS.libevent+= libeven
# See build/moz.configure/nspr.configure
BUILDLINK_API_DEPENDS.nspr+= nspr>=4.34
.include "../../devel/nspr/buildlink3.mk"
-#.include "../../textproc/icu/buildlink3.mk"
+#.include "../../textproc/iCu/buildlink3.mk"
# See build/moz.configure/nss.configure
-BUILDLINK_API_DEPENDS.nss+= nss>=3.126
+BUILDLINK_API_DEPENDS.nss+= nss>=3.126.1
.include "../../devel/nss/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
#.include "../../mk/jpeg.buildlink3.mk"
Index: pkgsrc/mail/thunderbird/patches/patch-config_makefiles_rust.mk
diff -u pkgsrc/mail/thunderbird/patches/patch-config_makefiles_rust.mk:1.7 pkgsrc/mail/thunderbird/patches/patch-config_makefiles_rust.mk:1.8
--- pkgsrc/mail/thunderbird/patches/patch-config_makefiles_rust.mk:1.7 Tue Nov 4 17:24:34 2025
+++ pkgsrc/mail/thunderbird/patches/patch-config_makefiles_rust.mk Wed Sep 23 08:48:57 2026
@@ -1,4 +1,4 @@
-$NetBSD: patch-config_makefiles_rust.mk,v 1.7 2025/11/04 17:24:34 ryoon Exp $
+$NetBSD: patch-config_makefiles_rust.mk,v 1.8 2026/09/23 08:48:57 ryoon Exp $
NetBSD doesn't get along with parallel rust builds (it causes issues
with ld.so) which are the default. Force -j1.
@@ -6,19 +6,19 @@ with ld.so) which are the default. Force
Use less memory to fix build under NetBSD/i386.
From: https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
---- config/makefiles/rust.mk.orig 2025-10-03 13:17:55.000000000 +0000
+--- config/makefiles/rust.mk.orig 2026-08-26 21:11:39.000000000 +0000
+++ config/makefiles/rust.mk
-@@ -60,6 +60,9 @@ ifdef MOZ_TSAN
- cargo_build_flags += -Zbuild-std=std,panic_abort
- RUSTFLAGS += -Zsanitizer=thread
+@@ -65,6 +65,9 @@ endif
+ endif
+ endif
endif
+ifeq ($(OS_ARCH),NetBSD)
+cargo_build_flags += @RUST_MAKE_JOBS@
+endif
- rustflags_sancov =
- ifndef MOZ_TSAN
-@@ -101,7 +104,8 @@ ifndef rustflags_sancov
+ # Without -j > 1, make will not pass jobserver info down to cargo. Force
+ # one job when requested as a special case.
+@@ -91,7 +94,8 @@ ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))
# Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
ifndef MOZ_CODE_COVERAGE
ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
Index: pkgsrc/mail/thunderbird/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c
diff -u pkgsrc/mail/thunderbird/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c:1.4 pkgsrc/mail/thunderbird/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c:1.5
--- pkgsrc/mail/thunderbird/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c:1.4 Wed Apr 30 03:47:13 2025
+++ pkgsrc/mail/thunderbird/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c Wed Sep 23 08:48:57 2026
@@ -1,4 +1,4 @@
-$NetBSD: patch-nsprpub_pr_src_pthreads_ptsynch.c,v 1.4 2025/04/30 03:47:13 ryoon Exp $
+$NetBSD: patch-nsprpub_pr_src_pthreads_ptsynch.c,v 1.5 2026/09/23 08:48:57 ryoon Exp $
firefox: Workaround broken pthread_equal() usage
@@ -8,105 +8,105 @@ Problems detected on NetBSD 9.99.46.
https://bugzilla.mozilla.org/show_bug.cgi?id=1718838
---- nsprpub/pr/src/pthreads/ptsynch.c.orig 2024-11-25 14:49:12.865195781 +0000
+--- nsprpub/pr/src/pthreads/ptsynch.c.orig 2026-08-26 21:11:48.000000000 +0000
+++ nsprpub/pr/src/pthreads/ptsynch.c
-@@ -25,6 +25,13 @@ static pthread_condattr_t _pt_cvar_attr;
+@@ -24,6 +24,13 @@ extern PTDebug pt_debug; /* this is shared between sev
extern PTDebug pt_debug; /* this is shared between several modules */
- # endif /* defined(DEBUG) */
+ #endif /* defined(DEBUG) */
-+/* XXX, pthread_equal() is misused to compare non-valid thread pointers */
++/* XXX, pt_pthread_equal() is misused to compare non-valid thread pointers */
+static int
-+pt_pthread_equal(pthread_t t1, pthread_t t2)
++pt_pt_pthread_equal(pthread_t t1, pthread_t t2)
+{
+ return t1 == t2;
+}
+
- # if defined(FREEBSD)
+ #if defined(FREEBSD)
/*
* On older versions of FreeBSD, pthread_mutex_trylock returns EDEADLK.
-@@ -181,9 +188,9 @@ PR_IMPLEMENT(PRStatus) PR_Unlock(PRLock*
- PR_ASSERT(lock != NULL);
- PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex));
- PR_ASSERT(PR_TRUE == lock->locked);
-- PR_ASSERT(pthread_equal(lock->owner, self));
-+ PR_ASSERT(pt_pthread_equal(lock->owner, self));
-
-- if (!lock->locked || !pthread_equal(lock->owner, self)) {
-+ if (!lock->locked || !pt_pthread_equal(lock->owner, self)) {
- return PR_FAILURE;
- }
-
-@@ -207,7 +214,7 @@ PR_IMPLEMENT(void) PR_AssertCurrentThrea
- * to the correctness of PR_AssertCurrentThreadOwnsLock(), but
- * this particular order makes the assertion more likely to
- * catch errors. */
-- PR_ASSERT(lock->locked && pthread_equal(lock->owner, pthread_self()));
-+ PR_ASSERT(lock->locked && pt_pthread_equal(lock->owner, pthread_self()));
+@@ -194,9 +201,9 @@ PR_Unlock(PRLock* lock)
+ PR_ASSERT(lock != NULL);
+ PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex));
+ PR_ASSERT(PR_TRUE == lock->locked);
+- PR_ASSERT(pthread_equal(lock->owner, self));
++ PR_ASSERT(pt_pthread_equal(lock->owner, self));
+
+- if (!lock->locked || !pthread_equal(lock->owner, self)) {
++ if (!lock->locked || !pt_pthread_equal(lock->owner, self)) {
+ return PR_FAILURE;
+ }
+
+@@ -222,7 +229,7 @@ PR_AssertCurrentThreadOwnsLock(PRLock* lock)
+ * to the correctness of PR_AssertCurrentThreadOwnsLock(), but
+ * this particular order makes the assertion more likely to
+ * catch errors. */
+- PR_ASSERT(lock->locked && pthread_equal(lock->owner, pthread_self()));
++ PR_ASSERT(lock->locked && pt_pthread_equal(lock->owner, pthread_self()));
}
/**************************************************************/
-@@ -260,7 +267,7 @@ static void pt_PostNotifyToCvar(PRCondVa
- _PT_Notified* notified = &cvar->lock->notified;
+@@ -279,7 +286,7 @@ pt_PostNotifyToCvar(PRCondVar* cvar, PRBool broadcast)
+ _PT_Notified* notified = &cvar->lock->notified;
+
+ PR_ASSERT(PR_TRUE == cvar->lock->locked);
+- PR_ASSERT(pthread_equal(cvar->lock->owner, pthread_self()));
++ PR_ASSERT(pt_pthread_equal(cvar->lock->owner, pthread_self()));
+ PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(cvar->lock->mutex));
+
+ while (1) {
+@@ -361,7 +368,7 @@ PR_WaitCondVar(PRCondVar* cvar, PRIntervalTime timeout
+ PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(cvar->lock->mutex));
+ PR_ASSERT(PR_TRUE == cvar->lock->locked);
+ /* and it better be by us */
+- PR_ASSERT(pthread_equal(cvar->lock->owner, pthread_self()));
++ PR_ASSERT(pt_pthread_equal(cvar->lock->owner, pthread_self()));
+
+ if (_PT_THREAD_INTERRUPTED(thred)) {
+ goto aborted;
+@@ -576,7 +583,7 @@ PR_GetMonitorEntryCount(PRMonitor* mon)
- PR_ASSERT(PR_TRUE == cvar->lock->locked);
-- PR_ASSERT(pthread_equal(cvar->lock->owner, pthread_self()));
-+ PR_ASSERT(pt_pthread_equal(cvar->lock->owner, pthread_self()));
- PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(cvar->lock->mutex));
-
- while (1) {
-@@ -336,7 +343,7 @@ PR_IMPLEMENT(PRStatus) PR_WaitCondVar(PR
- PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(cvar->lock->mutex));
- PR_ASSERT(PR_TRUE == cvar->lock->locked);
- /* and it better be by us */
-- PR_ASSERT(pthread_equal(cvar->lock->owner, pthread_self()));
-+ PR_ASSERT(pt_pthread_equal(cvar->lock->owner, pthread_self()));
-
- if (_PT_THREAD_INTERRUPTED(thred)) {
- goto aborted;
-@@ -535,7 +542,7 @@ PR_IMPLEMENT(PRIntn) PR_GetMonitorEntryC
-
- rv = pthread_mutex_lock(&mon->lock);
- PR_ASSERT(0 == rv);
-- if (pthread_equal(mon->owner, self)) {
-+ if (pt_pthread_equal(mon->owner, self)) {
- count = mon->entryCount;
- }
- rv = pthread_mutex_unlock(&mon->lock);
-@@ -549,7 +556,7 @@ PR_IMPLEMENT(void) PR_AssertCurrentThrea
-
- rv = pthread_mutex_lock(&mon->lock);
- PR_ASSERT(0 == rv);
-- PR_ASSERT(mon->entryCount != 0 && pthread_equal(mon->owner, pthread_self()));
-+ PR_ASSERT(mon->entryCount != 0 && pt_pthread_equal(mon->owner, pthread_self()));
- rv = pthread_mutex_unlock(&mon->lock);
- PR_ASSERT(0 == rv);
- # endif
-@@ -563,7 +570,7 @@ PR_IMPLEMENT(void) PR_EnterMonitor(PRMon
- rv = pthread_mutex_lock(&mon->lock);
- PR_ASSERT(0 == rv);
- if (mon->entryCount != 0) {
+ rv = pthread_mutex_lock(&mon->lock);
+ PR_ASSERT(0 == rv);
- if (pthread_equal(mon->owner, self)) {
+ if (pt_pthread_equal(mon->owner, self)) {
- goto done;
+ count = mon->entryCount;
}
- while (mon->entryCount != 0) {
-@@ -593,8 +600,8 @@ PR_IMPLEMENT(PRStatus) PR_ExitMonitor(PR
- PR_ASSERT(0 == rv);
- /* the entries should be > 0 and we'd better be the owner */
- PR_ASSERT(mon->entryCount > 0);
-- PR_ASSERT(pthread_equal(mon->owner, self));
-- if (mon->entryCount == 0 || !pthread_equal(mon->owner, self)) {
-+ PR_ASSERT(pt_pthread_equal(mon->owner, self));
-+ if (mon->entryCount == 0 || !pt_pthread_equal(mon->owner, self)) {
rv = pthread_mutex_unlock(&mon->lock);
+@@ -592,7 +599,7 @@ PR_AssertCurrentThreadInMonitor(PRMonitor* mon)
+
+ rv = pthread_mutex_lock(&mon->lock);
+ PR_ASSERT(0 == rv);
+- PR_ASSERT(mon->entryCount != 0 && pthread_equal(mon->owner, pthread_self()));
++ PR_ASSERT(mon->entryCount != 0 && pt_pthread_equal(mon->owner, pthread_self()));
+ rv = pthread_mutex_unlock(&mon->lock);
+ PR_ASSERT(0 == rv);
+ #endif
+@@ -608,7 +615,7 @@ PR_EnterMonitor(PRMonitor* mon)
+ rv = pthread_mutex_lock(&mon->lock);
+ PR_ASSERT(0 == rv);
+ if (mon->entryCount != 0) {
+- if (pthread_equal(mon->owner, self)) {
++ if (pt_pthread_equal(mon->owner, self)) {
+ goto done;
+ }
+ while (mon->entryCount != 0) {
+@@ -640,8 +647,8 @@ PR_ExitMonitor(PRMonitor* mon)
PR_ASSERT(0 == rv);
- return PR_FAILURE;
-@@ -638,7 +645,7 @@ PR_IMPLEMENT(PRStatus) PR_Wait(PRMonitor
- /* the entries better be positive */
- PR_ASSERT(mon->entryCount > 0);
- /* and it better be owned by us */
-- PR_ASSERT(pthread_equal(mon->owner, pthread_self()));
-+ PR_ASSERT(pt_pthread_equal(mon->owner, pthread_self()));
+ /* the entries should be > 0 and we'd better be the owner */
+ PR_ASSERT(mon->entryCount > 0);
+- PR_ASSERT(pthread_equal(mon->owner, self));
+- if (mon->entryCount == 0 || !pthread_equal(mon->owner, self)) {
++ PR_ASSERT(pt_pthread_equal(mon->owner, self));
++ if (mon->entryCount == 0 || !pt_pthread_equal(mon->owner, self)) {
+ rv = pthread_mutex_unlock(&mon->lock);
+ PR_ASSERT(0 == rv);
+ return PR_FAILURE;
+@@ -687,7 +694,7 @@ PR_Wait(PRMonitor* mon, PRIntervalTime timeout)
+ /* the entries better be positive */
+ PR_ASSERT(mon->entryCount > 0);
+ /* and it better be owned by us */
+- PR_ASSERT(pthread_equal(mon->owner, pthread_self()));
++ PR_ASSERT(pt_pthread_equal(mon->owner, pthread_self()));
- /* tuck these away 'till later */
- saved_entries = mon->entryCount;
+ /* tuck these away 'till later */
+ saved_entries = mon->entryCount;
Home |
Main Index |
Thread Index |
Old Index