MozillaFirefox/MozillaFirefox.spec
branchfirefox73
changeset 1121 004e4b1efb26
parent 1120 6168af2507a2
child 1122 a9cd24eaa361
equal deleted inserted replaced
1120:6168af2507a2 1121:004e4b1efb26
     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
   317 %patch18 -p1
   319 %patch18 -p1
   318 %patch19 -p1
   320 %patch19 -p1
   319 %patch20 -p1
   321 %patch20 -p1
   320 %patch21 -p1
   322 %patch21 -p1
   321 %patch22 -p1
   323 %patch22 -p1
   322 %patch23 -p1
       
   323 # Firefox
   324 # Firefox
   324 %patch101 -p1
   325 %patch101 -p1
   325 %patch102 -p1
   326 %patch102 -p1
   326 %endif # only_print_mozconfig
   327 %endif # only_print_mozconfig
   327 # Save config.sub to restore it (for aarch64/ppc64le) later, as it is checked with a checksum
   328 # Save config.sub to restore it (for aarch64/ppc64le) later, as it is checked with a checksum
   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