pkgsrc/www/seamonkey/mozilla-common.mk
ryoon f1b252ab64 seamonkey: Update to 2.53.10
* Fix build with lang/rust-1.56.1.
* Change chrome format to omni from flat. No need to patch .js files recently.

Changelog:
What's New in SeaMonkey 2.53.10

SeaMonkey 2.53.10 contains (among other changes) the following major changes
relative to SeaMonkey 2.53.9.1:

  * Minor fixes for testdisplay command in ChatZilla bug 1727976.
  * Show CTCP requests (excluding ACTION and DCC) bug 1722156.
  * IRCv3: Add support for server-time bug 1724586.
  * Add localization note for network editor dialog width in ChatZilla bug
    1727977.
  * IRCv3: Add support for extended-join and account-notify bug 1722159.
  * Add ability to collapse message groups in ChatZilla bug 1724588.
  * Fix JS strict warnings in unescapeTagValue in ChatZilla bug 1727989.
  * IRCv3: Add support for invite-notify bug 1722161.
  * IRCv3: Add support for batch bug 1724589.
  * Fix JS strict warning in addHistory in cZ static.js bug 1727992.
  * IRCv3: Add support for cap-notify bug 1722162.
  * Stop using canonical name as collection keys in ChatZilla bug 1728025.
  * IRCv3: Add support for TLS and STS bug 1722166.
  * Helper function for renaming irc server properties in ChatZilla bug 1728027
    .
  * IRCv3: Add support for MONITOR bug 1722174.
  * Remove use of msg.commasp in ChatZilla bug 1726965.
  * Allow shiftKey to modify behaviour of link clicking in cZ bug 1713458.
  * IRCv3: Add support for echo-message bug 1722211.
  * In ChatZilla make /commands return all matches starting with pattern bug
    1726966.
  * Use SeaMonkey prefs to determine how links behave in cZ bug 1713467.
  * Allow parameters to be localised in ChatZilla bug 1724105.
  * Add identify command to cZ and hook into password management bug 1713470.
  * IRCv3.1: Implement SASL with PLAIN mechanism bug 1717545.
  * IRCv3: Add support for message tags bug 1724584.
  * Add last read message divider to ChatZilla bug 1729159.
  * IRCv3: Add support for account-tag bug 1724585.
  * Missing option "text encoding Unicode/UTF-8" in preferences - Mailnews bug
    1679260.
  * Detect Crashreporter using AppConstants in SeaMonkey bug 1735236.
  * Link about LEGACY extensions in Add-ons Manager is broken bug 1656797.
  * Update help for clear private data preferences and dialog bug 1728911.
  * Fix typo in cs_nav_prefs_appearance bug 1737473.
  * Drop leftover "Edit Menu" comment from messageWindow.xul and
    addressbook.xul bug 1725121.
  * Add dummy tab routines to SeaMonkey mailnews tab browser bug 1735243.
  * Folder pane and tab/window title not updated correctly when opening in new
    tab bug 1726940.
  * Allow mail tab bar to be controlled separately to browser tab bar bug
    1724515.
  * Copy any user set values for new mail.tabs prefs bug 1729165.
  * Merge Master Passwords and Passwords pref panes into a single pref pane bug
    1728099.
  * Move warning about redirection pref from Content to Privacy & Security pane
    bug 1728185.
  * Move website icons prefs from content pref pane to browser pref pane bug
    1727425.
  * Move browser / mailnews system integration prefs into advanced pane bug
    1727659.
  * Have separate opentabfor.middleclick for mailnews bug 1727948.
  * Add removeBrowser helper for tabbrowser bug 1730391.
  * Put <browser> in a <stack> so it's easy to overlay bug 1730392.
  * Allow browser focus to be avoided bug 1720003.
  * SeaMonkey 32x32 default icon has light stripe at the bottom bug 1729153.
  * Support <input type=time> and <input type=date> in SeaMonkey bug 1730408.
  * Middleclick on browser tab handled twice (closes tab and loads URL from
    primary or clipboard) bug 1734407.
  * Unable to create a new "Saved Search Folder" using "Save View as a
    Folder..." bug 1738669.

The following bugs were fixed in our branch of the Gecko source code only:

  * Enable compression for standard http connections bug 1728996.
  * Support VS2022 for compiling under Windows bug 1728988.

SeaMonkey 2.53.10 contains (among other changes) the following major changes
relative to SeaMonkey 2.49.5:

  * The Bookmarks Manager has switched its name to Library, and now also
    includes the History list. When History is invoked, the Library will be
    shown with the History list selected. The extensive modifications were
    needed because of Mozilla Gecko platform API changes.
  * Download Manager has been migrated to a new API. Although it looks pretty
    much the same as before, the search option is missing and some other minor
    details work differently. The previous downloads history is removed during
    the upgrade.
  * The layout panel was added to the CSS Grid tools.
  * TLS 1.3 is the default SSL version now.
  * Support for all NPAPI plugins like Flash, Java and Silverlight has been
    removed. For displaying pdf files in the browser you can use
    pdf.js-seamonkey from Isaac Schemm.
  * SeaMonkey now uses a new api for formatting regional data like time and
    date. Default is to use the application locale of the current SeaMonkey
    build. If you use a language pack or a different OS formatting this is
    usually not desired. You can change the formatting from the application
    locale to the regional settings locale (OS) in the preferences dialog under
    "Appearance".

SeaMonkey 2.53.10 uses the same backend as Firefox and contains the relevant
Firefox 60.8 security fixes.

SeaMonkey 2.53.10 shares most parts of the mail and news code with Thunderbird.
Please read the Thunderbird 60.0 release notes for specific changes and
security fixes in this release.

Additional important security fixes up to Current Firefox 78.15 ESR and a few
enhancements have been backported. We will continue to enhance SeaMonkey
security in subsequent 2.53.x beta and release versions as fast as we are able
to.


What's New in SeaMonkey 2.53.9.1

SeaMonkey 2.53.9.1 contains (among other changes) the following major changes
relative to SeaMonkey 2.53.9:

  * Fix the lazy loading of images from some websites bug 1727967.
  * Move certain font family defaults from serif to sans serif bug 1727982.

SeaMonkey 2.53.9.1 uses the same backend as Firefox and contains the relevant
Firefox 60.8 security fixes.

SeaMonkey 2.53.9.1 shares most parts of the mail and news code with
Thunderbird. Please read the Thunderbird 60.0 release notes for specific
changes and security fixes in this release.

Additional important security fixes up to Current Firefox 78.14 ESR and a few
enhancements have been backported. We will continue to enhance SeaMonkey
security in subsequent 2.53.x beta and release versions as fast as we are able
to.
2021-11-30 15:41:24 +00:00

236 lines
8.2 KiB
Makefile

# $NetBSD: mozilla-common.mk,v 1.10 2021/11/30 15:41:24 ryoon Exp $
#
# common Makefile fragment for mozilla packages based on gecko 2.0.
#
# used by www/seamonkey/Makefile
HAS_CONFIGURE= yes
CONFIGURE_ARGS+= --prefix=${PREFIX}
USE_TOOLS+= pkg-config perl gmake autoconf213 unzip zip
USE_LANGUAGES+= c99 c++
UNLIMIT_RESOURCES+= datasize virtualsize
GCC_REQD+= 4.9
.include "../../mk/bsd.prefs.mk"
# Python 2.7 and Python 3.6 or later are required simultaneously.
PYTHON_VERSIONS_ACCEPTED= 27
PYTHON_FOR_BUILD_ONLY= tool
TOOL_DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
.if !empty(PYTHON_VERSION_DEFAULT:M3[6789])
TOOL_DEPENDS+= python${PYTHON_VERSION_DEFAULT}-[0-9]*:../../lang/python${PYTHON_VERSION_DEFAULT}
ALL_ENV+= PYTHON3=${PREFIX}/bin/python${PYTHON_VERSION_DEFAULT:S/3/3./}
.else
TOOL_DEPENDS+= python38-[0-9]*:../../lang/python38
ALL_ENV+= PYTHON3=${PREFIX}/bin/python3.8
.endif
.include "../../lang/python/pyversion.mk"
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
BUILD_DEPENDS+= yasm>=1.1:../../devel/yasm
# Enable Google widevine CDM. This requires external libwidevinecdm.so.
#CONFIGURE_ARGS+= --enable-eme=widevine
.endif
# 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.
.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386)
CONFIGURE_ARGS+= --target=i586-unknown-netbsd
CONFIGURE_ARGS+= --host=i586-unknown-netbsd
.else
CONFIGURE_ARGS+= --target=${MACHINE_GNU_PLATFORM}
CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM}
.endif
CONFIGURE_ENV+= BINDGEN_CFLAGS="-isystem${PREFIX}/include/nspr \
-isystem${X11BASE}/include/pixman-1"
# with files/*.rs for Rust 1.39.0
CONFIGURE_ARGS+= --disable-stylo-build-bindgen
test:
cd ${WRKSRC}/${OBJDIR}/dist/bin && \
./run-mozilla.sh ${WRKSRC}/mach check-spidermonkey
# tar(1) of OpenBSD 5.5 has no --exclude command line option.
.if ${OPSYS} == "OpenBSD"
TOOLS_PLATFORM.tar= ${TOOLS_PATH.bsdtar}
USE_TOOLS+= bsdtar
.endif
.if ${MACHINE_ARCH} == "i386"
# This is required for SSE2 code under i386.
CXXFLAGS+= -mstackrealign
.endif
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}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
CONFIGURE_ARGS+= --enable-default-toolkit=cairo-gtk3
.if ${OPSYS} != "SunOS"
CONFIGURE_ARGS+= --enable-pie
.endif
CONFIGURE_ARGS+= --disable-tests
# Mozilla Bug 1432751
#CONFIGURE_ARGS+= --enable-system-cairo
CONFIGURE_ARGS+= --enable-system-pixman
# too new to build with webrtc?
#CONFIGURE_ARGS+= --with-system-libvpx
# textproc/hunspell 1.3 is too old
#CONFIGURE_ARGS+= --enable-system-hunspell
CONFIGURE_ARGS+= --enable-system-ffi
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-bz2
#CONFIGURE_ARGS+= --with-system-libevent=${BUILDLINK_PREFIX.libevent}
CONFIGURE_ARGS+= --disable-crashreporter
CONFIGURE_ARGS+= --disable-necko-wifi
CONFIGURE_ARGS+= --enable-chrome-format=omni
#CONFIGURE_ARGS+= --disable-libjpeg-turbo
CONFIGURE_ARGS+= --disable-gconf
#CONFIGURE_ARGS+= --enable-readline
CONFIGURE_ARGS+= --disable-icf
CONFIGURE_ARGS+= --disable-updater
SUBST_CLASSES+= fix-paths
SUBST_STAGE.fix-paths= pre-configure
SUBST_MESSAGE.fix-paths= Fixing absolute paths.
SUBST_FILES.fix-paths+= ${MOZILLA_DIR}xpcom/io/nsAppFileLocationProvider.cpp
SUBST_SED.fix-paths+= -e 's,/usr/lib/mozilla/plugins,${PREFIX}/lib/netscape/plugins,g'
SUBST_CLASSES+= prefix
SUBST_STAGE.prefix= pre-configure
SUBST_MESSAGE.prefix= Setting PREFIX
SUBST_FILES.prefix+= ${MOZILLA_DIR}xpcom/build/BinaryPath.h
SUBST_VARS.prefix+= PREFIX
CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}build/autoconf/config.guess
CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}js/src/build/autoconf/config.guess
CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}nsprpub/build/autoconf/config.guess
CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}/js/ctypes/libffi/config.guess
CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}build/autoconf/config.sub
CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}js/src/build/autoconf/config.sub
CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}nsprpub/build/autoconf/config.sub
CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}/js/ctypes/libffi/config.sub
CONFIGURE_ENV+= CPP=${CPP}
ALL_ENV+= SHELL=${CONFIG_SHELL:Q}
# Build outside ${WRKSRC}
# Try to avoid conflict with config/makefiles/xpidl/Makefile.in
OBJDIR= ${WRKDIR}/build
CONFIGURE_DIRS= ${OBJDIR}
CONFIGURE_SCRIPT= ${WRKSRC}/configure
PLIST_VARS+= sps vorbis tremor glskia throwwrapper mozglue avx86
.include "../../mk/endian.mk"
.if ${MACHINE_ENDIAN} == "little"
PLIST.glskia= yes
.endif
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || \
${MACHINE_ARCH} == "aarch64"
PLIST.avx86= yes # see media/libav/README_MOZILLA
.endif
.if ${MACHINE_ARCH} != "sparc64"
# For some reasons the configure test for GCC bug 26905 still triggers on
# sparc64, which makes mozilla skip the installation of a few wrapper headers.
# Other archs end up with one additional file in the SDK headers
PLIST.throwwrapper= yes
.endif
.if !empty(MACHINE_PLATFORM:S/i386/x86/:MLinux-*-x86*)
PLIST.sps= yes
.endif
.if !empty(MACHINE_PLATFORM:MLinux-*-arm*)
PLIST.tremor= yes
.else
PLIST.vorbis= yes
.endif
# See ${WRKSRC}/mozglue/build/moz.build: libmozglue is built and
# installed as a shared library on these platforms.
.if ${OPSYS} == "Cygwin" || ${OPSYS} == "Darwin" # or Android
PLIST.mozglue= yes
.endif
# See ${WRKSRC}/security/sandbox/mac/Sandbox.mm: On Darwin, sandboxing
# 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
create-rm-wrapper:
printf '#!/bin/sh\n[ "$$*" = "-f" ] && exit 0\nexec /bin/rm $$@\n' > \
${WRAPPER_DIR}/bin/rm
chmod +x ${WRAPPER_DIR}/bin/rm
# 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
.if ${OPSYS} == "SunOS"
# native libbz2.so hides BZ2_crc32Table
PREFER.bzip2?= pkgsrc
.endif
.if ${OPSYS} == "OpenBSD"
PLIST_SUBST+= DLL_SUFFIX=".so.1.0"
.elif ${OPSYS} == "Darwin"
PLIST_SUBST+= DLL_SUFFIX=".dylib"
.else
PLIST_SUBST+= DLL_SUFFIX=".so"
.endif
.include "../../mk/atomic64.mk"
.include "../../archivers/bzip2/buildlink3.mk"
BUILDLINK_API_DEPENDS.libevent+= libevent>=1.1
.include "../../devel/libevent/buildlink3.mk"
.include "../../devel/libffi/buildlink3.mk"
BUILDLINK_API_DEPENDS.nspr+= nspr>=4.18
.include "../../devel/nspr/buildlink3.mk"
.include "../../textproc/icu/buildlink3.mk"
BUILDLINK_API_DEPENDS.nss+= nss>=3.35
.include "../../devel/nss/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
#.include "../../mk/jpeg.buildlink3.mk"
.include "../../graphics/MesaLib/buildlink3.mk"
#BUILDLINK_API_DEPENDS.cairo+= cairo>=1.10.2nb4
#.include "../../graphics/cairo/buildlink3.mk"
BUILDLINK_DEPMETHOD.clang= build
.include "../../lang/clang/buildlink3.mk"
RUST_REQ= 1.23.0
.include "../../lang/rust/rust.mk"
#BUILDLINK_API_DEPENDS.libvpx+= libvpx>=1.3.0
#.include "../../multimedia/libvpx/buildlink3.mk"
.include "../../net/libIDL/buildlink3.mk"
# textproc/hunspell 1.3 is too old
#.include "../../textproc/hunspell/buildlink3.mk"
.include "../../multimedia/ffmpeg4/buildlink3.mk"
.include "../../x11/libXt/buildlink3.mk"
BUILDLINK_API_DEPENDS.pixman+= pixman>=0.25.2
.include "../../x11/pixman/buildlink3.mk"
.include "../../x11/gtk2/buildlink3.mk"
.include "../../x11/gtk3/buildlink3.mk"