89 BuildRequires: autoconf213 |
89 BuildRequires: autoconf213 |
90 BuildRequires: dbus-1-glib-devel |
90 BuildRequires: dbus-1-glib-devel |
91 BuildRequires: dejavu-fonts |
91 BuildRequires: dejavu-fonts |
92 BuildRequires: fdupes |
92 BuildRequires: fdupes |
93 BuildRequires: memory-constraints |
93 BuildRequires: memory-constraints |
94 %if 0%{?suse_version} <= 1320 |
94 %if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400 |
95 BuildRequires: gcc9-c++ |
95 BuildRequires: gcc11-c++ |
96 %else |
96 %else |
97 BuildRequires: gcc-c++ |
97 BuildRequires: gcc-c++ |
98 %endif |
98 %endif |
99 %if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300 |
99 %if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300 |
100 BuildRequires: cargo >= 1.57 |
100 BuildRequires: cargo >= 1.59 |
101 BuildRequires: rust >= 1.57 |
101 BuildRequires: rust >= 1.59 |
102 %else |
102 %else |
103 # Newer sle/leap/tw use parallel versioned rust releases which have |
103 # Newer sle/leap/tw use parallel versioned rust releases which have |
104 # a different method for provides that we can use to request a |
104 # a different method for provides that we can use to request a |
105 # specific version |
105 # specific version |
|
106 # minimal requirement: |
106 BuildRequires: rust+cargo >= 1.59 |
107 BuildRequires: rust+cargo >= 1.59 |
|
108 # actually used upstream: |
|
109 BuildRequires: cargo1.60 |
|
110 BuildRequires: rust1.60 |
107 %endif |
111 %endif |
108 %if 0%{useccache} != 0 |
112 %if 0%{useccache} != 0 |
109 BuildRequires: ccache |
113 BuildRequires: ccache |
110 %endif |
114 %endif |
111 BuildRequires: libXcomposite-devel |
115 BuildRequires: libXcomposite-devel |
112 BuildRequires: libcurl-devel |
116 BuildRequires: libcurl-devel |
113 BuildRequires: libiw-devel |
117 BuildRequires: libiw-devel |
114 BuildRequires: libproxy-devel |
118 BuildRequires: libproxy-devel |
115 BuildRequires: makeinfo |
119 BuildRequires: makeinfo |
116 BuildRequires: mozilla-nspr-devel >= 4.33 |
120 BuildRequires: mozilla-nspr-devel >= 4.34 |
117 BuildRequires: mozilla-nss-devel >= 3.78.1 |
121 BuildRequires: mozilla-nss-devel >= 3.79 |
118 BuildRequires: nasm >= 2.14 |
122 BuildRequires: nasm >= 2.14 |
119 BuildRequires: nodejs >= 10.22.1 |
123 BuildRequires: nodejs >= 10.22.1 |
120 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 |
124 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 |
121 BuildRequires: python-libxml2 |
125 BuildRequires: python-libxml2 |
122 BuildRequires: python36 |
126 BuildRequires: python36 |
176 Source: http://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz |
180 Source: http://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz |
177 Source1: MozillaFirefox.desktop |
181 Source1: MozillaFirefox.desktop |
178 Source2: MozillaFirefox-rpmlintrc |
182 Source2: MozillaFirefox-rpmlintrc |
179 Source3: mozilla.sh.in |
183 Source3: mozilla.sh.in |
180 Source4: tar_stamps |
184 Source4: tar_stamps |
|
185 %if %{localize} |
181 Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz |
186 Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz |
|
187 %endif |
182 Source8: firefox-mimeinfo.xml |
188 Source8: firefox-mimeinfo.xml |
183 Source9: firefox.js |
189 Source9: firefox.js |
184 Source11: firefox.1 |
190 Source11: firefox.1 |
185 Source12: mozilla-get-app-id |
191 Source12: mozilla-get-app-id |
186 Source13: spellcheck.js |
192 Source13: spellcheck.js |
205 Patch7: mozilla-pgo.patch |
211 Patch7: mozilla-pgo.patch |
206 Patch8: mozilla-reduce-rust-debuginfo.patch |
212 Patch8: mozilla-reduce-rust-debuginfo.patch |
207 Patch9: mozilla-bmo1005535.patch |
213 Patch9: mozilla-bmo1005535.patch |
208 Patch10: mozilla-bmo1568145.patch |
214 Patch10: mozilla-bmo1568145.patch |
209 Patch11: mozilla-bmo1504834-part1.patch |
215 Patch11: mozilla-bmo1504834-part1.patch |
210 Patch12: mozilla-bmo1504834-part2.patch |
|
211 Patch13: mozilla-bmo1504834-part3.patch |
216 Patch13: mozilla-bmo1504834-part3.patch |
212 Patch14: mozilla-bmo1512162.patch |
217 Patch14: mozilla-bmo1512162.patch |
213 Patch15: mozilla-fix-top-level-asm.patch |
218 Patch15: mozilla-fix-top-level-asm.patch |
214 Patch16: mozilla-bmo1504834-part4.patch |
|
215 Patch17: mozilla-bmo849632.patch |
219 Patch17: mozilla-bmo849632.patch |
216 Patch18: mozilla-bmo998749.patch |
220 Patch18: mozilla-bmo998749.patch |
217 Patch19: mozilla-bmo1626236.patch |
|
218 Patch20: mozilla-s390x-skia-gradient.patch |
221 Patch20: mozilla-s390x-skia-gradient.patch |
219 Patch21: mozilla-libavcodec58_91.patch |
222 Patch21: mozilla-libavcodec58_91.patch |
220 Patch22: mozilla-silence-no-return-type.patch |
223 Patch22: mozilla-silence-no-return-type.patch |
221 Patch23: mozilla-bmo531915.patch |
224 Patch23: mozilla-bmo531915.patch |
|
225 Patch25: one_swizzle_to_rule_them_all.patch |
|
226 Patch26: svg-rendering.patch |
222 # Firefox/browser |
227 # Firefox/browser |
223 Patch101: firefox-kde.patch |
228 Patch101: firefox-kde.patch |
224 Patch102: firefox-branded-icons.patch |
229 Patch102: firefox-branded-icons.patch |
225 %endif |
230 %endif |
226 BuildRoot: %{_tmppath}/%{name}-%{version}-build |
231 BuildRoot: %{_tmppath}/%{name}-%{version}-build |
339 sed -i "s/python3/python36/g" configure.in |
344 sed -i "s/python3/python36/g" configure.in |
340 sed -i "s/python3/python36/g" mach |
345 sed -i "s/python3/python36/g" mach |
341 export PYTHON3=/usr/bin/python36 |
346 export PYTHON3=/usr/bin/python36 |
342 %endif |
347 %endif |
343 |
348 |
344 # Webrender does not support big endian yet, so we are forcing it off |
|
345 # see: https://bugzilla.mozilla.org/show_bug.cgi?id=1716707 |
|
346 %ifarch s390x ppc64 |
|
347 echo 'pref("gfx.webrender.force-disabled", true);' >> %{SOURCE9} |
|
348 %endif |
|
349 |
|
350 # |
349 # |
351 kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3) |
350 kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3) |
352 if test "$kdehelperversion" != %{kde_helper_version}; then |
351 if test "$kdehelperversion" != %{kde_helper_version}; then |
353 echo fix kde helper version in the .spec file |
352 echo fix kde helper version in the .spec file |
354 exit 1 |
353 exit 1 |
355 fi |
354 fi |
356 |
355 # When doing only_print_mozconfig, this file isn't necessarily available, so skip it |
357 source %{SOURCE4} |
356 cp %{SOURCE4} .obsenv.sh |
358 %endif |
357 %else |
359 |
358 # We need to make sure its empty |
|
359 echo "" > .obsenv.sh |
|
360 %endif |
|
361 |
|
362 cat >> .obsenv.sh <<EOF |
360 export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo |
363 export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo |
361 export MOZ_SOURCE_CHANGESET=$RELEASE_TAG |
364 export MOZ_SOURCE_CHANGESET=$RELEASE_TAG |
362 export SOURCE_REPO=$RELEASE_REPO |
365 export SOURCE_REPO=$RELEASE_REPO |
363 export source_repo=$RELEASE_REPO |
366 export source_repo=$RELEASE_REPO |
364 export MOZ_SOURCE_REPO=$RELEASE_REPO |
367 export MOZ_SOURCE_REPO=$RELEASE_REPO |
365 export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP |
368 export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP |
366 export MOZILLA_OFFICIAL=1 |
369 export MOZILLA_OFFICIAL=1 |
367 export BUILD_OFFICIAL=1 |
370 export BUILD_OFFICIAL=1 |
368 export MOZ_TELEMETRY_REPORTING=1 |
371 export MOZ_TELEMETRY_REPORTING=1 |
369 export MACH_USE_SYSTEM_PYTHON=1 |
372 export MACH_USE_SYSTEM_PYTHON=1 |
370 %if 0%{?suse_version} <= 1320 |
373 %if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400 |
371 export CC=gcc-9 |
374 export CC=gcc-11 |
372 %else |
375 %else |
373 %if 0%{?clang_build} == 0 |
376 %if 0%{?clang_build} == 0 |
374 export CC=gcc |
377 export CC=gcc |
375 export CXX=g++ |
378 export CXX=g++ |
376 %if 0%{?gcc_version:%{gcc_version}} >= 12 |
379 %if 0%{?gcc_version:%{gcc_version}} >= 12 |
390 export CFLAGS="$CFLAGS -mminimal-toc" |
393 export CFLAGS="$CFLAGS -mminimal-toc" |
391 %endif |
394 %endif |
392 %endif |
395 %endif |
393 export CXXFLAGS="$CFLAGS" |
396 export CXXFLAGS="$CFLAGS" |
394 export MOZCONFIG=$RPM_BUILD_DIR/mozconfig |
397 export MOZCONFIG=$RPM_BUILD_DIR/mozconfig |
395 %if %{with only_print_mozconfig} |
398 EOF |
396 echo "export CC=$CC" |
399 # Done with env-variables. |
397 echo "export CXX=$CXX" |
400 source ./.obsenv.sh |
398 echo "export CFLAGS=\"$CFLAGS\"" |
401 |
399 echo "export CXXFLAGS=\"$CXXFLAGS\"" |
402 # Generating mozconfig |
400 echo "export LDFLAGS=\"$LDFLAGS\"" |
|
401 echo "export RUSTFLAGS=\"$RUSTFLAGS\"" |
|
402 echo "export CARGO_HOME=\"$CARGO_HOME\"" |
|
403 echo "export PATH=\"$PATH\"" |
|
404 echo "export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\"" |
|
405 echo "export PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\"" |
|
406 echo "export MOZCONFIG=\"$MOZCONFIG\"" |
|
407 echo "export MOZILLA_OFFICIAL=1" |
|
408 echo "export BUILD_OFFICIAL=1" |
|
409 echo "export MOZ_TELEMETRY_REPORTING=1" |
|
410 echo "" |
|
411 cat << EOF |
|
412 %else |
|
413 %limit_build -m 2560 |
|
414 cat << EOF > $MOZCONFIG |
403 cat << EOF > $MOZCONFIG |
415 %endif |
|
416 mk_add_options MOZILLA_OFFICIAL=1 |
404 mk_add_options MOZILLA_OFFICIAL=1 |
417 mk_add_options BUILD_OFFICIAL=1 |
405 mk_add_options BUILD_OFFICIAL=1 |
418 mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs} |
406 mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs} |
419 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj |
407 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj |
420 . \$topsrcdir/browser/config/mozconfig |
408 . \$topsrcdir/browser/config/mozconfig |