diff -r ba0c97b018a6 -r 2a24a948b5cf MozillaFirefox/MozillaFirefox.spec --- 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