diff --git a/www/firefox/Makefile b/www/firefox/Makefile index 8e433bfecc11..0fe303d40352 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -1,73 +1,73 @@ PORTNAME= firefox DISTVERSION= 111.0.1 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 2 CATEGORIES= www wayland MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}${DISTVERSIONSUFFIX}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}${DISTVERSIONSUFFIX}-candidates/build2/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.88:security/nss \ icu>=72.1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=6.0.0:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ png>=1.6.39:graphics/png \ dav1d>=1.0.0:multimedia/dav1d \ libvpx>=1.12.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/files/patch-bug1824066 b/www/firefox/files/patch-bug1824066 new file mode 100644 index 000000000000..cce34e9eb196 --- /dev/null +++ b/www/firefox/files/patch-bug1824066 @@ -0,0 +1,37 @@ +commit c017c06d61545a86338a1cbc73967803c5a2a6bc +Author: John M. Schanck +Date: Thu Mar 23 12:13:44 2023 -0700 + + Apply pr234 patch to transports/freebsd + +diff --git third_party/rust/authenticator/src/transport/freebsd/device.rs third_party/rust/authenticator/src/transport/freebsd/device.rs +index 8f4de54..3a83be2 100644 +--- third_party/rust/authenticator/src/transport/freebsd/device.rs ++++ third_party/rust/authenticator/src/transport/freebsd/device.rs +@@ -41,7 +41,9 @@ impl Device { + buf[6] = 0; + buf[7] = 1; // one byte + +- self.write_all(&buf)?; ++ if self.write(&buf)? != buf.len() { ++ return Err(io_err("write ping failed")); ++ } + + // Wait for response + let mut pfd: libc::pollfd = unsafe { mem::zeroed() }; +@@ -56,8 +58,13 @@ impl Device { + continue; + } + +- // Read response +- self.read_exact(&mut buf)?; ++ // Read response. When reports come in they are all ++ // exactly the same size, with no report id byte because ++ // there is only one report. ++ let n = self.read(&mut buf[1..])?; ++ if n != buf.len() - 1 { ++ return Err(io_err("read pong failed")); ++ } + + return Ok(()); + }