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

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

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