diff --git a/.gitignore b/.gitignore index e3669fb..79026f1 100644 --- a/.gitignore +++ b/.gitignore @@ -631,3 +631,5 @@ firefox-3.6.4.source.tar.bz2 /wasi-sdk-20-1.fc39.src.rpm /firefox-124.0.2.source.tar.xz /firefox-langpacks-124.0.2-20240404.tar.xz +/firefox-langpacks-125.0-20240409.tar.xz +/firefox-125.0.source.tar.xz diff --git a/firefox-enable-addons.patch b/firefox-enable-addons.patch index 15d0707..75e1403 100644 --- a/firefox-enable-addons.patch +++ b/firefox-enable-addons.patch @@ -1,10 +1,10 @@ -diff -up firefox-55.0/browser/app/profile/firefox.js.addons firefox-55.0/browser/app/profile/firefox.js ---- firefox-55.0/browser/app/profile/firefox.js.addons 2017-08-02 10:58:30.566363833 +0200 -+++ firefox-55.0/browser/app/profile/firefox.js 2017-08-02 10:59:15.377216959 +0200 -@@ -65,7 +65,8 @@ pref("extensions.systemAddon.update.url" +diff -up firefox-125.0/browser/app/profile/firefox.js.addons firefox-125.0/browser/app/profile/firefox.js +--- firefox-125.0/browser/app/profile/firefox.js.addons 2024-04-09 10:34:30.728405003 +0200 ++++ firefox-125.0/browser/app/profile/firefox.js 2024-04-09 10:36:01.444584632 +0200 +@@ -58,7 +58,8 @@ pref("extensions.systemAddon.update.enab // Disable add-ons that are not installed by the user in all scopes by default. - // See the SCOPE constants in AddonManager.jsm for values to use here. + // See the SCOPE constants in AddonManager.sys.mjs for values to use here. -pref("extensions.autoDisableScopes", 15); +pref("extensions.autoDisableScopes", 0); +pref("extensions.showMismatchUI", false); diff --git a/firefox.spec b/firefox.spec index 7b48e09..d16ec1e 100644 --- a/firefox.spec +++ b/firefox.spec @@ -188,13 +188,13 @@ ExcludeArch: i686 Summary: Mozilla Firefox Web browser Name: firefox -Version: 124.0.2 -Release: 2%{?pre_tag}%{?dist} +Version: 125.0 +Release: 1%{?pre_tag}%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz %if %{with langpacks} -Source1: firefox-langpacks-%{version}%{?pre_version}-20240404.tar.xz +Source1: firefox-langpacks-%{version}%{?pre_version}-20240409.tar.xz %endif Source2: cbindgen-vendor.tar.xz Source3: dump_syms-vendor.tar.xz @@ -271,7 +271,6 @@ Patch230: firefox-enable-vaapi.patch Patch231: fedora-customization.patch Patch241: 0025-Add-KDE-integration-to-Firefox-toolkit-parts.patch Patch242: 0026-Add-KDE-integration-to-Firefox.patch -Patch243: im-patch.patch # Upstream patches Patch402: mozilla-1196777.patch @@ -587,7 +586,6 @@ export LIBCLANG_RT=`pwd`/wasi-sdk-20/build/compiler-rt/lib/wasi/libclang_rt.buil %patch231 -p1 -b .fedora-customization #%patch241 -p1 -b .kde-integration-toolkit #%patch242 -p1 -b .kde-integration -%patch243 -p1 -b .im-patch %patch402 -p1 -b .1196777 %patch407 -p1 -b .1667096 @@ -1228,6 +1226,9 @@ fi #--------------------------------------------------------------------- %changelog +* Tue Apr 9 2024 Martin Stransky - 125.0-1 +- Updated to 125.0 + * Thu Apr 4 2024 Martin Stransky - 124.0.2-2 - Updated to 124.0.2 diff --git a/im-patch.patch b/im-patch.patch deleted file mode 100644 index 1fa871d..0000000 --- a/im-patch.patch +++ /dev/null @@ -1,122 +0,0 @@ -diff -up firefox-124.0.1/widget/gtk/IMContextWrapper.cpp.im-patch firefox-124.0.1/widget/gtk/IMContextWrapper.cpp ---- firefox-124.0.1/widget/gtk/IMContextWrapper.cpp.im-patch 2024-03-22 05:00:19.000000000 +0100 -+++ firefox-124.0.1/widget/gtk/IMContextWrapper.cpp 2024-03-25 21:39:58.961947576 +0100 -@@ -232,11 +232,18 @@ class SelectionStyleProvider final { - sHasShutDown = true; - } - -- // mContainer associated with an IM context. -- void AttachTo(MozContainer* aContainer) { -- gtk_style_context_add_provider( -- gtk_widget_get_style_context(GTK_WIDGET(aContainer)), -- GTK_STYLE_PROVIDER(mProvider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); -+ // aGDKWindow is a GTK window which will be associated with an IM context. -+ void AttachTo(GdkWindow* aGDKWindow) { -+ GtkWidget* widget = nullptr; -+ // gdk_window_get_user_data() typically returns pointer to widget that -+ // window belongs to. If it's widget, fcitx retrieves selection colors -+ // of them. So, we need to overwrite its style. -+ gdk_window_get_user_data(aGDKWindow, (gpointer*)&widget); -+ if (GTK_IS_WIDGET(widget)) { -+ gtk_style_context_add_provider(gtk_widget_get_style_context(widget), -+ GTK_STYLE_PROVIDER(mProvider), -+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); -+ } - } - - void OnThemeChanged() { -@@ -410,17 +417,21 @@ nsDependentCSubstring IMContextWrapper:: - } - - void IMContextWrapper::Init() { -+ MozContainer* container = mOwnerWindow->GetMozContainer(); -+ MOZ_ASSERT(container, "container is null"); -+ GdkWindow* gdkWindow = gtk_widget_get_window(GTK_WIDGET(container)); -+ - // Overwrite selection colors of the window before associating the window - // with IM context since IME may look up selection colors via IM context - // to support any colored widgets. -- SelectionStyleProvider::GetInstance()->AttachTo( -- mOwnerWindow->GetMozContainer()); -+ SelectionStyleProvider::GetInstance()->AttachTo(gdkWindow); - - // NOTE: gtk_im_*_new() abort (kill) the whole process when it fails. - // So, we don't need to check the result. - - // Normal context. - mContext = gtk_im_multicontext_new(); -+ gtk_im_context_set_client_window(mContext, gdkWindow); - g_signal_connect(mContext, "preedit_changed", - G_CALLBACK(IMContextWrapper::OnChangeCompositionCallback), - this); -@@ -492,6 +503,7 @@ void IMContextWrapper::Init() { - // Simple context - if (sUseSimpleContext) { - mSimpleContext = gtk_im_context_simple_new(); -+ gtk_im_context_set_client_window(mSimpleContext, gdkWindow); - g_signal_connect(mSimpleContext, "preedit_changed", - G_CALLBACK(&IMContextWrapper::OnChangeCompositionCallback), - this); -@@ -514,6 +526,7 @@ void IMContextWrapper::Init() { - - // Dummy context - mDummyContext = gtk_im_multicontext_new(); -+ gtk_im_context_set_client_window(mDummyContext, gdkWindow); - - MOZ_LOG(gIMELog, LogLevel::Info, - ("0x%p Init(), mOwnerWindow=%p, mContext=%p (im=\"%s\"), " -@@ -540,17 +553,6 @@ IMContextWrapper::~IMContextWrapper() { - MOZ_LOG(gIMELog, LogLevel::Info, ("0x%p ~IMContextWrapper()", this)); - } - --void IMContextWrapper::SetGdkWindow(GdkWindow* aGdkWindow) { -- MOZ_LOG(gIMELog, LogLevel::Info, -- ("0x%p GdkWindowChanged(%p)", this, aGdkWindow)); -- MOZ_ASSERT(!aGdkWindow || mOwnerWindow->GetGdkWindow() == aGdkWindow); -- gtk_im_context_set_client_window(mContext, aGdkWindow); -- if (mSimpleContext) { -- gtk_im_context_set_client_window(mSimpleContext, aGdkWindow); -- } -- gtk_im_context_set_client_window(mDummyContext, aGdkWindow); --} -- - NS_IMETHODIMP - IMContextWrapper::NotifyIME(TextEventDispatcher* aTextEventDispatcher, - const IMENotification& aNotification) { -diff -up firefox-124.0.1/widget/gtk/IMContextWrapper.h.im-patch firefox-124.0.1/widget/gtk/IMContextWrapper.h ---- firefox-124.0.1/widget/gtk/IMContextWrapper.h.im-patch 2024-03-22 05:00:19.000000000 +0100 -+++ firefox-124.0.1/widget/gtk/IMContextWrapper.h 2024-03-25 21:39:58.961947576 +0100 -@@ -117,10 +117,6 @@ class IMContextWrapper final : public Te - void OnUpdateComposition(); - void OnLayoutChange(); - -- // Set GdkWindow associated with IM context. -- // It can be null which disables context operations. -- void SetGdkWindow(GdkWindow* aGdkWindow); -- - TextEventDispatcher* GetTextEventDispatcher(); - - // TODO: Typically, new IM comes every several years. And now, our code -diff -up firefox-124.0.1/widget/gtk/nsWindow.cpp.im-patch firefox-124.0.1/widget/gtk/nsWindow.cpp ---- firefox-124.0.1/widget/gtk/nsWindow.cpp.im-patch 2024-03-25 21:39:58.959947505 +0100 -+++ firefox-124.0.1/widget/gtk/nsWindow.cpp 2024-03-25 21:41:09.178439036 +0100 -@@ -5822,9 +5822,6 @@ void nsWindow::EnsureGdkWindow() { - if (!mGdkWindow) { - mGdkWindow = gtk_widget_get_window(GTK_WIDGET(mContainer)); - g_object_set_data(G_OBJECT(mGdkWindow), "nsWindow", this); -- if (mIMContext) { -- mIMContext->SetGdkWindow(mGdkWindow); -- } - } - } - -@@ -9933,9 +9930,6 @@ void nsWindow::DisableRendering() { - LOG("nsWindow::DisableRendering()"); - - if (mGdkWindow) { -- if (mIMContext) { -- mIMContext->SetGdkWindow(nullptr); -- } - g_object_set_data(G_OBJECT(mGdkWindow), "nsWindow", nullptr); - mGdkWindow = nullptr; - } diff --git a/mozilla-1667096.patch b/mozilla-1667096.patch index 85dd729..924705f 100644 --- a/mozilla-1667096.patch +++ b/mozilla-1667096.patch @@ -1,6 +1,6 @@ -diff -up firefox-108.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-108.0/media/ffvpx/libavcodec/codec_list.c ---- firefox-108.0/media/ffvpx/libavcodec/codec_list.c.1667096 2022-12-05 21:18:00.000000000 +0100 -+++ firefox-108.0/media/ffvpx/libavcodec/codec_list.c 2022-12-08 08:29:54.513562296 +0100 +diff -up firefox-125.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-125.0/media/ffvpx/libavcodec/codec_list.c +--- firefox-125.0/media/ffvpx/libavcodec/codec_list.c.1667096 2024-04-08 22:17:52.000000000 +0200 ++++ firefox-125.0/media/ffvpx/libavcodec/codec_list.c 2024-04-09 10:40:58.727006437 +0200 @@ -11,6 +11,9 @@ static const FFCodec * const codec_list[ #if CONFIG_MP3_DECODER &ff_mp3_decoder, @@ -11,9 +11,9 @@ diff -up firefox-108.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-108.0 #if CONFIG_LIBDAV1D &ff_libdav1d_decoder, #endif -diff -up firefox-108.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-108.0/media/ffvpx/libavcodec/libfdk-aacdec.c ---- firefox-108.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 2022-12-08 08:29:54.514562328 +0100 -+++ firefox-108.0/media/ffvpx/libavcodec/libfdk-aacdec.c 2022-09-03 18:20:04.000000000 +0200 +diff -up firefox-125.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-125.0/media/ffvpx/libavcodec/libfdk-aacdec.c +--- firefox-125.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 2024-04-09 10:40:58.727006437 +0200 ++++ firefox-125.0/media/ffvpx/libavcodec/libfdk-aacdec.c 2024-04-09 10:40:58.727006437 +0200 @@ -0,0 +1,497 @@ +/* + * AAC decoder wrapper @@ -512,12 +512,12 @@ diff -up firefox-108.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-10 + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, + .p.wrapper_name = "libfdk", +}; -diff -up firefox-108.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-108.0/media/ffvpx/libavcodec/moz.build ---- firefox-108.0/media/ffvpx/libavcodec/moz.build.1667096 2022-12-05 21:18:01.000000000 +0100 -+++ firefox-108.0/media/ffvpx/libavcodec/moz.build 2022-12-08 08:29:54.514562328 +0100 -@@ -130,6 +130,12 @@ if CONFIG['MOZ_LIBAV_FFT']: - 'avfft.c', - ] +diff -up firefox-125.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-125.0/media/ffvpx/libavcodec/moz.build +--- firefox-125.0/media/ffvpx/libavcodec/moz.build.1667096 2024-04-09 10:40:58.727006437 +0200 ++++ firefox-125.0/media/ffvpx/libavcodec/moz.build 2024-04-09 10:57:10.584104658 +0200 +@@ -146,6 +146,12 @@ else: + CXXFLAGS += CONFIG["MOZ_LIBVPX_CFLAGS"] + OS_LIBS += CONFIG["MOZ_LIBVPX_LIBS"] +if CONFIG['MOZ_FDK_AAC']: + SOURCES += [ @@ -528,10 +528,10 @@ diff -up firefox-108.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-108.0/me SYMBOLS_FILE = 'avcodec.symbols' NoVisibilityFlags() -diff -up firefox-108.0/toolkit/moz.configure.1667096 firefox-108.0/toolkit/moz.configure ---- firefox-108.0/toolkit/moz.configure.1667096 2022-12-05 21:21:08.000000000 +0100 -+++ firefox-108.0/toolkit/moz.configure 2022-12-08 08:29:54.514562328 +0100 -@@ -2134,6 +2134,15 @@ with only_when(compile_environment): +diff -up firefox-125.0/toolkit/moz.configure.1667096 firefox-125.0/toolkit/moz.configure +--- firefox-125.0/toolkit/moz.configure.1667096 2024-04-09 10:40:58.711005876 +0200 ++++ firefox-125.0/toolkit/moz.configure 2024-04-09 10:40:58.728006472 +0200 +@@ -2395,6 +2395,15 @@ with only_when(compile_environment): set_config("MOZ_SYSTEM_PNG", True, when="--with-system-png") diff --git a/sources b/sources index 8df460d..a7b8059 100644 --- a/sources +++ b/sources @@ -1,6 +1,6 @@ SHA512 (mochitest-python.tar.gz) = 089b1593068b76f4572af0086eaccf52a6a1299bfffb58593206d19bf021ae381f2380bbfeb4371586cd53706ff6dde3d240238b2caf19b96c57dfc2f4524e36 SHA512 (cbindgen-vendor.tar.xz) = 3e7eaff088db918e95f5505e5feeb06e8b7b95cc62042a6d163a708fc76baea43d21bf49cf7e02bc64fdfc61e8d7704057dbb225098de56e110783104d166c54 SHA512 (dump_syms-vendor.tar.xz) = 5769c052fa874a965eb8837776b01fb097e8930f45d0d0d2a93997c4fae8726184a192aee52302bde62e62897801b1463cae9283563d9d60e8b8ee80a250f2a3 -SHA512 (firefox-124.0.2.source.tar.xz) = 8cf340de6e34812f8ae3363265859a263330af770d981c3dd1ca1e7e0cfe513604d3e68184d4aa1446569aefbdf359d561fbc200faf19a5ed020a1709d9ef10e -SHA512 (firefox-langpacks-124.0.2-20240404.tar.xz) = ac50445a026eb6515b9d891fde22eb41659417ee1daea3d941e370108861349edbceae4ab5ed8947c03c3202eb802d01d051de1a98603243568f755d62b9eab3 SHA512 (wasi-sdk-20.tar.gz) = 95be9d9b41ed1f7884e9cd68bad22abbb355b049fd09731c89b9e36666d0205b1a16ec9c21820adf0c5a34e2048015cbfbef0542170d466fa3336c636873c405 +SHA512 (firefox-langpacks-125.0-20240409.tar.xz) = 4789675ba8677d7ef4746e68928d7a125c7db95eeb8184264b2294f380c4aca1343ff30c238bba43378c6c9cb3ccd7768355f2cee6a18ec9499d6372e3f0b539 +SHA512 (firefox-125.0.source.tar.xz) = c520070e5a8872f3df4f5e35b9a605eef95f61254f6242040f02b2b68d6c8eef993885a18144353326a7488ac27115fa4ad2ef5615885e5155ab3f8194a61977 diff --git a/wasi.patch b/wasi.patch index 33ab037..aaa5337 100644 --- a/wasi.patch +++ b/wasi.patch @@ -6,7 +6,7 @@ diff -up firefox-121.0.1/toolkit/moz.configure.wasi firefox-121.0.1/toolkit/moz. if wasi_sysroot: log.info("Using wasi sysroot in %s", wasi_sysroot) - return ["--sysroot=%s" % wasi_sysroot] -+ return ["--sysroot=%s" % wasi_sysroot, "-nodefaultlibs", "-lc", "-lwasi-emulated-process-clocks", "-lc++", "-lc++abi", "/home/jhorak/f/firefox/firefox-124.0.2/wasi-sdk-20/build/compiler-rt/lib/wasi/libclang_rt.builtins-wasm32.a"] ++ return ["--sysroot=%s" % wasi_sysroot, "-nodefaultlibs", "-lc", "-lwasi-emulated-process-clocks", "-lc++", "-lc++abi", "/raid/CVS/firefox/firefox-125.0/wasi-sdk-20/build/compiler-rt/lib/wasi/libclang_rt.builtins-wasm32.a"] return [] set_config("WASI_SYSROOT", wasi_sysroot)