--- a/MozillaFirefox/MozillaFirefox.spec Mon Jun 05 21:17:55 2023 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec Sat Jul 29 14:34:45 2023 +0200
@@ -28,9 +28,9 @@
# orig_suffix b3
# major 69
# mainver %%major.99
-%define major 113
-%define mainver %major.0.2
-%define orig_version 113.0.2
+%define major 115
+%define mainver %major.0.3
+%define orig_version 115.0.3
%define orig_suffix %{nil}
%define update_channel release
%define branding 1
@@ -50,13 +50,17 @@
# SLE-12 doesn't have this macro
%{!?_rpmmacrodir: %global _rpmmacrodir %{_rpmconfigdir}/macros.d}
+# No i586 on SLE-12, as the rpmlints are broken and can't handle the big rpms resulting from this build.
+%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
+ExclusiveArch: aarch64 ppc64le x86_64 s390x
+%else
# Firefox only supports i686
%ifarch %ix86
ExclusiveArch: i586 i686
BuildArch: i686
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2}
%endif
-%{expand:%%global optflags %(echo "%optflags"|sed -e s/-Werror=return-type//) }
+%endif
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
# general build definitions
@@ -94,23 +98,13 @@
BuildRequires: fdupes
BuildRequires: memory-constraints
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
-BuildRequires: gcc11-c++
+BuildRequires: gcc12
+BuildRequires: gcc12-c++
%else
BuildRequires: gcc-c++
%endif
-%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300
-BuildRequires: cargo >= 1.65
-BuildRequires: rust >= 1.65
-%else
-# Newer sle/leap/tw use parallel versioned rust releases which have
-# a different method for provides that we can use to request a
-# specific version
-# minimal requirement:
-BuildRequires: rust+cargo >= 1.65
-# actually used upstream:
-BuildRequires: cargo1.67
-BuildRequires: rust1.67
-%endif
+BuildRequires: cargo1.69
+BuildRequires: rust1.69
%if 0%{useccache} != 0
BuildRequires: ccache
%endif
@@ -120,12 +114,15 @@
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.35
-BuildRequires: mozilla-nss-devel >= 3.89
+BuildRequires: mozilla-nss-devel >= 3.90
BuildRequires: nasm >= 2.14
-BuildRequires: nodejs >= 10.22.1
+BuildRequires: nodejs >= 12.22.12
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
+BuildRequires: libXtst-devel
BuildRequires: python-libxml2
-BuildRequires: python36
+BuildRequires: python39
+BuildRequires: python39-curses
+BuildRequires: python39-devel
%else
%if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150500
BuildRequires: python39
@@ -219,20 +216,20 @@
Patch6: mozilla-s390-context.patch
Patch7: mozilla-pgo.patch
Patch8: mozilla-reduce-rust-debuginfo.patch
-Patch9: mozilla-bmo1005535.patch
Patch10: mozilla-bmo1504834-part1.patch
Patch11: mozilla-bmo1504834-part3.patch
Patch12: mozilla-bmo1512162.patch
Patch13: mozilla-fix-top-level-asm.patch
Patch14: mozilla-bmo849632.patch
Patch15: mozilla-bmo998749.patch
-Patch16: mozilla-s390x-skia-gradient.patch
Patch17: mozilla-libavcodec58_91.patch
Patch18: mozilla-silence-no-return-type.patch
Patch19: mozilla-bmo531915.patch
Patch20: one_swizzle_to_rule_them_all.patch
Patch21: svg-rendering.patch
-Patch22: mozilla-buildfixes.patch
+Patch22: mozilla-partial-revert-1768632.patch
+Patch23: mozilla-bmo1775202.patch
+Patch24: mozilla-rust-disable-future-incompat.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch
@@ -345,19 +342,20 @@
TIME="\"$(date -d "${modified}" "+%%R")\""
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
-# SLE-12 provides python36, but that package does not provide a python3 binary
+# SLE-12 provides python39, but that package does not provide a python3 binary
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
-sed -i "s/python3/python36/g" configure.in
-sed -i "s/python3/python36/g" mach
-export PYTHON3=/usr/bin/python36
+#sed -i "s/python3/python3.9/g" configure.in
+sed -i "s|/usr/bin/env python3|/usr/bin/env python3.9|" mach
+sed -i "s|potential_python_binary = f\"python3.{i}\"|potential_python_binary = f\"python3.9.{i}\"|" mach
+export PYTHON3=/usr/bin/python3.9
%endif
-#
kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
if test "$kdehelperversion" != %{kde_helper_version}; then
echo fix kde helper version in the .spec file
exit 1
fi
+
# When doing only_print_mozconfig, this file isn't necessarily available, so skip it
cp %{SOURCE4} .obsenv.sh
%else
@@ -378,7 +376,8 @@
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
export CFLAGS="%{optflags}"
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
-export CC=gcc-11
+export CC=gcc-12
+export CXX=g++-12
%else
%if 0%{?clang_build} == 0
export CC=gcc
@@ -397,7 +396,7 @@
export LDFLAGS="\$LDFLAGS -fPIC -Wl,-z,relro,-z,now"
%ifarch ppc64 ppc64le
%if 0%{?clang_build} == 0
-export CFLAGS="\$CFLAGS -mminimal-toc"
+#export CFLAGS="\$CFLAGS -mminimal-toc"
%endif
%endif
%ifarch %ix86
@@ -494,7 +493,7 @@
%ifarch x86_64
# LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
%if 0%{?suse_version} > 1500
-ac_add_options --enable-lto
+#ac_add_options --enable-lto
%if 0%{?do_profiling}
ac_add_options MOZ_PGO=1
%endif
@@ -726,6 +725,10 @@
%{progdir}/application.ini
%{progdir}/dependentlibs.list
%{progdir}/*.so
+%{progdir}/glxtest
+%if 0%{wayland_supported}
+%{progdir}/vaapitest
+%endif
%{progdir}/omni.ja
%{progdir}/fonts/
%{progdir}/pingsender