diff --git a/www/firefox/Makefile b/www/firefox/Makefile index 6cd9cd0d5570..bed01b91a6f0 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -1,73 +1,72 @@ PORTNAME= firefox -DISTVERSION= 112.0.1 -PORTREVISION= 1 +DISTVERSION= 112.0.2 PORTEPOCH= 2 CATEGORIES= www wayland MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}${DISTVERSIONSUFFIX}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}${DISTVERSIONSUFFIX}-candidates/build1/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla WWW= https://www.mozilla.com/firefox BUILD_DEPENDS= nspr>=4.32:devel/nspr \ nss>=3.89:security/nss \ icu>=72.1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=7.1.0:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ png>=1.6.39:graphics/png \ dav1d>=1.0.0:multimedia/dav1d \ libvpx>=1.13.0:multimedia/libvpx \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf2.13:devel/autoconf2.13 \ nasm:devel/nasm \ yasm:devel/yasm \ zip:archivers/zip USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr USE_MOZILLA= -sqlite CFLAGS_powerpc64le= -DSQLITE_BYTEORDER=1234 # work around bindgen not finding ICU, e.g. # dist/include/mozilla/intl/ICU4CGlue.h:8:10: fatal error: 'unicode/uenum.h' file not found, err: true CONFIGURE_ENV+= BINDGEN_CFLAGS="-I${LOCALBASE}/include" USES= tar:xz # helpful when testing beta WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION} FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png FIREFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/${MOZILLA}-snap/${MOZILLA}.desktop MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding .include "${.CURDIR}/../../www/firefox/Makefile.options" .include .if ${ARCH} == powerpc64 MOZ_OPTIONS+= --without-wasm-sandboxed-libraries .else BUILD_DEPENDS+= ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc++abi.a:devel/wasi-libcxx \ ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc.a:devel/wasi-libc \ ${LOCALBASE}/llvm${LLVM_DEFAULT}/lib/clang/${LLVM_VERSION}/lib/wasi/libclang_rt.builtins-wasm32.a:devel/wasi-compiler-rt${LLVM_DEFAULT} MOZ_OPTIONS+= --with-wasi-sysroot=${LOCALBASE}/share/wasi-sysroot .endif post-patch: @${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \ -e '/^Icon/s/=.*/=${FIREFOX_ICON:R}/' \ ${FIREFOX_DESKTOP} @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp post-install: ${INSTALL_DATA} ${FIREFOX_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include diff --git a/www/firefox/distinfo b/www/firefox/distinfo index e952c3d43dc8..1a0c012c2c19 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1681495514 -SHA256 (firefox-112.0.1.source.tar.xz) = 5d2b2886812fe1bc62b7801495d375e3de94ca160a676057d1df92de87efb649 -SIZE (firefox-112.0.1.source.tar.xz) = 506649248 +TIMESTAMP = 1682357747 +SHA256 (firefox-112.0.2.source.tar.xz) = e6a4819a3b82b1ca6c45296e50e6c9ab653306eeb540e50ba8683e339565992e +SIZE (firefox-112.0.2.source.tar.xz) = 504773576 diff --git a/www/firefox/files/patch-bug1827950 b/www/firefox/files/patch-bug1827950 deleted file mode 100644 index d00147a7380e..000000000000 --- a/www/firefox/files/patch-bug1827950 +++ /dev/null @@ -1,51 +0,0 @@ -diff --git gfx/thebes/gfxFont.cpp gfx/thebes/gfxFont.cpp ---- gfx/thebes/gfxFont.cpp -+++ gfx/thebes/gfxFont.cpp -@@ -2467,11 +2467,19 @@ - fontParams.extraStrikes = 0; - } - - // Figure out the maximum extents for the font, accounting for synthetic - // oblique and bold. -- fontParams.fontExtents = GetFontEntry()->GetFontExtents(mFUnitsConvFactor); -+ if (mFUnitsConvFactor > 0.0) { -+ fontParams.fontExtents = GetFontEntry()->GetFontExtents(mFUnitsConvFactor); -+ } else { -+ // Was it not an sfnt? Maybe on Linux... use arbitrary huge extents, so we -+ // don't inadvertently clip stuff. A bit less efficient than true extents, -+ // but this should be extremely rare. -+ auto size = GetAdjustedSize(); -+ fontParams.fontExtents = Rect(-2 * size, -2 * size, 5 * size, 5 * size); -+ } - if (fontParams.obliqueSkew != 0.0f) { - gfx::Point p(fontParams.fontExtents.x, fontParams.fontExtents.y); - gfx::Matrix skew(1, 0, fontParams.obliqueSkew, 1, 0, 0); - fontParams.fontExtents = skew.TransformBounds(fontParams.fontExtents); - } -diff --git gfx/thebes/gfxFontEntry.cpp gfx/thebes/gfxFontEntry.cpp ---- gfx/thebes/gfxFontEntry.cpp -+++ gfx/thebes/gfxFontEntry.cpp -@@ -282,15 +282,18 @@ - uint32_t len; - const HeadTable* head = - reinterpret_cast(hb_blob_get_data(headTable, &len)); - if (len >= sizeof(HeadTable)) { - mUnitsPerEm = head->unitsPerEm; -+ if (int16_t(head->xMax) > int16_t(head->xMin) && -+ int16_t(head->yMax) > int16_t(head->yMin)) { -+ mXMin = head->xMin; -+ mYMin = head->yMin; -+ mXMax = head->xMax; -+ mYMax = head->yMax; -+ } - } -- mXMin = head->xMin; -- mYMin = head->yMin; -- mXMax = head->xMax; -- mYMax = head->yMax; - } - - // if we didn't find a usable 'head' table, or if the value was - // outside the valid range, record it as invalid - if (mUnitsPerEm < kMinUPEM || mUnitsPerEm > kMaxUPEM) { -