b26a6b
# Set for local builds only
b26a6b
%global disable_toolsets  0
b26a6b
e98f2c
%ifarch i686
e98f2c
# no debug package for the i686 because oom on i686 with debuginfos
e98f2c
%global debug_package %{nil}
c82edc
%endif
e98f2c
e98f2c
%global rhel_minor_version -1
2d7a08
%if 0%{?flatpak:1}
2d7a08
%global rhel_minor_version 4
2d7a08
%endif
e98f2c
%if "%{?dist}" == ".el8"
2d7a08
%global rhel_minor_version 4
e98f2c
%endif
e98f2c
%if "%{?dist}" == ".el8_3"
e98f2c
%global rhel_minor_version 3
e98f2c
%endif
e98f2c
%if "%{?dist}" == ".el8_2"
e98f2c
%global rhel_minor_version 2
e98f2c
%endif
e98f2c
%if "%{?dist}" == ".el8_1"
e98f2c
%global rhel_minor_version 1
e98f2c
%endif
e98f2c
%if "%{?dist}" == ".el8_0"
e98f2c
%global rhel_minor_version 0
e98f2c
%endif
e98f2c
d417c4
%global system_nss        1
e98f2c
%global bundle_nss        0
e98f2c
e98f2c
%if 0%{?rhel} == 8
e98f2c
  %if 0%{?rhel_minor_version} < 2
e98f2c
%global bundle_nss        1
e98f2c
  %endif
c82edc
%endif
e98f2c
c82edc
%if 0%{?rhel} == 6
e98f2c
%global system_nss        0
c82edc
%endif
e98f2c
d417c4
%define use_bundled_ffi   0
e98f2c
e98f2c
%define use_bundled_python_2 1
e98f2c
%define use_bundled_python_3 1
e98f2c
c82edc
%if 0%{?rhel} == 8
c82edc
%define use_bundled_python_2 1
c82edc
%define use_bundled_python_3 0
e98f2c
%endif
e98f2c
e98f2c
%if 0%{?rhel} == 7
e98f2c
%define use_bundled_python_2 0
e98f2c
%define use_bundled_python_3 0
c82edc
%endif
4c7c17
4c7c17
%if 0%{?flatpak:1}
4c7c17
%define use_bundled_python_2 1
4c7c17
%endif
4c7c17
e98f2c
# we need python2 because of icu data gen
e98f2c
%define use_bundled_python_2 1
e98f2c
b26a6b
%define bundle_gnome_extension 0
d417c4
d417c4
# Don't use system hunspell for now
d417c4
%global system_hunspell   0
d417c4
%global system_sqlite     0
c82edc
%if 0%{?rhel} == 8
c82edc
%global use_llvmts        0
c82edc
%else
b26a6b
%global use_llvmts        1
c82edc
%endif
d417c4
d417c4
%if 0%{?rhel} > 6
d417c4
%global system_ffi        1
d417c4
%else
d417c4
%global system_ffi        0
eb1fd3
%endif
d417c4
%if 0%{?rhel} < 8
d417c4
%global use_dts           1
4cf60e
%endif
eb1fd3
d417c4
%global use_rustts        1
c82edc
%global dts_version       8
83e1c4
%if 0%{?rhel} == 6
83e1c4
%global dts_version       8
83e1c4
%endif
e98f2c
%global rust_version         1.41
e98f2c
%global rust_toolset_version 1.41
c82edc
%global llvm_version      7.0
332c93
%if 0%{?rhel} == 8
332c93
%global llvm_version      6.0
332c93
%endif
d417c4
b26a6b
%if 0%{?disable_toolsets}
b26a6b
%global use_rustts        0
b26a6b
%global use_dts           0
b26a6b
%global use_llvmts        0
b26a6b
%endif
b26a6b
d417c4
# Use system cairo?
d417c4
%global system_cairo      0
d417c4
d417c4
# Use system libvpx?
d417c4
%global system_libvpx     0
4cf60e
d417c4
# Use system libicu?
d417c4
%global system_libicu     0
d417c4
f9af33
# Big endian platforms
d417c4
%ifarch ppc64 s390x
f9af33
# Javascript Intl API is not supported on big endian platforms right now:
f9af33
# https://bugzilla.mozilla.org/show_bug.cgi?id=1322212
d417c4
%global big_endian        1
f9af33
%endif
29a772
d417c4
# Hardened build?
d417c4
%global hardened_build    1
4cf60e
d417c4
%global system_jpeg       1
29a772
d417c4
%ifarch %{ix86} x86_64
d417c4
%global run_tests         0
d417c4
%else
d417c4
%global run_tests         0
d417c4
%endif
d417c4
d417c4
# Build as a debug package?
d417c4
%global debug_build       0
d417c4
62f5ec
#%global default_bookmarks_file  %{_datadir}/bookmarks/default-bookmarks.html
62f5ec
# need to use full path because of flatpak where datadir is /app/share
62f5ec
%global default_bookmarks_file  /usr/share/bookmarks/default-bookmarks.html
d417c4
%global firefox_app_id  \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
d417c4
# Minimal required versions
d417c4
%global cairo_version 1.13.1
d417c4
%global freetype_version 2.1.9
d417c4
%if %{?system_libvpx}
d417c4
%global libvpx_version 1.4.0
d417c4
%endif
d417c4
ce8c9f
%if 0%{?system_nss}
e98f2c
%global nspr_version 4.25
d417c4
# NSS/NSPR quite often ends in build override, so as requirement the version
d417c4
# we're building against could bring us some broken dependencies from time to time.
d417c4
#%global nspr_build_version %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo 65536)
d417c4
%global nspr_build_version %{nspr_version}
e98f2c
%global nss_version 3.53.1
d417c4
#%global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536)
d417c4
%global nss_build_version %{nss_version}
d417c4
%endif
4cf60e
29a772
%if %{?system_sqlite}
d417c4
%global sqlite_version 3.8.4.2
29a772
# The actual sqlite version (see #480989):
29a772
%global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536)
29a772
%endif
29a772
c82edc
%define bundled_python_version_2 2.7.13
c82edc
%define bundled_python_version_3 3.6.8
83e1c4
%define use_bundled_openssl     0
83e1c4
%define use_bundled_nodejs      0
e98f2c
%define use_bundled_yasm        0
e98f2c
e98f2c
%if 0%{?rhel} == 8
e98f2c
  %if 0%{?rhel_minor_version} <= 2
c82edc
%define use_bundled_nodejs      1
e98f2c
  %endif
83e1c4
%endif
e98f2c
e98f2c
%if 0%{?rhel} == 7
e98f2c
%define use_bundled_nodejs      1
e98f2c
%define use_bundled_yasm        1
c82edc
%endif
d417c4
d417c4
%if 0%{?rhel} == 6
e98f2c
%define use_bundled_nodejs      1
e98f2c
%define use_bundled_openssl     1
e98f2c
%define use_bundled_yasm        1
d417c4
%define bundle_gtk3             1
d417c4
# In-tree libffi is able to build on following platforms, we have to bundle it for the rest
d417c4
%ifnarch x86_64 i686 aarch64
d417c4
%define use_bundled_ffi         1
d417c4
%endif
d417c4
%endif
d417c4
e98f2c
# GTK3 bundling
e98f2c
%define avoid_bundled_rebuild   0
e98f2c
d417c4
%define gtk3_nvr 3.22.26-1
d417c4
%define gtk3_install_path %{mozappdir}/bundled
d417c4
d417c4
# We could use %%include, but in %%files, %%post and other sections, but in these
d417c4
# sections it could lead to syntax errors about unclosed %%if. Work around it by
d417c4
# using the following macro
d417c4
%define include_file() %{expand:%(cat '%1')}
d417c4
d417c4
%global mozappdir     %{_libdir}/%{name}
d417c4
%global mozappdirdev  %{_libdir}/%{name}-devel-%{version}
d3afb2
%global langpackdir   %{mozappdir}/langpacks
d417c4
%global tarballdir    %{name}-%{version}
d417c4
%global pre_version   esr
c82edc
#global pre_tag       alpha
d417c4
d417c4
%global official_branding       1
d417c4
%global build_langpacks         1
d417c4
d417c4
%global enable_mozilla_crashreporter       0
d417c4
%if !%{debug_build}
d417c4
%ifarch %{ix86} x86_64
d417c4
%global enable_mozilla_crashreporter       0
d417c4
%endif
d417c4
%endif
d417c4
29a772
Summary:        Mozilla Firefox Web browser
29a772
Name:           firefox
62df9b
Version:        78.8.0
62df9b
Release:        1%{?dist}
d417c4
URL:            https://www.mozilla.org/firefox/
29a772
License:        MPLv1.1 or GPLv2+ or LGPLv2+
d417c4
%if 0%{?rhel} == 7
d417c4
ExcludeArch:    s390 ppc
d417c4
%endif
d417c4
%if 0%{?rhel} == 6
d417c4
ExclusiveArch:  i686 x86_64 ppc64 s390x
d417c4
%endif
4cf60e
d417c4
Source0:        https://hg.mozilla.org/releases/mozilla-release/archive/firefox-%{version}%{?pre_version}.source.tar.xz
29a772
%if %{build_langpacks}
62df9b
Source1:        firefox-langpacks-%{version}%{?pre_version}-20210217.tar.xz
29a772
%endif
e98f2c
Source2:        cbindgen-vendor-0.14.3.tar.xz
29a772
Source10:       firefox-mozconfig
f5d0dc
%if 0%{?centos}
daca4a
Source12:       firefox-centos-default-prefs.js
f5d0dc
%else
f5d0dc
Source12:       firefox-redhat-default-prefs.js
f5d0dc
%endif
29a772
Source20:       firefox.desktop
d417c4
Source21:       firefox.sh.in
29a772
Source23:       firefox.1
8c50df
Source24:       mozilla-api-key
d417c4
Source25:       firefox-symbolic.svg
d417c4
Source26:       distribution.ini
d417c4
Source27:       google-api-key
c82edc
Source28:       node-stdout-nonblocking-wrapper
d417c4
d417c4
Source200:      gtk3-private-%{gtk3_nvr}.el6.src.rpm
d417c4
Source201:      gtk3-private-%{gtk3_nvr}-post.inc
d417c4
Source202:      gtk3-private-%{gtk3_nvr}-postun.inc
d417c4
Source203:      gtk3-private-%{gtk3_nvr}-posttrans.inc
d417c4
Source204:      gtk3-private-%{gtk3_nvr}-files.inc
d417c4
Source205:      gtk3-private-%{gtk3_nvr}-setup-flags-env.inc
d417c4
Source206:      gtk3-private-%{gtk3_nvr}-requires-provides-filter.inc
4cf60e
Source301:      yasm-1.2.0-3.el5.src.rpm
d417c4
Source303:      libffi-3.0.13-18.el7_3.src.rpm
e98f2c
Source304:      nodejs-10.21.0-5.fc32.src.rpm
83e1c4
Source305:      openssl-1.0.2k-19.6.bundle.el7_7.src.rpm
29a772
e98f2c
Source403:      nss-3.53.1-3.fc32.src.rpm
e98f2c
Source401:      nss-setup-flags-env.inc
e98f2c
Source402:      nspr-4.25.0-1.el8_0.src.rpm 
c82edc
#Python
c82edc
%if 0%{?use_bundled_python_2}
c82edc
Source100:      https://www.python.org/ftp/python/%{bundled_python_version_2}/Python-%{bundled_python_version_2}.tar.xz
c82edc
%endif
c82edc
%if 0%{?use_bundled_python_3}
c82edc
Source101:      https://www.python.org/ftp/python/%{bundled_python_version_3}/Python-%{bundled_python_version_3}.tar.xz
c82edc
%endif
29a772
# Build patches
c82edc
Patch1000:      python-2.7.patch
c82edc
Patch1001:      build-ppc64le-inline.patch
83e1c4
Patch1002:      python-2.7-gcc8-fix.patch
83e1c4
Patch1003:      python-missing-utimensat.patch
5bf1f5
Patch1004:      build-icu-make.patch
c82edc
# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1699374
d417c4
Patch4:         build-mozconfig-fix.patch
d417c4
Patch6:         build-nss-version.patch
c82edc
Patch7:         firefox-debugedits-error.patch
d417c4
d417c4
# Fedora/RHEL specific patches
d417c4
Patch215:        firefox-enable-addons.patch
d417c4
Patch219:        rhbz-1173156.patch
d417c4
Patch224:        mozilla-1170092.patch
d417c4
#ARM run-time patch
7468b5
Patch231:        firefox-pipewire.patch
83e1c4
Patch232:        firefox-rhel6-hugepage.patch
edb57c
Patch233:        firefox-rhel6-nss-tls1.3.patch
f5d0dc
Patch234:        rhbz-1821418.patch
5bf1f5
Patch235:        firefox-pipewire-0-3.patch
7e5e97
7e5e97
# Upstream patches
d417c4
Patch402:        mozilla-1196777.patch
8ea090
c82edc
Patch501:        python-encode.patch
5bf1f5
Patch503:        mozilla-s390-context.patch
5bf1f5
Patch505:        mozilla-bmo1005535.patch
5bf1f5
Patch506:        mozilla-bmo1504834-part1.patch
5bf1f5
Patch507:        mozilla-bmo1504834-part2.patch
5bf1f5
Patch508:        mozilla-bmo1504834-part3.patch
5bf1f5
Patch509:        mozilla-bmo1504834-part4.patch
5bf1f5
Patch510:        mozilla-bmo1554971.patch
5bf1f5
Patch511:        mozilla-bmo1602730.patch
5bf1f5
Patch512:        mozilla-bmo849632.patch
e98f2c
Patch513:        mozilla-bmo998749.patch
e98f2c
Patch514:        mozilla-s390x-skia-gradient.patch
e98f2c
Patch515:        mozilla-bmo1626236.patch
e98f2c
Patch516:        D87019-thin-vec-big-endian.diff
e98f2c
2dabb4
f5d0dc
# CentOS patches
f5d0dc
%if 0%{?centos}
f5d0dc
Patch10000:      Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
f5d0dc
Patch10001:      Bug-1526653---fix_user_vfp_armv7.patch
f5d0dc
%endif
f9af33
e98f2c
# RHEL6 patches
e98f2c
Patch600:        rhel6-dbusver.patch
e98f2c
Patch601:        rhel6-kernel.patch
e98f2c
Patch602:        rhel6-mach-fail.patch
e98f2c
Patch603:        rhel6-zconst.patch
e98f2c
Patch604:        rhel6-auxvh.patch
e98f2c
Patch605:        rhel6-abiv2-mozbz1642174.patch
2d7a08
Patch607:        rhel6-at-no-automount.patch
e98f2c
e0a0b4
# Flatpak patches
e0a0b4
d417c4
%if %{?system_nss}
e98f2c
%if !0%{?bundle_nss}
d417c4
BuildRequires:  pkgconfig(nspr) >= %{nspr_version}
d417c4
BuildRequires:  pkgconfig(nss) >= %{nss_version}
d417c4
BuildRequires:  nss-static >= %{nss_version}
d417c4
%endif
e98f2c
%endif
d417c4
%if %{?system_cairo}
d417c4
BuildRequires:  pkgconfig(cairo) >= %{cairo_version}
d417c4
%endif
d417c4
BuildRequires:  pkgconfig(libpng)
d417c4
BuildRequires:  xz
d417c4
BuildRequires:  libXt-devel
29a772
BuildRequires:  mesa-libGL-devel
d417c4
Requires:       liberation-fonts-common
d417c4
Requires:       liberation-sans-fonts
d417c4
%if %{?system_jpeg}
d417c4
BuildRequires:  libjpeg-devel
d417c4
%endif
4cf60e
BuildRequires:  zip
4cf60e
BuildRequires:  bzip2-devel
d417c4
BuildRequires:  pkgconfig(zlib)
d417c4
BuildRequires:  pkgconfig(libIDL-2.0)
d417c4
BuildRequires:  pkgconfig(gtk+-2.0)
4cf60e
BuildRequires:  krb5-devel
d417c4
BuildRequires:  pkgconfig(pango)
d417c4
BuildRequires:  pkgconfig(freetype2) >= %{freetype_version}
d417c4
BuildRequires:  pkgconfig(xt)
d417c4
BuildRequires:  pkgconfig(xrender)
d417c4
%if %{?system_hunspell}
d417c4
BuildRequires:  hunspell-devel
d417c4
%endif
d417c4
BuildRequires:  pkgconfig(libstartup-notification-1.0)
d417c4
BuildRequires:  pkgconfig(libnotify)
d417c4
BuildRequires:  pkgconfig(dri)
d417c4
BuildRequires:  pkgconfig(libcurl)
d417c4
BuildRequires:  dbus-glib-devel
d417c4
%if %{?system_libvpx}
d417c4
BuildRequires:  libvpx-devel >= %{libvpx_version}
d417c4
%endif
4cf60e
BuildRequires:  autoconf213
d417c4
BuildRequires:  pkgconfig(libpulse)
d417c4
BuildRequires:  pkgconfig(gconf-2.0)
d417c4
d417c4
%if 0%{?use_dts}
d417c4
BuildRequires:  devtoolset-%{dts_version}-gcc-c++
d417c4
BuildRequires:  devtoolset-%{dts_version}-gcc
d417c4
BuildRequires:  devtoolset-%{dts_version}-binutils
d417c4
BuildRequires:  devtoolset-%{dts_version}-libatomic-devel
b26a6b
%if 0%{?use_llvmts}
332c93
BuildRequires:  llvm-toolset-%{llvm_version}
332c93
BuildRequires:  llvm-toolset-%{llvm_version}-llvm-devel
4cf60e
%endif
29a772
%endif
7468b5
c82edc
BuildRequires:  scl-utils
e98f2c
BuildRequires:  findutils
c82edc
f5d0dc
7468b5
%if 0%{?rhel} == 8
7468b5
BuildRequires:  cargo
c82edc
BuildRequires:  rust >= %{rust_version}
7468b5
BuildRequires:  llvm >= %{llvm_version}
7468b5
BuildRequires:  llvm-devel >= %{llvm_version}
7468b5
BuildRequires:  clang >= %{llvm_version}
edb57c
BuildRequires:  clang-devel >= %{llvm_version}
edb57c
BuildRequires:  rustfmt >= %{rust_version}
c82edc
BuildRequires:  python3
e98f2c
BuildRequires:  nodejs >= 10.21
7468b5
%else
d417c4
%if 0%{?use_rustts}
c82edc
BuildRequires:  rust-toolset-%{rust_toolset_version}
29a772
%endif
e98f2c
%if 0%{?rhel} == 7
e98f2c
#BuildRequires:  rh-nodejs12
e98f2c
%endif
b26a6b
%if 0%{?use_llvmts}
332c93
BuildRequires:  llvm-toolset-%{llvm_version}
332c93
BuildRequires:  llvm-toolset-%{llvm_version}-llvm-devel
29a772
%endif
7468b5
%endif
7468b5
e98f2c
%if ! 0%{?use_bundled_yasm}
e98f2c
BuildRequires:  yasm
e98f2c
%endif
e98f2c
e98f2c
c82edc
%if 0%{?use_bundled_python_2}
d417c4
# Needed for Python in RHEL6
d417c4
BuildRequires:  openssl-devel
03d5fe
%endif
d417c4
7468b5
%if 0%{?rhel} == 8
e98f2c
  %if 0%{?rhel_minor_version} >= 3
e98f2c
BuildRequires:  pkgconfig(libpipewire-0.3)
e98f2c
  %else
7468b5
BuildRequires:  pipewire-devel
e98f2c
  %endif
7468b5
%endif
7468b5
d417c4
%if 0%{?bundle_gtk3}
d417c4
BuildRequires:        automake
d417c4
BuildRequires:        autoconf
d417c4
BuildRequires:        cups-devel
d417c4
BuildRequires:        dbus-devel
d417c4
BuildRequires:        desktop-file-utils
d417c4
BuildRequires:        expat-devel
d417c4
BuildRequires:        fontpackages-devel
d417c4
BuildRequires:        gamin-devel
d417c4
BuildRequires:        gettext-devel
d417c4
BuildRequires:        git
d417c4
BuildRequires:        intltool
d417c4
BuildRequires:        jasper-devel
d417c4
BuildRequires:        libepoxy-devel
d417c4
BuildRequires:        libcroco-devel
d417c4
BuildRequires:        libffi-devel
d417c4
BuildRequires:        libpng-devel
d417c4
BuildRequires:        libtiff-devel
d417c4
BuildRequires:        libtool
d417c4
BuildRequires:        libxml2-devel
d417c4
BuildRequires:        libX11-devel
d417c4
BuildRequires:        libXcomposite-devel
d417c4
BuildRequires:        libXcursor-devel
d417c4
BuildRequires:        libXinerama-devel
d417c4
BuildRequires:        libXevie-devel
d417c4
BuildRequires:        libXrandr-devel
d417c4
BuildRequires:        libXrender-devel
d417c4
BuildRequires:        libXtst-devel
d417c4
BuildRequires:        mesa-libGL-devel
d417c4
BuildRequires:        mesa-libEGL-devel
d417c4
BuildRequires:        pixman-devel
d417c4
BuildRequires:        rest-devel
d417c4
BuildRequires:        readline-devel
58eb7f
# TODO: We miss that dependency in our bundled gtk3 package.
58eb7f
# As a hotfix we put it here and fix gtk3 in next release.
58eb7f
Requires:             mesa-libEGL%{?_isa}
58eb7f
Requires:             libcroco%{?_isa}
58eb7f
Requires:             mesa-libGL%{?_isa}
58eb7f
Requires:             bzip2-libs%{?_isa}
58eb7f
Requires:             libXtst%{?_isa}
d417c4
%else
d417c4
BuildRequires:        gtk3-devel
d417c4
BuildRequires:        glib2-devel
4cf60e
%endif
4cf60e
e98f2c
# Bundled nss/nspr requirement
e98f2c
%if 0%{?bundle_nss}
e98f2c
BuildRequires:    nss-softokn
e98f2c
BuildRequires:    sqlite-devel
e98f2c
BuildRequires:    zlib-devel
e98f2c
BuildRequires:    pkgconfig
e98f2c
BuildRequires:    gawk
e98f2c
BuildRequires:    psmisc
e98f2c
%if 0%{?rhel} == 6
e98f2c
BuildRequires:    perl
e98f2c
%else
e98f2c
BuildRequires:    perl-interpreter
e98f2c
%endif
e98f2c
BuildRequires:    gcc-c++
e98f2c
BuildRequires:    xmlto
e98f2c
%endif
e98f2c
4cf60e
Requires:       mozilla-filesystem
d417c4
Requires:       p11-kit-trust
d417c4
%if %{?system_nss}
e98f2c
%if !0%{?bundle_nss}
d417c4
Requires:       nspr >= %{nspr_build_version}
d417c4
Requires:       nss >= %{nss_build_version}
d417c4
%endif
e98f2c
%endif
d417c4
4cf60e
BuildRequires:  desktop-file-utils
4cf60e
BuildRequires:  system-bookmarks
4cf60e
Requires:       redhat-indexhtml
e98f2c
#for the python2
e98f2c
BuildRequires:  pkgconfig(sqlite3)
d417c4
%if %{?system_sqlite}
d417c4
BuildRequires:  pkgconfig(sqlite3) >= %{sqlite_version}
d417c4
Requires:       sqlite >= %{sqlite_build_version}
4cf60e
%endif
4cf60e
29a772
d417c4
%if %{?run_tests}
d417c4
BuildRequires:  xorg-x11-server-Xvfb
4cf60e
%endif
eb1fd3
d417c4
%if %{?system_ffi}
d417c4
  %if !%{use_bundled_ffi}0
d417c4
BuildRequires:  pkgconfig(libffi)
d417c4
  %endif
eb1fd3
%endif
eb1fd3
e98f2c
%if %{?use_bundled_nodejs}
e98f2c
%if !0%{?use_bundled_python_3}
e98f2c
BuildRequires: python3-devel
e98f2c
%endif
e98f2c
BuildRequires: zlib-devel
e98f2c
#BuildRequires: brotli-devel
e98f2c
#BuildRequires: gcc >= 4.9.4
e98f2c
#BuildRequires: gcc-c++ >= 4.9.4
e98f2c
BuildRequires: chrpath
e98f2c
BuildRequires: libatomic
e98f2c
BuildRequires: openssl-devel
e98f2c
%endif
e98f2c
62f5ec
%if 0%{?big_endian}
62f5ec
  %if 0%{?flatpak}
62f5ec
BuildRequires:  icu
62f5ec
  %endif
62f5ec
%endif
62f5ec
d417c4
Obsoletes:      mozilla <= 37:1.7.13
d417c4
Provides:       webclient
29a772
29a772
%description
29a772
Mozilla Firefox is an open-source web browser, designed for standards
29a772
compliance, performance and portability.
29a772
d417c4
%if %{enable_mozilla_crashreporter}
d417c4
%global moz_debug_prefix %{_prefix}/lib/debug
d417c4
%global moz_debug_dir %{moz_debug_prefix}%{mozappdir}
d417c4
%global uname_m %(uname -m)
d417c4
%global symbols_file_name %{name}-%{version}.en-US.%{_os}-%{uname_m}.crashreporter-symbols.zip
d417c4
%global symbols_file_path %{moz_debug_dir}/%{symbols_file_name}
d417c4
%global _find_debuginfo_opts -p %{symbols_file_path} -o debugcrashreporter.list
d417c4
%global crashreporter_pkg_name mozilla-crashreporter-%{name}-debuginfo
d417c4
%package -n %{crashreporter_pkg_name}
d417c4
Summary: Debugging symbols used by Mozilla's crash reporter servers
d417c4
%description -n %{crashreporter_pkg_name}
d417c4
This package provides debug information for Firefox, for use by
d417c4
Mozilla's crash reporter servers.  If you are trying to locally
d417c4
debug %{name}, you want to install %{name}-debuginfo instead.
d417c4
%files -n %{crashreporter_pkg_name} -f debugcrashreporter.list
d417c4
%endif
d417c4
d417c4
%if %{run_tests}
d417c4
%global testsuite_pkg_name mozilla-%{name}-testresults
d417c4
%package -n %{testsuite_pkg_name}
d417c4
Summary: Results of testsuite
d417c4
%description -n %{testsuite_pkg_name}
d417c4
This package contains results of tests executed during build.
d417c4
%files -n %{testsuite_pkg_name}
d417c4
/test_results
d417c4
%endif
d417c4
29a772
#---------------------------------------------------------------------
29a772
b26a6b
%if %{?bundle_gnome_extension}
b26a6b
%package        -n firefox-gnome-shell-extension
b26a6b
%global         firefox_gnome_shell_addon_name addon-751081-latest.xpi
b26a6b
Summary:        Support for managing GNOME Shell Extensions through web browsers
b26a6b
Requires:       %{name}%{?_isa} = %{version}-%{release}
b26a6b
b26a6b
License:        GPLv3+
b26a6b
URL:            https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome
b26a6b
Source2:        https://addons.mozilla.org/firefox/downloads/latest/gnome-shell-integration/platform:2/%{firefox_gnome_shell_addon_name}
b26a6b
b26a6b
Requires:       dbus
b26a6b
Requires:       gnome-icon-theme
b26a6b
Requires:       gnome-shell
b26a6b
Requires:       hicolor-icon-theme
b26a6b
Requires:       mozilla-filesystem
b26a6b
b26a6b
%description -n firefox-gnome-shell-extension
c82edc
Browser extension for Firefox and native host messaging connector that provides
c82edc
integration with GNOME Shell and the corresponding extensions repository
b26a6b
https://extensions.gnome.org.
b26a6b
b26a6b
%files -n firefox-gnome-shell-extension
b26a6b
%{mozappdir}/distribution/extensions/chrome-gnome-shell@gnome.org.xpi
727eab
%endif
b26a6b
29a772
%prep
e98f2c
echo "Build environment"
e98f2c
echo "dist                  %{?dist}"
e98f2c
echo "RHEL 8 minor version: %{?rhel_minor_version}"
e98f2c
echo "use_bundled_ffi       %{?use_bundled_ffi}"
e98f2c
echo "use_bundled_python_2  %{?use_bundled_python_2}"
e98f2c
echo "use_bundled_python_3  %{?use_bundled_python_3}"
e98f2c
echo "bundle_nss            %{?bundle_nss}"
e98f2c
echo "system_nss            %{?system_nss}"
e98f2c
echo "use_rustts            %{?use_rustts}"
e98f2c
echo "use_bundled_nodejs    %{?use_bundled_nodejs}"
e98f2c
echo "use_bundled_openssl   %{?use_bundled_openssl}"
e98f2c
echo "use_bundled_yasm      %{?use_bundled_yasm}"
e98f2c
e98f2c
c82edc
%if 0%{?use_bundled_python_2}
c82edc
%setup -q -T -c -n python2 -a 100
c82edc
%patch1000 -p0 -b .build
83e1c4
%patch1002 -p0 -b .gcc8
c82edc
%endif
c82edc
%if 0%{?use_bundled_python_3}
c82edc
%setup -q -T -c -n python3 -a 101
83e1c4
%if 0%{?rhel} == 6
83e1c4
%patch1003 -p0 -b .missing-utimensat.patch
83e1c4
%endif
c82edc
%endif
d417c4
%setup -q -n %{tarballdir}
d417c4
# Build patches, can't change backup suffix from default because during build
d417c4
# there is a compare of config and js/config directories and .orig suffix is
d417c4
# ignored during this compare.
c82edc
%patch7 -p1 -b .debugedits-error
c82edc
%ifarch %{ix86} %{arm} ppc
c82edc
# binary check fails OOM on 32bit arches
c82edc
%endif
29a772
d417c4
%patch4  -p1 -b .build-mozconfig-fix
e98f2c
#%patch6  -p1 -b .nss-version
d417c4
d417c4
# Fedora patches
d417c4
%patch215 -p1 -b .addons
7468b5
%patch219 -p1 -b .rhbz-1173156
727eab
%patch224 -p1 -b .1170092
62f5ec
62f5ec
# fixing /usr/include in the patch for the flatpak build
62f5ec
%if 0%{?flatpak}
62f5ec
sed -ie 's|/usr/include|/app/include|' %_sourcedir/firefox-pipewire-0-3.patch
62f5ec
%endif
62f5ec
7468b5
%if 0%{?rhel} == 8
5bf1f5
  %if 0%{?rhel_minor_version} >= 3
5bf1f5
%patch235 -p1 -b .pipewire-0-3
5bf1f5
  %else
7468b5
%patch231 -p1 -b .pipewire
5bf1f5
  %endif
7468b5
%endif
e98f2c
e98f2c
83e1c4
%if 0%{?rhel} == 6
83e1c4
%patch232 -p1 -b .hugepage
edb57c
%patch233 -p1 -b .rhel6-nss-tls1.3
83e1c4
%endif
f5d0dc
%patch234 -p1 -b .rhbz-1821418
29a772
d417c4
%patch402 -p1 -b .1196777
332c93
f9af33
# Patch for big endian platforms only
f9af33
%if 0%{?big_endian}
29a772
%endif
29a772
c82edc
%patch501 -p1 -b .python-encode
5bf1f5
%patch503 -p1 -b .mozilla-s390-context
5bf1f5
%patch505 -p1 -b .mozilla-bmo1005535
5bf1f5
%patch506 -p1 -b .mozilla-bmo1504834-part1
5bf1f5
%patch507 -p1 -b .mozilla-bmo1504834-part2
5bf1f5
%patch508 -p1 -b .mozilla-bmo1504834-part3
5bf1f5
%patch509 -p1 -b .mozilla-bmo1504834-part4
5bf1f5
%patch510 -p1 -b .mozilla-bmo1554971
5bf1f5
%patch511 -p1 -b .mozilla-bmo1602730
5bf1f5
%patch512 -p1 -b .mozilla-bmo849632
e98f2c
%patch513 -p1 -b .mozilla-bmo998749
e98f2c
%patch514 -p1 -b .mozilla-s390x-skia-gradient
e98f2c
%patch515 -p1 -b .mozilla-bmo1626236
e98f2c
%patch516 -p1 -b .D87019-thin-vec-big-endian.diff
e98f2c
e98f2c
c82edc
%patch1001 -p1 -b .ppc64le-inline
5bf1f5
%patch1004 -p1 -b .icu-make
c82edc
e98f2c
%if 0%{?rhel} == 6
e98f2c
%patch600 -p1 -b .rhel6-dbusver
e98f2c
%patch601 -p1 -b .rhel6-kernel
e98f2c
%patch602 -p1 -b .rhel6-mach-fail
e98f2c
%patch603 -p1 -b .rhel6-zconst
e98f2c
%patch604 -p1 -b .rhel6-auxvh
e98f2c
%patch605 -p1 -b .rhel6-abiv2-mozbz1642174
2d7a08
%patch607 -R -p1 -b .rhel6-at-no-automount
e98f2c
%endif
e98f2c
f5d0dc
# CentOS patches
f5d0dc
%if 0%{?centos}
daca4a
%patch10000 -p1 -b .mozilla-1238661
daca4a
%patch10001 -p1 -b .mozilla-1526653
daca4a
%endif
daca4a
29a772
%{__rm} -f .mozconfig
29a772
%{__cp} %{SOURCE10} .mozconfig
d417c4
%if %{official_branding}
d417c4
echo "ac_add_options --enable-official-branding" >> .mozconfig
d417c4
%endif
4cf60e
%{__cp} %{SOURCE24} mozilla-api-key
d417c4
%{__cp} %{SOURCE27} google-api-key
4cf60e
d417c4
%if %{?system_nss}
d417c4
echo "ac_add_options --with-system-nspr" >> .mozconfig
d417c4
echo "ac_add_options --with-system-nss" >> .mozconfig
d417c4
%else
d417c4
echo "ac_add_options --without-system-nspr" >> .mozconfig
d417c4
echo "ac_add_options --without-system-nss" >> .mozconfig
d417c4
%endif
4cf60e
d417c4
%if %{?system_cairo}
d417c4
echo "ac_add_options --enable-system-cairo" >> .mozconfig
29a772
%else
d417c4
echo "ac_add_options --disable-system-cairo" >> .mozconfig
29a772
%endif
29a772
d417c4
%if 0%{?use_bundled_ffi}
d417c4
echo "ac_add_options --enable-system-ffi" >> .mozconfig
d417c4
%endif
d417c4
%if 0%{?system_ffi}
d417c4
echo "ac_add_options --enable-system-ffi" >> .mozconfig
d417c4
%endif
d417c4
c82edc
%ifarch %{arm} %{ix86} x86_64
d417c4
echo "ac_add_options --disable-elf-hack" >> .mozconfig
d417c4
%endif
d417c4
d417c4
%if %{?system_hunspell}
d417c4
echo "ac_add_options --enable-system-hunspell" >> .mozconfig
6ca8db
%else
c82edc
# not available?
c82edc
#echo "ac_add_options --disable-system-hunspell" >> .mozconfig
6ca8db
%endif
6ca8db
d417c4
%if %{?debug_build}
d417c4
echo "ac_add_options --enable-debug" >> .mozconfig
d417c4
echo "ac_add_options --disable-optimize" >> .mozconfig
d417c4
%else
d417c4
%global optimize_flags "-g -O2"
5bf1f5
%ifarch s390 s390x
5bf1f5
%global optimize_flags "-g -O1"
d417c4
%endif
d417c4
%ifarch armv7hl
d417c4
# ARMv7 need that (rhbz#1426850)
d417c4
%global optimize_flags "-g -O2 -fno-schedule-insns"
d417c4
%endif
d417c4
%ifarch ppc64le aarch64
d417c4
%global optimize_flags "-g -O2"
d417c4
%endif
d417c4
%if %{optimize_flags} != "none"
d417c4
echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig
29a772
%else
d417c4
echo 'ac_add_options --enable-optimize' >> .mozconfig
d417c4
%endif
d417c4
echo "ac_add_options --disable-debug" >> .mozconfig
29a772
%endif
29a772
d417c4
# Second arches fail to start with jemalloc enabled
d417c4
%ifnarch %{ix86} x86_64
d417c4
echo "ac_add_options --disable-jemalloc" >> .mozconfig
4cf60e
%endif
4cf60e
d417c4
%ifnarch %{ix86} x86_64
d417c4
echo "ac_add_options --disable-webrtc" >> .mozconfig
4cf60e
%endif
4cf60e
d417c4
%if !%{enable_mozilla_crashreporter}
d417c4
echo "ac_add_options --disable-crashreporter" >> .mozconfig
4cf60e
%endif
4cf60e
d417c4
%if %{?run_tests}
d417c4
echo "ac_add_options --enable-tests" >> .mozconfig
4cf60e
%endif
29a772
d417c4
%if !%{?system_jpeg}
d417c4
echo "ac_add_options --without-system-jpeg" >> .mozconfig
6ca8db
%else
d417c4
echo "ac_add_options --with-system-jpeg" >> .mozconfig
4cf60e
%endif
4cf60e
d417c4
%if %{?system_libvpx}
d417c4
echo "ac_add_options --with-system-libvpx" >> .mozconfig
f9af33
%else
d417c4
echo "ac_add_options --without-system-libvpx" >> .mozconfig
f9af33
%endif
f9af33
d417c4
%if %{?system_libicu}
d417c4
echo "ac_add_options --with-system-icu" >> .mozconfig
d417c4
%else
d417c4
echo "ac_add_options --without-system-icu" >> .mozconfig
d417c4
%endif
d417c4
%ifarch s390 s390x
e98f2c
echo "ac_add_options --disable-jit" >> .mozconfig
e98f2c
%endif
e98f2c
e98f2c
%ifnarch %{ix86}
e98f2c
%if !0%{?debug_build}
e98f2c
echo "ac_add_options --disable-debug-symbols" >> .mozconfig
e98f2c
%endif
d417c4
%endif
4cf60e
c82edc
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig
6ca8db
d417c4
# Remove executable bit to make brp-mangle-shebangs happy.
d417c4
chmod -x third_party/rust/itertools/src/lib.rs
e98f2c
chmod a-x third_party/rust/gfx-backend-vulkan/src/*.rs
e98f2c
chmod a-x third_party/rust/gfx-hal/src/*.rs
e98f2c
chmod a-x third_party/rust/ash/src/extensions/ext/*.rs
e98f2c
chmod a-x third_party/rust/ash/src/extensions/khr/*.rs
e98f2c
chmod a-x third_party/rust/ash/src/extensions/mvk/*.rs
e98f2c
chmod a-x third_party/rust/ash/src/extensions/nv/*.rs
d417c4
29a772
#---------------------------------------------------------------------
29a772
29a772
%build
e98f2c
ulimit -a
e98f2c
free
e98f2c
#set -e
c82edc
# Hack for missing shell when building in brew on RHEL6
c82edc
%if 0%{?rhel} == 6
c82edc
export SHELL=/bin/sh
c82edc
%endif
4cf60e
d417c4
%if ! 0%{?avoid_bundled_rebuild}
d417c4
    rm -rf %{_buildrootdir}/*
d417c4
%endif
d417c4
export PATH="%{_buildrootdir}/bin:$PATH"
d417c4
d417c4
function install_rpms_to_current_dir() {
d417c4
    PACKAGE_RPM=$(eval echo $1)
d417c4
    PACKAGE_DIR=%{_rpmdir}
d417c4
d417c4
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
d417c4
        # Hack for tps tests
d417c4
        ARCH_STR=%{_arch}
d417c4
        %ifarch i386 i686
d417c4
            ARCH_STR="i?86"
d417c4
        %endif
e98f2c
        %if 0%{?rhel} > 6
e98f2c
          PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
e98f2c
        %endif
d417c4
     fi
d417c4
d417c4
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
d417c4
     do
d417c4
         echo "$package"
d417c4
         rpm2cpio "$package" | cpio -idu
d417c4
     done
d417c4
}
d417c4
4cf60e
function build_bundled_package() {
4cf60e
  PACKAGE_RPM=$1
4cf60e
  PACKAGE_FILES=$2
4cf60e
  PACKAGE_SOURCE=$3
e98f2c
  PACKAGE_BUILD_OPTIONS=$4
c82edc
  export PACKAGE_DIR="%{_topdir}/RPMS"
4cf60e
4cf60e
  PACKAGE_ALREADY_BUILD=0
d417c4
  %if %{?avoid_bundled_rebuild}
4cf60e
    if ls $PACKAGE_DIR/$PACKAGE_RPM; then
4cf60e
      PACKAGE_ALREADY_BUILD=1
4cf60e
    fi
4cf60e
    if ls $PACKAGE_DIR/%{_arch}/$PACKAGE_RPM; then
4cf60e
      PACKAGE_ALREADY_BUILD=1
4cf60e
    fi
4cf60e
  %endif
4cf60e
  if [ $PACKAGE_ALREADY_BUILD == 0 ]; then
4cf60e
    echo "Rebuilding $PACKAGE_RPM from $PACKAGE_SOURCE"; echo "==============================="
e98f2c
    rpmbuild --nodeps $PACKAGE_BUILD_OPTIONS --rebuild $PACKAGE_SOURCE
e98f2c
    cat /var/tmp/rpm-tmp*
4cf60e
  fi
4cf60e
e98f2c
  find $PACKAGE_DIR
4cf60e
  if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
4cf60e
    # Hack for tps tests
4cf60e
    ARCH_STR=%{_arch}
4cf60e
    %ifarch i386 i686
4cf60e
    ARCH_STR="i?86"
4cf60e
    %endif
e98f2c
    %if 0%{?rhel} > 6
e98f2c
      export PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
e98f2c
    %endif
4cf60e
  fi
4cf60e
  pushd $PACKAGE_DIR
83e1c4
4cf60e
  echo "Installing $PACKAGE_DIR/$PACKAGE_RPM"; echo "==============================="
e98f2c
  pwd
83e1c4
  PACKAGE_LIST=$(echo $PACKAGE_DIR/$PACKAGE_RPM | tr " " "\n")
83e1c4
  for PACKAGE in $PACKAGE_LIST
83e1c4
  do
83e1c4
      rpm2cpio $PACKAGE | cpio -iduv
83e1c4
  done
83e1c4
83e1c4
  PATH=$PACKAGE_DIR/usr/bin:$PATH
83e1c4
  export PATH
83e1c4
  LD_LIBRARY_PATH=$PACKAGE_DIR/usr/%{_lib}:$LD_LIBRARY_PATH
83e1c4
  export LD_LIBRARY_PATH
83e1c4
4cf60e
  # Clean rpms to avoid including them to package
d417c4
  %if ! 0%{?avoid_bundled_rebuild}
4cf60e
    rm -f $PACKAGE_FILES
4cf60e
  %endif
4cf60e
4cf60e
  popd
4cf60e
}
4cf60e
4cf60e
# Build and install local yasm if needed
4cf60e
# ======================================
e98f2c
%if 0%{?use_bundled_yasm}
4cf60e
  build_bundled_package 'yasm-1*.rpm' 'yasm-*.rpm' '%{SOURCE301}'
4cf60e
%endif
4cf60e
e98f2c
%if 0%{?bundle_nss}
e98f2c
   rpm -ivh %{SOURCE402}
e98f2c
   #rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' --without=tests -ba %{_specdir}/nspr.spec
e98f2c
   rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/nspr.spec
e98f2c
   pushd %{_buildrootdir}
e98f2c
   install_rpms_to_current_dir nspr-4*.rpm
e98f2c
   install_rpms_to_current_dir nspr-devel*.rpm
e98f2c
   popd
e98f2c
   echo "Setting nspr flags"
e98f2c
   # nss-setup-flags-env.inc
e98f2c
   sed -i 's@%{gtk3_install_path}@%{_buildrootdir}%{gtk3_install_path}@g' %{_buildrootdir}%{gtk3_install_path}/%{_lib}/pkgconfig/nspr*.pc
e98f2c
e98f2c
   export LDFLAGS="-L%{_buildrootdir}%{gtk3_install_path}/%{_lib} $LDFLAGS"
e98f2c
   export LDFLAGS="-Wl,-rpath,%{gtk3_install_path}/%{_lib} $LDFLAGS"
e98f2c
   export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{gtk3_install_path}/%{_lib} $LDFLAGS"
e98f2c
   export PKG_CONFIG_PATH=%{_buildrootdir}%{gtk3_install_path}/%{_lib}/pkgconfig
e98f2c
   export PATH="{_buildrootdir}%{gtk3_install_path}/bin:$PATH"
e98f2c
e98f2c
   export PATH=%{_buildrootdir}/%{gtk3_install_path}/bin:$PATH
e98f2c
   echo $PKG_CONFIG_PATH
e98f2c
e98f2c
   rpm -ivh %{SOURCE403}
e98f2c
   rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/nss.spec
e98f2c
   pushd %{_buildrootdir}
e98f2c
   #cleanup
e98f2c
   #rm -rf {_buildrootdir}/usr/lib/debug/*
e98f2c
   #rm -rf {_buildrootdir}/usr/lib/.build-id
e98f2c
   #install_rpms_to_current_dir nss-%{gtk3_nvr}*.rpm
e98f2c
   #install_rpms_to_current_dir nss-devel-%{gtk3_nvr}*.rpm
e98f2c
   install_rpms_to_current_dir nss-3*.rpm
e98f2c
   install_rpms_to_current_dir nss-devel*.rpm
e98f2c
   install_rpms_to_current_dir nss-pkcs11-devel*.rpm
e98f2c
   install_rpms_to_current_dir nss-softokn-3*.rpm
e98f2c
   install_rpms_to_current_dir nss-softokn-devel*.rpm
e98f2c
   install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
e98f2c
   install_rpms_to_current_dir nss-softokn-freebl-devel*.rpm
e98f2c
   install_rpms_to_current_dir nss-util-3*.rpm
e98f2c
   install_rpms_to_current_dir nss-util-devel*.rpm
e98f2c
   popd
e98f2c
  %filter_provides_in %{gtk3_install_path}/%{_lib}
e98f2c
  %filter_requires_in %{gtk3_install_path}/%{_lib}
e98f2c
  %filter_from_requires /libnss3.so.*/d
e98f2c
  %filter_from_requires /libsmime3.so.*/d
e98f2c
  %filter_from_requires /libssl3.so.*/d
e98f2c
  %filter_from_requires /libnssutil3.so.*/d
e98f2c
  %filter_from_requires /libnspr4.so.*/d
2d7a08
%endif
e98f2c
2d7a08
%if 0%{?rhel} == 6
2d7a08
  %filter_from_requires /libnss3.so.*/d
2d7a08
  %filter_from_requires /libsmime3.so.*/d
2d7a08
  %filter_from_requires /libssl3.so.*/d
2d7a08
  %filter_from_requires /libnssutil3.so.*/d
2d7a08
  %filter_from_requires /libnspr4.so.*/d
2d7a08
  %filter_from_provides /libnss3.so.*/d
2d7a08
  %filter_from_provides /libsmime3.so.*/d
2d7a08
  %filter_from_provides /libssl3.so.*/d
2d7a08
  %filter_from_provides /libnssutil3.so.*/d
2d7a08
  %filter_from_provides /libnspr4.so.*/d
e98f2c
%endif
e98f2c
d417c4
%if 0%{?bundle_gtk3}
d417c4
   %if ! 0%{?avoid_bundled_rebuild}
d417c4
    rpm -ivh %{SOURCE200}
d417c4
    rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/gtk3-private.spec
d417c4
   %endif
d417c4
   pushd %{_buildrootdir}
d417c4
   install_rpms_to_current_dir gtk3-private-%{gtk3_nvr}*.rpm
d417c4
   install_rpms_to_current_dir gtk3-private-devel-%{gtk3_nvr}*.rpm
d417c4
   install_rpms_to_current_dir gtk3-private-rpm-scripts-%{gtk3_nvr}*.rpm
d417c4
   popd
4cf60e
%endif
4cf60e
d417c4
%if 0%{?bundle_gtk3}
d417c4
# gtk3-private-3.22.26.el6-1-requires-provides-filter.inc
d417c4
%include_file %{SOURCE206}
d417c4
%endif
d417c4
%if 0%{use_bundled_ffi}
d417c4
  # Install libraries to the predefined location to later add them to the Firefox libraries
d417c4
  rpm -ivh %{SOURCE303}
d417c4
  rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/libffi.spec
d417c4
  pushd %{_buildrootdir}
d417c4
  install_rpms_to_current_dir 'libffi*.rpm'
4cf60e
  popd
d417c4
  %filter_from_requires /libffi.so.6/d
d417c4
%endif
d417c4
%filter_setup
d417c4
83e1c4
# If needed build the bundled python 2.7 and 3.6 and put it in the PATH
83e1c4
%if 0%{?use_bundled_python_3}
83e1c4
    pushd %{_builddir}/python3/Python-%{bundled_python_version_3}
e98f2c
    ./configure --prefix="%{_buildrootdir}" --exec-prefix="%{_buildrootdir}" --libdir="%{_buildrootdir}/lib" || cat config.log
83e1c4
    make %{?_smp_mflags} install V=1 -j1
83e1c4
    cp Tools/scripts/pathfix.py %{_buildrootdir}/bin
83e1c4
    popd
83e1c4
%endif
83e1c4
%if 0%{?use_bundled_python_2}
83e1c4
    pushd %{_builddir}/python2/Python-%{bundled_python_version_2}
4c7c17
    ./configure --prefix="%{_buildrootdir}" --exec-prefix="%{_buildrootdir}" --libdir="%{_buildrootdir}/lib" || cat config.log
83e1c4
    make %{?_smp_mflags} install V=1
e98f2c
    popd    
83e1c4
%endif
83e1c4
83e1c4
function replace_prefix() {
83e1c4
  FILE_NAME=$1
83e1c4
  PKG_CONFIG_PREFIX=$2
83e1c4
83e1c4
  cat $FILE_NAME | tail -n +2 > tmp.txt
83e1c4
  echo "$PKG_CONFIG_PREFIX" > $FILE_NAME
83e1c4
  cat tmp.txt >> $FILE_NAME
83e1c4
  rm -rf tmp.txt
83e1c4
}
83e1c4
83e1c4
# Build and install local openssl if needed
83e1c4
# =========================================
83e1c4
%if 0%{?use_bundled_openssl}
83e1c4
  rpm -ivh %{SOURCE305}
83e1c4
  rpmbuild --nodeps -ba %{_specdir}/openssl.spec
83e1c4
  pushd %{_buildrootdir}
83e1c4
  install_rpms_to_current_dir openssl-1.0.2k*.rpm
83e1c4
  install_rpms_to_current_dir openssl-libs-1.0.2k*.rpm
83e1c4
  install_rpms_to_current_dir openssl-devel-1.0.2k*.rpm
83e1c4
  install_rpms_to_current_dir openssl-static-1.0.2k*.rpm
83e1c4
  # openssl is installed to %{_buildrootdir}/usr/lib(64)/...
83e1c4
  export PKG_CONFIG_PATH=%{_buildrootdir}/%{_libdir}/pkgconfig/:$PKG_CONFIG_PATH
83e1c4
  replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/libcrypto.pc prefix=%{_buildrootdir}/usr
83e1c4
  replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/libssl.pc prefix=%{_buildrootdir}/usr
83e1c4
  replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/openssl.pc prefix=%{_buildrootdir}/usr
83e1c4
  cat  %{_buildrootdir}/%{_libdir}/pkgconfig/libcrypto.pc
83e1c4
  cat  %{_buildrootdir}/%{_libdir}/pkgconfig/libssl.pc
83e1c4
  cat  %{_buildrootdir}/%{_libdir}/pkgconfig/openssl.pc
83e1c4
  pushd %{_rpmdir}
83e1c4
  rm -f openssl-*.rpm
83e1c4
  popd
83e1c4
  popd
83e1c4
%endif
eb1fd3
c82edc
# We need to disable exit on error temporarily for the following scripts:
c82edc
set +e
c82edc
%if 0%{?use_dts}
c82edc
source scl_source enable devtoolset-%{dts_version}
c82edc
%endif
c82edc
%if 0%{?use_rustts}
c82edc
source scl_source enable rust-toolset-%{rust_toolset_version}
c82edc
%endif
c82edc
e98f2c
env
e98f2c
which gcc
e98f2c
which c++
e98f2c
which g++
e98f2c
which ld
83e1c4
# Build and install local node if needed
83e1c4
# ======================================
83e1c4
%if %{use_bundled_nodejs}
e98f2c
  build_bundled_package 'nodejs-10*.rpm' 'nodejs-*.rpm npm-*.rpm' %{SOURCE304} "--with bootstrap"
83e1c4
  export MOZ_NODEJS=$PACKAGE_DIR/usr/bin/node
83e1c4
%else
83e1c4
  export MOZ_NODEJS=/usr/bin/node
83e1c4
%endif
83e1c4
c82edc
mkdir -p my_rust_vendor
c82edc
cd my_rust_vendor
c82edc
%{__tar} xf %{SOURCE2}
c82edc
cd -
c82edc
mkdir -p .cargo
c82edc
cat > .cargo/config <
c82edc
[source.crates-io]
c82edc
replace-with = "vendored-sources"
c82edc
c82edc
[source.vendored-sources]
c82edc
directory = "`pwd`/my_rust_vendor"
c82edc
EOL
c82edc
c82edc
export CARGO_HOME=.cargo
c82edc
cargo install cbindgen
c82edc
export PATH=`pwd`/.cargo/bin:$PATH
c82edc
export CBINDGEN=`pwd`/.cargo/bin/cbindgen
c82edc
c82edc
29a772
%if %{?system_sqlite}
d417c4
# Do not proceed with build if the sqlite require would be broken:
d417c4
# make sure the minimum requirement is non-empty, ...
d417c4
sqlite_version=$(expr "%{sqlite_version}" : '\([0-9]*\.\)[0-9]*\.') || exit 1
d417c4
# ... and that major number of the computed build-time version matches:
d417c4
case "%{sqlite_build_version}" in
d417c4
  "$sqlite_version"*) ;;
d417c4
  *) exit 1 ;;
d417c4
esac
29a772
%endif
29a772
e98f2c
# debug missing sqlite3 python module
e98f2c
./mach python -c "import sys;print(sys.path)"
e98f2c
f9af33
%if 0%{?big_endian}
62f5ec
  %if 0%{?flatpak}
62f5ec
echo "Generate big endian version of config/external/icu/data/icud58l.dat"
62f5ec
icupkg -tb config/external/icu/data/icudt67l.dat config/external/icu/data/icudt67b.dat
62f5ec
ls -l config/external/icu/data
62f5ec
rm -f config/external/icu/data/icudt*l.dat
62f5ec
  %else
83e1c4
echo "Generate big endian version of config/external/icu/data/icud64l.dat"
5bf1f5
 ./mach python intl/icu_sources_data.py .
5bf1f5
 rm -f config/external/icu/data/icudt*l.dat
5bf1f5
# mv config/external/icu/data/icudt64l.dat config/external/icu/data/icudt64b.dat
c82edc
 ls -l config/external/icu/data
5bf1f5
 cat /tmp/icu-make*
62f5ec
  %endif
f9af33
%endif
f9af33
c82edc
mkdir %{_buildrootdir}/bin || :
c82edc
cp %{SOURCE28} %{_buildrootdir}/bin || :
e98f2c
chmod +x %{_buildrootdir}/bin/node-stdout-nonblocking-wrapper
c82edc
d417c4
# Update the various config.guess to upstream release for aarch64 support
d417c4
find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
d417c4
d417c4
# -fpermissive is needed to build with gcc 4.6+ which has become stricter
d417c4
#
d417c4
# Mozilla builds with -Wall with exception of a few warnings which show up
d417c4
# everywhere in the code; so, don't override that.
d417c4
#
d417c4
# Disable C++ exceptions since Mozilla code is not exception-safe
d417c4
#
d417c4
MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
d417c4
#rhbz#1037063
d417c4
# -Werror=format-security causes build failures when -Wno-format is explicitly given
d417c4
# for some sources
d417c4
# Explicitly force the hardening flags for Firefox so it passes the checksec test;
d417c4
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
d417c4
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
d417c4
%if 0%{?fedora} > 23
d417c4
# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
d417c4
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks"
d417c4
%endif
d417c4
# Use hardened build?
d417c4
%if %{?hardened_build}
d417c4
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
d417c4
%endif
d417c4
%if %{?debug_build}
d417c4
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//')
d417c4
%endif
29a772
%ifarch s390
4cf60e
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/')
d417c4
# If MOZ_DEBUG_FLAGS is empty, firefox's build will default it to "-g" which
d417c4
# overrides the -g1 from line above and breaks building on s390
d417c4
# (OOM when linking, rhbz#1238225)
d417c4
export MOZ_DEBUG_FLAGS=" "
29a772
%endif
e98f2c
e98f2c
# We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss
e98f2c
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
e98f2c
e98f2c
%ifarch s390 %{arm} ppc aarch64 i686 x86_64 s390x
d417c4
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
4cf60e
%endif
e98f2c
%ifarch %{arm} i686
e98f2c
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--strip-debug"
e98f2c
echo "ac_add_options --enable-linker=gold" >> .mozconfig
29a772
%endif
e98f2c
e98f2c
%ifarch %{arm} i686
e98f2c
export RUSTFLAGS="-Cdebuginfo=0"
812ff3
%endif
d417c4
export CFLAGS=$MOZ_OPT_FLAGS
29a772
export CXXFLAGS=$MOZ_OPT_FLAGS
d417c4
export LDFLAGS=$MOZ_LINK_FLAGS
29a772
29a772
export PREFIX='%{_prefix}'
29a772
export LIBDIR='%{_libdir}'
c82edc
export CC=gcc
c82edc
export CXX=g++
29a772
29a772
MOZ_SMP_FLAGS=-j1
83e1c4
# More than two build tasks can lead to OOM gcc crash.
83e1c4
%if 0%{?rhel} < 8
83e1c4
[ -z "$RPM_BUILD_NCPUS" ] && \
83e1c4
     RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
83e1c4
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
83e1c4
%else
d417c4
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64
29a772
[ -z "$RPM_BUILD_NCPUS" ] && \
29a772
     RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
29a772
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
2d7a08
[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j3
2d7a08
[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j3
d417c4
%endif
83e1c4
%endif
d417c4
e98f2c
cat /proc/meminfo
e98f2c
e0a0b4
# Free memory in kB
e0a0b4
if grep -q MemAvailable /proc/meminfo; then
e0a0b4
    MEM_AVAILABLE=$(grep MemAvailable /proc/meminfo | awk '{ print $2 }')
e0a0b4
else
e0a0b4
    MEM_AVAILABLE=$(grep MemFree /proc/meminfo | awk '{ print $2 }')
e0a0b4
fi
e98f2c
e98f2c
# Usually the compiler processes can take 2 GB of memory at peaks
e98f2c
TASK_SIZE=4000000
e98f2c
MEM_CONSTRAINED_JOBS=$(( MEM_AVAILABLE / TASK_SIZE ))
62f5ec
e0a0b4
if [ $MEM_CONSTRAINED_JOBS -le 0 ]; then
e0a0b4
  MEM_CONSTRAINED_JOBS=1
e0a0b4
fi
62f5ec
e98f2c
CPU_AVAILABLE=$(/usr/bin/getconf _NPROCESSORS_ONLN)
e98f2c
# Pick the minimum from available CPUs or memory constrained number of jobs
e0a0b4
MOZ_SMP_FLAGS=-j$([ "$CPU_AVAILABLE" -le "$MEM_CONSTRAINED_JOBS" ] && echo "$CPU_AVAILABLE" || echo "$MEM_CONSTRAINED_JOBS")
d3afb2
d417c4
%if 0%{?bundle_gtk3}
d417c4
# gtk3-private-setup-flags-env.inc
d417c4
%include_file %{SOURCE205}
d417c4
%endif
d417c4
e98f2c
%if 0%{?bundle_nss}
e98f2c
echo "Setting nss flags"
e98f2c
# nss-setup-flags-env.inc
e98f2c
%include_file %{SOURCE401}
e98f2c
export PATH=%{_buildrootdir}/%{gtk3_install_path}/bin:$PATH
e98f2c
echo $PKG_CONFIG_PATH
e98f2c
%endif
e98f2c
d417c4
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
d417c4
export MOZ_SERVICES_SYNC="1"
e98f2c
# we need to strip the sources on i686 because to we don't use rpm to generate debugsymbols because of oom
e98f2c
%ifnarch i686 i386
d417c4
export STRIP=/bin/true
e98f2c
%endif
e98f2c
which node
e98f2c
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"'
e98f2c
env
e98f2c
ls %{_buildrootdir}
e98f2c
e98f2c
e98f2c
%if 0%{?rhel} == 6
e98f2c
export POLICY_FILE="rhel6.config"
e98f2c
export POLICT_PATH="/etc/pki/nss-legacy"
e98f2c
%endif
e98f2c
e98f2c
%if 0%{?use_llvmts}
e98f2c
scl enable llvm-toolset-%{llvm_version} './mach build -v'
e98f2c
%else
d417c4
./mach build -v
e98f2c
%endif
d417c4
d417c4
# create debuginfo for crash-stats.mozilla.com
d417c4
%if %{enable_mozilla_crashreporter}
d417c4
#cd %{moz_objdir}
d417c4
make -C objdir buildsymbols
d417c4
%endif
29a772
d417c4
%if %{?run_tests}
d417c4
%if %{?system_nss}
d417c4
ln -s /usr/bin/certutil objdir/dist/bin/certutil
d417c4
ln -s /usr/bin/pk12util objdir/dist/bin/pk12util
4cf60e
d417c4
%endif
d417c4
mkdir test_results
d417c4
./mach --log-no-times check-spidermonkey &> test_results/check-spidermonkey || true
d417c4
./mach --log-no-times check-spidermonkey &> test_results/check-spidermonkey-2nd-run || true
d417c4
./mach --log-no-times cppunittest &> test_results/cppunittest || true
d417c4
xvfb-run ./mach --log-no-times crashtest &> test_results/crashtest || true
d417c4
./mach --log-no-times gtest &> test_results/gtest || true
d417c4
xvfb-run ./mach --log-no-times jetpack-test &> test_results/jetpack-test || true
d417c4
# not working right now ./mach marionette-test &> test_results/marionette-test || true
d417c4
xvfb-run ./mach --log-no-times mochitest-a11y &> test_results/mochitest-a11y || true
d417c4
xvfb-run ./mach --log-no-times mochitest-browser &> test_results/mochitest-browser || true
d417c4
xvfb-run ./mach --log-no-times mochitest-chrome &> test_results/mochitest-chrome || true
d417c4
xvfb-run ./mach --log-no-times mochitest-devtools &> test_results/mochitest-devtools || true
d417c4
xvfb-run ./mach --log-no-times mochitest-plain &> test_results/mochitest-plain || true
d417c4
xvfb-run ./mach --log-no-times reftest &> test_results/reftest || true
d417c4
xvfb-run ./mach --log-no-times webapprt-test-chrome &> test_results/webapprt-test-chrome || true
d417c4
xvfb-run ./mach --log-no-times webapprt-test-content &> test_results/webapprt-test-content || true
d417c4
./mach --log-no-times webidl-parser-test &> test_results/webidl-parser-test || true
d417c4
xvfb-run ./mach --log-no-times xpcshell-test &> test_results/xpcshell-test || true
d417c4
%if %{?system_nss}
d417c4
rm -f  objdir/dist/bin/certutil
d417c4
rm -f  objdir/dist/bin/pk12util
d417c4
%endif
29a772
d417c4
%endif
29a772
#---------------------------------------------------------------------
29a772
29a772
%install
d417c4
%if 0%{?rhel} == 6
f9af33
export SHELL=/bin/sh
f9af33
%endif
f9af33
d417c4
function install_rpms_to_current_dir() {
d417c4
    PACKAGE_RPM=$(eval echo $1)
d417c4
    PACKAGE_DIR=%{_rpmdir}
d417c4
d417c4
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
d417c4
        # Hack for tps tests
d417c4
        ARCH_STR=%{_arch}
d417c4
        %ifarch i386 i686
d417c4
            ARCH_STR="i?86"
d417c4
        %endif
e98f2c
        %if 0%{?rhel} > 6
e98f2c
          PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
e98f2c
        %endif
d417c4
     fi
d417c4
d417c4
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
d417c4
     do
d417c4
         echo "$package"
d417c4
         rpm2cpio "$package" | cpio -idu
d417c4
     done
d417c4
}
d417c4
e98f2c
%if 0%{?bundle_gtk3}
d417c4
pushd %{buildroot}
d417c4
# Install gtk3-private again to the buildroot, but without devel subpackage
d417c4
install_rpms_to_current_dir gtk3-private-%{gtk3_nvr}*.rpm
d417c4
install_rpms_to_current_dir gtk3-private-rpm-scripts-%{gtk3_nvr}*.rpm
d417c4
popd
d417c4
%endif
d417c4
e98f2c
%if 0%{?bundle_nss}
e98f2c
  pushd %{buildroot}
e98f2c
  #install_rpms_to_current_dir nss-*.rpm
e98f2c
  install_rpms_to_current_dir nspr-4*.rpm
e98f2c
  install_rpms_to_current_dir nss-3*.rpm
e98f2c
  install_rpms_to_current_dir nss-softokn-3*.rpm
e98f2c
  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
e98f2c
  install_rpms_to_current_dir nss-util-3*.rpm
e98f2c
 
e98f2c
  # cleanup unecessary nss files
e98f2c
  #rm -rf %{_buildrootdir}/%{gtk3_install_path}/bin
e98f2c
  #rm -rf %{_buildrootdir}/%{gtk3_install_path}/include
e98f2c
  rm -rf %{buildroot}/%{gtk3_install_path}/lib/dracut
e98f2c
  rm -rf %{buildroot}/%{gtk3_install_path}/%{_lib}/nss
e98f2c
  #rm -rf %{_buildrootdir}/%{gtk3_install_path}/%{_lib}/pkgconfig
e98f2c
  rm -rf %{buildroot}/%{gtk3_install_path}/%{_lib}/share
e98f2c
  rm -rf %{buildroot}/%{gtk3_install_path}/share
e98f2c
  rm -rf %{buildroot}/etc/pki
e98f2c
  rm -rf %{buildroot}/usr/lib/.build-id
e98f2c
  rm -rf %{buildroot}/etc/crypto-policies
e98f2c
  popd
e98f2c
%endif
e98f2c
d417c4
# Install bundled libffi
d417c4
%if %{use_bundled_ffi}
d417c4
  pushd %{buildroot}
d417c4
  install_rpms_to_current_dir libffi-3*.rpm
d417c4
  popd
d417c4
%endif
29a772
29a772
# set up our default bookmarks
d417c4
%{__cp} -p %{default_bookmarks_file} objdir/dist/bin/browser/chrome/en-US/locale/browser/bookmarks.html
29a772
29a772
# Make sure locale works for langpacks
29a772
%{__cat} > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF
29a772
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
29a772
EOF
29a772
d417c4
DESTDIR=%{buildroot} make -C objdir install
4cf60e
d417c4
%{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications}
29a772
d417c4
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20}
29a772
d417c4
# set up the firefox start script
d417c4
%{__rm} -rf %{buildroot}%{_bindir}/firefox
d417c4
%{__cat} %{SOURCE21} > %{buildroot}%{_bindir}/firefox
844667
sed -i -e 's|%PREFIX%|%{_prefix}|' %{buildroot}%{_bindir}/firefox
58eb7f
%if 0%{?bundle_gtk3}
7468b5
sed -i -e 's|%RHEL_ENV_VARS%|export XDG_DATA_DIRS="$MOZ_LIB_DIR/firefox/bundled/share:/usr/share:$XDG_DATA_DIRS"\nexport FONTCONFIG_FILE="$MOZ_LIB_DIR/firefox/bundled/etc/fonts/fonts.conf"|' %{buildroot}%{_bindir}/firefox
58eb7f
%else
58eb7f
sed -i -e 's|%RHEL_ENV_VARS%||' %{buildroot}%{_bindir}/firefox
58eb7f
%endif
58eb7f
d417c4
%{__chmod} 755 %{buildroot}%{_bindir}/firefox
29a772
d417c4
%{__install} -p -D -m 644 %{SOURCE23} %{buildroot}%{_mandir}/man1/firefox.1
29a772
d417c4
%{__rm} -f %{buildroot}/%{mozappdir}/firefox-config
d417c4
%{__rm} -f %{buildroot}/%{mozappdir}/update-settings.ini
29a772
29a772
for s in 16 22 24 32 48 256; do
d417c4
    %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
29a772
    %{__cp} -p browser/branding/official/default${s}.png \
d417c4
               %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png
29a772
done
29a772
d417c4
# Install hight contrast icon
d417c4
%{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
d417c4
%{__cp} -p %{SOURCE25} \
d417c4
           %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
d417c4
d417c4
# Register as an application to be visible in the software center
d417c4
#
d417c4
# NOTE: It would be *awesome* if this file was maintained by the upstream
d417c4
# project, translated and installed into the right place during `make install`.
d417c4
#
d417c4
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
d417c4
#
d417c4
%{__mkdir_p} %{buildroot}%{_datadir}/appdata
d417c4
cat > %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml <
d417c4
d417c4
d417c4
d417c4
BugReportURL: https://bugzilla.mozilla.org/show_bug.cgi?id=1071061
d417c4
SentUpstream: 2014-09-22
d417c4
-->
d417c4
<application>
d417c4
  <id type="desktop">firefox.desktop</id>
d417c4
  <metadata_license>CC0-1.0</metadata_license>
d417c4
  <description>
d417c4
    

d417c4
      Bringing together all kinds of awesomeness to make browsing better for you.
d417c4
      Get to your favorite sites quickly – even if you don’t remember the URLs.
d417c4
      Type your term into the location bar (aka the Awesome Bar) and the autocomplete
d417c4
      function will include possible matches from your browsing history, bookmarked
d417c4
      sites and open tabs.
d417c4
    

d417c4
    
d417c4
  </description>
d417c4
  <url type="homepage">http://www.mozilla.org/</url>
d417c4
  <screenshots>
d417c4
    <screenshot type="default">https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/a.png</screenshot>
d417c4
    <screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/b.png</screenshot>
d417c4
    <screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/c.png</screenshot>
d417c4
  </screenshots>
d417c4
  
d417c4
  <updatecontact>someone_who_cares@upstream_project.org</updatecontact>
d417c4
   -->
d417c4
</application>
d417c4
EOF
d417c4
d417c4
echo > %{name}.lang
29a772
%if %{build_langpacks}
29a772
# Extract langpacks, make any mods needed, repack the langpack, and install it.
d417c4
%{__mkdir_p} %{buildroot}%{langpackdir}
d417c4
%{__tar} xf %{SOURCE1}
29a772
for langpack in `ls firefox-langpacks/*.xpi`; do
29a772
  language=`basename $langpack .xpi`
29a772
  extensionID=langpack-$language@firefox.mozilla.org
29a772
  %{__mkdir_p} $extensionID
d417c4
  unzip -qq $langpack -d $extensionID
29a772
  find $extensionID -type f | xargs chmod 644
29a772
29a772
  cd $extensionID
d417c4
  zip -qq -r9mX ../${extensionID}.xpi *
29a772
  cd -
29a772
d417c4
  %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir}
29a772
  language=`echo $language | sed -e 's/-/_/g'`
d417c4
  echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang
29a772
done
29a772
%{__rm} -rf firefox-langpacks
690287
690287
# Install langpack workaround (see #707100, #821169)
690287
function create_default_langpack() {
d417c4
language_long=$1
d417c4
language_short=$2
d417c4
cd %{buildroot}%{langpackdir}
d417c4
ln -s langpack-$language_long@firefox.mozilla.org.xpi langpack-$language_short@firefox.mozilla.org.xpi
d417c4
cd -
d417c4
echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@firefox.mozilla.org.xpi" >> %{name}.lang
690287
}
690287
690287
# Table of fallbacks for each language
690287
# please file a bug at bugzilla.redhat.com if the assignment is incorrect
690287
create_default_langpack "es-AR" "es"
690287
create_default_langpack "fy-NL" "fy"
690287
create_default_langpack "ga-IE" "ga"
690287
create_default_langpack "gu-IN" "gu"
690287
create_default_langpack "hi-IN" "hi"
690287
create_default_langpack "hy-AM" "hy"
690287
create_default_langpack "nb-NO" "nb"
690287
create_default_langpack "nn-NO" "nn"
690287
create_default_langpack "pa-IN" "pa"
690287
create_default_langpack "pt-PT" "pt"
690287
create_default_langpack "sv-SE" "sv"
690287
create_default_langpack "zh-TW" "zh"
727eab
%endif
29a772
29a772
# Keep compatibility with the old preference location.
d417c4
%{__mkdir_p} %{buildroot}%{mozappdir}/defaults/preferences
d417c4
%{__mkdir_p} %{buildroot}%{mozappdir}/browser/defaults
29a772
ln -s %{mozappdir}/defaults/preferences $RPM_BUILD_ROOT/%{mozappdir}/browser/defaults/preferences
d417c4
# Default preferences
d417c4
%{__cp} %{SOURCE12} %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
62df9b
sed -i -e 's|%PREFIX%|%{_prefix}|' %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
4cf60e
4cf60e
# System config dir
d417c4
%{__mkdir_p} %{buildroot}/%{_sysconfdir}/%{name}/pref
690287
29a772
# System extensions
d417c4
%{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_app_id}
d417c4
%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_app_id}
29a772
29a772
# Copy over the LICENSE
d417c4
%{__install} -p -c -m 644 LICENSE %{buildroot}/%{mozappdir}
d417c4
d417c4
# Use the system hunspell dictionaries
d417c4
%{__rm} -rf %{buildroot}%{mozappdir}/dictionaries
d417c4
ln -s %{_datadir}/myspell %{buildroot}%{mozappdir}/dictionaries
d417c4
d417c4
# Enable crash reporter for Firefox application
d417c4
%if %{enable_mozilla_crashreporter}
d417c4
sed -i -e "s/\[Crash Reporter\]/[Crash Reporter]\nEnabled=1/" %{buildroot}/%{mozappdir}/application.ini
d417c4
# Add debuginfo for crash-stats.mozilla.com
d417c4
%{__mkdir_p} %{buildroot}/%{moz_debug_dir}
d417c4
%{__cp} objdir/dist/%{symbols_file_name} %{buildroot}/%{moz_debug_dir}
d417c4
%endif
29a772
d417c4
%if %{run_tests}
d417c4
# Add debuginfo for crash-stats.mozilla.com
d417c4
%{__mkdir_p} %{buildroot}/test_results
d417c4
%{__cp} test_results/* %{buildroot}/test_results
d417c4
%endif
4cf60e
29a772
d417c4
# Copy over run-mozilla.sh
d417c4
%{__cp} build/unix/run-mozilla.sh %{buildroot}%{mozappdir}
29a772
d417c4
# Add distribution.ini
d417c4
%{__mkdir_p} %{buildroot}%{mozappdir}/distribution
d417c4
%{__cp} %{SOURCE26} %{buildroot}%{mozappdir}/distribution
29a772
f5d0dc
%if 0%{?centos}
f5d0dc
sed -i -e 's|Red Hat Enterprise|CentOS|' %{buildroot}%{mozappdir}/distribution/distribution.ini
f5d0dc
%endif
f5d0dc
d417c4
# Remove copied libraries to speed up build
d417c4
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozjs.so
d417c4
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozalloc.so
d417c4
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libxul.so
b26a6b
b26a6b
%if %{bundle_gnome_extension}
b26a6b
# Gnome extension
b26a6b
%{__mkdir_p} %{buildroot}%{mozappdir}/distribution/extensions
b26a6b
%{__cp} -p %{SOURCE2} %{buildroot}%{mozappdir}/distribution/extensions/chrome-gnome-shell@gnome.org.xpi
b26a6b
chmod 644 %{buildroot}%{mozappdir}/distribution/extensions/chrome-gnome-shell@gnome.org.xpi
b26a6b
%endif
29a772
#---------------------------------------------------------------------
29a772
4cf60e
%preun
4cf60e
# is it a final removal?
4cf60e
if [ $1 -eq 0 ]; then
4cf60e
  %{__rm} -rf %{mozappdir}/components
4cf60e
  %{__rm} -rf %{mozappdir}/extensions
4cf60e
  %{__rm} -rf %{mozappdir}/plugins
4cf60e
fi
4cf60e
d417c4
%clean
d417c4
rm -rf %{_srcrpmdir}/gtk3-private-%{gtk3_nvr}*.src.rpm
d417c4
find %{_rpmdir} -name "gtk3-private-*%{gtk3_nvr}*.rpm" -delete
d417c4
rm -rf %{_srcrpmdir}/libffi*.src.rpm
d417c4
find %{_rpmdir} -name "libffi*.rpm" -delete
83e1c4
rm -rf %{_srcrpmdir}/openssl*.src.rpm
83e1c4
find %{_rpmdir} -name "openssl*.rpm" -delete
e98f2c
rm -rf %{_srcrpmdir}/nss*.src.rpm
e98f2c
find %{_rpmdir} -name "nss*.rpm" -delete
e98f2c
rm -rf %{_srcrpmdir}/nspr*.src.rpm
e98f2c
find %{_rpmdir} -name "nspr*.rpm" -delete
d417c4
d417c4
%post
d417c4
update-desktop-database &> /dev/null || :
d417c4
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
d417c4
%if 0%{?bundle_gtk3}
d417c4
# gtk3-private-post.inc
d417c4
%include_file %{SOURCE201}
d417c4
%endif
d417c4
d417c4
%postun
d417c4
update-desktop-database &> /dev/null || :
d417c4
if [ $1 -eq 0 ] ; then
d417c4
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
d417c4
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
d417c4
fi
d417c4
%if 0%{?bundle_gtk3}
d417c4
# gtk3-private-postun.inc
d417c4
%include_file %{SOURCE202}
d417c4
%endif
d417c4
29a772
%posttrans
29a772
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
d417c4
%if 0%{?bundle_gtk3}
d417c4
# gtk3-private-posttrans.inc
d417c4
%include_file %{SOURCE203}
d417c4
%endif
29a772
29a772
%files -f %{name}.lang
29a772
%{_bindir}/firefox
d417c4
%{mozappdir}/firefox
d417c4
%{mozappdir}/firefox-bin
29a772
%doc %{_mandir}/man1/*
d417c4
%dir %{_sysconfdir}/%{name}
4cf60e
%dir %{_sysconfdir}/%{name}/*
d417c4
%dir %{_datadir}/mozilla/extensions/*
d417c4
%dir %{_libdir}/mozilla/extensions/*
d417c4
%{_datadir}/appdata/*.appdata.xml
d417c4
%{_datadir}/applications/*.desktop
29a772
%dir %{mozappdir}
29a772
%doc %{mozappdir}/LICENSE
29a772
%{mozappdir}/browser/chrome
d417c4
%{mozappdir}/defaults/preferences/*
d417c4
%{mozappdir}/browser/defaults/preferences
d417c4
%{mozappdir}/browser/features/*.xpi
d417c4
%{mozappdir}/distribution/distribution.ini
d417c4
%if %{build_langpacks}
d417c4
%dir %{langpackdir}
d417c4
%endif
29a772
%{mozappdir}/browser/omni.ja
29a772
%{mozappdir}/run-mozilla.sh
29a772
%{mozappdir}/application.ini
d417c4
%{mozappdir}/pingsender
29a772
%exclude %{mozappdir}/removed-files
d417c4
%{_datadir}/icons/hicolor/16x16/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/22x22/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/24x24/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/256x256/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/32x32/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/48x48/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/symbolic/apps/firefox-symbolic.svg
d417c4
%if %{enable_mozilla_crashreporter}
d417c4
%{mozappdir}/crashreporter
d417c4
%{mozappdir}/crashreporter.ini
d417c4
%{mozappdir}/minidump-analyzer
d417c4
%{mozappdir}/Throbber-small.gif
d417c4
%{mozappdir}/browser/crashreporter-override.ini
d417c4
%endif
29a772
%{mozappdir}/*.so
d417c4
%{mozappdir}/gtk2/*.so
d417c4
%{mozappdir}/defaults/pref/channel-prefs.js
d417c4
%{mozappdir}/dependentlibs.list
d417c4
%{mozappdir}/dictionaries
29a772
%{mozappdir}/omni.ja
29a772
%{mozappdir}/platform.ini
29a772
%{mozappdir}/plugin-container
f9af33
%{mozappdir}/gmp-clearkey
c82edc
%{mozappdir}/fonts/*.ttf
d417c4
%if !%{?system_nss}
d417c4
%exclude %{mozappdir}/libnssckbi.so
f9af33
%endif
d417c4
%if 0%{use_bundled_ffi}
d417c4
%{mozappdir}/bundled/%{_lib}/libffi.so*
d417c4
%exclude %{_datadir}/doc/libffi*
f9af33
%endif
d417c4
d417c4
%if 0%{?bundle_gtk3}
d417c4
# gtk3-private-files.inc
d417c4
%include_file %{SOURCE204}
03d5fe
%endif
d417c4
e98f2c
%if 0%{?bundle_nss}
e98f2c
%{mozappdir}/bundled/%{_lib}/libfreebl*
e98f2c
%{mozappdir}/bundled/%{_lib}/libnss3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libnssdbm3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libnssutil3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libsmime3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libsoftokn*
e98f2c
%{mozappdir}/bundled/%{_lib}/libssl3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libnspr4.so
e98f2c
%{mozappdir}/bundled/%{_lib}/libplc4.so
e98f2c
%{mozappdir}/bundled/%{_lib}/libplds4.so
e98f2c
%endif
e98f2c
4cf60e
29a772
#---------------------------------------------------------------------
29a772
29a772
%changelog
62df9b
* Wed Feb 17 2021 Eike Rathke <erack@redhat.com> - 78.8.0-1
62df9b
- Update to 78.8.0 build2
62df9b
62df9b
* Tue Feb 09 2021 Eike Rathke <erack@redhat.com> - 78.7.1-1
62df9b
- Update to 78.7.1
62df9b
62df9b
* Tue Feb 09 2021 Jan Horak <jhorak@redhat.com> - 78.7.0-3
62df9b
- Fixing install prefix for the homepage
62df9b
2329c5
* Fri Jan 22 2021 Eike Rathke <erack@redhat.com> - 78.7.0-2
2329c5
- Update to 78.7.0 build2
2329c5
2329c5
* Wed Jan 20 2021 Eike Rathke <erack@redhat.com> - 78.7.0-1
2329c5
- Update to 78.7.0 build1
2329c5
844667
* Wed Jan  6 2021 Eike Rathke <erack@redhat.com> - 78.6.1-1
844667
- Update to 78.6.1 build1
844667
62f5ec
* Thu Dec 10 2020 Jan Horak <jhorak@redhat.com> - 78.6.0-1
62f5ec
- Update to 78.6.0 build1
62f5ec
e0a0b4
* Wed Nov 18 2020 Jan Horak <jhorak@redhat.com> - 78.5.0-1
e0a0b4
- Update to 78.5.0 build1
e0a0b4
2d7a08
* Tue Nov 10 2020 erack@redhat.com - 78.4.1-1
2d7a08
- Update to 78.4.1
2d7a08
2d7a08
* Tue Nov 10 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-3
2d7a08
- Fixing flatpak build, fixing firefox.sh.in to not disable langpacks loading
2d7a08
2d7a08
* Thu Oct 29 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-2
2d7a08
- Enable addon sideloading
2d7a08
d3afb2
* Fri Oct 16 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-1
d3afb2
- Update to 78.4.0 build2
d3afb2
e98f2c
* Fri Sep 18 2020 Jan Horak <jhorak@redhat.com>
e98f2c
- Update to 78.3.0 build1
e98f2c
e98f2c
* Tue Aug 18 2020 Jan Horak <jhorak@redhat.com> - 78.2.0-3
e98f2c
- Update to 78.2.0 build1
812ff3
e98f2c
* Fri Jul 24 2020 Jan Horak <jhorak@redhat.com>
ec3a5b
- Update to 68.11.0 build1
ec3a5b
4c7c17
* Fri Jun 26 2020 Jan Horak <jhorak@redhat.com>
4c7c17
- Update to 68.10.0 build1
4c7c17
5bf1f5
* Fri May 29 2020 Jan Horak <jhorak@redhat.com>
5bf1f5
- Update to 68.9.0 build1
5bf1f5
- Added patch for pipewire 0.3
5bf1f5
5bf1f5
* Mon May 11 2020 Jan Horak <jhorak@redhat.com>
5bf1f5
- Added s390x specific patches
5bf1f5
f5d0dc
* Wed Apr 29 2020 Jan Horak <jhorak@redhat.com>
f5d0dc
- Update to 68.8.0 build1
f5d0dc
f5d0dc
* Thu Apr 23 2020 Martin Stransky <stransky@redhat.com> - 68.7.0-3
f5d0dc
- Added fix for rhbz#1821418
f5d0dc
10686e
* Tue Apr 07 2020 Jan Horak <jhorak@redhat.com> - 68.7.0-2
10686e
- Update to 68.7.0 build3
10686e
79653b
* Mon Apr  6 2020 Jan Horak <jhorak@redhat.com> - 68.6.1-1
79653b
- Update to 68.6.1 ESR
79653b
727eab
* Wed Mar 04 2020 Jan Horak <jhorak@redhat.com>
727eab
- Update to 68.6.0 build1
727eab
727eab
* Mon Feb 24 2020 Martin Stransky <stransky@redhat.com> - 68.5.0-3
727eab
- Added fix for rhbz#1805667
727eab
- Enabled mzbz@1170092 - Firefox prefs at /etc
727eab
aec9d4
* Fri Feb 07 2020 Jan Horak <jhorak@redhat.com>
aec9d4
- Update to 68.5.0 build2
aec9d4
aec9d4
* Wed Feb 05 2020 Jan Horak <jhorak@redhat.com>
aec9d4
- Update to 68.5.0 build1
aec9d4
ce8c9f
* Wed Jan 08 2020 Jan Horak <jhorak@redhat.com>
ce8c9f
- Update to 68.4.1esr build1
ce8c9f
ce8c9f
* Fri Jan 03 2020 Jan Horak <jhorak@redhat.com>
ce8c9f
- Update to 68.4.0esr build1
ce8c9f
ce8c9f
* Wed Dec 18 2019 Jan Horak <jhorak@redhat.com>
ce8c9f
- Fix for wrong intl.accept_lang when using non en-us langpack
ce8c9f
edb57c
* Wed Nov 27 2019 Martin Stransky <stransky@redhat.com> - 68.3.0-1
edb57c
- Update to 68.3.0 ESR
edb57c
edb57c
* Thu Oct 24 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-4
edb57c
- Added patch for TLS 1.3 support.
edb57c
edb57c
* Wed Oct 23 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-3
edb57c
- Rebuild
edb57c
edb57c
* Mon Oct 21 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-2
edb57c
- Rebuild
edb57c
83e1c4
* Thu Oct 17 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-1
83e1c4
- Update to 68.2.0 ESR
83e1c4
83e1c4
* Thu Oct 10 2019 Martin Stransky <stransky@redhat.com> - 68.1.0-6
83e1c4
- Enable system nss on RHEL6
83e1c4
c82edc
* Thu Sep  5 2019 Jan Horak <jhorak@redhat.com> - 68.1.0-2
c82edc
- Enable building langpacks
64d073
c82edc
* Wed Aug 28 2019 Jan Horak <jhorak@redhat.com> - 68.1.0-1
c82edc
- Update to 68.1.0 ESR
64d073
c82edc
* Mon Aug 5 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-4
c82edc
- Enable system nss
484e5e
c82edc
* Mon Jul 29 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-3
c82edc
- Enable official branding
484e5e
c82edc
* Fri Jul 26 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-2
c82edc
- Enabled PipeWire on RHEL8
585d85
c82edc
* Fri Jul 26 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-1
c82edc
- Updated to 68.0.1 ESR
585d85
c82edc
* Tue Jul 16 2019 Jan Horak <jhorak@redhat.com> - 68.0-0.11
c82edc
- Update to 68.0 ESR
585d85
c82edc
* Tue Jun 25 2019 Martin Stransky <stransky@redhat.com> - 68.0-0.10
c82edc
- Updated to 68.0 alpha 13
c82edc
- Enabled second arches
c1be9b
c82edc
* Fri Mar 22 2019 Martin Stransky <stransky@redhat.com> - 68.0-0.1
c82edc
- Updated to 68.0 alpha
9c9a85
073c86
* Fri Mar 15 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-3
073c86
- Added Google API keys (mozbz#1531176)
073c86
073c86
* Thu Mar 14 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-2
073c86
- Update to 60.6.0 ESR (Build 2)
073c86
073c86
* Wed Mar 13 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-1
073c86
- Update to 60.6.0 ESR (Build 1)
073c86
9844c3
* Wed Feb 13 2019 Jan Horak <jhorak@redhat.com> - 60.5.1-1
9844c3
- Update to 60.5.1 ESR
9844c3
9844c3
* Wed Feb 6 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-3
9844c3
- Added fix for rhbz#1672424 - Firefox crashes on NFS drives.
32a056
7468b5
* Fri Jan 25 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-2
7468b5
- Updated to 60.5.0 ESR build2
7468b5
7468b5
* Tue Jan 22 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-1
7468b5
- Updated to 60.5.0 ESR build1
7468b5
7468b5
* Thu Jan 10 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-3
7468b5
- Fixing fontconfig warnings (rhbz#1601475)
7468b5
7468b5
* Wed Jan  9 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-2
7468b5
- Added pipewire patch from Tomas Popela (rhbz#1664270)
400df2
b26a6b
* Wed Dec  5 2018 Jan Horak <jhorak@redhat.com> - 60.4.0-1
b26a6b
- Update to 60.4.0 ESR
b26a6b
b26a6b
* Tue Dec  4 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-2
b26a6b
- Added firefox-gnome-shell-extension
b26a6b
b26a6b
* Fri Oct 19 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-1
b26a6b
- Update to 60.3.0 ESR
b26a6b
332c93
* Wed Oct 10 2018 Jan Horak <jhorak@redhat.com> - 60.2.2-2
332c93
- Added patch for rhbz#1633932
332c93
6a1aae
* Tue Oct  2 2018 Jan Horak <jhorak@redhat.com> - 60.2.2-1
6a1aae
- Update to 60.2.2 ESR
a5ff67
b6986f
* Mon Sep 24 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-1
b6986f
- Update to 60.2.1 ESR
6d119b
58eb7f
* Fri Aug 31 2018 Jan Horak <jhorak@redhat.com> - 60.2.0-1
58eb7f
- Update to 60.2.0 ESR
58eb7f
58eb7f
* Tue Aug 28 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-9
58eb7f
- Do not set user agent (rhbz#1608065)
58eb7f
- GTK dialogs are localized now (rhbz#1619373)
58eb7f
- JNLP association works again (rhbz#1607457)
58eb7f
58eb7f
* Thu Aug 16 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-8
58eb7f
- Fixed homepage and bookmarks (rhbz#1606778)
58eb7f
- Fixed missing file associations in RHEL6 (rhbz#1613565)
58eb7f
58eb7f
* Thu Jul 12 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-7
58eb7f
- Run at-spi-bus if not running already (for the bundled gtk3)
58eb7f
58eb7f
* Mon Jul  9 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-6
58eb7f
- Fix for missing schemes for bundled gtk3
58eb7f
58eb7f
* Mon Jun 25 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-5
58eb7f
- Added mesa-libEGL dependency to gtk3/rhel6
ce03ed
d417c4
* Sun Jun 24 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-4
d417c4
- Disabled jemalloc on all second arches
d417c4
d417c4
* Fri Jun 22 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-3
d417c4
- Updated to 60.1.0 ESR build2
d417c4
d417c4
* Thu Jun 21 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-2
d417c4
- Disabled jemalloc on second arches
d417c4
d417c4
* Wed Jun 20 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-1
d417c4
- Updated to 60.1.0 ESR
d417c4
d417c4
* Wed Jun 13 2018 Jan Horak <jhorak@redhat.com> - 60.0-12
d417c4
- Fixing bundled libffi issues
d417c4
- Readded some requirements
d417c4
d417c4
* Mon Jun 11 2018 Martin Stransky <stransky@redhat.com> - 60.0-10
d417c4
- Added fix for mozilla BZ#1436242 - IPC crashes.
48ab33
d417c4
* Mon Jun 11 2018 Jan Horak <jhorak@redhat.com> - 60.0-9
d417c4
- Bundling libffi for the sec-arches
d417c4
- Added openssl-devel for the Python
d417c4
- Fixing bundled gtk3
d3672c
d417c4
* Fri May 18 2018 Martin Stransky <stransky@redhat.com> - 60.0-8
d417c4
- Added fix for mozilla BZ#1458492
41fb10
d417c4
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-7
d417c4
- Added patch from rhbz#1498561 to fix ppc64(le) crashes.
d417c4
d417c4
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-6
d417c4
- Disabled jemalloc on second arches
d417c4
d417c4
* Sun May  6 2018 Jan Horak <jhorak@redhat.com> - 60.0-4
d417c4
- Update to 60.0 ESR
f0612e
746756
* Thu Mar  8 2018 Jan Horak <jhorak@redhat.com> - 52.7.0-1
746756
- Update to 52.7.0 ESR
746756
d417c4
* Mon Jan 29 2018 Martin Stransky <stransky@redhat.com> - 52.6.0-2
d417c4
- Build Firefox for desktop arches only (x86_64 and ppc64le)
e856dc
d417c4
* Thu Jan 18 2018 Martin Stransky <stransky@redhat.com> - 52.6.0-1
d417c4
- Update to 52.6.0 ESR
56500d
d074aa
* Thu Nov  9 2017 Jan Horak <jhorak@redhat.com> - 52.5.0-1
d074aa
- Update to 52.5.0 ESR
dfb614
07688c
* Mon Sep 25 2017 Jan Horak <jhorak@redhat.com> - 52.4.0-1
07688c
- Update to 52.4.0 ESR
3dae0c
07688c
* Thu Aug  3 2017 Jan Horak <jhorak@redhat.com> - 52.3.0-3
ecb567
- Update to 52.3.0 ESR (b2)
07688c
- Require correct nss version
c2606d
81cc07
* Tue Jun 13 2017 Jan Horak <jhorak@redhat.com> - 52.2.0-1
7b80ca
- Update to 52.2.0 ESR
7b80ca
81cc07
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.1.2-1
81cc07
- Update to 52.1.2 ESR
00e548
81cc07
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.0-7
81cc07
- Added fix for accept language (rhbz#1454322)
99a998
81cc07
* Wed Mar 22 2017 Jan Horak <jhorak@redhat.com> - 52.0-6
81cc07
- Removing patch required for older NSS from RHEL 7.3
81cc07
- Added patch for rhbz#1414564
6b6f2b
464556
* Fri Mar 17 2017 Martin Stransky <stransky@redhat.com> - 52.0-5
464556
- Added fix for mozbz#1348168/CVE-2017-5428
464556
f9af33
* Mon Mar  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-4
f9af33
- Update to 52.0 ESR (b4)
f9af33
f9af33
* Thu Mar 2 2017 Martin Stransky <stransky@redhat.com> - 52.0-3
f9af33
- Added fix for rhbz#1423012 - ppc64 gfx crashes
f9af33
f9af33
* Wed Mar  1 2017 Jan Horak <jhorak@redhat.com> - 52.0-2
f9af33
- Enable system nss
f9af33
f9af33
* Tue Feb 28 2017 Martin Stransky <stransky@redhat.com> - 52.0-1
f9af33
- Update to 52.0ESR (B1)
f9af33
- Build RHEL7 package for Gtk3
f9af33
f9af33
* Mon Feb 27 2017 Martin Stransky <stransky@redhat.com> - 52.0-0.13
f9af33
- Added fix for rhbz#1414535
f9af33
f9af33
* Tue Feb 21 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.12
f9af33
- Update to 52.0b8
39f831
f9af33
* Tue Feb  7 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.11
f9af33
- Readded addons patch
0775c5
f9af33
* Mon Feb  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.10
f9af33
- Update to 52.0b3
eeb87f
f9af33
* Tue Jan 31 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.9
f9af33
- Update to 52.0b2
28b932
f9af33
* Fri Jan 27 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.8
f9af33
- Update to 52.0b1
76ac1a
f9af33
* Thu Dec  8 2016 Jan Horak <jhorak@redhat.com> - 52.0-0.5
f9af33
- Firefox Aurora 52 testing build