Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package seamonkey for openSUSE:Factory 
checked in at 2025-08-29 18:35:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/seamonkey (Old)
 and      /work/SRC/openSUSE:Factory/.seamonkey.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "seamonkey"

Fri Aug 29 18:35:54 2025 rev:42 rq:1301636 version:2.53.21

Changes:
--------
--- /work/SRC/openSUSE:Factory/seamonkey/seamonkey.changes      2025-08-25 
20:38:57.174239571 +0200
+++ /work/SRC/openSUSE:Factory/.seamonkey.new.1977/seamonkey.changes    
2025-08-29 18:36:44.990015900 +0200
@@ -1,0 +2,44 @@
+Wed Aug 27 23:34:52 UTC 2025 - Tristan Miller <psychon...@nothingisreal.com>
+
+- remove SUSE_ASNEEDED from spec file
+- add build options for using system jpg, png, nss, nspr, and zlib
+  libraries
+
+-------------------------------------------------------------------
+Tue Aug 26 18:27:50 UTC 2025 - Tristan Miller <psychon...@nothingisreal.com>
+
+- refactor spec file
+- rename patches according to their source/bug and to the
+  earliest version of the package they were applied to:
+  seamonkey-icu.patch => seamonkey-2.53.21-bmo1927380.patch
+  mozilla-bmo1862601.patch => seamonkey-2.53.21-bmo1862601.patch
+  mozilla-bmo1896958.patch => seamonkey-2.53.19-bmo1896958.patch
+  mach-use-python-311.patch => seamonkey-2.53.20-mach-use-python-311.patch
+  reproducible.patch => seamonkey-2.53.20-boo1237231.patch
+  seamonkey-man-page.patch => seamonkey-2.53.7.1-man-page.patch
+  seamonkey-lto.patch => seamonkey-2.53.3-lto.patch
+  mozilla-ntlm-full-path.patch => seamonkey-2.1.0-bmo634334.patch
+  mozilla-nongnome-proxies.patch => seamonkey-2.0.0-nongnome-proxies.patch
+  mozilla-bmo531915.patch => seamonkey-2.53.17.1-bmo531915.patch
+- remove build workarounds for Leap 15.5 (now unsupported)
+- add seamonkey-2.53.20-system-av1.patch for using system AV1
+- add seamonkey-2.53.21-bmo1332139.patch for using system VPx
+- remove spec file code specific to aarch64 and PPC; these are
+  no longer supported upstream and are difficult to get to build
+- remove spec file code that since r207 had been setting an invalid
+  value for the network.negotiate-auth.gsslib preference
+- remove (most probably obsolete) -fno-string-aliasing,
+  -fimplicit-constexpr, fno-delete-null-pointer-checks,
+  -fno-lifetime-dse, and fno-schedule-insns2 compiler options in spec
+  file
+- make compiler output less chatty by removing -Wall
+- add a listsettings recipe to the GNU Makefile that runs
+  mach settings --list
+- add seamonkey-2.53.21-bmo1662867.patch to allow mach settings
+  to run
+- import some compiler/linker settings and syntactic sugar from
+  Fedora's spec file by Dmitry Butskoy et al.
+- re-enable elf-hack since builds seem to work now
+- apply existing ICU fixes to Leap 16
+
+-------------------------------------------------------------------

Old:
----
  mach-use-python-311.patch
  mozilla-bmo1862601.patch
  mozilla-bmo1896958.patch
  mozilla-bmo531915.patch
  mozilla-nongnome-proxies.patch
  mozilla-ntlm-full-path.patch
  reproducible.patch
  seamonkey-icu.patch
  seamonkey-lto.patch
  seamonkey-man-page.patch

New:
----
  seamonkey-2.0.0-nongnome-proxies.patch
  seamonkey-2.1.0-bmo634334.patch
  seamonkey-2.53.17.1-bmo531915.patch
  seamonkey-2.53.19-bmo1896958.patch
  seamonkey-2.53.20-boo1237231.patch
  seamonkey-2.53.20-mach-use-python-311.patch
  seamonkey-2.53.20-system-av1.patch
  seamonkey-2.53.21-bmo1332139.patch
  seamonkey-2.53.21-bmo1662867.patch
  seamonkey-2.53.21-bmo1862601.patch
  seamonkey-2.53.21-bmo1927380.patch
  seamonkey-2.53.3-lto.patch
  seamonkey-2.53.7.1-man-page.patch

----------(Old B)----------
  Old:  mozilla-bmo1896958.patch => seamonkey-2.53.19-bmo1896958.patch
  mach-use-python-311.patch => seamonkey-2.53.20-mach-use-python-311.patch
  reproducible.patch => seamonkey-2.53.20-boo1237231.patch
  Old:  seamonkey-icu.patch => seamonkey-2.53.21-bmo1927380.patch
  mozilla-bmo1862601.patch => seamonkey-2.53.21-bmo1862601.patch
  mozilla-bmo1896958.patch => seamonkey-2.53.19-bmo1896958.patch
  Old:  mozilla-bmo1862601.patch => seamonkey-2.53.21-bmo1862601.patch
  mozilla-bmo1896958.patch => seamonkey-2.53.19-bmo1896958.patch
  mach-use-python-311.patch => seamonkey-2.53.20-mach-use-python-311.patch
  Old:  mozilla-nongnome-proxies.patch => seamonkey-2.0.0-nongnome-proxies.patch
  mozilla-bmo531915.patch => seamonkey-2.53.17.1-bmo531915.patch
- remove build workarounds for Leap 15.5 (now unsupported)
  Old:  mozilla-ntlm-full-path.patch => seamonkey-2.1.0-bmo634334.patch
  mozilla-nongnome-proxies.patch => seamonkey-2.0.0-nongnome-proxies.patch
  mozilla-bmo531915.patch => seamonkey-2.53.17.1-bmo531915.patch
  Old:  seamonkey-lto.patch => seamonkey-2.53.3-lto.patch
  mozilla-ntlm-full-path.patch => seamonkey-2.1.0-bmo634334.patch
  mozilla-nongnome-proxies.patch => seamonkey-2.0.0-nongnome-proxies.patch
  Old:  mach-use-python-311.patch => seamonkey-2.53.20-mach-use-python-311.patch
  reproducible.patch => seamonkey-2.53.20-boo1237231.patch
  seamonkey-man-page.patch => seamonkey-2.53.7.1-man-page.patch
  Old:  earliest version of the package they were applied to:
  seamonkey-icu.patch => seamonkey-2.53.21-bmo1927380.patch
  mozilla-bmo1862601.patch => seamonkey-2.53.21-bmo1862601.patch
  Old:  seamonkey-man-page.patch => seamonkey-2.53.7.1-man-page.patch
  seamonkey-lto.patch => seamonkey-2.53.3-lto.patch
  mozilla-ntlm-full-path.patch => seamonkey-2.1.0-bmo634334.patch
  Old:  reproducible.patch => seamonkey-2.53.20-boo1237231.patch
  seamonkey-man-page.patch => seamonkey-2.53.7.1-man-page.patch
  seamonkey-lto.patch => seamonkey-2.53.3-lto.patch
----------(Old E)----------

----------(New B)----------
  New:  mozilla-ntlm-full-path.patch => seamonkey-2.1.0-bmo634334.patch
  mozilla-nongnome-proxies.patch => seamonkey-2.0.0-nongnome-proxies.patch
  mozilla-bmo531915.patch => seamonkey-2.53.17.1-bmo531915.patch
  New:  seamonkey-lto.patch => seamonkey-2.53.3-lto.patch
  mozilla-ntlm-full-path.patch => seamonkey-2.1.0-bmo634334.patch
  mozilla-nongnome-proxies.patch => seamonkey-2.0.0-nongnome-proxies.patch
  New:  mozilla-nongnome-proxies.patch => seamonkey-2.0.0-nongnome-proxies.patch
  mozilla-bmo531915.patch => seamonkey-2.53.17.1-bmo531915.patch
- remove build workarounds for Leap 15.5 (now unsupported)
  New:  mozilla-bmo1862601.patch => seamonkey-2.53.21-bmo1862601.patch
  mozilla-bmo1896958.patch => seamonkey-2.53.19-bmo1896958.patch
  mach-use-python-311.patch => seamonkey-2.53.20-mach-use-python-311.patch
  New:  mach-use-python-311.patch => seamonkey-2.53.20-mach-use-python-311.patch
  reproducible.patch => seamonkey-2.53.20-boo1237231.patch
  seamonkey-man-page.patch => seamonkey-2.53.7.1-man-page.patch
  New:  mozilla-bmo1896958.patch => seamonkey-2.53.19-bmo1896958.patch
  mach-use-python-311.patch => seamonkey-2.53.20-mach-use-python-311.patch
  reproducible.patch => seamonkey-2.53.20-boo1237231.patch
  New:- remove build workarounds for Leap 15.5 (now unsupported)
- add seamonkey-2.53.20-system-av1.patch for using system AV1
- add seamonkey-2.53.21-bmo1332139.patch for using system VPx
  New:- add seamonkey-2.53.20-system-av1.patch for using system AV1
- add seamonkey-2.53.21-bmo1332139.patch for using system VPx
- remove spec file code specific to aarch64 and PPC; these are
  New:  mach settings --list
- add seamonkey-2.53.21-bmo1662867.patch to allow mach settings
  to run
  New:  seamonkey-icu.patch => seamonkey-2.53.21-bmo1927380.patch
  mozilla-bmo1862601.patch => seamonkey-2.53.21-bmo1862601.patch
  mozilla-bmo1896958.patch => seamonkey-2.53.19-bmo1896958.patch
  New:  earliest version of the package they were applied to:
  seamonkey-icu.patch => seamonkey-2.53.21-bmo1927380.patch
  mozilla-bmo1862601.patch => seamonkey-2.53.21-bmo1862601.patch
  New:  seamonkey-man-page.patch => seamonkey-2.53.7.1-man-page.patch
  seamonkey-lto.patch => seamonkey-2.53.3-lto.patch
  mozilla-ntlm-full-path.patch => seamonkey-2.1.0-bmo634334.patch
  New:  reproducible.patch => seamonkey-2.53.20-boo1237231.patch
  seamonkey-man-page.patch => seamonkey-2.53.7.1-man-page.patch
  seamonkey-lto.patch => seamonkey-2.53.3-lto.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ seamonkey.spec ++++++
--- /var/tmp/diff_new_pack.yRkGUQ/_old  2025-08-29 18:36:49.790221092 +0200
+++ /var/tmp/diff_new_pack.yRkGUQ/_new  2025-08-29 18:36:49.802221605 +0200
@@ -17,33 +17,101 @@
 # Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
-# upstream default is clang (to use gcc for large parts set to 0)
-%define clang_build    0
+### build options
+
+# Components to include/exclude
+%bcond_without dominspector
+%bcond_without irc
+%bcond_without localizations
+
+# System vs. bundled libraries
+%bcond_without system_webp
+%bcond_without system_icu
+%bcond_without system_libvpx
+%bcond_without system_ffi
+%bcond_without system_nspr
+%bcond_without system_nss
+%bcond_without system_zlib
+# Disable system AV1 on Leap; as of 15.6 dav1d is not yet packaged for it
+%if 0%{?suse_version} > 1600
+%bcond_without system_av1
+%endif
+%bcond_with     system_jpeg
+%bcond_with     system_png
+
+# Compiler/linker options
+%bcond_with     clang
+%ifarch %ix86
+# As of 2.53.3 (and still in 2.53.21) i586 builds fail with LTO
+%bcond_with     lto
+%else
+%bcond_without  lto
+%endif
+%bcond_with     gold
+
+
+%define progname %{name}
+%define sources_subdir %{name}-%{version}
+%define prefix /usr
+%define progdir %_libdir/%{progname}
+### build options end
+
+%define releasedate 20250605000000
 
 Name:           seamonkey
+Summary:        An integrated web browser, composer, mail/news client, and IRC 
client
+Version:        2.53.21
+Release:        0
+License:        MPL-2.0
+Group:          Productivity/Networking/Web/Browsers
+URL:            https://www.seamonkey-project.org/
+
+Source0:        
https://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamonkey-%{version}.source.tar.xz
+Source1:        
https://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamonkey-%{version}.source-l10n.tar.xz
+Source2:        seamonkey-desktop.tar.bz2
+Source3:        spellcheck.js
+Source4:        mozilla.sh.in
+Source5:        suse-default-prefs.js
+Source6:        seamonkey-rpmlintrc
+Source7:        seamonkey-appdata.tar.bz2
+Source8:        seamonkey-GNUmakefile
+
+Patch1:         seamonkey-2.0.0-nongnome-proxies.patch
+Patch2:         seamonkey-2.1.0-bmo634334.patch
+Patch3:         seamonkey-2.53.3-lto.patch
+Patch4:         seamonkey-2.53.7.1-man-page.patch
+Patch5:         seamonkey-2.53.20-boo1237231.patch
+Patch6:         seamonkey-2.53.17.1-bmo531915.patch
+Patch7:         seamonkey-2.53.19-bmo1896958.patch
+Patch8:         seamonkey-2.53.20-mach-use-python-311.patch
+Patch9:         seamonkey-2.53.21-bmo1862601.patch
+Patch10:        seamonkey-2.53.21-bmo1927380.patch
+Patch11:       seamonkey-2.53.20-system-av1.patch
+Patch12:        seamonkey-2.53.21-bmo1332139.patch
+Patch13:        seamonkey-2.53.21-bmo1662867.patch
+
 BuildRequires:  Mesa-devel
 BuildRequires:  alsa-devel
 BuildRequires:  autoconf213
 BuildRequires:  dbus-1-glib-devel
 BuildRequires:  fdupes
-# Use GCC 14 on Tumbleweed because builds of 2.53.21 fail with GCC 15
-%if 0%{?suse_version} > 1600
-BuildRequires:  gcc14-c++
-%else
-BuildRequires:  gcc-c++
-%endif
 BuildRequires:  hunspell-devel
-# Using system AV1 decoder depends on pending patch from
-# https://bugzilla.mozilla.org/show_bug.cgi?id=1559213
-#BuildRequires:  dav1d5-devel
+%if 0%{?suse_version} > 1600 && %{with system_av1}
+BuildRequires:  libaom-devel
+BuildRequires:  dav1d-devel
+%endif
 BuildRequires:  libiw-devel
 BuildRequires:  libnotify-devel
 BuildRequires:  libproxy-devel
-#BuildRequires:  libvpx-devel # Compile errors with 1.10.0
+%if %{with system_libvpx}
+BuildRequires:  libvpx-devel
+%endif
 %if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200 && 0%{?is_opensuse}
 BuildRequires:  libwebp-devel >= 1.0.0
 %endif
+%if %{with system_icu}
 BuildRequires:  libicu-devel >= 67.1
+%endif
 BuildRequires:  makeinfo
 BuildRequires:  memory-constraints
 BuildRequires:  python311-base
@@ -60,7 +128,9 @@
 BuildRequires:  pkgconfig(gtk+-3.0) >= 3.22.30
 BuildRequires:  pkgconfig(gtk+-unix-print-2.0)
 BuildRequires:  pkgconfig(gtk+-unix-print-3.0)
+%if %{with system_ffi}
 BuildRequires:  pkgconfig(libffi) > 3.0.9
+%endif
 BuildRequires:  pkgconfig(libpulse)
 BuildRequires:  pkgconfig(xcomposite)
 %if 0%{?suse_version} > 1600
@@ -73,38 +143,25 @@
 BuildRequires:  rust-cbindgen
 BuildRequires:  git
 BuildRequires:  nasm >= 2.13
-#BuildRequires:  llvm-devel
 BuildRequires:  clang-devel
+%if %{with clang}
+BuildRequires:  clang
+%else
+# Use GCC 14 on Tumbleweed because builds of 2.53.21 fail with GCC 15
+%if 0%{?suse_version} > 1600
+%define gcc_version 14
+%endif
+BuildRequires:  gcc%{?gcc_version:%gcc_version}-c++
+%if %{with gold}
+BuildRequires:  binutils-gold
+%endif
+%endif
+
+PreReq:         /bin/sh coreutils
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+
 Provides:       web_browser
 Provides:       browser(npapi)
-Version:        2.53.21
-Release:        0
-%define releasedate 20250605000000
-Summary:        An integrated web browser, composer, mail/news client, and IRC 
client
-License:        MPL-2.0
-Group:          Productivity/Networking/Web/Browsers
-Url:            https://www.seamonkey-project.org/
-Source:         
https://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamonkey-%{version}.source.tar.xz
-Source1:        seamonkey-desktop.tar.bz2
-Source2:        spellcheck.js
-Source3:        mozilla.sh.in
-Source4:        suse-default-prefs.js
-Source5:        
https://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamonkey-%{version}.source-l10n.tar.xz
-Source7:        seamonkey-rpmlintrc
-Source11:       seamonkey-appdata.tar.bz2
-Source12:       seamonkey-GNUmakefile
-Patch1:         mozilla-nongnome-proxies.patch
-Patch2:         mozilla-ntlm-full-path.patch
-Patch3:         seamonkey-lto.patch
-Patch4:         seamonkey-man-page.patch
-Patch5:         reproducible.patch
-Patch6:         mozilla-bmo531915.patch
-Patch7:         mozilla-bmo1896958.patch
-Patch8:         mach-use-python-311.patch
-Patch9:         mozilla-bmo1862601.patch
-Patch10:        seamonkey-icu.patch
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-PreReq:         /bin/sh coreutils
 Provides:       seamonkey-mail = %{version}
 Obsoletes:      seamonkey-mail <= 2.0
 Provides:       seamonkey-spellchecker = %{version}
@@ -119,42 +176,35 @@
 # therefore the Packman version is required
 # minimum version of libavcodec is 53
 Recommends:     libavcodec-full >= 0.10.16
-%define progname %{name}
-%define sources_subdir %{name}-%{version}
-%define prefix /usr
-%define progdir %_libdir/%{progname}
-%define libgssapi libgssapi_krb5.so.2
-### build options
-%define has_system_cairo 0
-%define localize 1
-%define with_chatzilla 1
-%define with_domi 1
-### build options end
 # It no longer makes sense to include separate language packs because these
 # apply only to the main SeaMonkey suite, but not to the integrated Chatzilla
 # or Calendar
-%if %localize
+%if %{with localizations}
 Provides:       seamonkey-translations-common = %{version}
 Obsoletes:      seamonkey-translations-common < 2.53.6
 Provides:       seamonkey-translations-other = %{version}
 Obsoletes:      seamonkey-translations-other < 2.53.6
 Provides:       
locale(%{name}:cs;de;el;en_GB;es_AR;es_ES;fi;fr;hu;it;ja;ka;nb_NO;nl;pl;pt_BR;pt_PT;ru;sk;sv_SE;zh_CN;zh_TW)
 %endif
-%if 0%{?with_chatzilla} == 0
+%if %{with irc}
 Provides:       seamonkey-irc = %{version}
 %endif
-%if 0%{?with_domi} == 0
+%if %{with dominspector}
 Provides:       seamonkey-dom-inspector = %{version}
 %endif
 %define __provides_exclude ^lib.*\\.so.*$
 %define __requires_exclude 
^(libmoz.*|liblgpllibs.*|libxul.*|libld.*|libprldap.*)$
 # the following conditions are always met in Factory by definition
+%if %{with system_nspr}
 BuildRequires:  mozilla-nspr-devel >= 4.13.1
 PreReq:         mozilla-nspr >= %(rpm -q --queryformat '%%{VERSION}' 
mozilla-nspr)
+%endif
+%if %{with system_nss}
 %if 0%{?sle_version} != 150500 && 0%{?is_opensuse}
 BuildRequires:  mozilla-nss-devel >= 3.28.6
 PreReq:         mozilla-nss >= %(rpm -q --queryformat '%%{VERSION}' 
mozilla-nss)
 %endif
+%endif
 
 %description
 SeaMonkey is an all-in-one Internet application suite containing a web
@@ -166,6 +216,7 @@
 interface.  Many Thunderbird and (legacy) Firefox extensions are
 compatible with SeaMonkey.
 
+
 %package irc
 Summary:        IRC for SeaMonkey
 Group:          Productivity/Networking/IRC
@@ -193,8 +244,8 @@
 SeaMonkey. This is of great use to people who are doing SeaMonkey
 chrome development or web page development.
 
-%if %localize
 
+%if %{with localizations}
 %package translations-common
 Summary:        Common translations for SeaMonkey
 Group:          System/Localization
@@ -217,20 +268,21 @@
 of SeaMonkey.
 %endif
 
+
 %prep
 
-%setup -q -b 1 -b 11 -c
+%setup -q -b 2 -b 7 -c
 
 mv %{sources_subdir} mozilla
 
-%if %localize
-%setup -q -T -D -c -n %{name}-%{version}/l10n -a 5
+%if %{with localizations}
+%setup -q -T -D -c -n %{name}-%{version}/l10n -a 1
 %setup -q -T -D
 %endif
 
 cd mozilla
 
-cp %{SOURCE12} GNUmakefile
+cp %{SOURCE8} GNUmakefile
 
 %patch -P 1 -p1
 %patch -P 2 -p2
@@ -241,90 +293,102 @@
 %patch -P 7 -p1
 %patch -P 8 -p1
 
-# Fix --with-system-icu builds on Tumbleweed; see 
https://bugzilla.mozilla.org/show_bug.cgi?id=1862601 and 
https://bugzilla.mozilla.org/show_bug.cgi?id=1927380
-%if 0%{?suse_version} > 1600
+%if %{with system_icu}
+%if 0%{?suse_version} >= 1600
 %patch -P 9 -p1
 %patch -P 10 -p1
 %endif
+%endif
+
+%if 0%{?suse_version} > 1600 && %{with system_av1}
+%patch -P 11 -p1
+%endif
+
+%if %{with system_libvpx}
+%patch -P 12 -p1
+%endif
+
+%patch -P 13 -p1
+
+%define with_sys()   ac_add_options --with%%{!?with_system_%1:out}-system-%1
+%define endis_sys()  ac_add_options 
--%%{?with_system_%1:enable}%%{!?with_system_%1:disable}-system-%1
+%define endis()      ac_add_options 
--%%{?with_%1:enable}%%{!?with_%1:disable}-%1
 
 cat << EOF > .mozconfig
+### Various build options
 mk_add_options MOZILLA_OFFICIAL=1
 mk_add_options BUILD_OFFICIAL=1
 mk_add_options MOZ_MILESTONE_RELEASE=1
 mk_add_options MOZ_MAKE_FLAGS=%{?_smp_mflags}
 #mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
-ac_add_options --enable-application=comm/suite
 ac_add_options --libdir=%{_libdir}
 ac_add_options --prefix=%{_prefix}
 ac_add_options --mandir=%{_mandir}
-%if %localize
-ac_add_options --with-l10n-base=$RPM_BUILD_DIR/seamonkey-%{version}/l10n
-%endif
 ac_add_options --disable-tests
 ac_add_options --disable-install-strip
 ac_add_options --enable-release
-ac_add_options --enable-default-toolkit=cairo-gtk3
+%if %{with localizations}
+ac_add_options --with-l10n-base=$RPM_BUILD_DIR/seamonkey-%{version}/l10n
+%endif
 
-# Removed for SeaMonkey 2.53.20
-#ac_add_options --disable-gconf
+#ac_add_options --disable-elf-hack
 
-# Elfhack fails on ix86: https://bugzilla.mozilla.org/show_bug.cgi?id=1706264
-%ifarch aarch64 ppc %arm %ix86
-ac_add_options --disable-elf-hack
-%endif
+%{expand:%endis  gold}
 
+%ifarch %ix86
+ac_add_options --disable-debug-symbols
+%endif
 ac_add_options --disable-debug
+ac_add_options --enable-alsa
+ac_add_options --enable-default-toolkit=cairo-gtk3
+ac_add_options --enable-libproxy
 
-ac_add_options --with-system-nspr
-%if 0%{?sle_version} != 150500 && 0%{?is_opensuse}
-ac_add_options --with-system-nss
-%endif
-ac_add_options --with-system-zlib
-# Removed for SeaMonkey 2.53.20
-#ac_add_options --with-system-bz2
 
-%if 0%{?suse_version} > 1600 || 0%{?sle_version} >= 150200 && 0%{?is_opensuse}
-ac_add_options --with-system-webp
-%endif
+### Features
+
+### Components to include
+ac_add_options --enable-application=comm/suite
+%{expand:%endis dominspector}
+%{expand:%endis irc}
+ac_add_options --disable-crashreporter
+ac_add_options --disable-updater
+
+# Calendar is always enabled as it's required to build various
+# components and addons
+ac_add_options --enable-calendar
 
-ac_add_options --with-system-icu
 
-# Compile errors with system libvpx-1.10.0
-#ac_add_options --with-system-libvpx
+### System vs. bundled libraries
 
-# Using system AV1 decoder depends on pending patch from
-# https://bugzilla.mozilla.org/show_bug.cgi?id=1559213
-# ac_add_options --with-system-av1
+%{expand:%with_sys   nspr}
+%{expand:%with_sys   nss}
+%{expand:%with_sys   zlib}
+%{expand:%with_sys   icu}
+%{expand:%with_sys   libvpx}
+%{expand:%with_sys   webp}
+%{expand:%endis_sys  ffi}
+%if 0%{?suse_version} > 1600
+%{expand:%with_sys   av1}
+%endif
 
 # Mozilla's internal JPEG library is used because of the "turbo" patches
 # that make it more efficient than the stock system libjpeg:
 #  https://bugzilla.mozilla.org/show_bug.cgi?id=573948
-#ac_add_options --with-system-jpeg
+%{expand:%with_sys  jpeg}
 
 # The stock system libpng lacks support for APNG, whereas Mozilla's
 # internal version suports APNG
-#ac_add_options--with-system-png
+%{expand:%with_sys  png}
 
-ac_add_options --disable-crashreporter
-ac_add_options --disable-updater
-# Removed for SeaMonkey 2.53.20
-#ac_add_options --enable-startup-notification
-ac_add_options --enable-alsa
-%if %has_system_cairo
-ac_add_options --enable-system-cairo
-%endif
-ac_add_options --enable-libproxy
-%if 0%{?with_chatzilla}
-ac_add_options --with-irc
-%endif
-%if %with_domi
-ac_add_options --with-dominspector
-%endif
-ac_add_options --enable-calendar
 EOF
 
 
 %build
+
+export MOZ_BUILD_DATE=%{releasedate}
+export MOZILLA_OFFICIAL=1
+export BUILD_OFFICIAL=1
+
 # no need to add build time to binaries
 modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
 DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
@@ -332,65 +396,60 @@
 find . -regex ".*\.c\|.*\.cpp\|.*\.h" \
     -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
 
-# As of 2.53.3, i586 builds are failing due to out-of-memory issues,
-# so we disable LTO.  (This workaround is still necessary as of
-# 2.53.7.1.)
-%ifarch %ix86
-%define _lto_cflags %{nil}
+# Compiler settings
+
+MOZ_OPT_FLAGS=$RPM_OPT_FLAGS
+
+# Make compiler output less chatty
+MOZ_OPT_FLAGS=$(echo $MOZ_OPT_FLAGS | sed -e 's/-Wall//g')
+
+%if %{without clang}
+export CC=gcc%{?gcc_version:-%gcc_version}
+export CXX=g++%{?gcc_version:-%gcc_version}
 %endif
-#
-# As of 2.53.13, Tumbleweed builds are failing due to the linker
-# issue <https://bugzilla.mozilla.org/show_bug.cgi?id=1778981>
-# so we disable LTO.
-%if 0%{?suse_version} > 1600
+
+# Linker settings
+
 %define _lto_cflags %{nil}
-%endif
-export SUSE_ASNEEDED=0
-export MOZ_BUILD_DATE=%{releasedate}
-export MOZILLA_OFFICIAL=1
-export BUILD_OFFICIAL=1
+MOZ_LD_FLAGS=$RPM_LD_FLAGS
 
-export CFLAGS="%{optflags} -fno-strict-aliasing"
-%if 0%{?clang_build} == 0
-# Use GCC 14 on Tumbleweed because builds of 2.53.21 fail with GCC 15
-%if 0%{?suse_version} > 1600
-export CC=gcc-14
-export CXX=g++-14
-%else
-export CC=gcc
-export CXX=g++
-%endif
-%if 0%{?gcc_version:%{gcc_version}} >= 12
-export CFLAGS="$CFLAGS -fimplicit-constexpr"
+# Reduce memory consumption when building for i586
+%ifarch %ix86
+%if %{without gold}
+MOZ_LD_FLAGS="$MOZ_LD_FLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads 
-Wl,--no-map-whole-files -Wl,--hash-size=31"
 %endif
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -g1"
 %endif
 
-if [ $(gcc -dumpversion | awk -F. '{print $1}') -ge 6 ]; then
-export CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse 
-fno-schedule-insns2"
-fi
-%ifarch %arm
-export CFLAGS="${CFLAGS/-g / }"
-%endif
-%ifarch %arm %ix86
-# Limit RAM usage during link
-export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
-%endif
-%ifarch ppc64 ppc64le
-%if 0%{?clang_build} == 0
-export CFLAGS="$CFLAGS -mminimal-toc"
+# LTO settings
+# TODO: Perhaps just let SeaMonkey do this via --enable-lto?
+%if %{with lto}
+MOZ_LD_FLAGS=$(echo $MOZ_LD_FLAGS | sed -e 's/-flto\b//g')
+%if %{with clang}
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -flto=thin"
+MOZ_LD_FLAGS="$MOZ_LD_FLAGS -flto=thin -fuse-ld=lld 
-Wl,-plugin-opt=-import-instr-limit=10"
+export AR=llvm-ar
+export RANLIB=llvm-ranlib
+%else
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -flto=auto -flifetime-dse=1"
+MOZ_LD_FLAGS="$MOZ_LD_FLAGS -flto=auto -flifetime-dse=1"
+export AR=gcc-ar%{?gcc_version:-%gcc_version}
+export RANLIB=gcc-ranlib%{?gcc_version:-%gcc_version}
 %endif
 %endif
-export CXXFLAGS="$CFLAGS"
 
-#
+export CFLAGS=$MOZ_OPT_FLAGS
+export CXXFLAGS=$MOZ_OPT_FLAGS
+export LDFLAGS=$MOZ_LD_FLAGS
+
 %limit_build -m 2000
 cd mozilla
 make %{?_smp_mflags}
 
-%if %localize
+%if %{with localizations}
 make -j1 locales
 %endif
-#
+
 
 %install
 
@@ -411,16 +470,15 @@
 sed "s:%%PREFIX:%{prefix}:g
 s:%%PROGDIR:%{progdir}:g
 s:%%APPNAME:seamonkey:g" \
-   %{SOURCE3} > $RPM_BUILD_ROOT%{progdir}/%{progname}.sh
+   %{SOURCE4} > $RPM_BUILD_ROOT%{progdir}/%{progname}.sh
 chmod 755 $RPM_BUILD_ROOT%{progdir}/%{progname}.sh
 ln -sf ../..%{progdir}/%{progname}.sh $RPM_BUILD_ROOT%{_bindir}/%{progname}
 # apply SUSE defaults
-sed -e 's,RPM_VERSION,%{version}-%{release},g
-#s,GSSAPI,%{libgssapi},g' \
-   %{SOURCE4} > suse-default-prefs
+sed -e 's,RPM_VERSION,%{version}-%{release},g' \
+   %{SOURCE5} > suse-default-prefs
 cp suse-default-prefs $RPM_BUILD_ROOT%{progdir}/defaults/pref/all-openSUSE.js
 rm suse-default-prefs
-install -m 644 %{SOURCE2} %{buildroot}%{progdir}/defaults/pref/
+install -m 644 %{SOURCE3} %{buildroot}%{progdir}/defaults/pref/
 # Desktop definition
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
 install -m 644 $RPM_BUILD_DIR/*.desktop \
@@ -484,13 +542,13 @@
 %{_datadir}/appdata/*.appdata.xml
 %{_mandir}/*/*
 
-%if 0%{?with_chatzilla}
+%if %{with irc}
 %files irc
 %defattr(-,root,root)
 %{progdir}/extensions/{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}.xpi
 %endif
 
-%if 0%{?with_domi}
+%if %{with dominspector}
 %files dom-inspector
 %defattr(-,root,root)
 %{progdir}/extensions/inspector*.xpi

++++++ seamonkey-2.0.0-nongnome-proxies.patch ++++++
From: Wolfgang Rosenauer, Tristan Miller
Subject: Do not use gconf for proxy settings if not running within Gnome

diff -ruN 
seamonkey-2.53.17b1.orig/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 
seamonkey-2.53.17b1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- 
seamonkey-2.53.17b1.orig/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 
    2023-06-10 12:41:26.000000000 +0200
+++ seamonkey-2.53.17b1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp  
2023-07-12 09:41:08.047344985 +0200
@@ -55,10 +55,14 @@
 nsresult
 nsUnixSystemProxySettings::Init()
 {
-  mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
-  if (mGSettings) {
-    
mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
-                                       getter_AddRefs(mProxySettings));
+  // only use GSettings if that is a GNOME session
+  const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+  if (sessionType && !strcmp(sessionType, "gnome")) {
+    mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+    if (mGSettings) {
+      
mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
+                                         getter_AddRefs(mProxySettings));
+    }
   }
 
   return NS_OK;

++++++ seamonkey-2.1.0-bmo634334.patch ++++++
# HG changeset patch
# User Petr Cerny <pce...@novell.com>
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
# Parent  03565086f1e230cf6f0f6c01bf9a792c732de50b
Bug 634334 - call to the ntlm_auth helper fails

diff -ruN seamonkey/mozilla/extensions/auth/nsAuthSambaNTLM.cpp 
seamonkey.new/mozilla/extensions/auth/nsAuthSambaNTLM.cpp
--- seamonkey/mozilla/extensions/auth/nsAuthSambaNTLM.cpp       2020-02-18 
00:37:50.000000000 +0100
+++ seamonkey.new/mozilla/extensions/auth/nsAuthSambaNTLM.cpp   2020-03-02 
12:53:27.147346423 +0100
@@ -174,7 +174,7 @@
         return NS_ERROR_FAILURE;
 
     const char* const args[] = {
-        "ntlm_auth",
+        "/usr/bin/ntlm_auth",
         "--helper-protocol", "ntlmssp-client-1",
         "--use-cached-creds",
         "--username", username,

++++++ seamonkey-2.53.17.1-bmo531915.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <w...@rosenauer.org>
# Parent  fa8a5832a374ccd7af5db927b992b5d9f15273ef

diff --git a/modules/fdlibm/src/math_private.h 
b/modules/fdlibm/src/math_private.h
--- a/modules/fdlibm/src/math_private.h
+++ b/modules/fdlibm/src/math_private.h
@@ -25,19 +25,24 @@
 
 #include "fdlibm.h"
 
 /*
  * Emulate FreeBSD internal double types.
  * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
  */
 
+#ifdef __i386__
+typedef long double __double_t;
+typedef long double __float_t;
+#else
 typedef double      __double_t;
+typedef float       __float_t;
+#endif
 typedef __double_t  double_t;
-typedef float       __float_t;
 
 /*
  * The original fdlibm code used statements like:
  *     n0 = ((*(int*)&one)>>29)^1;             * index of high word *
  *     ix0 = *(n0+(int*)&x);                   * high word of x *
  *     ix1 = *((1-n0)+(int*)&x);               * low word of x *
  * to dig two 32 bit words out of the 64 bit IEEE floating point
  * value.  That is non-ANSI, and, moreover, the gcc instruction

++++++ seamonkey-2.53.19-bmo1896958.patch ++++++
++++ 24887 lines (skipped)

++++++ seamonkey-2.53.20-boo1237231.patch ++++++
https://github.com/mozilla/gecko-dev/commit/025982b6714051c747dcb9600d6e5c92d2dcaf7b

>From 025982b6714051c747dcb9600d6e5c92d2dcaf7b Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.courno...@gmail.com>
Date: Thu, 16 Mar 2023 14:01:58 +0000
Subject: [PATCH] Bug 1817032 - Honor SOURCE_DATE_EPOCH to build langpacks
 reproducibly. r=eem...@mozilla.com

Differential Revision: https://phabricator.services.mozilla.com/D169979
---
 .../mozbuild/action/langpack_manifest.py        | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py 
b/python/mozbuild/mozbuild/action/langpack_manifest.py
index f82a329cc..10e42fe99 100644
--- a/python/mozbuild/mozbuild/action/langpack_manifest.py
+++ b/python/mozbuild/mozbuild/action/langpack_manifest.py
@@ -16,6 +16,7 @@ import os
 import json
 import io
 import datetime
+import time
 import requests
 import mozversioncontrol
 import mozpack.path as mozpath
@@ -36,9 +37,17 @@ def write_file(path, content):
 pushlog_api_url = "{0}/json-rev/{1}"
 
 
+def get_build_date():
+    """Return the current date or SOURCE_DATE_EPOCH, if set."""
+    return datetime.datetime.utcfromtimestamp(
+        int(os.environ.get("SOURCE_DATE_EPOCH", time.time()))
+    )
+
+
 ###
-# Retrievers a UTC datetime of the push for the current commit
-# from a mercurial clone directory.
+# Retrieves a UTC datetime of the push for the current commit from a
+# mercurial clone directory. The SOURCE_DATE_EPOCH environment
+# variable is honored, for reproducibility.
 #
 # Args:
 #    path (str) - path to a directory
@@ -54,7 +63,7 @@ def get_dt_from_hg(path):
     with mozversioncontrol.get_repository_object(path=path) as repo:
         phase = repo._run("log", "-r", ".", "-T" "{phase}")
         if phase.strip() != "public":
-            return datetime.datetime.utcnow()
+            return get_build_date()
         repo_url = repo._run("paths", "default")
         repo_url = repo_url.strip().replace("ssh://", "https://";)
         repo_url = repo_url.replace("hg://", "https://";)
@@ -99,7 +108,7 @@ def get_timestamp_for_locale(path):
         dt = get_dt_from_hg(path)
 
     if dt is None:
-        dt = datetime.datetime.utcnow()
+        dt = get_build_date()
 
     dt = dt.replace(microsecond=0)
     return dt.strftime("%Y%m%d%H%M%S")

++++++ seamonkey-2.53.20-mach-use-python-311.patch ++++++
--- mozilla/mach~       2025-03-19 05:32:33.217982928 +0000
+++ mozilla/mach        2025-03-19 05:32:42.248303296 +0000
@@ -87,7 +87,7 @@
     esac
     py3executable=$state_dir/_virtualenvs/mach/$bin_path/python
 else
-    py3executable=python3
+    py3executable=python3.11
 fi
 
 # Check whether we need to run with the native Python 3 interpreter.

++++++ seamonkey-2.53.20-system-av1.patch ++++++
diff -Nrup mozilla/config/external/moz.build 
mozilla-OK/config/external/moz.build
--- mozilla/config/external/moz.build   2024-12-11 23:05:11.000000000 +0300
+++ mozilla-OK/config/external/moz.build        2024-12-18 22:25:57.015364278 
+0300
@@ -32,8 +32,9 @@ if not CONFIG['MOZ_SYSTEM_LIBVPX']:
     external_dirs += ['media/libvpx']
 
 if CONFIG['MOZ_AV1']:
-    external_dirs += ['media/libaom']
-    external_dirs += ['media/libdav1d']
+    if not CONFIG['MOZ_SYSTEM_AV1']:
+        external_dirs += ['media/libaom']
+        external_dirs += ['media/libdav1d']
 
 if not CONFIG['MOZ_SYSTEM_PNG']:
     external_dirs += ['media/libpng']
diff -Nrup mozilla/config/system-headers.mozbuild 
mozilla-OK/config/system-headers.mozbuild
--- mozilla/config/system-headers.mozbuild      2024-12-11 23:05:11.000000000 
+0300
+++ mozilla-OK/config/system-headers.mozbuild   2024-12-18 22:25:57.015364278 
+0300
@@ -1289,6 +1289,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
         'proxy.h',
     ]
 
+if CONFIG['MOZ_SYSTEM_AV1']:
+    system_headers += [
+        'aom/aom_decoder.h',
+        'aom/aomdx.h',
+        'aom/aom_image.h',
+        'dav1d/dav1d.h',
+    ]
+
 if CONFIG['MOZ_SYSTEM_LIBVPX']:
     system_headers += [
         'vpx_mem/vpx_mem.h',
diff -Nrup mozilla/dom/media/platforms/moz.build 
mozilla-OK/dom/media/platforms/moz.build
--- mozilla/dom/media/platforms/moz.build       2024-12-11 23:05:11.000000000 
+0300
+++ mozilla-OK/dom/media/platforms/moz.build    2024-12-18 22:25:57.016364270 
+0300
@@ -74,6 +74,11 @@ if CONFIG['MOZ_AV1']:
         'agnostic/AOMDecoder.cpp',
         'agnostic/DAV1DDecoder.cpp',
     ]
+    if CONFIG['MOZ_SYSTEM_AV1']:
+        CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
+        OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
+        CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
+        OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
 
 if CONFIG['MOZ_APPLEMEDIA']:
   EXPORTS += [
diff -Nrup mozilla/toolkit/moz.configure mozilla-OK/toolkit/moz.configure
--- mozilla/toolkit/moz.configure       2024-12-11 23:05:11.000000000 +0300
+++ mozilla-OK/toolkit/moz.configure    2024-12-18 22:35:00.174271221 +0300
@@ -414,8 +414,23 @@ def av1(value):
     if value:
         return True
 
+option('--with-system-av1',
+       help="Use system av1 (located with pkgconfig)")
 
-@depends(target, when=av1 & compile_environment)
+system_libaom_info = pkg_check_modules('MOZ_SYSTEM_LIBAOM', 'aom >= 1.0.0',
+                                       when='--with-system-av1')
+
+system_libdav1d_info = pkg_check_modules('MOZ_SYSTEM_LIBDAV1D', 'dav1d >= 
0.1.1',
+                                         when='--with-system-av1')
+
+@depends(system_libaom_info, system_libdav1d_info)
+def system_av1(system_libaom_info, system_libdav1d_info):
+    has_av1_libs = False
+    if system_libaom_info and system_libdav1d_info:
+        has_av1_libs = True
+    return has_av1_libs
+
+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & 
compile_environment)
 def dav1d_asm(target):
     if target.cpu in ("aarch64", "x86", "x86_64"):
         return True
@@ -431,6 +446,7 @@ set_config('MOZ_DAV1D_ASM', dav1d_asm)
 set_define('MOZ_DAV1D_ASM', dav1d_asm)
 set_config('MOZ_AV1', av1)
 set_define('MOZ_AV1', av1)
+set_config('MOZ_SYSTEM_AV1', depends_if(system_av1)(lambda _: True))
 
 # Built-in fragmented MP4 support.
 # ==============================================================
@@ -1745,4 +1761,4 @@ def android_package_name(value, moz_app_
         return 'org.mozilla.fennec_aurora'
     return 'org.mozilla.%s' % moz_app_name
 
-set_config('ANDROID_PACKAGE_NAME', android_package_name)
\ No newline at end of file
+set_config('ANDROID_PACKAGE_NAME', android_package_name)

++++++ seamonkey-2.53.21-bmo1332139.patch ++++++
diff -Nrup -U 8 
a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc 
b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc
--- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc     
2020-02-18 02:37:58.000000000 +0300
+++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc     
2020-03-02 00:34:19.000000000 +0300
@@ -79,17 +79,19 @@ VP9EncoderImpl::VP9EncoderImpl()
       num_temporal_layers_(0),
       num_spatial_layers_(0),
       num_cores_(0),
       is_flexible_mode_(false),
       frames_encoded_(0),
       // Use two spatial when screensharing with flexible mode.
       spatial_layer_(new ScreenshareLayersVP9(2)) {
   memset(&codec_, 0, sizeof(codec_));
+#ifdef LIBVPX_SVC
   memset(&svc_params_, 0, sizeof(vpx_svc_extra_cfg_t));
+#endif
   uint32_t seed = rtc::Time32();
   srand(seed);
 }
 
 VP9EncoderImpl::~VP9EncoderImpl() {
   Release();
 }
 
@@ -115,55 +117,66 @@ int VP9EncoderImpl::Release() {
   }
   inited_ = false;
   return WEBRTC_VIDEO_CODEC_OK;
 }
 
 bool VP9EncoderImpl::ExplicitlyConfiguredSpatialLayers() const {
   // We check target_bitrate_bps of the 0th layer to see if the spatial layers
   // (i.e. bitrates) were explicitly configured.
+#ifdef LIBVPX_SVC
   return num_spatial_layers_ > 1 &&
          codec_.spatialLayers[0].target_bitrate_bps > 0;
+#else
+  return false;
+#endif
 }
 
 bool VP9EncoderImpl::SetSvcRates() {
   uint8_t i = 0;
 
   if (ExplicitlyConfiguredSpatialLayers()) {
+#ifdef LIBVPX_SVC
     if (num_temporal_layers_ > 1) {
       LOG(LS_ERROR) << "Multiple temporal layers when manually specifying "
                        "spatial layers not implemented yet!";
       return false;
     }
     int total_bitrate_bps = 0;
     for (i = 0; i < num_spatial_layers_; ++i)
       total_bitrate_bps += codec_.spatialLayers[i].target_bitrate_bps;
     // If total bitrate differs now from what has been specified at the
     // beginning, update the bitrates in the same ratio as before.
     for (i = 0; i < num_spatial_layers_; ++i) {
       config_->ss_target_bitrate[i] = config_->layer_target_bitrate[i] =
           static_cast<int>(static_cast<int64_t>(config_->rc_target_bitrate) *
                            codec_.spatialLayers[i].target_bitrate_bps /
                            total_bitrate_bps);
     }
+#endif
   } else {
     float rate_ratio[VPX_MAX_LAYERS] = {0};
     float total = 0;
 
+#ifdef LIBVPX_SVC
     for (i = 0; i < num_spatial_layers_; ++i) {
       if (svc_params_.scaling_factor_num[i] <= 0 ||
           svc_params_.scaling_factor_den[i] <= 0) {
         LOG(LS_ERROR) << "Scaling factors not specified!";
         return false;
       }
       rate_ratio[i] =
           static_cast<float>(svc_params_.scaling_factor_num[i]) /
           svc_params_.scaling_factor_den[i];
       total += rate_ratio[i];
     }
+#else
+    rate_ratio[0] = 1;
+    total = 1;
+#endif
 
     for (i = 0; i < num_spatial_layers_; ++i) {
       config_->ss_target_bitrate[i] = static_cast<unsigned int>(
           config_->rc_target_bitrate * rate_ratio[i] / total);
       if (num_temporal_layers_ == 1) {
         config_->layer_target_bitrate[i] = config_->ss_target_bitrate[i];
       } else if (num_temporal_layers_ == 2) {
         config_->layer_target_bitrate[i * num_temporal_layers_] =
@@ -390,16 +403,17 @@ int VP9EncoderImpl::NumberOfThreads(int
     return 2;
   } else {
     // 1 thread less than VGA.
     return 1;
   }
 }
 
 int VP9EncoderImpl::InitAndSetControlSettings(const VideoCodec* inst) {
+#ifdef LIBVPX_SVC
   // Set QP-min/max per spatial and temporal layer.
   int tot_num_layers = num_spatial_layers_ * num_temporal_layers_;
   for (int i = 0; i < tot_num_layers; ++i) {
     svc_params_.max_quantizers[i] = config_->rc_max_quantizer;
     svc_params_.min_quantizers[i] = config_->rc_min_quantizer;
   }
   config_->ss_number_layers = num_spatial_layers_;
   if (ExplicitlyConfiguredSpatialLayers()) {
@@ -413,37 +427,41 @@ int VP9EncoderImpl::InitAndSetControlSet
     for (int i = num_spatial_layers_ - 1; i >= 0; --i) {
       // 1:2 scaling in each dimension.
       svc_params_.scaling_factor_num[i] = scaling_factor_num;
       svc_params_.scaling_factor_den[i] = 256;
       if (codec_.mode != kScreensharing)
         scaling_factor_num /= 2;
     }
   }
+#endif
 
   if (!SetSvcRates()) {
     return WEBRTC_VIDEO_CODEC_ERR_PARAMETER;
   }
 
   if (vpx_codec_enc_init(encoder_, vpx_codec_vp9_cx(), config_, 0)) {
     return WEBRTC_VIDEO_CODEC_UNINITIALIZED;
   }
   vpx_codec_control(encoder_, VP8E_SET_CPUUSED, cpu_speed_);
   vpx_codec_control(encoder_, VP8E_SET_MAX_INTRA_BITRATE_PCT,
                     rc_max_intra_target_);
   vpx_codec_control(encoder_, VP9E_SET_AQ_MODE,
                     inst->VP9().adaptiveQpMode ? 3 : 0);
 
+#ifdef LIBVPX_SVC
   vpx_codec_control(
       encoder_, VP9E_SET_SVC,
       (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) ? 1 : 0);
   if (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) {
     vpx_codec_control(encoder_, VP9E_SET_SVC_PARAMETERS,
                       &svc_params_);
   }
+#endif
+
   // Register callback for getting each spatial layer.
   vpx_codec_priv_output_cx_pkt_cb_pair_t cbp = {
       VP9EncoderImpl::EncoderOutputCodedPacketCallback,
       reinterpret_cast<void*>(this)};
   vpx_codec_control(encoder_, VP9E_REGISTER_CX_CALLBACK,
                     reinterpret_cast<void*>(&cbp));
 
   // Control function to set the number of column tiles in encoding a frame, in
@@ -527,16 +545,17 @@ int VP9EncoderImpl::Encode(const VideoFr
 
   vpx_enc_frame_flags_t flags = 0;
   bool send_keyframe = (frame_type == kVideoFrameKey);
   if (send_keyframe) {
     // Key frame request from caller.
     flags = VPX_EFLAG_FORCE_KF;
   }
 
+#ifdef LIBVPX_SVC
   if (is_flexible_mode_) {
     SuperFrameRefSettings settings;
 
     // These structs are copied when calling vpx_codec_control,
     // therefore it is ok for them to go out of scope.
     vpx_svc_ref_frame_config enc_layer_conf;
     vpx_svc_layer_id layer_id;
 
@@ -548,16 +567,17 @@ int VP9EncoderImpl::Encode(const VideoFr
                                                        send_keyframe);
     }
     enc_layer_conf = GenerateRefsAndFlags(settings);
     layer_id.temporal_layer_id = 0;
     layer_id.spatial_layer_id = settings.start_layer;
     vpx_codec_control(encoder_, VP9E_SET_SVC_LAYER_ID, &layer_id);
     vpx_codec_control(encoder_, VP9E_SET_SVC_REF_FRAME_CONFIG, 
&enc_layer_conf);
   }
+#endif
 
   assert(codec_.maxFramerate > 0);
   uint32_t duration = 90000 / codec_.maxFramerate;
   if (vpx_codec_encode(encoder_, raw_, timestamp_, duration, flags,
                        VPX_DL_REALTIME)) {
     return WEBRTC_VIDEO_CODEC_ERROR;
   }
   timestamp_ += duration;
@@ -686,29 +706,31 @@ void VP9EncoderImpl::PopulateCodecSpecif
       vp9_info->p_diff[i] = p_diff_[layer_id.spatial_layer_id][i];
     }
   } else {
     vp9_info->gof_idx =
         static_cast<uint8_t>(frames_since_kf_ % gof_.num_frames_in_gof);
     vp9_info->temporal_up_switch = gof_.temporal_up_switch[vp9_info->gof_idx];
   }
 
+#ifdef LIBVPX_SVC
   if (vp9_info->ss_data_available) {
     vp9_info->spatial_layer_resolution_present = true;
     for (size_t i = 0; i < vp9_info->num_spatial_layers; ++i) {
       vp9_info->width[i] = codec_.width *
                            svc_params_.scaling_factor_num[i] /
                            svc_params_.scaling_factor_den[i];
       vp9_info->height[i] = codec_.height *
                             svc_params_.scaling_factor_num[i] /
                             svc_params_.scaling_factor_den[i];
     }
-    if (!vp9_info->flexible_mode) {
-      vp9_info->gof.CopyGofInfoVP9(gof_);
-    }
+  }
+#endif
+  if (!vp9_info->flexible_mode) {
+    vp9_info->gof.CopyGofInfoVP9(gof_);
   }
 }
 
 int VP9EncoderImpl::GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt) {
   RTC_DCHECK_EQ(pkt->kind, VPX_CODEC_CX_FRAME_PKT);
 
   if (pkt->data.frame.sz > encoded_image_._size) {
     delete[] encoded_image_._buffer;
@@ -756,16 +778,17 @@ int VP9EncoderImpl::GetEncodedLayerFrame
     vpx_codec_control(encoder_, VP8E_GET_LAST_QUANTIZER, &qp);
     encoded_image_.qp_ = qp;
     encoded_complete_callback_->OnEncodedImage(encoded_image_, &codec_specific,
                                                &frag_info);
   }
   return WEBRTC_VIDEO_CODEC_OK;
 }
 
+#ifdef LIBVPX_SVC
 vpx_svc_ref_frame_config VP9EncoderImpl::GenerateRefsAndFlags(
     const SuperFrameRefSettings& settings) {
   static const vpx_enc_frame_flags_t kAllFlags =
       VP8_EFLAG_NO_REF_ARF | VP8_EFLAG_NO_REF_GF | VP8_EFLAG_NO_REF_LAST |
       VP8_EFLAG_NO_UPD_LAST | VP8_EFLAG_NO_UPD_ARF | VP8_EFLAG_NO_UPD_GF;
   vpx_svc_ref_frame_config sf_conf = {};
   if (settings.is_keyframe) {
     // Used later on to make sure we don't make any invalid references.
@@ -857,16 +880,17 @@ vpx_svc_ref_frame_config VP9EncoderImpl:
         buffer_updated_at_frame_[updated_buffer] = frames_encoded_;
         sf_conf.frame_flags[layer_idx] = layer_flags;
       }
     }
   }
   ++frames_encoded_;
   return sf_conf;
 }
+#endif
 
 int VP9EncoderImpl::SetChannelParameters(uint32_t packet_loss, int64_t rtt) {
   return WEBRTC_VIDEO_CODEC_OK;
 }
 
 int VP9EncoderImpl::RegisterEncodeCompleteCallback(
     EncodedImageCallback* callback) {
   encoded_complete_callback_ = callback;
diff -Nrup -U 8 
a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h 
b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h
--- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h      
2020-02-18 02:37:58.000000000 +0300
+++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h      
2020-03-02 00:32:05.000000000 +0300
@@ -77,24 +77,26 @@ class VP9EncoderImpl : public VP9Encoder
 
   void PopulateCodecSpecific(CodecSpecificInfo* codec_specific,
                              const vpx_codec_cx_pkt& pkt,
                              uint32_t timestamp);
 
   bool ExplicitlyConfiguredSpatialLayers() const;
   bool SetSvcRates();
 
+#ifdef LIBVPX_SVC
   // Used for flexible mode to set the flags and buffer references used
   // by the encoder. Also calculates the references used by the RTP
   // packetizer.
   //
   // Has to be called for every frame (keyframes included) to update the
   // state used to calculate references.
   vpx_svc_ref_frame_config GenerateRefsAndFlags(
       const SuperFrameRefSettings& settings);
+#endif
 
   virtual int GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt);
 
   // Callback function for outputting packets per spatial layer.
   static void EncoderOutputCodedPacketCallback(vpx_codec_cx_pkt* pkt,
                                                void* user_data);
 
   // Determine maximum target for Intra frames
@@ -111,17 +113,19 @@ class VP9EncoderImpl : public VP9Encoder
   bool inited_;
   int64_t timestamp_;
   uint16_t picture_id_;
   int cpu_speed_;
   uint32_t rc_max_intra_target_;
   vpx_codec_ctx_t* encoder_;
   vpx_codec_enc_cfg_t* config_;
   vpx_image_t* raw_;
+#ifdef LIBVPX_SVC
   vpx_svc_extra_cfg_t svc_params_;
+#endif
   const VideoFrame* input_image_;
   GofInfoVP9 gof_;       // Contains each frame's temporal information for
                          // non-flexible mode.
   uint8_t tl0_pic_idx_;  // Only used in non-flexible mode.
   size_t frames_since_kf_;
   uint8_t num_temporal_layers_;
   uint8_t num_spatial_layers_;
   uint8_t num_cores_;

++++++ seamonkey-2.53.21-bmo1662867.patch ++++++
--- seamonkey-2.53.21.old/python/mach/mach/commands/settings.py 2025-04-20 
11:29:48.000000000 -0500
+++ seamonkey-2.53.21/python/mach/mach/commands/settings.py     2025-08-27 
14:09:03.800204529 -0500
@@ -27,7 +27,7 @@
              description='Show available config settings.')
     @CommandArgument('-l', '--list', dest='short', action='store_true',
                      help='Show settings in a concise list')
-    def settings(self, command_context, short=None):
+    def run_settings(self, command_context, short=None):
         """List available settings."""
         types = {v: k for k, v in TYPE_CLASSES.items()}
         wrapper = TextWrapper(initial_indent='# ', subsequent_indent='# ')

++++++ seamonkey-2.53.21-bmo1862601.patch ++++++
--- a/intl/lwbrk/LineBreaker.cpp
+++ b/intl/lwbrk/LineBreaker.cpp
@@ -559,7 +559,12 @@
     /* REGIONAL_INDICATOR = 39,           [RI] */ CLASS_CHARACTER,
     /* E_BASE = 40,                       [EB] */ CLASS_BREAKABLE,
     /* E_MODIFIER = 41,                   [EM] */ CLASS_CHARACTER,
-    /* ZWJ = 42,                          [ZWJ]*/ CLASS_CHARACTER
+    /* ZWJ = 42,                          [ZWJ]*/ CLASS_CHARACTER,
+    /* AKSARA = 43,                       [AK] */ CLASS_CHARACTER,
+    /* AKSARA_PREBASE = 44,               [AP] */ CLASS_CHARACTER,
+    /* AKSARA_START = 45,                 [AS] */ CLASS_CHARACTER,
+    /* VIRAMA_FINAL = 46,                 [VF] */ CLASS_CHARACTER,
+    /* VIRAMA = 47,                       [VI] */ CLASS_CHARACTER,
   };
 
   static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass),

++++++ seamonkey-2.53.21-bmo1927380.patch ++++++
--- seamonkey-2.53.21.old/js/moz.configure      2025-04-20 11:29:48.000000000 
-0500
+++ seamonkey-2.53.21/js/moz.configure  2025-08-24 07:24:58.108230222 -0500
@@ -403,7 +403,7 @@
 # ======================================================
 option('--with-system-icu', help='Use system ICU')
 
-system_icu = pkg_check_modules('MOZ_ICU', 'icu-i18n >= 67.1', 
when='--with-system-icu')
+system_icu = pkg_check_modules('MOZ_ICU', 'icu-uc icu-i18n >= 67.1', 
when='--with-system-icu')
 
 set_config('MOZ_SYSTEM_ICU', True, when=system_icu)
 set_define('MOZ_SYSTEM_ICU', True, when=system_icu)

++++++ seamonkey-2.53.3-lto.patch ++++++
diff -ruN seamonkey-2.53.17b1.orig/security/sandbox/linux/moz.build 
seamonkey-2.53.17b1/security/sandbox/linux/moz.build
--- seamonkey-2.53.17b1.orig/security/sandbox/linux/moz.build   2023-06-10 
12:41:21.000000000 +0200
+++ seamonkey-2.53.17b1/security/sandbox/linux/moz.build        2023-07-12 
09:48:50.099448143 +0200
@@ -101,7 +101,7 @@
 # forcing there to be only one partition.
 for f in CONFIG['OS_CXXFLAGS']:
     if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
-        LDFLAGS += ['--param lto-partitions=1']
+        LDFLAGS += ['--param=lto-partitions=1']
 
 DEFINES['NS_NO_XPCOM'] = True
 DisableStlWrapping()

++++++ seamonkey-2.53.7.1-man-page.patch ++++++
--- build/moz.configure/old.configure   2024-12-12 18:30:12.000000000 -0600
+++ build/moz.configure/old.configure   2024-12-30 17:18:44.383356721 -0600
@@ -112,6 +112,7 @@
     '--enable-zipwriter',
     '--includedir',
     '--libdir',
+    '--mandir',
     '--prefix',
     '--with-branding',
     '--with-debug-label',
--- comm/suite/installer/Makefile.in    2021-08-08 15:29:32.000000000 +0200
+++ comm/suite/installer/Makefile.in    2022-07-11 14:04:44.710104711 +0200
@@ -145,6 +145,10 @@
 
 include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
 
+install::
+       $(NSINSTALL) -D $(DESTDIR)$(mandir)/man1
+       $(SYSINSTALL) $(IFLAGS1) $(DIST)/man/man1/$(MOZ_APP_NAME).1 
$(DESTDIR)$(mandir)/man1
+
 ifeq (Darwin, $(OS_ARCH))
 BINPATH = $(_BINPATH)
 DEFINES += -DAPPNAME=$(_APPNAME)

++++++ seamonkey-GNUmakefile ++++++
--- /var/tmp/diff_new_pack.yRkGUQ/_old  2025-08-29 18:36:51.186280769 +0200
+++ /var/tmp/diff_new_pack.yRkGUQ/_new  2025-08-29 18:36:51.210281795 +0200
@@ -83,6 +83,10 @@
        $(MAKE) -C $(OBJDIR)
 
 
+listsettings: .mozconfig
+       $(MACH_CMD) settings --list
+
+
 $(OBJDIR_TARGETS):
        $(MAKE) -C $(OBJDIR) $@
 

++++++ suse-default-prefs.js ++++++
--- /var/tmp/diff_new_pack.yRkGUQ/_old  2025-08-29 18:36:51.478293252 +0200
+++ /var/tmp/diff_new_pack.yRkGUQ/_new  2025-08-29 18:36:51.502294277 +0200
@@ -2,7 +2,6 @@
 pref("browser.startup.homepage_override.mstone", "ignore");
 pref("general.smoothScroll",                true);
 pref("font.default", "sans-serif");
-pref("network.negotiate-auth.gsslib", "GSSAPI");
 pref("print.print_edge_top", 14); // 1/100 of an inch
 pref("print.print_edge_left", 16); // 1/100 of an inch
 pref("print.print_edge_right", 16); // 1/100 of an inch

Reply via email to