diff --git a/www/firefox/Makefile b/www/firefox/Makefile index fedd992e9d8d..eeec2093788a 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -1,65 +1,64 @@ PORTNAME= firefox -DISTVERSION= 150.0 -PORTREVISION= 1 +DISTVERSION= 150.0.1 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.firefox.com/ BUILD_DEPENDS= nspr>=4.32:devel/nspr \ - nss>=3.122.1:security/nss \ + nss>=3.122.2:security/nss \ libevent>=2.1.8:devel/libevent \ harfbuzz>=10.1.0:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ png>=1.6.45:graphics/png \ dav1d>=1.0.0:multimedia/dav1d \ libvpx>=1.15.0:multimedia/libvpx \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ nasm:devel/nasm \ yasm:devel/yasm \ zip:archivers/zip \ ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasip1/libc++abi.a:devel/wasi-libcxx${LLVM_VERSION} \ ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasip1/libc.a:devel/wasi-libc@${LLVM_VERSION} \ wasi-compiler-rt${LLVM_VERSION}>0:devel/wasi-compiler-rt${LLVM_VERSION} USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr USE_MOZILLA= -sqlite # 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 MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding \ --with-wasi-sysroot=${LOCALBASE}/share/wasi-sysroot .include "${.CURDIR}/../../www/firefox/Makefile.options" post-extract: @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON:R}|;s|@MOZILLA@|${MOZILLA}|' \ <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA_EXEC_NAME}.desktop post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp @${REINPLACE_CMD} -e 's|wasm32-wasi|&p1|' \ ${WRKSRC}/build/moz.configure/toolchain.configure post-install: ${INSTALL_DATA} ${WRKDIR}/${MOZILLA_EXEC_NAME}.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 49db847b7b29..608ce9497747 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1776360451 -SHA256 (firefox-150.0.source.tar.xz) = fbe43df4c8a135cee4b29c375574bd9f609ee37a9f3b43bb96a83680e8ef3994 -SIZE (firefox-150.0.source.tar.xz) = 710220724 +TIMESTAMP = 1777388651 +SHA256 (firefox-150.0.1.source.tar.xz) = 2acffa708d924f5c81ecf08ce99dd9e0cfca2f3797f1a7791f154ed0365f6eec +SIZE (firefox-150.0.1.source.tar.xz) = 704237724 diff --git a/www/firefox/files/patch-pipewire_init b/www/firefox/files/patch-pipewire_init index c0eae3972c11..a1cfd672ab23 100644 --- a/www/firefox/files/patch-pipewire_init +++ b/www/firefox/files/patch-pipewire_init @@ -1,133 +1,136 @@ Adapted from: Chase ABI from multimedia/pipewire/files/patch-src_pipewire_pipewire_init Ref: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1819 diff --git third_party/libwebrtc/modules/portal/pipewire.sigs third_party/libwebrtc/modules/portal/pipewire.sigs index cab90280ef40..13718b8ce83c 100644 --- third_party/libwebrtc/modules/portal/pipewire.sigs +++ third_party/libwebrtc/modules/portal/pipewire.sigs @@ -15,8 +15,8 @@ pw_loop * pw_loop_new(const spa_dict *props); // pipewire.h -void pw_init(int *argc, char **argv[]); -void pw_deinit(); +void pipewire_init(int *argc, char **argv[]); +void pipewire_deinit(); const char* pw_get_library_version(); diff --git third_party/libwebrtc/modules/portal/pipewire_utils.cc third_party/libwebrtc/modules/portal/pipewire_utils.cc -index 91a2ae69513a..9dc0c47b969b 100644 +index 7008696b7d20..758b21e2677c 100644 --- third_party/libwebrtc/modules/portal/pipewire_utils.cc +++ third_party/libwebrtc/modules/portal/pipewire_utils.cc -@@ -52,12 +52,12 @@ PipeWireThreadLoopLock::~PipeWireThreadLoopLock() { +@@ -108,7 +108,7 @@ PipeWireThreadLoopLock::~PipeWireThreadLoopLock() { RTC_NO_SANITIZE("cfi-icall") PipeWireInitializer::PipeWireInitializer() { - pw_init(/*argc=*/nullptr, /*argv=*/nullptr); + pipewire_init(/*argc=*/nullptr, /*argv=*/nullptr); } RTC_NO_SANITIZE("cfi-icall") - PipeWireInitializer::~PipeWireInitializer() { -- pw_deinit(); -+ pipewire_deinit(); +@@ -116,7 +116,7 @@ PipeWireInitializer::~PipeWireInitializer() { + PipeWireVersion pw_client_version = + PipeWireVersion::Parse(pw_get_library_version()); + if (pw_client_version >= kReentrantDeinitMinVersion) { +- pw_deinit(); ++ pipewire_deinit(); + } } - } // namespace webrtc diff --git third_party/pipewire/libpipewire/mozpipewire.cpp third_party/pipewire/libpipewire/mozpipewire.cpp index 11f938b1de20..0191e557374d 100644 --- third_party/pipewire/libpipewire/mozpipewire.cpp +++ third_party/pipewire/libpipewire/mozpipewire.cpp @@ -28,8 +28,8 @@ struct pw_context * (*pw_context_new_fn)(struct pw_loop *main_loop, struct pw_properties *props, size_t user_data_size); static int (*pw_core_disconnect_fn)(struct pw_core *core); -static void (*pw_init_fn)(int *argc, char **argv[]); -static void (*pw_deinit_fn)(); +static void (*pipewire_init_fn)(int *argc, char **argv[]); +static void (*pipewire_deinit_fn)(); static void (*pw_proxy_destroy_fn)(struct pw_proxy *proxy); static void (*pw_stream_add_listener_fn)(struct pw_stream *stream, struct spa_hook *listener, @@ -74,8 +74,8 @@ bool IsPwLibraryLoaded() { IS_FUNC_LOADED(pw_context_destroy_fn) && IS_FUNC_LOADED(pw_context_new_fn) && IS_FUNC_LOADED(pw_core_disconnect_fn) && - IS_FUNC_LOADED(pw_init_fn) && - IS_FUNC_LOADED(pw_deinit_fn) && + IS_FUNC_LOADED(pipewire_init_fn) && + IS_FUNC_LOADED(pipewire_deinit_fn) && IS_FUNC_LOADED(pw_proxy_destroy_fn) && IS_FUNC_LOADED(pw_stream_add_listener_fn) && IS_FUNC_LOADED(pw_stream_connect_fn) && @@ -118,8 +118,8 @@ bool LoadPWLibrary() { GET_FUNC(pw_context_destroy, pwLib); GET_FUNC(pw_context_new, pwLib); GET_FUNC(pw_core_disconnect, pwLib); - GET_FUNC(pw_init, pwLib); - GET_FUNC(pw_deinit, pwLib); + GET_FUNC(pipewire_init, pwLib); + GET_FUNC(pipewire_deinit, pwLib); GET_FUNC(pw_stream_add_listener, pwLib); GET_FUNC(pw_stream_connect, pwLib); GET_FUNC(pw_stream_disconnect, pwLib); @@ -199,21 +199,21 @@ pw_core_disconnect(struct pw_core *core) } void -pw_init(int *argc, char **argv[]) +pipewire_init(int *argc, char **argv[]) { if (!LoadPWLibrary()) { return; } - return pw_init_fn(argc, argv); + return pipewire_init_fn(argc, argv); } void -pw_deinit() +pipewire_deinit() { if (!LoadPWLibrary()) { return; } - return pw_deinit_fn(); + return pipewire_deinit_fn(); } void diff --git third_party/pipewire/pipewire/log.h third_party/pipewire/pipewire/log.h index a95a64fef26d..e3d4ebd51285 100644 --- third_party/pipewire/pipewire/log.h +++ third_party/pipewire/pipewire/log.h @@ -31,8 +31,8 @@ extern enum spa_log_level pw_log_level; extern struct spa_log_topic * const PW_LOG_TOPIC_DEFAULT; /** Configure a logging module. This is usually done automatically - * in pw_init() but you can install a custom logger before calling - * pw_init(). */ + * in pipewire_init() but you can install a custom logger before calling + * pipewire_init(). */ void pw_log_set(struct spa_log *log); /** Get the log interface */ diff --git third_party/pipewire/pipewire/pipewire.h third_party/pipewire/pipewire/pipewire.h index 870f2f178e24..2bfd4ba46dae 100644 --- third_party/pipewire/pipewire/pipewire.h +++ third_party/pipewire/pipewire/pipewire.h @@ -49,9 +49,9 @@ extern "C" { * \{ */ void -pw_init(int *argc, char **argv[]); +pipewire_init(int *argc, char **argv[]); -void pw_deinit(void); +void pipewire_deinit(void); bool pw_debug_is_category_enabled(const char *name);