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:           Thu Aug  1 15:27:50 UTC 2024

Modified Files:
        pkgsrc/mail/thunderbird: Makefile distinfo mozilla-common.mk
Added Files:
        pkgsrc/mail/thunderbird/patches: patch-config_makefiles_rust.mk
            patch-js_public_Utility.h patch-third__party_sqlite3_src_moz.build

Log Message:
mail/thunderbird: Update to 115.13.0

* Remove static_assert()s. This is not valid for NetBSD/i386 10 or later.
  This may be inconsistency between stddef.h and GCC's assumption.
* Force Clto=thin to reduce memory usage during build.
* Import some other changes from www/firefox115.

Changelog:
115.13.0:
fixed After starting Thunderbird, the message list position was sometimes set to an incorrect position

fixed Security fixes

Security fixes:
Mozilla Foundation Security Advisory 2024-31
#CVE-2024-6600: Memory corruption in WebGL API
#CVE-2024-6601: Race condition in permission assignment
#CVE-2024-6602: Memory corruption in NSS
#CVE-2024-6603: Memory corruption in thread creation
#CVE-2024-6604: Memory safety bugs fixed in Firefox 128, Firefox ESR 115.13,
 Thunderbird 128, and Thunderbird 115.13


To generate a diff of this commit:
cvs rdiff -u -r1.319 -r1.320 pkgsrc/mail/thunderbird/Makefile
cvs rdiff -u -r1.268 -r1.269 pkgsrc/mail/thunderbird/distinfo
cvs rdiff -u -r1.17 -r1.18 pkgsrc/mail/thunderbird/mozilla-common.mk
cvs rdiff -u -r0 -r1.4 \
    pkgsrc/mail/thunderbird/patches/patch-config_makefiles_rust.mk
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/mail/thunderbird/patches/patch-js_public_Utility.h \
    pkgsrc/mail/thunderbird/patches/patch-third__party_sqlite3_src_moz.build

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.319 pkgsrc/mail/thunderbird/Makefile:1.320
--- pkgsrc/mail/thunderbird/Makefile:1.319      Fri Jun 28 13:46:52 2024
+++ pkgsrc/mail/thunderbird/Makefile    Thu Aug  1 15:27:50 2024
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.319 2024/06/28 13:46:52 ryoon Exp $
+# $NetBSD: Makefile,v 1.320 2024/08/01 15:27:50 ryoon Exp $
 
 DISTNAME=      thunderbird-${TB_VER}.source
 PKGNAME=       thunderbird-${TB_VER}
-TB_VER=                115.12.2
+TB_VER=                115.13.0
 CATEGORIES=    mail
 MASTER_SITES=  ${MASTER_SITE_MOZILLA:=thunderbird/releases/${TB_VER}/source/}
 EXTRACT_SUFX=  .tar.xz
@@ -87,8 +87,8 @@ post-extract:
 
 pre-configure:
        cd ${WRKSRC} && mkdir -p ${OBJDIR}
-       cd ${WRKSRC}${MOZILLA_DIR} && autoconf-2.13 old-configure.in > old-configure
-       cd ${WRKSRC}${MOZILLA_DIR}/js/src && autoconf-2.13 old-configure.in > old-configure
+#      cd ${WRKSRC}${MOZILLA_DIR} && autoconf-2.13 old-configure.in > old-configure
+#      cd ${WRKSRC}${MOZILLA_DIR}/js/src && autoconf-2.13 old-configure.in > old-configure
        touch ${WRKSRC}/.mozconfig
 
 do-build:

Index: pkgsrc/mail/thunderbird/distinfo
diff -u pkgsrc/mail/thunderbird/distinfo:1.268 pkgsrc/mail/thunderbird/distinfo:1.269
--- pkgsrc/mail/thunderbird/distinfo:1.268      Fri Jun 28 13:46:52 2024
+++ pkgsrc/mail/thunderbird/distinfo    Thu Aug  1 15:27:50 2024
@@ -1,14 +1,15 @@
-$NetBSD: distinfo,v 1.268 2024/06/28 13:46:52 ryoon Exp $
+$NetBSD: distinfo,v 1.269 2024/08/01 15:27:50 ryoon Exp $
 
-BLAKE2s (thunderbird-115.12.2.source.tar.xz) = 3419ba03cd15a2308183c5437d88ddf19b5fc508c46c59b0e8db95ed4804a66a
-SHA512 (thunderbird-115.12.2.source.tar.xz) = 182f35e8e5ece98d18dfefe106c73bc97fbc619f59772d9b3455b7c8af412021ecc5eae97a12515224e91deb814abb7a6ef7f538c450e9e77fdfd84078678038
-Size (thunderbird-115.12.2.source.tar.xz) = 529634488 bytes
+BLAKE2s (thunderbird-115.13.0.source.tar.xz) = af5411f26459fa5b097df53d7f969c331e246551a9d470e90f17fccc194fbb98
+SHA512 (thunderbird-115.13.0.source.tar.xz) = 98ee23f684aa7a166878459a6a217bf3bcc4ddd8fa8ebbd0a1d2d66392ec1ebff67dbad55d145cdd0771539f127d91c4137211cf4efc80e450e6a34c95e8529c
+Size (thunderbird-115.13.0.source.tar.xz) = 536438476 bytes
 SHA1 (patch-browser_app_profile_firefox.js) = d53fae5544563888d030af7483f00283a712235c
 SHA1 (patch-build_moz.configure_init.configure) = 07cb75fad7c2f354b3d1e02e3f6e49cca119f20a
 SHA1 (patch-build_moz.configure_rust.configure) = 72c5fa2e9d1022325d038832cca2e35f7213116d
 SHA1 (patch-comm_third__party_botan_configure.py) = 262f560c514d221d0df15a1906100b5e716bfdab
 SHA1 (patch-comm_third__party_libgcrypt_configure) = c5ca8a8b44c485f81139b54d341ac044189d98d3
 SHA1 (patch-config_gcc-stl-wrapper.template.h) = ec0afe1b7d97dc0c305f9f7c197f9a7d7c32e629
+SHA1 (patch-config_makefiles_rust.mk) = 7c3649060aec923a18196e9b1accb590660be710
 SHA1 (patch-dom_base_nsAttrName.h) = 4e2326542d4dbba1ac2af5b33505267ee177b094
 SHA1 (patch-dom_webtransport_api_WebTransportDatagramDuplexStream.cpp) = b8ea4e8382fb03be6e31b3943a52a95f1a767954
 SHA1 (patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp) = d08f170629dda585dc3e11706688527fe3dc0e78
@@ -18,6 +19,7 @@ SHA1 (patch-gfx_skia_skia_src_core_SkCpu
 SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 9de765c6ba6ddf9db9161d10aac57ddbad20075c
 SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 64475f51534ac683c5b42bcbbd767db87d0ef87b
 SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = fa503231403a18e4ca6947fcd9985dcd28f83d0c
+SHA1 (patch-js_public_Utility.h) = 7e97b7feca65de88972286364aaa003ca690f4ad
 SHA1 (patch-js_src_jsfriendapi.h) = e013337469254e2a9e598bd070528f0f654acccb
 SHA1 (patch-js_src_util_NativeStack.cpp) = 338fdf6aa34101f6a41d07b303d4a8426c483d5b
 SHA1 (patch-media_ffvpx_libavutil_arm_bswap.h) = 5a7ad4d38165d49d44862ade846cb79de026867e
@@ -29,6 +31,7 @@ SHA1 (patch-old-configure.in) = d59d2761
 SHA1 (patch-security_nss_lib_freebl_mpi_mpi.c) = 0cbf185955c77c9438ced0c294fbc8e4824797bf
 SHA1 (patch-third__party_libwebrtc_modules_video__capture_linux_device__info__v4l2.cc) = 8848fb05c1e8b45234f74db71602a8a84c0404a4
 SHA1 (patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs) = e9378a3868ddb628213c3a37e2177257c2344bc3
+SHA1 (patch-third__party_sqlite3_src_moz.build) = b26856a4b87aa12211575d9982f62dc899474b52
 SHA1 (patch-third__party_wasm2c_src_prebuilt_wasm2c__source__includes.cc) = 99d0db944f0c2d0c623460991efd423d9127c988
 SHA1 (patch-toolkit_components_terminator_nsTerminator.cpp) = f80a0844ca37dda91a8cf38d6a542f152657901a
 SHA1 (patch-toolkit_modules_subprocess_subprocess__shared__unix.js) = d718759e59910228cc3729e359f328b47aff5eb4

Index: pkgsrc/mail/thunderbird/mozilla-common.mk
diff -u pkgsrc/mail/thunderbird/mozilla-common.mk:1.17 pkgsrc/mail/thunderbird/mozilla-common.mk:1.18
--- pkgsrc/mail/thunderbird/mozilla-common.mk:1.17      Tue Jun 18 03:12:25 2024
+++ pkgsrc/mail/thunderbird/mozilla-common.mk   Thu Aug  1 15:27:50 2024
@@ -1,19 +1,20 @@
-# $NetBSD: mozilla-common.mk,v 1.17 2024/06/18 03:12:25 ryoon Exp $
+# $NetBSD: mozilla-common.mk,v 1.18 2024/08/01 15:27:50 ryoon Exp $
 #
 # common Makefile fragment for mozilla packages based on gecko 2.0.
 #
-# used by mail/thunderbird/Makefile
+# used by www/firefox/Makefile
 
 .include "../../mk/bsd.prefs.mk"
 
-PYTHON_VERSIONS_INCOMPATIBLE=  27 312
-
+PYTHON_VERSIONS_INCOMPATIBLE=  27
 PYTHON_FOR_BUILD_ONLY=         tool
 ALL_ENV+=                      PYTHON3=${PYTHONBIN}
 
+REPLACE_PYTHON=                build/cargo-linker
+
 HAS_CONFIGURE=         yes
 CONFIGURE_ARGS+=       --prefix=${PREFIX}
-USE_TOOLS+=            pkg-config perl gmake autoconf213 unzip zip
+USE_TOOLS+=            pkg-config perl gmake gm4 unzip zip # autoconf213
 UNLIMIT_RESOURCES+=    datasize virtualsize
 
 OVERRIDE_GNU_CONFIG_SCRIPTS=   yes
@@ -21,15 +22,13 @@ OVERRIDE_DIRDEPTH=          4
 
 USE_LANGUAGES+=                c c++
 
-# ERROR: Only GCC 8.1 or newer is supported (found version 7.5.0).
+# XXX: As of 114.0.2
+# For nested constant initializer support in rlbox, requires 8.
 GCC_REQD+=             8
 
-TOOL_DEPENDS+=         cbindgen>=0.24.0:../../devel/cbindgen
-.if ${MACHINE_ARCH} == "sparc64"
-CONFIGURE_ARGS+=       --disable-nodejs
-.else
+TOOL_DEPENDS+=         cbindgen>=0.24.3:../../devel/cbindgen
+
 TOOL_DEPENDS+=         nodejs-[0-9]*:../../lang/nodejs
-.endif
 
 # malloc_usable_size()
 LDFLAGS.NetBSD+=       -ljemalloc
@@ -37,6 +36,7 @@ LDFLAGS.NetBSD+=      -ljemalloc
 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
 TOOL_DEPENDS+=         nasm>=2.14:../../devel/nasm
 TOOL_DEPENDS+=         yasm>=1.1:../../devel/yasm
+CFLAGS+=               -msse2
 .endif
 
 # This is to work around build failures where an upstream configuration script
@@ -56,7 +56,7 @@ CONFIGURE_ARGS+=      --host=${MACHINE_GNU_PL
 CONFIGURE_ENV+=                BINDGEN_CFLAGS="-isystem${PREFIX}/include/nspr \
                        -isystem${X11BASE}/include/pixman-1"
 
-test:
+do-test:
        cd ${WRKSRC}/${OBJDIR}/dist/bin &&      \
             ./run-mozilla.sh ${WRKSRC}/mach check-spidermonkey
 
@@ -64,22 +64,22 @@ test:
 .if ${OPSYS} == "OpenBSD"
 TOOLS_PLATFORM.tar=    ${TOOLS_PATH.bsdtar}
 USE_TOOLS+=            bsdtar
+.else
+USE_TOOLS+=            tar
 .endif
+
 .if ${MACHINE_ARCH} == "i386"
 # This is required for SSE2 code under i386.
-CFLAGS+=               -mstackrealign
+CFLAGS+=       -mstackrealign
 .endif
 
-CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}third_party/python/glean_parser/Makefile
-CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}security/nss/tests/libpkix/libpkix.sh
-CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}security/nss/tests/multinit/multinit.sh
+CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}security/nss/tests/*/*.sh
 CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}js/src/tests/update-test262.sh
 CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}intl/icu/source/configure
 CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}browser/components/loop/run-all-loop-tests.sh
 CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}browser/extensions/loop/run-all-loop-tests.sh
-#CHECK_PORTABILITY_SKIP+=      ${MOZILLA_DIR}modules/pdfium/update.sh
+CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}third_party/libwebrtc/tools_webrtc/iwyu/apply-iwyu
 
-CONFIGURE_ARGS+=       --enable-default-toolkit=cairo-gtk3
 CONFIGURE_ARGS+=       --enable-release
 # Disable Rust SIMD option to fix build with lang/rust-1.33.0
 # This should be enabled later again.
@@ -88,27 +88,29 @@ CONFIGURE_ARGS+=    --disable-tests
 # Mozilla Bug 1432751
 #CONFIGURE_ARGS+=      --enable-system-cairo
 CONFIGURE_ARGS+=       --enable-system-pixman
-# webrtc option requires internal libvpx
-#CONFIGURE_ARGS+=      --with-system-libvpx
+CONFIGURE_ARGS+=       --with-system-libvpx
 CONFIGURE_ARGS+=       --enable-system-ffi
-# icu-74.1 produces invalid timezone string.
-# https://unicode-org.atlassian.net/browse/ICU-22132
-CONFIGURE_ARGS+=       --without-system-icu
+CONFIGURE_ARGS+=       --with-system-icu
 CONFIGURE_ARGS+=       --with-system-nss
 CONFIGURE_ARGS+=       --with-system-nspr
 #CONFIGURE_ARGS+=      --with-system-jpeg
 CONFIGURE_ARGS+=       --with-system-zlib
 CONFIGURE_ARGS+=       --with-system-libevent
 CONFIGURE_ARGS+=       --disable-crashreporter
-#CONFIGURE_ARGS+=      --disable-necko-wifi
-CONFIGURE_ARGS+=       --enable-chrome-format=flat
+CONFIGURE_ARGS+=       --enable-chrome-format=omni
 CONFIGURE_ARGS+=       --with-system-webp
 
 #CONFIGURE_ARGS+=      --enable-readline
 CONFIGURE_ARGS+=       --disable-icf
 CONFIGURE_ARGS+=       --disable-updater
 
-#CONFIGURE_ARGS+=      --with-libclang-path=${PREFIX}/lib
+.include "../../mk/compiler.mk"
+
+.if empty(PKGSRC_COMPILER:Mclang)
+# Set path to "clang for cbindgen" when target compiler is not clang.
+CONFIGURE_ARGS+=       --with-clang-path=${PREFIX}/bin/clang
+.endif
+CONFIGURE_ARGS+=       --with-libclang-path=${PREFIX}/lib
 
 # RLBox WASM sandbox
 .if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "i386"
@@ -116,8 +118,6 @@ CONFIGURE_ARGS+=    --disable-updater
 TOOL_DEPENDS+=         lld-[0-9]*:../../devel/lld
 .include "../../lang/wasi-libc/buildlink3.mk"
 .include "../../lang/wasi-libcxx/buildlink3.mk"
-# NB the exact versions of the clang and wasi-compiler-rt dependencies must
-# be kept in sync, or build failures will occur due to path mismatches.
 .include "../../lang/wasi-compiler-rt/buildlink3.mk"
 CONFIGURE_ARGS+=       --with-wasi-sysroot=${PREFIX}/wasi
 CONFIGURE_ENV+=                WASM_CC=${PREFIX}/bin/clang
@@ -126,11 +126,44 @@ CONFIGURE_ENV+=           WASM_CXX=${PREFIX}/bin/
 CONFIGURE_ARGS+=       --without-wasm-sandboxed-libraries
 .endif
 
-SUBST_CLASSES+=                        fix-paths
-SUBST_STAGE.fix-paths=         pre-configure
-SUBST_MESSAGE.fix-paths=       Fixing absolute paths.
-SUBST_FILES.fix-paths+=                ${MOZILLA_DIR}toolkit/xre/nsXREDirProvider.cpp
-SUBST_SED.fix-paths+=          -e 's,/usr/lib/mozilla,${PREFIX}/lib/mozilla,g'
+.include "../../sysutils/pciutils/libname.mk"
+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_SED.fix-libpci-soname+=          -e 's,"libpci.so, "lib${PCIUTILS_LIBNAME}.so,'
+
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386)
+SQLITE3OPTFLAG=                '-O0',
+.else
+SQLITE3OPTFLAG=                # empty
+.endif
+SUBST_CLASSES+=                                sqlite3-opt
+SUBST_STAGE.sqlite3-opt=               pre-configure
+SUBST_MESSAGE.sqlite3-opt=             Fixing segfault in libmozsqlite3.so
+SUBST_FILES.sqlite3-opt+=              ${MOZILLA_DIR}third_party/sqlite3/src/moz.build
+SUBST_VARS.sqlite3-opt+=               SQLITE3OPTFLAG
+
+# Do not pass '-j1 -j1' for MAKE_JOBS=1 for NetBSD 9.3 or earlier.
+RUST_MAKE_JOBS=                # empty by default
+.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 090400
+.  if defined(MAKE_JOBS) && !empty(MAKE_JOBS) && !(defined(MAKE_JOBS_SAFE) && ${MAKE_JOBS_SAFE:U:tl} == no)
+.    if ${MAKE_JOBS} > 1
+RUST_MAKE_JOBS=                -j1 # for MAKE_JOBS=1, RUST_MAKE_JOBS should be empty.
+.    endif
+.  endif
+.endif
+
+SUBST_CLASSES+=                njobs
+SUBST_STAGE.njobs=     pre-configure
+SUBST_MESSAGE.njobs=   Setting MAKE_JOBS for cairo
+SUBST_FILES.njobs+=    ${MOZILLA_DIR}config/makefiles/rust.mk
+SUBST_VARS.njobs+=     RUST_MAKE_JOBS
+
+# Workaround for link of libxul.so as of 96.0.
+# There are too many -ldl under third_paty/libwebrtc.
+.include "../../mk/dlopen.buildlink3.mk"
+BUILDLINK_TRANSFORM+=  opt:-ldl:${BUILDLINK_LDADD.dl:Q}
 
 CONFIG_GUESS_OVERRIDE+=                ${MOZILLA_DIR}build/autoconf/config.guess
 CONFIG_GUESS_OVERRIDE+=                ${MOZILLA_DIR}js/src/build/autoconf/config.guess
@@ -143,17 +176,22 @@ CONFIG_SUB_OVERRIDE+=             ${MOZILLA_DIR}/js
 
 CONFIGURE_ENV+=                CPP=${CPP:Q}
 ALL_ENV+=              SHELL=${CONFIG_SHELL:Q}
+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
 
 PLIST_VARS+=   ffvpx
 
 .if ${MACHINE_ARCH} == "aarch64" || \
-    !empty(MACHINE_ARCH:M*arm*) || \
+    ${MACHINE_ARCH:M*arm*} || \
     ${MACHINE_ARCH} == "i386" || \
     ${MACHINE_ARCH} == "x86_64"
 PLIST.ffvpx=   yes     # see media/ffvpx/ffvpxcommon.mozbuild
@@ -163,14 +201,6 @@ PLIST.ffvpx=       yes     # see media/ffvpx/ffvpx
 # support is only available when the toolkit is cairo-cocoa.
 CONFIGURE_ARGS.Darwin+=        --disable-sandbox
 
-# See ${WRKSRC}/configure.in: It tries to use MacOS X 10.6 SDK by
-# default, which is not always possible.
-.if !empty(MACHINE_PLATFORM:MDarwin-8.*-*)
-CONFIGURE_ARGS+=       --enable-macos-target=10.4
-.elif !empty(MACHINE_PLATFORM:MDarwin-9.*-*)
-CONFIGURE_ARGS+=       --enable-macos-target=10.5
-.endif
-
 # Makefiles sometimes call "rm -f" without more arguments. Kludge around ...
 .PHONY: create-rm-wrapper
 pre-configure: create-rm-wrapper
@@ -179,32 +209,21 @@ create-rm-wrapper:
          ${WRAPPER_DIR}/bin/rm
        chmod +x ${WRAPPER_DIR}/bin/rm
 
-.PHONY: fix-clang-wrapper
-pre-configure: fix-clang-wrapper
-fix-clang-wrapper:
-.if empty(PKGSRC_COMPILER:M*clang*)
-# Firefox requires Clang during the build, even when building with GCC.
-# XXX: When using GCC, pkgsrc provides 'clang' wrappers that are actually gcc.
-# This breaks the build.
-       ${LN} -sf ${PREFIX}/bin/clang ${WRKDIR}/.cwrapper/bin/clang
-       ${LN} -sf ${PREFIX}/bin/clang++ ${WRKDIR}/.cwrapper/bin/clang++
-       ${LN} -sf ${PREFIX}/bin/clang-cpp ${WRKDIR}/.cwrapper/bin/clang-cpp
-.endif
-
 # The configure test for __thread succeeds, but later we end up with:
 # dist/bin/libxul.so: undefined reference to `__tls_get_addr'
 CONFIGURE_ENV.NetBSD+= ac_cv_thread_keyword=no
 # In unspecified case, clock_gettime(CLOCK_MONOTONIC, ...) fails.
 CONFIGURE_ENV.NetBSD+= ac_cv_clock_monotonic=
 
+.include "../../sysutils/pciutils/buildlink3.mk"
 .include "../../mk/atomic64.mk"
 BUILDLINK_API_DEPENDS.libevent+=       libevent>=1.1
 .include "../../devel/libevent/buildlink3.mk"
 .include "../../devel/libffi/buildlink3.mk"
-BUILDLINK_API_DEPENDS.nspr+=   nspr>=4.25
+BUILDLINK_API_DEPENDS.nspr+=   nspr>=4.34
 .include "../../devel/nspr/buildlink3.mk"
-#.include "../../textproc/icu/buildlink3.mk"
-BUILDLINK_API_DEPENDS.nss+=    nss>=3.53
+.include "../../textproc/icu/buildlink3.mk"
+BUILDLINK_API_DEPENDS.nss+=    nss>=3.90
 .include "../../devel/nss/buildlink3.mk"
 .include "../../devel/zlib/buildlink3.mk"
 #.include "../../mk/jpeg.buildlink3.mk"
@@ -215,22 +234,25 @@ BUILDLINK_API_DEPENDS.libwebp+=   libwebp>
 .include "../../graphics/libwebp/buildlink3.mk"
 BUILDLINK_DEPMETHOD.clang=     build
 .include "../../lang/clang/buildlink3.mk"
-RUST_REQ=      1.41.0
+RUST_REQ=      1.66.0
 .include "../../lang/rust/rust.mk"
-# webrtc option requires internal libvpx
-#BUILDLINK_API_DEPENDS.libvpx+=        libvpx>=1.3.0
-#.include "../../multimedia/libvpx/buildlink3.mk"
+.include "../../multimedia/libvpx/buildlink3.mk"
 .include "../../net/libIDL/buildlink3.mk"
-# textproc/hunspell 1.3 is too old
+# TODO: check again, pkgsrc has hunspell 1.7
+# was: textproc/hunspell 1.3 is too old
 #.include "../../textproc/hunspell/buildlink3.mk"
 .include "../../multimedia/ffmpeg6/buildlink3.mk"
 .include "../../x11/libXt/buildlink3.mk"
+.include "../../x11/libXtst/buildlink3.mk"
 BUILDLINK_API_DEPENDS.pixman+= pixman>=0.25.2
 .include "../../x11/pixman/buildlink3.mk"
 .include "../../x11/gtk3/buildlink3.mk"
 PLIST_VARS+=           wayland
 .if ${PKG_BUILD_OPTIONS.gtk3:Mwayland}
+CONFIGURE_ARGS+=       --enable-default-toolkit=cairo-gtk3-x11-wayland
 PLIST.wayland=         yes
+.else
+CONFIGURE_ARGS+=       --enable-default-toolkit=cairo-gtk3
 .endif
 .include "../../lang/python/batteries-included.mk"
-.include "../../lang/python/tool.mk"
+.include "../../lang/python/application.mk"

Added files:

Index: pkgsrc/mail/thunderbird/patches/patch-config_makefiles_rust.mk
diff -u /dev/null pkgsrc/mail/thunderbird/patches/patch-config_makefiles_rust.mk:1.4
--- /dev/null   Thu Aug  1 15:27:50 2024
+++ pkgsrc/mail/thunderbird/patches/patch-config_makefiles_rust.mk      Thu Aug  1 15:27:50 2024
@@ -0,0 +1,29 @@
+$NetBSD: patch-config_makefiles_rust.mk,v 1.4 2024/08/01 15:27:50 ryoon Exp $
+
+NetBSD doesn't get along with parallel rust builds (it causes issues
+with ld.so) which are the default. Force -j1.
+
+Use less memory to fix build under NetBSD/i386.
+From: https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
+
+--- config/makefiles/rust.mk.orig      2023-06-22 21:19:03.000000000 +0000
++++ config/makefiles/rust.mk
+@@ -60,6 +60,9 @@ ifdef MOZ_TSAN
+ cargo_build_flags += -Zbuild-std=std,panic_abort
+ RUSTFLAGS += -Zsanitizer=thread
+ endif
++ifeq ($(OS_ARCH),NetBSD)
++cargo_build_flags += @RUST_MAKE_JOBS@
++endif
+ 
+ rustflags_sancov =
+ ifdef LIBFUZZER
+@@ -92,7 +95,7 @@ ifndef rustflags_sancov
+ # 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)))
+-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
++cargo_rustc_flags += -Clto=thin
+ endif
+ # We need -Cembed-bitcode=yes for all crates when using -Clto.
+ RUSTFLAGS += -Cembed-bitcode=yes

Index: pkgsrc/mail/thunderbird/patches/patch-js_public_Utility.h
diff -u /dev/null pkgsrc/mail/thunderbird/patches/patch-js_public_Utility.h:1.1
--- /dev/null   Thu Aug  1 15:27:50 2024
+++ pkgsrc/mail/thunderbird/patches/patch-js_public_Utility.h   Thu Aug  1 15:27:50 2024
@@ -0,0 +1,24 @@
+$NetBSD: patch-js_public_Utility.h,v 1.1 2024/08/01 15:27:50 ryoon Exp $
+
+--- js/public/Utility.h.orig   2024-07-15 21:09:40.000000000 +0000
++++ js/public/Utility.h
+@@ -478,9 +478,6 @@ static inline void js_free(void* p) {
+ #define JS_DECLARE_NEW_METHODS(NEWNAME, ALLOCATOR, QUALIFIERS)              \
+   template <class T, typename... Args>                                      \
+   QUALIFIERS T* MOZ_HEAP_ALLOCATOR NEWNAME(Args&&... args) {                \
+-    static_assert(                                                          \
+-        alignof(T) <= alignof(max_align_t),                                 \
+-        "over-aligned type is not supported by JS_DECLARE_NEW_METHODS");    \
+     void* memory = ALLOCATOR(sizeof(T));                                    \
+     return MOZ_LIKELY(memory) ? new (memory) T(std::forward<Args>(args)...) \
+                               : nullptr;                                    \
+@@ -497,9 +494,6 @@ static inline void js_free(void* p) {
+ #define JS_DECLARE_NEW_ARENA_METHODS(NEWNAME, ALLOCATOR, QUALIFIERS)           \
+   template <class T, typename... Args>                                         \
+   QUALIFIERS T* MOZ_HEAP_ALLOCATOR NEWNAME(arena_id_t arena, Args&&... args) { \
+-    static_assert(                                                             \
+-        alignof(T) <= alignof(max_align_t),                                    \
+-        "over-aligned type is not supported by JS_DECLARE_NEW_ARENA_METHODS"); \
+     void* memory = ALLOCATOR(arena, sizeof(T));                                \
+     return MOZ_LIKELY(memory) ? new (memory) T(std::forward<Args>(args)...)    \
+                               : nullptr;                                       \
Index: pkgsrc/mail/thunderbird/patches/patch-third__party_sqlite3_src_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird/patches/patch-third__party_sqlite3_src_moz.build:1.1
--- /dev/null   Thu Aug  1 15:27:50 2024
+++ pkgsrc/mail/thunderbird/patches/patch-third__party_sqlite3_src_moz.build    Thu Aug  1 15:27:50 2024
@@ -0,0 +1,15 @@
+$NetBSD: patch-third__party_sqlite3_src_moz.build,v 1.1 2024/08/01 15:27:50 ryoon Exp $
+
+* Fix segfault under NetBSD/i386 9 and pkgsrc/lang/gcc8-8.5.0
+  For NetBSD/i386 9, @SQLITE3OPTFLAG@ will be replaced with "'-O0',".
+
+--- third_party/sqlite3/src/moz.build.orig     2023-06-22 21:19:22.000000000 +0000
++++ third_party/sqlite3/src/moz.build
+@@ -108,6 +108,7 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
+     CFLAGS += [
+         '-Wno-sign-compare',
+         '-Wno-type-limits',
++        @SQLITE3OPTFLAG@
+     ]
+ 
+ # Set a default journal size limit. Note an hot journal can grow over this



Home | Main Index | Thread Index | Old Index