097362a98c
Changelog: 94.0.1 Fixed * Fixed browser hangs when viewing fullscreen videos on macOS 10.12 (bug 1737998) 94.0 New * Colorways animated screenshot With 94, you'll find a selection of six fun seasonal Colorways (available for a limited time only). Now you can find a color to suit (or lift) your every mood. Fun fact: Did you know we have more daily users with color themes than dark or Alpenglow on Beta? With Firefox 89, 32% of users clicked through to customize their color theme. And that was just on the first day! We decided to introduce these new Colorways to give our users more to love. * Firefox macOS now uses Apple's low power mode for fullscreen video on sites such as YouTube and Twitch. This meaningfully extends battery life in long viewing sessions. Now your kids can find out what the fox says on a loop without you ever missing a beat' * With this release, power users can use about:unloads to release system resources by manually unloading tabs without closing them. * On Windows, there will now be fewer interruptions because Firefox won't prompt you for updates. Instead, a background agent will download and install updates even if Firefox is closed. * And on Linux, we've improved WebGL performance and reduced power consumption for many users. * To better protect all Firefox users against side-channel attacks such as Spectre, we're introducing Site Isolation. It will be rolled out to Firefox 94 users over the next few weeks. We've got your back...errr...side! * We're rolling out the Firefox Multi-Account Containers extension with Mozilla VPN integration. This lets you use a different server location for each container. * Firefox no longer warns you by default when you exit the browser or close a window using a menu, button, or three-key command. This should cut back on unwelcome notifications which is always nice--however, if you prefer a bit of notice, you'll still have full control over the quit/close modal behavior. All warnings can be managed within Firefox Settings. No worries! (More details) * And now, Firefox supports the new Snap Layouts menus when running on Windows 11. Fixed * We've reduced the overhead of using performance.mark() and performance.measure() APIs with a large set of performance entries. * Plus, we've modified paint suppression during load to greatly improve warmload performance in Site Isolation mode. * You'll also notice a small reduction in Javascript memory usage. * With this release, you'll notice faster Javascript property enumeration as well. * We've also implemented better scheduling of garbage collection which has improved some pageload benchmarks. * This release also sees reduced CPU usage during socket polling for HTTPS connections. * Additionally, you'll notice faster storage initialization. * We've also improved cold startup by reducing main thread I/O. * Plus, closing devtools now reclaims more memory than ever before. * And we've improved pageload (especially with Site Isolation mode) by setting a higher priority for loading and displaying images. * Various security fixes Enterprise * Enterprise users now have more control over Firefox deployments with the availability of our MSIX package on Windows platforms. * You'll also notice various bug fixes and new policies have been implemented in this latest version of Firefox. See more details in the Firefox for Enterprise 94 Release Notes. Security fixes: #CVE-2021-38503: iframe sandbox rules did not apply to XSLT stylesheets #CVE-2021-38504: Use-after-free in file picker dialog #CVE-2021-38505: Windows 10 Cloud Clipboard may have recorded sensitive user data #CVE-2021-38506: Firefox could be coaxed into going into fullscreen mode without notification or warning #CVE-2021-38507: Opportunistic Encryption in HTTP2 could be used to bypass the Same-Origin-Policy on services hosted on other ports #MOZ-2021-0003: Universal XSS in Firefox for Android via QR Code URLs #CVE-2021-38508: Permission Prompt could be overlaid, resulting in user confusion and potential spoofing #MOZ-2021-0004: Web Extensions could access pre-redirect URL when their context menu was triggered by a user #CVE-2021-38509: Javascript alert box could have been spoofed onto an arbitrary domain #CVE-2021-38510: Download Protections were bypassed by .inetloc files on Mac OS #MOZ-2021-0005: 'Copy Image Link' context menu action could have been abused to see authentication tokens #MOZ-2021-0006: URL Parsing may incorrectly parse internationalized domains #MOZ-2021-0007: Memory safety bugs fixed in Firefox 94 and Firefox ESR 91.3
170 lines
5.7 KiB
Makefile
170 lines
5.7 KiB
Makefile
# $NetBSD: Makefile,v 1.500 2021/11/11 16:48:04 ryoon Exp $
|
|
|
|
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
|
|
MOZ_BRANCH= 94.0
|
|
MOZ_BRANCH_MINOR= .1
|
|
|
|
DISTNAME= firefox-${FIREFOX_VER}.source
|
|
PKGNAME= ${DISTNAME:S/.source//:S/b/beta/:S/esr//}
|
|
CATEGORIES= www
|
|
MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
|
|
EXTRACT_SUFX= .tar.xz
|
|
|
|
DISTFILES= ${DEFAULT_DISTFILES} nodejs-output-94.0.tgz
|
|
SITES.nodejs-output-94.0.tgz= ${MASTER_SITE_LOCAL}
|
|
|
|
MAINTAINER= ryoon@NetBSD.org
|
|
HOMEPAGE= https://www.mozilla.org/en-US/firefox/
|
|
COMMENT= Web browser with support for extensions (version ${FIREFOX_VER:tu:C/\\.[[:digit:]\.]*//})
|
|
LICENSE= mpl-1.1
|
|
|
|
# -------- BEFORE UPDATING THIS PACKAGE PLEASE READ & UNDERSTAND: -------
|
|
#
|
|
# This package works around a (stupid) build time dependency on nodejs
|
|
# (which is not available for all architectures and unnecessary for the
|
|
# real build). To do this, it places some additional burden on the
|
|
# maintainer.
|
|
#
|
|
# While working on the package, please make sure you have
|
|
#
|
|
# FIREFOX_MAINTAINER=yes
|
|
#
|
|
# set in your build environment.
|
|
# When the package is ready for commit (but before commit), do:
|
|
#
|
|
# make maintainer-files
|
|
#
|
|
# This will do another round (depending on state of your work dir at this
|
|
# moment) of one or two builds and generate a cache of all output that
|
|
# nodejs generates during a build.
|
|
#
|
|
# When this is done, just commit the results (they will be in the files/
|
|
# directory).
|
|
#
|
|
# -----------------------------------------------------------------------
|
|
|
|
UNLIMIT_RESOURCES+= datasize virtualsize
|
|
|
|
WRKSRC= ${WRKDIR}/firefox-${FIREFOX_VER:C/b.*//}
|
|
|
|
MOZILLA_DIR= # empty
|
|
|
|
# Note: when updating remember to conditionalise about-background.png in PLIST
|
|
CONFIGURE_ARGS+= --enable-application=browser
|
|
|
|
#CFLAGS+= -I${PREFIX}/include/nspr
|
|
# for lang/gcc6
|
|
CFLAGS+= -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS
|
|
CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS
|
|
|
|
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGBASE}
|
|
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib
|
|
LDFLAGS.DragonFly+= -lplc4 -lnspr4
|
|
LDFLAGS.FreeBSD+= -lplc4 -lnspr4
|
|
LDFLAGS.Linux+= -lnspr4
|
|
LDFLAGS.SunOS+= -lm
|
|
|
|
# XXX not sure how to test this! likely unnecessary
|
|
NOT_PAX_MPROTECT_SAFE+= lib/${PKGBASE}/plugin-container
|
|
|
|
# Avoid ld "invalid section index" errors.
|
|
BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections
|
|
BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections
|
|
BUILDLINK_TRANSFORM.SunOS+= rm:-pie
|
|
|
|
# Workaround for https://bugs.llvm.org/show_bug.cgi?id=46366
|
|
BUILDLINK_TRANSFORM.NetBSD+= rm:-fexperimental-new-pass-manager
|
|
|
|
SUBST_CLASSES+= dfly_malloc_h
|
|
SUBST_STAGE.dfly_malloc_h= pre-configure
|
|
SUBST_MESSAGE.dfly_malloc_h= Dont include malloc.h on dragonflybsd
|
|
SUBST_SED.dfly_malloc_h= -e 's,HAVE_MALLOC_H,HAVE_MALLOC_H \&\& !defined(__DragonFly__),g'
|
|
SUBST_FILES.dfly_malloc_h+= media/ffvpx/libavutil/mem.c
|
|
|
|
.include "mozilla-common.mk"
|
|
.include "options.mk"
|
|
|
|
CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/header.py
|
|
CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/typelib.py
|
|
CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpidl.py
|
|
CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpt.py
|
|
|
|
CHECK_WRKREF_SKIP+= lib/${MOZILLA}/omni.ja
|
|
|
|
MOZILLA= ${PKGBASE}
|
|
|
|
.if !empty(PKG_OPTIONS:Mofficial-mozilla-branding)
|
|
MOZILLA_NAME= Firefox
|
|
MOZILLA_BRANDING= official
|
|
.else
|
|
MOZILLA_NAME= Browser
|
|
MOZILLA_BRANDING= unofficial
|
|
.endif
|
|
|
|
pre-configure:
|
|
cd ${WRKSRC} && autoconf
|
|
cd ${WRKSRC}/js/src && autoconf
|
|
cd ${WRKSRC} && mkdir ${OBJDIR}
|
|
cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars
|
|
# Do not fetch Rust Cargo file via network during build
|
|
.if !defined(FIREFOX_MAINTAINER)
|
|
mv ${WRKDIR}/dist ${WRKSRC}/${OBJDIR}
|
|
.endif
|
|
|
|
.if defined(FIREFOX_MAINTAINER)
|
|
# Create files needed only by the firefox maintainer when updating
|
|
# the package
|
|
# XXX - manually removing the .*_done files is wrong!
|
|
.PHONY: build-list
|
|
build-list:
|
|
cd ${WRKSRC}/${OBJDIR}/dist/bin/browser/chrome && \
|
|
find . -type f | sort > ${OUT:Q}
|
|
|
|
NODE_LIST= "${WRKDIR}/node.list"
|
|
NO_NODE_LIST= "${WRKDIR}/no-node.list"
|
|
NODE_FILES= "${WRKDIR}/node.flist"
|
|
|
|
.PHONY: maintainer-files
|
|
maintainer-files:
|
|
rm -f ${FILESDIR}/node-wrapper.sh
|
|
V=$$( node -v ) && \
|
|
printf '#! /bin/sh\n\nVERS=%s\n\nif [ "$$1" = "-v" ] || [ "$$1" = "--version" ]; then\n\tprintf "$${VERS}\\n"\nfi\n\nexit 0\n' $$V \
|
|
> ${FILESDIR}/node-wrapper.sh && \
|
|
chmod 0755 ${FILESDIR}/node-wrapper.sh
|
|
rm -f ${WRKDIR}/.build_done ${WRKDIR}/.configure_done
|
|
${MAKE} MAINTAINER_INTERNAL=yes build
|
|
${MAKE} MAINTAINER_INTERNAL=yes OUT="${NO_NODE_LIST}" build-list
|
|
${MAKE} OUT="${NODE_LIST}" build-list
|
|
${DIFF} -u "${NO_NODE_LIST}" "${NODE_LIST}" | \
|
|
${AWK} \
|
|
'/^\+\.\//{ printf("dist/bin/browser/chrome/%s\n", gensub(/^\+\.\//, "", "")) }' \
|
|
> "${NODE_FILES}"
|
|
cd ${WRKSRC}/${OBJDIR} && tar -c -T "${NODE_FILES}" -z \
|
|
-f ${FILESDIR}/nodejs-output-${PKGVERSION_NOREV}.tgz
|
|
.endif
|
|
|
|
post-build:
|
|
${SED} -e 's|@MOZILLA@|${MOZILLA}|g' \
|
|
-e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \
|
|
-e 's|@FIREFOX_ICON@|${MOZILLA}|g' \
|
|
< ${FILESDIR}/desktop.in \
|
|
> ${WRKDIR}/desktop
|
|
|
|
INSTALLATION_DIRS+= share/applications
|
|
|
|
post-install:
|
|
${ECHO} '#! /bin/sh' > ${DESTDIR}${PREFIX}/bin/${MOZILLA}
|
|
${ECHO} '${PREFIX}/lib/${MOZILLA}/${MOZILLA} "$$@"' >> \
|
|
${DESTDIR}${PREFIX}/bin/${MOZILLA}
|
|
${CHMOD} 755 ${DESTDIR}${PREFIX}/bin/${MOZILLA}
|
|
${INSTALL_DATA} ${WRKDIR}/desktop \
|
|
${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
|
|
.for i in 16 22 24 32 48 64 128 256
|
|
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps
|
|
${INSTALL_DATA} ${WRKSRC}/browser/branding/${MOZILLA_BRANDING}/default${i}.png \
|
|
${DESTDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps/${MOZILLA}.png
|
|
.endfor
|
|
|
|
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
|
|
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|