1 # |
1 # |
2 # spec file for package MozillaFirefox |
2 # spec file for package MozillaFirefox |
3 # |
3 # |
4 # Copyright (c) 2020 SUSE LLC |
4 # Copyright (c) 2020 SUSE LLC |
5 # 2006-2019 Wolfgang Rosenauer <wr@rosenauer.org> |
5 # 2006-2020 Wolfgang Rosenauer <wr@rosenauer.org> |
6 # |
6 # |
7 # All modifications and additions to the file contributed by third parties |
7 # All modifications and additions to the file contributed by third parties |
8 # remain the property of their copyright owners, unless otherwise agreed |
8 # remain the property of their copyright owners, unless otherwise agreed |
9 # upon. The license for this file, and modifications and additions to the |
9 # upon. The license for this file, and modifications and additions to the |
10 # file, is the same license as for the pristine package itself (unless the |
10 # file, is the same license as for the pristine package itself (unless the |
16 # Please submit bugfixes or comments via https://bugs.opensuse.org/ |
16 # Please submit bugfixes or comments via https://bugs.opensuse.org/ |
17 # |
17 # |
18 |
18 |
19 |
19 |
20 # changed with every update |
20 # changed with every update |
21 %define major 72 |
21 %define major 73 |
22 %define mainver %major.0.2 |
22 %define mainver %major.0 |
23 %define orig_version 72.0.2 |
23 %define orig_version 73.0 |
24 %define orig_suffix %{nil} |
24 %define orig_suffix %{nil} |
25 %define update_channel release |
25 %define update_channel release |
26 %define branding 1 |
26 %define branding 1 |
27 %define devpkg 1 |
27 %define devpkg 1 |
|
28 |
|
29 # disable for FF73 for now as it fails for unknown reason |
|
30 %define do_profiling 0 |
28 |
31 |
29 # always build with GCC as SUSE Security Team requires that |
32 # always build with GCC as SUSE Security Team requires that |
30 %define clang_build 0 |
33 %define clang_build 0 |
31 |
34 |
32 # PIE, full relro |
35 # PIE, full relro |
70 %if 0%{?suse_version} <= 1320 |
73 %if 0%{?suse_version} <= 1320 |
71 BuildRequires: gcc7-c++ |
74 BuildRequires: gcc7-c++ |
72 %else |
75 %else |
73 BuildRequires: gcc-c++ |
76 BuildRequires: gcc-c++ |
74 %endif |
77 %endif |
75 BuildRequires: cargo >= 1.37 |
78 BuildRequires: cargo >= 1.39 |
76 BuildRequires: libXcomposite-devel |
79 BuildRequires: libXcomposite-devel |
77 BuildRequires: libcurl-devel |
80 BuildRequires: libcurl-devel |
78 BuildRequires: libidl-devel |
81 BuildRequires: libidl-devel |
79 BuildRequires: libiw-devel |
82 BuildRequires: libiw-devel |
80 BuildRequires: libnotify-devel |
83 BuildRequires: libnotify-devel |
81 BuildRequires: libproxy-devel |
84 BuildRequires: libproxy-devel |
82 BuildRequires: makeinfo |
85 BuildRequires: makeinfo |
83 BuildRequires: mozilla-nspr-devel >= 4.24 |
86 BuildRequires: mozilla-nspr-devel >= 4.24 |
84 BuildRequires: mozilla-nss-devel >= 3.48 |
87 BuildRequires: mozilla-nss-devel >= 3.49.2 |
85 BuildRequires: nasm >= 2.13 |
88 BuildRequires: nasm >= 2.13 |
86 BuildRequires: nodejs8 >= 8.11 |
89 BuildRequires: nodejs8 >= 8.11 |
87 BuildRequires: python-devel |
90 BuildRequires: python-devel |
88 BuildRequires: python2-xml |
91 BuildRequires: python2-xml |
89 BuildRequires: python3 >= 3.5 |
92 BuildRequires: python3 >= 3.5 |
90 BuildRequires: rust >= 1.37 |
93 BuildRequires: rust >= 1.39 |
91 BuildRequires: rust-cbindgen >= 0.9.1 |
94 BuildRequires: rust-cbindgen >= 0.12.0 |
92 BuildRequires: startup-notification-devel |
95 BuildRequires: startup-notification-devel |
93 BuildRequires: unzip |
96 BuildRequires: unzip |
94 BuildRequires: update-desktop-files |
97 BuildRequires: update-desktop-files |
95 BuildRequires: xorg-x11-libXt-devel |
98 BuildRequires: xorg-x11-libXt-devel |
96 %if 0%{?do_profiling} |
99 %if 0%{?do_profiling} |
181 Patch18: mozilla-bmo1554971.patch |
184 Patch18: mozilla-bmo1554971.patch |
182 Patch19: mozilla-bmo1512162.patch |
185 Patch19: mozilla-bmo1512162.patch |
183 Patch20: mozilla-fix-top-level-asm.patch |
186 Patch20: mozilla-fix-top-level-asm.patch |
184 Patch21: mozilla-bmo1504834-part4.patch |
187 Patch21: mozilla-bmo1504834-part4.patch |
185 Patch22: mozilla-bmo849632.patch |
188 Patch22: mozilla-bmo849632.patch |
186 Patch23: mozilla-bmo1601707.patch |
|
187 # Firefox/browser |
189 # Firefox/browser |
188 Patch101: firefox-kde.patch |
190 Patch101: firefox-kde.patch |
189 Patch102: firefox-branded-icons.patch |
191 Patch102: firefox-branded-icons.patch |
190 %endif # only_print_mozconfig |
192 %endif # only_print_mozconfig |
191 BuildRoot: %{_tmppath}/%{name}-%{version}-build |
193 BuildRoot: %{_tmppath}/%{name}-%{version}-build |
397 . \$topsrcdir/browser/config/mozconfig |
398 . \$topsrcdir/browser/config/mozconfig |
398 ac_add_options --prefix=%{_prefix} |
399 ac_add_options --prefix=%{_prefix} |
399 ac_add_options --libdir=%{_libdir} |
400 ac_add_options --libdir=%{_libdir} |
400 ac_add_options --includedir=%{_includedir} |
401 ac_add_options --includedir=%{_includedir} |
401 ac_add_options --enable-release |
402 ac_add_options --enable-release |
402 ac_add_options --enable-default-toolkit=cairo-gtk3 |
403 ac_add_options --enable-default-toolkit=cairo-gtk3-wayland |
403 %if 0%{?suse_version} >= 1550 |
404 %if 0%{?suse_version} >= 1550 |
404 ac_add_options --disable-gconf |
405 ac_add_options --disable-gconf |
405 %endif |
406 %endif |
406 # bmo#1441155 - Disable the generation of Rust debug symbols on Linux32 |
407 # bmo#1441155 - Disable the generation of Rust debug symbols on Linux32 |
407 %ifarch %ix86 %arm |
408 %ifarch %ix86 %arm |
408 ac_add_options --disable-debug-symbols |
409 ac_add_options --disable-debug-symbols |
409 %else |
410 %else |
410 ac_add_options --enable-debug-symbols |
411 ac_add_options --enable-debug-symbols |
411 %endif |
412 %endif |
412 %if 0%{?suse_version} > 1549 |
413 # building with elf-hack started to fail everywhere with FF73 |
|
414 #%if 0%{?suse_version} > 1549 |
413 %ifnarch aarch64 ppc64 ppc64le s390x |
415 %ifnarch aarch64 ppc64 ppc64le s390x |
414 ac_add_options --disable-elf-hack |
416 ac_add_options --disable-elf-hack |
415 %endif |
417 %endif |
416 %endif |
418 #%endif |
417 ac_add_options --with-system-nspr |
419 ac_add_options --with-system-nspr |
418 ac_add_options --with-system-nss |
420 ac_add_options --with-system-nss |
419 %if %{localize} |
421 %if %{localize} |
420 ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n |
422 ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n |
421 %endif |
423 %endif |
574 ########## |
576 ########## |
575 # ADDONS |
577 # ADDONS |
576 # |
578 # |
577 mkdir -p %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid} |
579 mkdir -p %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid} |
578 mkdir -p %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid} |
580 mkdir -p %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid} |
579 mkdir -p %{buildroot}/usr/share/pixmaps/ |
|
580 ln -sf %{progdir}/browser/chrome/icons/default/default128.png %{buildroot}/usr/share/pixmaps/%{progname}.png |
|
581 ln -sf %{progdir}/browser/chrome/icons/default/default128.png %{buildroot}/usr/share/pixmaps/%{progname}-gnome.png |
|
582 %if %branding |
581 %if %branding |
|
582 # Install symbolic icon for GNOME |
|
583 mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/ |
|
584 cp %{_builddir}/%{srcname}-%{orig_version}/browser/branding/official/content/identity-icons-brand.svg \ |
|
585 %{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/%{progname}-symbolic.svg |
583 for size in 16 22 24 32 48 64 128 256; do |
586 for size in 16 22 24 32 48 64 128 256; do |
584 %else |
587 %else |
585 for size in 16 32 48; do |
588 for size in 16 32 48; do |
586 %endif |
589 %endif |
587 mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/ |
590 mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/ |
662 %dir %{progdir}/browser/chrome/ |
665 %dir %{progdir}/browser/chrome/ |
663 %{progdir}/browser/defaults |
666 %{progdir}/browser/defaults |
664 %{progdir}/browser/features/ |
667 %{progdir}/browser/features/ |
665 %{progdir}/browser/chrome/icons |
668 %{progdir}/browser/chrome/icons |
666 %{progdir}/browser/blocklist.xml |
669 %{progdir}/browser/blocklist.xml |
667 %{progdir}/browser/chrome.manifest |
|
668 %{progdir}/browser/omni.ja |
670 %{progdir}/browser/omni.ja |
669 %dir %{progdir}/distribution/ |
671 %dir %{progdir}/distribution/ |
670 %{progdir}/distribution/extensions/ |
672 %{progdir}/distribution/extensions/ |
671 %{progdir}/defaults/ |
673 %{progdir}/defaults/ |
672 %dir %{progdir}/gtk2 |
674 %dir %{progdir}/gtk2 |
674 %{progdir}/gmp-clearkey/ |
676 %{progdir}/gmp-clearkey/ |
675 %attr(755,root,root) %{progdir}/%{progname}.sh |
677 %attr(755,root,root) %{progdir}/%{progname}.sh |
676 %{progdir}/%{progname} |
678 %{progdir}/%{progname} |
677 %{progdir}/%{progname}-bin |
679 %{progdir}/%{progname}-bin |
678 %{progdir}/application.ini |
680 %{progdir}/application.ini |
679 %{progdir}/chrome.manifest |
|
680 %{progdir}/dependentlibs.list |
681 %{progdir}/dependentlibs.list |
681 %{progdir}/*.so |
682 %{progdir}/*.so |
682 %{progdir}/omni.ja |
683 %{progdir}/omni.ja |
683 %{progdir}/fonts/ |
684 %{progdir}/fonts/ |
684 %{progdir}/pingsender |
685 %{progdir}/pingsender |
691 %{progdir}/minidump-analyzer |
692 %{progdir}/minidump-analyzer |
692 %{progdir}/browser/crashreporter-override.ini |
693 %{progdir}/browser/crashreporter-override.ini |
693 %endif |
694 %endif |
694 %{_datadir}/applications/%{desktop_file_name}.desktop |
695 %{_datadir}/applications/%{desktop_file_name}.desktop |
695 %{_datadir}/mime/packages/%{progname}.xml |
696 %{_datadir}/mime/packages/%{progname}.xml |
696 %{_datadir}/pixmaps/firefox* |
|
697 %dir %{_datadir}/mozilla |
697 %dir %{_datadir}/mozilla |
698 %dir %{_datadir}/mozilla/extensions |
698 %dir %{_datadir}/mozilla/extensions |
699 %dir %{_datadir}/mozilla/extensions/%{firefox_appid} |
699 %dir %{_datadir}/mozilla/extensions/%{firefox_appid} |
700 %dir %{_libdir}/mozilla |
700 %dir %{_libdir}/mozilla |
701 %dir %{_libdir}/mozilla/extensions |
701 %dir %{_libdir}/mozilla/extensions |