pkgsrc/www/firefox/Makefile
ryoon ea77a51fec firefox: Update to 80.0
Changelog:
New
    Firefox can now be set as the default system PDF viewer.

    The name reported by accessibility tools for items in multi-tiered
    tree controls no longer incorrectly includes information from
    items at deeper levels, providing users with the correct level
    of content when using a screen reader.

Fixed
    Various security fixes.

    Several crashes while using a screen reader were fixed including
    a frequently encountered crash when using the JAWS screen
    reader.

    Firefox Developer Tools received significant fixes allowing
    screen reader users to benefit from some of the tools that were
    previously inaccessible.

    SVG title and desc elements (labels and descriptions) are now
    correctly exposed to assistive technology products such as
    screen readers.

Changed
    For users with reduced motion settings, we've reduced a number
    of animations such as tab loading to reduce motion for users
    with migraines and epilepsy.

    The new add-ons blocklist has been enabled to improve performance
    and scalability.

Enterprise
    A number of bug fixes and new policies have been implemented
    in the latest version of Firefox. You can see more details in
    the Firefox for Enterprise 80 Release Notes.

    Today's release is the final scheduled for Firefox 68 ESR
    (68.12) unless there is a critical security issue found prior
    to the release of Firefox ESR 78.3 on September 22, 2020. Users
    of Firefox 68 ESR will be automatically upgraded to the Firefox
    78 ESR series with the release of 78.3.

Developer
    We've shipped an experimental sidebar panel in the inspector
    to Firefox Developer Edition that helps developers more quickly
    identify potential browser compatibility problems based on MDN
    data.

    In the Network Monitor request list, a turtle icon is shown
    for "slow" requests that exceed a threshold for the waiting
    time.

    Firefox now supports RTX and Transport-cc for improved call
    quality in poor network conditions and better bandwidth
    estimation. These features also provide better compatibility
    with many websites using WebRTC.

Security fixes:
#CVE-2020-15663: Downgrade attack on the Mozilla Maintenance Service could have resulted in escalation of privilege
#CVE-2020-15664: Attacker-induced prompt for extension installation
#CVE-2020-12401: Timing-attack on ECDSA signature generation
#CVE-2020-6829: P-384 and P-521 vulnerable to an electro-magnetic side channel attack on signature generation
#CVE-2020-12400: P-384 and P-521 vulnerable to a side channel attack on modular inversion
#CVE-2020-15665: Address bar not reset when choosing to stay on a page after the beforeunload dialog is shown
#CVE-2020-15666: MediaError message property leaks cross-origin response status
#CVE-2020-15667: Heap overflow when processing an update file
#CVE-2020-15668: Data Race when reading certificate information
#CVE-2020-15670: Memory safety bugs fixed in Firefox 80 and Firefox ESR 78.2
2020-08-25 14:35:24 +00:00

132 lines
4.4 KiB
Makefile

# $NetBSD: Makefile,v 1.444 2020/08/25 14:35:24 ryoon Exp $
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
MOZ_BRANCH= 80.0
MOZ_BRANCH_MINOR=
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
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
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
NOT_PAX_MPROTECT_SAFE+= lib/${PKGBASE}/${MOZILLA}
NOT_PAX_MPROTECT_SAFE+= lib/${PKGBASE}/${MOZILLA}-bin
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}/chrome/toolkit/content/global/buildconfig.html
MOZILLA= ${PKGBASE}
MOZILLA_ICON= ${WRKSRC}/${OBJDIR}/dist/${MOZILLA}/browser/chrome/icons/default/default48.png
.if !empty(PKG_OPTIONS:Mofficial-mozilla-branding)
MOZILLA_NAME= Firefox
.else
MOZILLA_NAME= Browser
.endif
#
# 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+= third_party/rust/libc
# patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
CKSUMS+= a3540eab4dbc52e006e84e288bad17e1dae3865fea49020e0ed8b5a7724a9532
CKSUMS+= 5e58a2109f5eff0f497dfac150c161c1d517a2227b49e086da96c3d66522ac3a
CKSUM_CRATES+= third_party/rust/getrandom
# patch-third__party_rust_getrandom_src_lib.rs
CKSUMS+= 0e52f6bde42d7bb05c297ce1c25b9879d61b28caba98f6226a152bff538db6c2
CKSUMS+= 394425b4ba03c21c494e64d993678f7014575b1e3d590b9ee452b5c2d83ec4ac
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
post-extract:
mv ${WRKSRC}/gfx/ycbcr/yuv_row_arm.s ${WRKSRC}/gfx/ycbcr/yuv_row_arm.S
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
post-build:
${SED} -e 's|@MOZILLA@|${MOZILLA}|g' \
-e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \
-e 's|@FIREFOX_ICON@|${MOZILLA}.png|g' \
< ${FILESDIR}/desktop.in \
> ${WRKDIR}/desktop
INSTALLATION_DIRS+= share/applications share/pixmaps
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
${INSTALL_DATA} ${MOZILLA_ICON} \
${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/bsd.pkg.mk"