1a3471
# Set for local builds only
1a3471
%global disable_toolsets  0
1a3471
1a3471
%ifarch i686
1a3471
# no debug package for the i686 because oom on i686 with debuginfos
1a3471
%global debug_package %{nil}
1a3471
%endif
1a3471
5b02c4
%{lua:
5b02c4
function dist_to_rhel_minor(str, start)
5b02c4
  match = string.match(str, ".module%+el8.%d+")
5b02c4
  if match then
5b02c4
     return string.sub(match, 13)
5b02c4
  end
5b02c4
  match = string.match(str, ".el8_%d+")
5b02c4
  if match then
5b02c4
     return string.sub(match, 6)
5b02c4
  end
5b02c4
  match = string.match(str, ".el8")
5b02c4
  if match then
5b02c4
     return 5
5b02c4
  end
5b02c4
  return -1
5b02c4
end}
5b02c4
5b02c4
%global rhel_minor_version %{lua:print(dist_to_rhel_minor(rpm.expand("%dist")))}
1a3471
1a3471
%global system_nss        1
1a3471
%global bundle_nss        0
1a3471
1a3471
%if 0%{?rhel} == 8
5b02c4
  %if %{rhel_minor_version} < 2
1a3471
%global bundle_nss        1
1a3471
  %endif
1a3471
%endif
1a3471
1a3471
%if 0%{?rhel} == 6
1a3471
%global system_nss        0
1a3471
%endif
1a3471
1a3471
%define use_bundled_ffi   0
1a3471
1a3471
%define use_bundled_python_2 1
1a3471
%define use_bundled_python_3 1
1a3471
1a3471
%if 0%{?rhel} == 8
1a3471
%define use_bundled_python_2 1
1a3471
%define use_bundled_python_3 0
1a3471
%endif
1a3471
1a3471
%if 0%{?rhel} == 7
1a3471
%define use_bundled_python_2 0
1a3471
%define use_bundled_python_3 0
1a3471
%endif
1a3471
1a3471
%if 0%{?flatpak:1}
1a3471
%define use_bundled_python_2 1
1a3471
%endif
1a3471
1a3471
# we need python2 because of icu data gen
1a3471
%define use_bundled_python_2 1
1a3471
# Don't use system hunspell for now
1a3471
%global system_hunspell   0
1a3471
%if 0%{?rhel} == 8
1a3471
%global use_llvmts        0
1a3471
%else
1a3471
%global use_llvmts        1
1a3471
%endif
1a3471
1a3471
%if 0%{?rhel} > 6
1a3471
%global system_ffi        1
1a3471
%else
1a3471
%global system_ffi        0
1a3471
%endif
1a3471
%if 0%{?rhel} < 8
1a3471
%global use_dts           1
1a3471
%endif
1a3471
1a3471
%global use_rustts        1
1a3471
%global dts_version       8
1a3471
%if 0%{?rhel} == 6
1a3471
%global dts_version       8
1a3471
%endif
1a3471
%global rust_version         1.41
1a3471
%global rust_toolset_version 1.41
1a3471
%global llvm_version      7.0
1a3471
%if 0%{?rhel} == 8
1a3471
%global llvm_version      6.0
1a3471
%endif
1a3471
1a3471
%if 0%{?disable_toolsets}
1a3471
%global use_rustts        0
1a3471
%global use_dts           0
1a3471
%global use_llvmts        0
1a3471
%endif
1a3471
1a3471
# Use system cairo?
1a3471
%global system_cairo      0
1a3471
1a3471
# Use system libvpx?
1a3471
%global system_libvpx     0
1a3471
1a3471
# Use system libicu?
1a3471
%global system_libicu     0
1a3471
1a3471
# Big endian platforms
1a3471
%ifarch ppc64 s390x
1a3471
# Javascript Intl API is not supported on big endian platforms right now:
1a3471
# https://bugzilla.mozilla.org/show_bug.cgi?id=1322212
1a3471
%global big_endian        1
1a3471
%endif
1a3471
1a3471
# Hardened build?
1a3471
%global hardened_build    1
1a3471
1a3471
%global system_jpeg       1
1a3471
1a3471
%ifarch %{ix86} x86_64
1a3471
%global run_tests         0
1a3471
%else
1a3471
%global run_tests         0
1a3471
%endif
1a3471
1a3471
# Build as a debug package?
1a3471
%global debug_build       0
1a3471
1a3471
%define thunderbird_app_id      \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
1a3471
# Minimal required versions
1a3471
%global cairo_version 1.13.1
1a3471
%global freetype_version 2.1.9
1a3471
%if %{?system_libvpx}
1a3471
%global libvpx_version 1.4.0
1a3471
%endif
1a3471
1a3471
%if 0%{?system_nss}
1a3471
%global nspr_version 4.25
1a3471
# NSS/NSPR quite often ends in build override, so as requirement the version
1a3471
# we're building against could bring us some broken dependencies from time to time.
1a3471
#%global nspr_build_version %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo 65536)
1a3471
%global nspr_build_version %{nspr_version}
1a3471
%global nss_version 3.53.1
1a3471
#%global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536)
1a3471
%global nss_build_version %{nss_version}
1a3471
%endif
1a3471
1a3471
1a3471
%define bundled_python_version_2 2.7.13
1a3471
%define bundled_python_version_3 3.6.8
1a3471
%define use_bundled_openssl     0
1a3471
%define use_bundled_nodejs      0
1a3471
%define use_bundled_yasm        0
1a3471
1a3471
%if 0%{?rhel} == 8
5b02c4
  %if %{rhel_minor_version} <= 2
1a3471
%define use_bundled_nodejs      1
1a3471
  %endif
1a3471
%endif
1a3471
1a3471
%if 0%{?rhel} == 7
1a3471
%define use_bundled_nodejs      1
1a3471
%define use_bundled_yasm        1
1a3471
%endif
1a3471
1a3471
%if 0%{?rhel} == 6
1a3471
%define use_bundled_nodejs      1
1a3471
%define use_bundled_openssl     1
1a3471
%define use_bundled_yasm        1
1a3471
%define bundle_gtk3             1
1a3471
# In-tree libffi is able to build on following platforms, we have to bundle it for the rest
1a3471
%ifnarch x86_64 i686 aarch64
1a3471
%define use_bundled_ffi         1
1a3471
%endif
1a3471
%endif
1a3471
1a3471
# GTK3 bundling
1a3471
%define avoid_bundled_rebuild   0
1a3471
1a3471
%define gtk3_nvr 3.22.26-1
1a3471
%define gtk3_install_path %{mozappdir}/bundled
1a3471
1a3471
# We could use %%include, but in %%files, %%post and other sections, but in these
1a3471
# sections it could lead to syntax errors about unclosed %%if. Work around it by
1a3471
# using the following macro
1a3471
%define include_file() %{expand:%(cat '%1')}
1a3471
1a3471
%global mozappdir     %{_libdir}/%{name}
1a3471
%global mozappdirdev  %{_libdir}/%{name}-devel-%{version}
1a3471
%global langpackdir   %{mozappdir}/distribution/extensions
1a3471
%global tarballdir    %{name}-%{version}
1a3471
#global pre_tag       alpha
1a3471
1a3471
%global official_branding       1
1a3471
%global build_langpacks         1
1a3471
Summary:        Mozilla Thunderbird mail/newsgroup client
1a3471
Name:           thunderbird
5b02c4
Version:        78.12.0
5b02c4
Release:        3%{?dist}
1a3471
URL:            http://www.mozilla.org/projects/thunderbird/
1a3471
License:        MPLv1.1 or GPLv2+ or LGPLv2+
1a3471
Group:          Applications/Internet
1a3471
1a3471
%if 0%{?rhel} == 7
1a3471
ExcludeArch:    s390 ppc
1a3471
%endif
1a3471
%if 0%{?rhel} == 6
1a3471
ExclusiveArch:  i686 x86_64 ppc64 s390x
1a3471
%endif
1a3471
1a3471
# From ftp://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?ext_version}/source
1a3471
Source0:        https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.source.tar.xz
1a3471
%if %{build_langpacks}
5b02c4
Source1:        thunderbird-langpacks-%{version}%{?ext_version}-20210712.tar.xz
1a3471
# Locales for lightning
1a3471
%endif
1a3471
Source2:        cbindgen-vendor-0.14.3.tar.xz
1a3471
Source3:        get-calendar-langpacks.sh
1a3471
1a3471
Source10:       thunderbird-mozconfig
1a3471
Source20:       thunderbird.desktop
1a3471
Source21:       thunderbird.sh.in
1a3471
Source24:       mozilla-api-key
1a3471
Source27:       google-api-key
1a3471
Source28:       node-stdout-nonblocking-wrapper
1a3471
Source102:      find-external-requires
1a3471
Source200:      gtk3-private-%{gtk3_nvr}.el6.src.rpm
1a3471
Source201:      gtk3-private-%{gtk3_nvr}-post.inc
1a3471
Source202:      gtk3-private-%{gtk3_nvr}-postun.inc
1a3471
Source203:      gtk3-private-%{gtk3_nvr}-posttrans.inc
1a3471
Source204:      gtk3-private-%{gtk3_nvr}-files.inc
1a3471
Source205:      gtk3-private-%{gtk3_nvr}-setup-flags-env.inc
1a3471
Source206:      gtk3-private-%{gtk3_nvr}-requires-provides-filter.inc
1a3471
Source301:      yasm-1.2.0-3.el5.src.rpm
1a3471
Source303:      libffi-3.0.13-18.el7_3.src.rpm
1a3471
Source304:      nodejs-10.21.0-5.fc32.src.rpm
1a3471
Source305:      openssl-1.0.2k-19.6.bundle.el7_7.src.rpm
1a3471
Source601:      thunderbird-redhat-default-prefs.js.rhel6
1a3471
Source701:      thunderbird-redhat-default-prefs.js.rhel7
1a3471
1a3471
## Firefox patches
1a3471
1a3471
Source403:      nss-3.53.1-3.fc32.src.rpm
1a3471
Source401:      nss-setup-flags-env.inc
1a3471
Source402:      nspr-4.25.0-1.el8_0.src.rpm 
1a3471
#Python
1a3471
%if 0%{?use_bundled_python_2}
1a3471
Source100:      https://www.python.org/ftp/python/%{bundled_python_version_2}/Python-%{bundled_python_version_2}.tar.xz
1a3471
%endif
1a3471
%if 0%{?use_bundled_python_3}
1a3471
Source101:      https://www.python.org/ftp/python/%{bundled_python_version_3}/Python-%{bundled_python_version_3}.tar.xz
1a3471
%endif
1a3471
# Build patches
1a3471
Patch1000:      python-2.7.patch
1a3471
# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1699374
1a3471
Patch1001:      build-ppc64le-inline.patch
1a3471
Patch1002:      python-2.7-gcc8-fix.patch
1a3471
Patch1003:      python-missing-utimensat.patch
1a3471
Patch1004:      build-icu-make.patch
1a3471
# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1699374
1a3471
Patch4:         build-mozconfig-fix.patch
1a3471
Patch6:         build-nss-version.patch
1a3471
Patch7:         firefox-debugedits-error.patch
1a3471
1a3471
# Fedora/RHEL specific patches
1a3471
Patch215:        firefox-enable-addons.patch
1a3471
Patch219:        rhbz-1173156.patch
1a3471
Patch224:        mozilla-1170092.patch
1a3471
#ARM run-time patch
1a3471
Patch231:        firefox-pipewire.patch
1a3471
Patch232:        firefox-rhel6-hugepage.patch
1a3471
Patch233:        firefox-rhel6-nss-tls1.3.patch
1a3471
Patch234:        rhbz-1821418.patch
1a3471
Patch235:        firefox-pipewire-0-3.patch
1a3471
Patch236:        fedora-shebang-build.patch
1a3471
Patch237:        disable-openpgp-in-thunderbird.patch
1a3471
1a3471
# Upstream patches
1a3471
Patch402:        mozilla-1196777.patch
1a3471
1a3471
Patch501:        python-encode.patch
1a3471
Patch503:        mozilla-s390-context.patch
1a3471
Patch505:        mozilla-bmo1005535.patch
1a3471
Patch506:        mozilla-bmo1504834-part1.patch
1a3471
Patch507:        mozilla-bmo1504834-part2.patch
1a3471
Patch508:        mozilla-bmo1504834-part3.patch
1a3471
Patch509:        mozilla-bmo1504834-part4.patch
1a3471
Patch510:        mozilla-bmo1554971.patch
1a3471
Patch511:        mozilla-bmo1602730.patch
1a3471
Patch512:        mozilla-bmo849632.patch
1a3471
Patch513:        mozilla-bmo998749.patch
1a3471
Patch514:        mozilla-s390x-skia-gradient.patch
1a3471
Patch515:        mozilla-bmo1626236.patch
1a3471
Patch516:        D87019-thin-vec-big-endian.diff
1a3471
1a3471
1a3471
# CentOS patches
1a3471
%if 0%{?centos}
1a3471
Patch10000:      Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
1a3471
Patch10001:      Bug-1526653---fix_user_vfp_armv7.patch
1a3471
%endif
1a3471
1a3471
# RHEL6 patches
1a3471
Patch600:        rhel6-dbusver.patch
1a3471
Patch601:        rhel6-kernel.patch
1a3471
Patch602:        rhel6-mach-fail.patch
1a3471
Patch603:        rhel6-zconst.patch
1a3471
Patch604:        rhel6-auxvh.patch
1a3471
Patch605:        rhel6-abiv2-mozbz1642174.patch
1a3471
Patch606:        rhel6-auxv.patch
1a3471
Patch607:        rhel6-at-no-automount.patch
1a3471
Patch608:        rhel6-clock_gettime.patch
1a3471
1a3471
%if %{?system_nss}
1a3471
%if !0%{?bundle_nss}
1a3471
BuildRequires:  pkgconfig(nspr) >= %{nspr_version}
1a3471
BuildRequires:  pkgconfig(nss) >= %{nss_version}
1a3471
BuildRequires:  nss-static >= %{nss_version}
1a3471
%endif
1a3471
%endif
1a3471
%if %{?system_cairo}
1a3471
BuildRequires:  pkgconfig(cairo) >= %{cairo_version}
1a3471
%endif
1a3471
BuildRequires:  pkgconfig(libpng)
1a3471
BuildRequires:  xz
1a3471
BuildRequires:  libXt-devel
1a3471
BuildRequires:  mesa-libGL-devel
1a3471
Requires:       liberation-fonts-common
1a3471
Requires:       liberation-sans-fonts
1a3471
%if %{?system_jpeg}
1a3471
BuildRequires:  libjpeg-devel
1a3471
%endif
1a3471
BuildRequires:  zip
1a3471
BuildRequires:  bzip2-devel
1a3471
BuildRequires:  pkgconfig(zlib)
1a3471
BuildRequires:  pkgconfig(libIDL-2.0)
1a3471
BuildRequires:  pkgconfig(gtk+-2.0)
1a3471
BuildRequires:  krb5-devel
1a3471
BuildRequires:  pkgconfig(pango)
1a3471
BuildRequires:  pkgconfig(freetype2) >= %{freetype_version}
1a3471
BuildRequires:  pkgconfig(xt)
1a3471
BuildRequires:  pkgconfig(xrender)
1a3471
%if %{?system_hunspell}
1a3471
BuildRequires:  hunspell-devel
1a3471
%endif
1a3471
BuildRequires:  pkgconfig(libstartup-notification-1.0)
1a3471
BuildRequires:  pkgconfig(libnotify)
1a3471
BuildRequires:  pkgconfig(dri)
1a3471
BuildRequires:  pkgconfig(libcurl)
1a3471
BuildRequires:  dbus-glib-devel
1a3471
%if %{?system_libvpx}
1a3471
BuildRequires:  libvpx-devel >= %{libvpx_version}
1a3471
%endif
1a3471
BuildRequires:  autoconf213
1a3471
BuildRequires:  pkgconfig(libpulse)
1a3471
BuildRequires:  pkgconfig(gconf-2.0)
1a3471
1a3471
%if 0%{?use_dts}
1a3471
BuildRequires:  devtoolset-%{dts_version}-gcc-c++
1a3471
BuildRequires:  devtoolset-%{dts_version}-gcc
1a3471
BuildRequires:  devtoolset-%{dts_version}-binutils
1a3471
BuildRequires:  devtoolset-%{dts_version}-libatomic-devel
1a3471
%if 0%{?use_llvmts}
1a3471
BuildRequires:  llvm-toolset-%{llvm_version}
1a3471
BuildRequires:  llvm-toolset-%{llvm_version}-llvm-devel
1a3471
%endif
1a3471
%endif
1a3471
1a3471
BuildRequires:  scl-utils
1a3471
BuildRequires:  findutils
1a3471
1a3471
1a3471
%if 0%{?rhel} == 8
1a3471
BuildRequires:  cargo
1a3471
BuildRequires:  rust >= %{rust_version}
1a3471
BuildRequires:  llvm >= %{llvm_version}
1a3471
BuildRequires:  llvm-devel >= %{llvm_version}
1a3471
BuildRequires:  clang >= %{llvm_version}
1a3471
BuildRequires:  clang-devel >= %{llvm_version}
1a3471
BuildRequires:  rustfmt >= %{rust_version}
1a3471
BuildRequires:  python3
1a3471
BuildRequires:  nodejs >= 10.21
1a3471
%else
1a3471
%if 0%{?use_rustts}
1a3471
BuildRequires:  rust-toolset-%{rust_toolset_version}
1a3471
%endif
1a3471
%if 0%{?rhel} == 7
1a3471
#BuildRequires:  rh-nodejs12
1a3471
%endif
1a3471
%if 0%{?use_llvmts}
1a3471
BuildRequires:  llvm-toolset-%{llvm_version}
1a3471
BuildRequires:  llvm-toolset-%{llvm_version}-llvm-devel
1a3471
%endif
1a3471
%endif
1a3471
1a3471
%if ! 0%{?use_bundled_yasm}
1a3471
BuildRequires:  yasm
1a3471
%endif
1a3471
1a3471
1a3471
%if 0%{?use_bundled_python_2}
1a3471
# Needed for Python in RHEL6
1a3471
BuildRequires:  openssl-devel
1a3471
%endif
1a3471
1a3471
%if 0%{?rhel} == 8
5b02c4
  %if %{rhel_minor_version} >= 3
1a3471
BuildRequires:  pkgconfig(libpipewire-0.3)
1a3471
  %else
1a3471
BuildRequires:  pipewire-devel
1a3471
  %endif
1a3471
%endif
1a3471
1a3471
%if 0%{?bundle_gtk3}
1a3471
BuildRequires:        automake
1a3471
BuildRequires:        autoconf
1a3471
BuildRequires:        cups-devel
1a3471
BuildRequires:        dbus-devel
1a3471
BuildRequires:        desktop-file-utils
1a3471
BuildRequires:        expat-devel
1a3471
BuildRequires:        fontpackages-devel
1a3471
BuildRequires:        gamin-devel
1a3471
BuildRequires:        gettext-devel
1a3471
BuildRequires:        git
1a3471
BuildRequires:        intltool
1a3471
BuildRequires:        jasper-devel
1a3471
BuildRequires:        libepoxy-devel
1a3471
BuildRequires:        libcroco-devel
1a3471
BuildRequires:        libffi-devel
1a3471
BuildRequires:        libpng-devel
1a3471
BuildRequires:        libtiff-devel
1a3471
BuildRequires:        libtool
1a3471
BuildRequires:        libxml2-devel
1a3471
BuildRequires:        libX11-devel
1a3471
BuildRequires:        libXcomposite-devel
1a3471
BuildRequires:        libXcursor-devel
1a3471
BuildRequires:        libXinerama-devel
1a3471
BuildRequires:        libXevie-devel
1a3471
BuildRequires:        libXrandr-devel
1a3471
BuildRequires:        libXrender-devel
1a3471
BuildRequires:        libXtst-devel
1a3471
BuildRequires:        mesa-libGL-devel
1a3471
BuildRequires:        mesa-libEGL-devel
1a3471
BuildRequires:        pixman-devel
1a3471
BuildRequires:        rest-devel
1a3471
BuildRequires:        readline-devel
1a3471
# TODO: We miss that dependency in our bundled gtk3 package.
1a3471
# As a hotfix we put it here and fix gtk3 in next release.
1a3471
Requires:             mesa-libEGL%{?_isa}
1a3471
Requires:             libcroco%{?_isa}
1a3471
Requires:             mesa-libGL%{?_isa}
1a3471
Requires:             bzip2-libs%{?_isa}
1a3471
Requires:             libXtst%{?_isa}
1a3471
%else
1a3471
BuildRequires:        gtk3-devel
1a3471
BuildRequires:        glib2-devel
1a3471
%endif
1a3471
1a3471
# Bundled nss/nspr requirement
1a3471
%if 0%{?bundle_nss}
1a3471
BuildRequires:    nss-softokn
1a3471
BuildRequires:    sqlite-devel
1a3471
BuildRequires:    zlib-devel
1a3471
BuildRequires:    pkgconfig
1a3471
BuildRequires:    gawk
1a3471
BuildRequires:    psmisc
1a3471
%if 0%{?rhel} == 6
1a3471
BuildRequires:    perl
1a3471
%else
1a3471
BuildRequires:    perl-interpreter
1a3471
%endif
1a3471
BuildRequires:    gcc-c++
1a3471
BuildRequires:    xmlto
1a3471
%endif
1a3471
1a3471
Requires:       mozilla-filesystem
1a3471
Requires:       p11-kit-trust
1a3471
%if %{?system_nss}
1a3471
%if !0%{?bundle_nss}
1a3471
Requires:       nspr >= %{nspr_build_version}
1a3471
Requires:       nss >= %{nss_build_version}
1a3471
%endif
1a3471
%endif
1a3471
1a3471
BuildRequires:  desktop-file-utils
1a3471
BuildRequires:  system-bookmarks
1a3471
Requires:       redhat-indexhtml
1a3471
#for the python2
1a3471
BuildRequires:  pkgconfig(sqlite3)
1a3471
1a3471
1a3471
%if %{?run_tests}
1a3471
BuildRequires:  xorg-x11-server-Xvfb
1a3471
%endif
1a3471
1a3471
%if %{?system_ffi}
1a3471
  %if !%{use_bundled_ffi}0
1a3471
BuildRequires:  pkgconfig(libffi)
1a3471
  %endif
1a3471
%endif
1a3471
1a3471
%if %{?use_bundled_nodejs}
1a3471
%if !0%{?use_bundled_python_3}
1a3471
BuildRequires: python3-devel
1a3471
%endif
1a3471
BuildRequires: zlib-devel
1a3471
#BuildRequires: brotli-devel
1a3471
#BuildRequires: gcc >= 4.9.4
1a3471
#BuildRequires: gcc-c++ >= 4.9.4
1a3471
BuildRequires: chrpath
1a3471
BuildRequires: libatomic
1a3471
BuildRequires: openssl-devel
1a3471
%endif
3322f6
3322f6
%if 0%{?big_endian}
3322f6
  %if 0%{?flatpak}
3322f6
BuildRequires:  icu
3322f6
  %endif
3322f6
%endif
3322f6
1a3471
Obsoletes:      thunderbird-lightning
1a3471
# ==================================================================================
1a3471
# Override internal dependency generator to avoid showing libraries provided by this package
1a3471
# in dependencies:
1a3471
#AutoProv: 0
1a3471
#%define _use_internal_dependency_generator 0
1a3471
#%define __find_requires %{SOURCE101}
1a3471
1a3471
%description
1a3471
Mozilla Thunderbird is a standalone mail and newsgroup client.
1a3471
1a3471
1a3471
%prep
1a3471
echo "Build environment"
1a3471
echo "dist                  %{?dist}"
5b02c4
echo "RHEL 8 minor version: %{rhel_minor_version}"
1a3471
echo "use_bundled_ffi       %{?use_bundled_ffi}"
1a3471
echo "use_bundled_python_2  %{?use_bundled_python_2}"
1a3471
echo "use_bundled_python_3  %{?use_bundled_python_3}"
1a3471
echo "bundle_nss            %{?bundle_nss}"
1a3471
echo "system_nss            %{?system_nss}"
1a3471
echo "use_rustts            %{?use_rustts}"
1a3471
echo "use_bundled_nodejs    %{?use_bundled_nodejs}"
1a3471
echo "use_bundled_openssl   %{?use_bundled_openssl}"
1a3471
echo "use_bundled_yasm      %{?use_bundled_yasm}"
1a3471
1a3471
1a3471
%if 0%{?use_bundled_python_2}
1a3471
%setup -q -T -c -n python2 -a 100
1a3471
%patch1000 -p0 -b .build
1a3471
%patch1002 -p0 -b .gcc8
1a3471
%endif
1a3471
%if 0%{?use_bundled_python_3}
1a3471
%setup -q -T -c -n python3 -a 101
1a3471
%if 0%{?rhel} == 6
1a3471
%patch1003 -p0 -b .missing-utimensat.patch
1a3471
%endif
1a3471
%endif
1a3471
%setup -q -n %{tarballdir}
1a3471
1a3471
# Firefox patches
1a3471
%patch7 -p1 -b .debugedits-error
1a3471
%ifarch %{ix86} %{arm} ppc
1a3471
# binary check fails OOM on 32bit arches
1a3471
%endif
1a3471
1a3471
%patch4  -p1 -b .build-mozconfig-fix
1a3471
#%patch6  -p1 -b .nss-version
1a3471
1a3471
# Fedora patches
1a3471
%patch215 -p1 -b .addons
1a3471
%patch219 -p1 -b .rhbz-1173156
1a3471
%patch224 -p1 -b .1170092
3322f6
1a3471
%if 0%{?rhel} == 8
5b02c4
  %if %{rhel_minor_version} >= 3
1a3471
# fixing /usr/include in the patch for the flatpak build
1a3471
    %if 0%{?flatpak}
1a3471
sed -ie 's|/usr/include|/app/include|' %_sourcedir/firefox-pipewire-0-3.patch
1a3471
    %endif
1a3471
%patch235 -p1 -b .pipewire-0-3
1a3471
  %else
1a3471
%patch231 -p1 -b .pipewire
1a3471
  %endif
1a3471
%endif
1a3471
1a3471
%patch236 -p1 -b .fedora-shebang-build
1a3471
%patch237 -p1 -b .disable-openpgp-in-thunderbird
1a3471
1a3471
%if 0%{?rhel} == 6
1a3471
%patch232 -p1 -b .hugepage
1a3471
%patch233 -p1 -b .rhel6-nss-tls1.3
1a3471
%endif
1a3471
%patch234 -p1 -b .rhbz-1821418
1a3471
1a3471
%patch402 -p1 -b .1196777
1a3471
1a3471
# Patch for big endian platforms only
1a3471
%if 0%{?big_endian}
1a3471
%endif
1a3471
1a3471
# Thunderbird patches
1a3471
%patch501 -p1 -b .python-encode
1a3471
%patch503 -p1 -b .mozilla-s390-context
1a3471
%patch505 -p1 -b .mozilla-bmo1005535
1a3471
%patch506 -p1 -b .mozilla-bmo1504834-part1
1a3471
%patch507 -p1 -b .mozilla-bmo1504834-part2
1a3471
%patch508 -p1 -b .mozilla-bmo1504834-part3
1a3471
%patch509 -p1 -b .mozilla-bmo1504834-part4
1a3471
%patch510 -p1 -b .mozilla-bmo1554971
1a3471
%patch511 -p1 -b .mozilla-bmo1602730
1a3471
%patch512 -p1 -b .mozilla-bmo849632
1a3471
%patch513 -p1 -b .mozilla-bmo998749
1a3471
%patch514 -p1 -b .mozilla-s390x-skia-gradient
1a3471
%patch515 -p1 -b .mozilla-bmo1626236
1a3471
%patch516 -p1 -b .D87019-thin-vec-big-endian.diff
1a3471
1a3471
1a3471
%patch1001 -p1 -b .ppc64le-inline
1a3471
%patch1004 -p1 -b .icu-make
1a3471
1a3471
%if 0%{?rhel} == 6
1a3471
%patch600 -p1 -b .rhel6-dbusver
1a3471
%patch601 -p1 -b .rhel6-kernel
1a3471
%patch602 -p1 -b .rhel6-mach-fail
1a3471
%patch603 -p1 -b .rhel6-zconst
1a3471
%patch604 -p1 -b .rhel6-auxvh
1a3471
%patch605 -p1 -b .rhel6-abiv2-mozbz1642174
1a3471
%patch606 -p1 -b .rhel6-auxv
1a3471
%patch607 -p1 -R -b .rhel6-at-no-automount
1a3471
%patch608 -p1 -b .rhel6-clock_gettime
1a3471
%endif
1a3471
1a3471
# CentOS patches
1a3471
%if 0%{?centos}
1a3471
%patch10000 -p1 -b .mozilla-1238661
1a3471
%patch10001 -p1 -b .mozilla-1526653
1a3471
%endif
1a3471
1a3471
%{__rm} -f .mozconfig
1a3471
%{__cp} %{SOURCE10} .mozconfig
1a3471
function add_to_mozconfig() {
1a3471
  mozconfig_entry=$1
1a3471
  echo "ac_add_options --$1" >> .mozconfig
1a3471
}
1a3471
1a3471
# Modify mozconfig file
1a3471
%if %{official_branding}
1a3471
 add_to_mozconfig "enable-official-branding"
1a3471
%endif
1a3471
%{__cp} %{SOURCE24} mozilla-api-key
1a3471
%{__cp} %{SOURCE27} google-api-key
1a3471
1a3471
%if %{?system_nss}
1a3471
 add_to_mozconfig "with-system-nspr"
1a3471
 add_to_mozconfig "with-system-nss"
1a3471
%else
1a3471
 add_to_mozconfig "without-system-nspr"
1a3471
 add_to_mozconfig "without-system-nss"
1a3471
%endif
1a3471
1a3471
%if 0%{?use_bundled_ffi}
1a3471
 add_to_mozconfig "with-system-ffi"
1a3471
%endif
1a3471
1a3471
%if 0%{?system_ffi}
1a3471
 add_to_mozconfig "with-system-ffi"
1a3471
%endif
1a3471
%ifarch %{arm} %{ix86} x86_64
1a3471
 add_to_mozconfig "disable-elf-hack"
1a3471
%endif
1a3471
1a3471
%if %{?system_hunspell}
1a3471
echo "ac_add_options --enable-system-hunspell" >> .mozconfig
1a3471
%else
1a3471
# not available?
1a3471
#echo "ac_add_options --disable-system-hunspell" >> .mozconfig
1a3471
%endif
1a3471
1a3471
%if %{?debug_build}
1a3471
 add_to_mozconfig "enable-debug"
1a3471
 add_to_mozconfig "disable-optimize"
1a3471
%else
1a3471
%global optimize_flags "-g -O2"
1a3471
%ifarch s390 s390x
1a3471
%global optimize_flags "-g -O1"
1a3471
%endif
1a3471
%ifarch armv7hl
1a3471
# ARMv7 need that (rhbz#1426850)
1a3471
%global optimize_flags "-g -O2 -fno-schedule-insns"
1a3471
%endif
1a3471
%ifarch ppc64le aarch64
1a3471
%global optimize_flags "-g -O2"
1a3471
%endif
1a3471
%if %{optimize_flags} != "none"
1a3471
echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig
1a3471
%else
1a3471
echo 'ac_add_options --enable-optimize' >> .mozconfig
1a3471
%endif
1a3471
echo "ac_add_options --disable-debug" >> .mozconfig
1a3471
%endif
1a3471
1a3471
# Second arches fail to start with jemalloc enabled
1a3471
%ifnarch %{ix86} x86_64
1a3471
echo "ac_add_options --disable-jemalloc" >> .mozconfig
1a3471
%endif
1a3471
1a3471
%ifnarch %{ix86} x86_64
1a3471
echo "ac_add_options --disable-webrtc" >> .mozconfig
1a3471
%endif
1a3471
1a3471
%if !%{?system_jpeg}
1a3471
echo "ac_add_options --without-system-jpeg" >> .mozconfig
1a3471
%else
1a3471
echo "ac_add_options --with-system-jpeg" >> .mozconfig
1a3471
%endif
1a3471
1a3471
%if %{?system_libvpx}
1a3471
echo "ac_add_options --with-system-libvpx" >> .mozconfig
1a3471
%else
1a3471
echo "ac_add_options --without-system-libvpx" >> .mozconfig
1a3471
%endif
1a3471
1a3471
%if %{?system_libicu}
1a3471
echo "ac_add_options --with-system-icu" >> .mozconfig
1a3471
%else
1a3471
echo "ac_add_options --without-system-icu" >> .mozconfig
1a3471
%endif
1a3471
%ifarch s390 s390x
1a3471
echo "ac_add_options --disable-jit" >> .mozconfig
1a3471
%endif
1a3471
1a3471
%ifnarch %{ix86}
1a3471
%if !0%{?debug_build}
1a3471
echo "ac_add_options --disable-debug-symbols" >> .mozconfig
1a3471
%endif
1a3471
%endif
1a3471
1a3471
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig
1a3471
1a3471
# Remove executable bit to make brp-mangle-shebangs happy.
1a3471
chmod -x third_party/rust/itertools/src/lib.rs
1a3471
chmod a-x third_party/rust/gfx-backend-vulkan/src/*.rs
1a3471
chmod a-x third_party/rust/gfx-hal/src/*.rs
1a3471
chmod a-x third_party/rust/ash/src/extensions/ext/*.rs
1a3471
chmod a-x third_party/rust/ash/src/extensions/khr/*.rs
1a3471
chmod a-x third_party/rust/ash/src/extensions/mvk/*.rs
1a3471
chmod a-x third_party/rust/ash/src/extensions/nv/*.rs
1a3471
1a3471
# install lightning langpacks
1a3471
1a3471
%build
1a3471
ulimit -a
1a3471
free
1a3471
#set -e
1a3471
# Hack for missing shell when building in brew on RHEL6
1a3471
%if 0%{?rhel} == 6
1a3471
export SHELL=/bin/sh
1a3471
%endif
1a3471
1a3471
#GTK3 >>
1a3471
%if ! 0%{?avoid_bundled_rebuild}
1a3471
    rm -rf %{_buildrootdir}/*
1a3471
%endif
1a3471
export PATH="%{_buildrootdir}/bin:$PATH"
1a3471
1a3471
function install_rpms_to_current_dir() {
1a3471
    PACKAGE_RPM=$(eval echo $1)
1a3471
    PACKAGE_DIR=%{_rpmdir}
1a3471
1a3471
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
1a3471
        # Hack for tps tests
1a3471
        ARCH_STR=%{_arch}
1a3471
        %ifarch i386 i686
1a3471
            ARCH_STR="i?86"
1a3471
        %endif
1a3471
        %if 0%{?rhel} > 6
1a3471
          PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
1a3471
        %endif
1a3471
     fi
1a3471
1a3471
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
1a3471
     do
1a3471
         echo "$package"
1a3471
         rpm2cpio "$package" | cpio -idu
1a3471
     done
1a3471
}
1a3471
1a3471
function build_bundled_package() {
1a3471
  PACKAGE_RPM=$1
1a3471
  PACKAGE_FILES=$2
1a3471
  PACKAGE_SOURCE=$3
1a3471
  PACKAGE_BUILD_OPTIONS=$4
1a3471
  export PACKAGE_DIR="%{_topdir}/RPMS"
1a3471
1a3471
  PACKAGE_ALREADY_BUILD=0
1a3471
  %if %{?avoid_bundled_rebuild}
1a3471
    if ls $PACKAGE_DIR/$PACKAGE_RPM; then
1a3471
      PACKAGE_ALREADY_BUILD=1
1a3471
    fi
1a3471
    if ls $PACKAGE_DIR/%{_arch}/$PACKAGE_RPM; then
1a3471
      PACKAGE_ALREADY_BUILD=1
1a3471
    fi
1a3471
  %endif
1a3471
  if [ $PACKAGE_ALREADY_BUILD == 0 ]; then
1a3471
    echo "Rebuilding $PACKAGE_RPM from $PACKAGE_SOURCE"; echo "==============================="
1a3471
    rpmbuild --nodeps $PACKAGE_BUILD_OPTIONS --rebuild $PACKAGE_SOURCE
1a3471
    cat /var/tmp/rpm-tmp*
1a3471
  fi
1a3471
1a3471
  find $PACKAGE_DIR
1a3471
  if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
1a3471
    # Hack for tps tests
1a3471
    ARCH_STR=%{_arch}
1a3471
    %ifarch i386 i686
1a3471
    ARCH_STR="i?86"
1a3471
    %endif
1a3471
    %if 0%{?rhel} > 6
1a3471
      export PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
1a3471
    %endif
1a3471
  fi
1a3471
  pushd $PACKAGE_DIR
1a3471
1a3471
  echo "Installing $PACKAGE_DIR/$PACKAGE_RPM"; echo "==============================="
1a3471
  pwd
1a3471
  PACKAGE_LIST=$(echo $PACKAGE_DIR/$PACKAGE_RPM | tr " " "\n")
1a3471
  for PACKAGE in $PACKAGE_LIST
1a3471
  do
1a3471
      rpm2cpio $PACKAGE | cpio -iduv
1a3471
  done
1a3471
1a3471
  PATH=$PACKAGE_DIR/usr/bin:$PATH
1a3471
  export PATH
1a3471
  LD_LIBRARY_PATH=$PACKAGE_DIR/usr/%{_lib}:$LD_LIBRARY_PATH
1a3471
  export LD_LIBRARY_PATH
1a3471
1a3471
  # Clean rpms to avoid including them to package
1a3471
  %if ! 0%{?avoid_bundled_rebuild}
1a3471
    rm -f $PACKAGE_FILES
1a3471
  %endif
1a3471
1a3471
  popd
1a3471
}
1a3471
1a3471
# Build and install local yasm if needed
1a3471
# ======================================
1a3471
%if 0%{?use_bundled_yasm}
1a3471
  build_bundled_package 'yasm-1*.rpm' 'yasm-*.rpm' '%{SOURCE301}'
1a3471
%endif
1a3471
1a3471
%if 0%{?bundle_nss}
1a3471
   rpm -ivh %{SOURCE402}
1a3471
   #rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' --without=tests -ba %{_specdir}/nspr.spec
1a3471
   rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/nspr.spec
1a3471
   pushd %{_buildrootdir}
1a3471
   install_rpms_to_current_dir nspr-4*.rpm
1a3471
   install_rpms_to_current_dir nspr-devel*.rpm
1a3471
   popd
1a3471
   echo "Setting nspr flags"
1a3471
   # nss-setup-flags-env.inc
1a3471
   sed -i 's@%{gtk3_install_path}@%{_buildrootdir}%{gtk3_install_path}@g' %{_buildrootdir}%{gtk3_install_path}/%{_lib}/pkgconfig/nspr*.pc
1a3471
1a3471
   export LDFLAGS="-L%{_buildrootdir}%{gtk3_install_path}/%{_lib} $LDFLAGS"
1a3471
   export LDFLAGS="-Wl,-rpath,%{gtk3_install_path}/%{_lib} $LDFLAGS"
1a3471
   export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{gtk3_install_path}/%{_lib} $LDFLAGS"
1a3471
   export PKG_CONFIG_PATH=%{_buildrootdir}%{gtk3_install_path}/%{_lib}/pkgconfig
1a3471
   export PATH="{_buildrootdir}%{gtk3_install_path}/bin:$PATH"
1a3471
1a3471
   export PATH=%{_buildrootdir}/%{gtk3_install_path}/bin:$PATH
1a3471
   echo $PKG_CONFIG_PATH
1a3471
1a3471
   rpm -ivh %{SOURCE403}
1a3471
   rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/nss.spec
1a3471
   pushd %{_buildrootdir}
1a3471
   #cleanup
1a3471
   #rm -rf {_buildrootdir}/usr/lib/debug/*
1a3471
   #rm -rf {_buildrootdir}/usr/lib/.build-id
1a3471
   #install_rpms_to_current_dir nss-%{gtk3_nvr}*.rpm
1a3471
   #install_rpms_to_current_dir nss-devel-%{gtk3_nvr}*.rpm
1a3471
   install_rpms_to_current_dir nss-3*.rpm
1a3471
   install_rpms_to_current_dir nss-devel*.rpm
1a3471
   install_rpms_to_current_dir nss-pkcs11-devel*.rpm
1a3471
   install_rpms_to_current_dir nss-softokn-3*.rpm
1a3471
   install_rpms_to_current_dir nss-softokn-devel*.rpm
1a3471
   install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
1a3471
   install_rpms_to_current_dir nss-softokn-freebl-devel*.rpm
1a3471
   install_rpms_to_current_dir nss-util-3*.rpm
1a3471
   install_rpms_to_current_dir nss-util-devel*.rpm
1a3471
   popd
1a3471
  %filter_provides_in %{gtk3_install_path}/%{_lib}
1a3471
  %filter_requires_in %{gtk3_install_path}/%{_lib}
1a3471
  %filter_from_requires /libnss3.so.*/d
1a3471
  %filter_from_requires /libsmime3.so.*/d
1a3471
  %filter_from_requires /libssl3.so.*/d
1a3471
  %filter_from_requires /libnssutil3.so.*/d
1a3471
  %filter_from_requires /libnspr4.so.*/d
1a3471
%endif
1a3471
1a3471
%if 0%{?rhel} == 6
1a3471
  %filter_from_requires /libnss3.so.*/d
1a3471
  %filter_from_requires /libsmime3.so.*/d
1a3471
  %filter_from_requires /libssl3.so.*/d
1a3471
  %filter_from_requires /libnssutil3.so.*/d
1a3471
  %filter_from_requires /libnspr4.so.*/d
1a3471
  %filter_from_provides /libnss3.so.*/d
1a3471
  %filter_from_provides /libsmime3.so.*/d
1a3471
  %filter_from_provides /libssl3.so.*/d
1a3471
  %filter_from_provides /libnssutil3.so.*/d
1a3471
  %filter_from_provides /libnspr4.so.*/d
1a3471
%endif
1a3471
1a3471
%if 0%{?bundle_gtk3}
1a3471
   %if ! 0%{?avoid_bundled_rebuild}
1a3471
    rpm -ivh %{SOURCE200}
1a3471
    rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/gtk3-private.spec
1a3471
   %endif
1a3471
   pushd %{_buildrootdir}
1a3471
   install_rpms_to_current_dir gtk3-private-%{gtk3_nvr}*.rpm
1a3471
   install_rpms_to_current_dir gtk3-private-devel-%{gtk3_nvr}*.rpm
1a3471
   install_rpms_to_current_dir gtk3-private-rpm-scripts-%{gtk3_nvr}*.rpm
1a3471
   popd
1a3471
%endif
1a3471
1a3471
%if 0%{?bundle_gtk3}
1a3471
# gtk3-private-3.22.26.el6-1-requires-provides-filter.inc
1a3471
%include_file %{SOURCE206}
1a3471
%endif
1a3471
%if 0%{use_bundled_ffi}
1a3471
  # Install libraries to the predefined location to later add them to the Firefox libraries
1a3471
  rpm -ivh %{SOURCE303}
1a3471
  rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/libffi.spec
1a3471
  pushd %{_buildrootdir}
1a3471
  install_rpms_to_current_dir 'libffi*.rpm'
1a3471
  popd
1a3471
  %filter_from_requires /libffi.so.6/d
1a3471
%endif
1a3471
%filter_setup
1a3471
1a3471
# If needed build the bundled python 2.7 and 3.6 and put it in the PATH
1a3471
%if 0%{?use_bundled_python_3}
1a3471
    pushd %{_builddir}/python3/Python-%{bundled_python_version_3}
1a3471
    ./configure --prefix="%{_buildrootdir}" --exec-prefix="%{_buildrootdir}" --libdir="%{_buildrootdir}/lib"
1a3471
    make %{?_smp_mflags} install V=1 -j1
1a3471
    cp Tools/scripts/pathfix.py %{_buildrootdir}/bin
1a3471
    popd
1a3471
%endif
1a3471
%if 0%{?use_bundled_python_2}
1a3471
    pushd %{_builddir}/python2/Python-%{bundled_python_version_2}
1a3471
    ./configure --prefix="%{_buildrootdir}" --exec-prefix="%{_buildrootdir}" --libdir="%{_buildrootdir}/lib"
1a3471
    make %{?_smp_mflags} install V=1
1a3471
    popd    
1a3471
%endif
1a3471
1a3471
function replace_prefix() {
1a3471
  FILE_NAME=$1
1a3471
  PKG_CONFIG_PREFIX=$2
1a3471
1a3471
  cat $FILE_NAME | tail -n +2 > tmp.txt
1a3471
  echo "$PKG_CONFIG_PREFIX" > $FILE_NAME
1a3471
  cat tmp.txt >> $FILE_NAME
1a3471
  rm -rf tmp.txt
1a3471
}
1a3471
1a3471
# Build and install local openssl if needed
1a3471
# =========================================
1a3471
%if 0%{?use_bundled_openssl}
1a3471
  rpm -ivh %{SOURCE305}
1a3471
  rpmbuild --nodeps -ba %{_specdir}/openssl.spec
1a3471
  pushd %{_buildrootdir}
1a3471
  install_rpms_to_current_dir openssl-1.0.2k*.rpm
1a3471
  install_rpms_to_current_dir openssl-libs-1.0.2k*.rpm
1a3471
  install_rpms_to_current_dir openssl-devel-1.0.2k*.rpm
1a3471
  install_rpms_to_current_dir openssl-static-1.0.2k*.rpm
1a3471
  # openssl is installed to %{_buildrootdir}/usr/lib(64)/...
1a3471
  export PKG_CONFIG_PATH=%{_buildrootdir}/%{_libdir}/pkgconfig/:$PKG_CONFIG_PATH
1a3471
  replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/libcrypto.pc prefix=%{_buildrootdir}/usr
1a3471
  replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/libssl.pc prefix=%{_buildrootdir}/usr
1a3471
  replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/openssl.pc prefix=%{_buildrootdir}/usr
1a3471
  cat  %{_buildrootdir}/%{_libdir}/pkgconfig/libcrypto.pc
1a3471
  cat  %{_buildrootdir}/%{_libdir}/pkgconfig/libssl.pc
1a3471
  cat  %{_buildrootdir}/%{_libdir}/pkgconfig/openssl.pc
1a3471
  pushd %{_rpmdir}
1a3471
  rm -f openssl-*.rpm
1a3471
  popd
1a3471
  popd
1a3471
%endif
1a3471
1a3471
# GTK3 <<
1a3471
# We need to disable exit on error temporarily for the following scripts:
1a3471
set +e
1a3471
%if 0%{?use_dts}
1a3471
source scl_source enable devtoolset-%{dts_version}
1a3471
%endif
1a3471
%if 0%{?use_rustts}
1a3471
source scl_source enable rust-toolset-%{rust_toolset_version}
1a3471
%endif
1a3471
1a3471
env
1a3471
which gcc
1a3471
which c++
1a3471
which g++
1a3471
which ld
1a3471
# Build and install local node if needed
1a3471
# ======================================
1a3471
%if %{use_bundled_nodejs}
1a3471
  build_bundled_package 'nodejs-10*.rpm' 'nodejs-*.rpm npm-*.rpm' %{SOURCE304} "--with bootstrap"
1a3471
  export MOZ_NODEJS=$PACKAGE_DIR/usr/bin/node
1a3471
%else
1a3471
  export MOZ_NODEJS=/usr/bin/node
1a3471
%endif
1a3471
1a3471
mkdir -p my_rust_vendor
1a3471
cd my_rust_vendor
1a3471
%{__tar} xf %{SOURCE2}
1a3471
cd -
1a3471
mkdir -p .cargo
1a3471
cat > .cargo/config <
1a3471
[source.crates-io]
1a3471
replace-with = "vendored-sources"
1a3471
1a3471
[source.vendored-sources]
1a3471
directory = "`pwd`/my_rust_vendor"
1a3471
EOL
1a3471
1a3471
export CARGO_HOME=.cargo
1a3471
cargo install cbindgen
1a3471
export PATH=`pwd`/.cargo/bin:$PATH
1a3471
export CBINDGEN=`pwd`/.cargo/bin/cbindgen
1a3471
1a3471
1a3471
# debug missing sqlite3 python module
1a3471
./mach python -c "import sys;print(sys.path)"
1a3471
1a3471
%if 0%{?big_endian}
1a3471
  %if 0%{?flatpak}
1a3471
echo "Generate big endian version of config/external/icu/data/icud58l.dat"
1a3471
icupkg -tb config/external/icu/data/icudt67l.dat config/external/icu/data/icudt67b.dat
1a3471
ls -l config/external/icu/data
1a3471
rm -f config/external/icu/data/icudt*l.dat
1a3471
  %else
1a3471
echo "Generate big endian version of config/external/icu/data/icud64l.dat"
1a3471
 ./mach python intl/icu_sources_data.py .
1a3471
 rm -f config/external/icu/data/icudt*l.dat
1a3471
# mv config/external/icu/data/icudt64l.dat config/external/icu/data/icudt64b.dat
1a3471
 ls -l config/external/icu/data
1a3471
 cat /tmp/icu-make*
1a3471
  %endif
1a3471
%endif
1a3471
1a3471
mkdir %{_buildrootdir}/bin || :
1a3471
cp %{SOURCE28} %{_buildrootdir}/bin || :
1a3471
chmod +x %{_buildrootdir}/bin/node-stdout-nonblocking-wrapper
1a3471
1a3471
# Update the various config.guess to upstream release for aarch64 support
1a3471
find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
1a3471
1a3471
# -fpermissive is needed to build with gcc 4.6+ which has become stricter
1a3471
#
1a3471
# Mozilla builds with -Wall with exception of a few warnings which show up
1a3471
# everywhere in the code; so, don't override that.
1a3471
#
1a3471
# Disable C++ exceptions since Mozilla code is not exception-safe
1a3471
#
1a3471
MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
1a3471
#rhbz#1037063
1a3471
# -Werror=format-security causes build failures when -Wno-format is explicitly given
1a3471
# for some sources
1a3471
# Explicitly force the hardening flags for Firefox so it passes the checksec test;
1a3471
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
1a3471
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
1a3471
%if 0%{?fedora} > 23
1a3471
# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
1a3471
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks"
1a3471
%endif
1a3471
# Use hardened build?
1a3471
%if %{?hardened_build}
1a3471
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
1a3471
%endif
1a3471
%if %{?debug_build}
1a3471
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//')
1a3471
%endif
1a3471
%ifarch s390
1a3471
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/')
1a3471
# If MOZ_DEBUG_FLAGS is empty, firefox's build will default it to "-g" which
1a3471
# overrides the -g1 from line above and breaks building on s390
1a3471
# (OOM when linking, rhbz#1238225)
1a3471
export MOZ_DEBUG_FLAGS=" "
1a3471
%endif
1a3471
1a3471
# We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss
1a3471
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
1a3471
1a3471
%ifarch s390 %{arm} ppc aarch64 i686 x86_64 s390x
1a3471
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
1a3471
%endif
1a3471
%ifarch %{arm} i686
1a3471
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--strip-debug"
1a3471
echo "ac_add_options --enable-linker=gold" >> .mozconfig
1a3471
%endif
1a3471
1a3471
%ifarch %{arm} i686
1a3471
export RUSTFLAGS="-Cdebuginfo=0"
1a3471
%endif
1a3471
export CFLAGS=$MOZ_OPT_FLAGS
1a3471
export CXXFLAGS=$MOZ_OPT_FLAGS
1a3471
export LDFLAGS=$MOZ_LINK_FLAGS
1a3471
1a3471
export PREFIX='%{_prefix}'
1a3471
export LIBDIR='%{_libdir}'
1a3471
export CC=gcc
1a3471
export CXX=g++
1a3471
1a3471
MOZ_SMP_FLAGS=-j1
1a3471
# More than two build tasks can lead to OOM gcc crash.
1a3471
%if 0%{?rhel} < 8
1a3471
[ -z "$RPM_BUILD_NCPUS" ] && \
1a3471
     RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
1a3471
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
1a3471
%else
1a3471
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64
1a3471
[ -z "$RPM_BUILD_NCPUS" ] && \
1a3471
     RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
1a3471
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
1a3471
[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j2
1a3471
[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j2
1a3471
%endif
1a3471
%endif
1a3471
1a3471
cat /proc/meminfo
1a3471
# Free memory in kB
1a3471
1a3471
MEM_AVAILABLE=$(grep MemAvailable /proc/meminfo | awk '{ print $2 }')
1a3471
1a3471
# Usually the compiler processes can take 2 GB of memory at peaks
1a3471
TASK_SIZE=4000000
1a3471
MEM_CONSTRAINED_JOBS=$(( MEM_AVAILABLE / TASK_SIZE ))
1a3471
CPU_AVAILABLE=$(/usr/bin/getconf _NPROCESSORS_ONLN)
1a3471
# Pick the minimum from available CPUs or memory constrained number of jobs
1a3471
#MOZ_SMP_FLAGS=-j$([ "$CPU_AVAILABLE" -le "$MEM_CONSTRAINED_JOBS" ] && echo "$CPU_AVAILABLE" || echo "$MEM_CONSTRAINED_JOBS")
1a3471
1a3471
%if 0%{?bundle_gtk3}
1a3471
# gtk3-private-setup-flags-env.inc
1a3471
%include_file %{SOURCE205}
1a3471
%endif
1a3471
1a3471
1a3471
#FIXME workaround for oom
1a3471
1a3471
cat /proc/meminfo
1a3471
# Free memory in kB
1a3471
1a3471
MEM_AVAILABLE=$(grep MemAvailable /proc/meminfo | awk '{ print $2 }')
1a3471
1a3471
%if 0%{?bundle_nss}
1a3471
echo "Setting nss flags"
1a3471
# nss-setup-flags-env.inc
1a3471
%include_file %{SOURCE401}
1a3471
export PATH=%{_buildrootdir}/%{gtk3_install_path}/bin:$PATH
1a3471
echo $PKG_CONFIG_PATH
1a3471
%endif
1a3471
1a3471
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
1a3471
#export MOZ_SERVICES_SYNC="1"
1a3471
# we need to strip the sources on i686 because to we don't use rpm to generate debugsymbols because of oom
1a3471
%ifnarch i686 i386
1a3471
export STRIP=/bin/true
1a3471
%endif
1a3471
which node
1a3471
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"'
1a3471
env
1a3471
ls %{_buildrootdir}
1a3471
1a3471
1a3471
%if 0%{?rhel} == 6
1a3471
export POLICY_FILE="rhel6.config"
1a3471
export POLICT_PATH="/etc/pki/nss-legacy"
1a3471
%endif
1a3471
1a3471
%if 0%{?use_llvmts}
1a3471
scl enable llvm-toolset-%{llvm_version} './mach build -v'
1a3471
%else
1a3471
./mach build -v
1a3471
%endif
1a3471
1a3471
#---------------------------------------------------------------------
1a3471
1a3471
%install
1a3471
%if 0%{?rhel} == 6
1a3471
export SHELL=/bin/sh
1a3471
%endif
1a3471
1a3471
function install_rpms_to_current_dir() {
1a3471
    PACKAGE_RPM=$(eval echo $1)
1a3471
    PACKAGE_DIR=%{_rpmdir}
1a3471
1a3471
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
1a3471
        # Hack for tps tests
1a3471
        ARCH_STR=%{_arch}
1a3471
        %ifarch i386 i686
1a3471
            ARCH_STR="i?86"
1a3471
        %endif
1a3471
        %if 0%{?rhel} > 6
1a3471
          PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
1a3471
        %endif
1a3471
     fi
1a3471
1a3471
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
1a3471
     do
1a3471
         echo "$package"
1a3471
         rpm2cpio "$package" | cpio -idu
1a3471
     done
1a3471
}
1a3471
1a3471
%if 0%{?bundle_gtk3}
1a3471
pushd %{buildroot}
1a3471
# Install gtk3-private again to the buildroot, but without devel subpackage
1a3471
install_rpms_to_current_dir gtk3-private-%{gtk3_nvr}*.rpm
1a3471
install_rpms_to_current_dir gtk3-private-rpm-scripts-%{gtk3_nvr}*.rpm
1a3471
popd
1a3471
%endif
1a3471
1a3471
%if 0%{?bundle_nss}
1a3471
  pushd %{buildroot}
1a3471
  #install_rpms_to_current_dir nss-*.rpm
1a3471
  install_rpms_to_current_dir nspr-4*.rpm
1a3471
  install_rpms_to_current_dir nss-3*.rpm
1a3471
  install_rpms_to_current_dir nss-softokn-3*.rpm
1a3471
  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
1a3471
  install_rpms_to_current_dir nss-util-3*.rpm
1a3471
 
1a3471
  # cleanup unecessary nss files
1a3471
  #rm -rf %{_buildrootdir}/%{gtk3_install_path}/bin
1a3471
  #rm -rf %{_buildrootdir}/%{gtk3_install_path}/include
1a3471
  rm -rf %{buildroot}/%{gtk3_install_path}/lib/dracut
1a3471
  rm -rf %{buildroot}/%{gtk3_install_path}/%{_lib}/nss
1a3471
  #rm -rf %{_buildrootdir}/%{gtk3_install_path}/%{_lib}/pkgconfig
1a3471
  rm -rf %{buildroot}/%{gtk3_install_path}/%{_lib}/share
1a3471
  rm -rf %{buildroot}/%{gtk3_install_path}/share
1a3471
  rm -rf %{buildroot}/etc/pki
1a3471
  rm -rf %{buildroot}/usr/lib/.build-id
1a3471
  rm -rf %{buildroot}/etc/crypto-policies
1a3471
  popd
1a3471
%endif
1a3471
1a3471
# Install bundled libffi
1a3471
%if %{use_bundled_ffi}
1a3471
  pushd %{buildroot}
1a3471
  install_rpms_to_current_dir libffi-3*.rpm
1a3471
  popd
1a3471
%endif
1a3471
1a3471
DESTDIR=%{buildroot} make -C objdir install
1a3471
1a3471
%{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications}
1a3471
1a3471
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20}
1a3471
1a3471
# set up the thunderbird start script
1a3471
rm -rf %{buildroot}%{_bindir}/thunderbird
1a3471
%{__rm} -rf %{buildroot}%{_bindir}/thunderbird
1a3471
%{__cat} %{SOURCE21} > %{buildroot}%{_bindir}/thunderbird
1a3471
sed -i -e 's|%PREFIX%|%{_prefix}|' %{buildroot}%{_bindir}/thunderbird
1a3471
%if 0%{?bundle_gtk3}
1a3471
sed -i -e 's|%RHEL_ENV_VARS%|export XDG_DATA_DIRS="$MOZ_LIB_DIR/thunderbird/bundled/share:/usr/share:$XDG_DATA_DIRS"\nexport FONTCONFIG_FILE="$MOZ_LIB_DIR/thunderbird/bundled/etc/fonts/fonts.conf"|' %{buildroot}%{_bindir}/thunderbird
1a3471
%else
1a3471
sed -i -e 's|%RHEL_ENV_VARS%||' %{buildroot}%{_bindir}/thunderbird
1a3471
%endif
1a3471
%{__chmod} 755 %{buildroot}%{_bindir}/thunderbird
1a3471
1a3471
# Setup preferences, depends on RHEL version
1a3471
THUNDERBIRD_PREF_SOURCE=%{SOURCE701}
1a3471
%if 0%{?rhel} == 6
1a3471
  THUNDERBIRD_PREF_SOURCE=%{SOURCE601}
1a3471
%endif
1a3471
1a3471
# Fill in THUNDERBIRD_RPM_VR into our rh-default-prefs
1a3471
%{__cat} $THUNDERBIRD_PREF_SOURCE | %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' > \
1a3471
        %{buildroot}/rh-default-prefs
1a3471
%{__install} -D %{buildroot}/rh-default-prefs %{buildroot}/%{mozappdir}/greprefs/all-redhat.js
1a3471
%{__install} -D %{buildroot}/rh-default-prefs %{buildroot}/%{mozappdir}/defaults/pref/all-redhat.js
1a3471
%{__rm} %{buildroot}/rh-default-prefs
1a3471
1a3471
# install icons
1a3471
for s in 16 22 24 32 48 256; do
1a3471
    %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
1a3471
    %{__cp} -p comm/mail/branding/%{name}/default${s}.png \
1a3471
               %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/thunderbird.png
1a3471
done
1a3471
1a3471
%{__rm} -f %{buildroot}%{_bindir}/thunderbird-config
1a3471
1a3471
# own mozilla plugin dir (#135050)
1a3471
%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/plugins
1a3471
1a3471
# own extension directories
1a3471
%{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{thunderbird_app_id}
1a3471
%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{thunderbird_app_id}
1a3471
1a3471
# Install langpacks
1a3471
echo > %{name}.lang
1a3471
%if %{build_langpacks}
1a3471
# Extract langpacks, make any mods needed, repack the langpack, and install it.
1a3471
%{__mkdir_p} %{buildroot}%{langpackdir}
1a3471
%{__tar} xf %{SOURCE1}
1a3471
for langpack in `ls thunderbird-langpacks/*.xpi`; do
1a3471
  language=`basename $langpack .xpi`
1a3471
  extensionID=langpack-$language@thunderbird.mozilla.org
1a3471
  %{__mkdir_p} $extensionID
1a3471
  unzip $langpack -d $extensionID
1a3471
  find $extensionID -type f | xargs chmod 644
1a3471
1a3471
  cd $extensionID
1a3471
  zip -r9mX ../${extensionID}.xpi *
1a3471
  cd -
1a3471
1a3471
  %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir}
1a3471
  language=`echo $language | sed -e 's/-/_/g'`
1a3471
  echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang
1a3471
done
1a3471
%{__rm} -rf thunderbird-langpacks
1a3471
1a3471
echo "Adding following langpacks:"
1a3471
cat %{name}.lang
1a3471
%endif
1a3471
1a3471
# Get rid of devel package and its debugsymbols
1a3471
%{__rm} -rf %{buildroot}%{_libdir}/%{name}-devel-%{version}
1a3471
1a3471
# Copy over the LICENSE
1a3471
%{__install} -p -c -m 644 LICENSE %{buildroot}/%{mozappdir}
1a3471
1a3471
# Use the system hunspell dictionaries
1a3471
%{__rm} -rf %{buildroot}%{mozappdir}/dictionaries
1a3471
ln -s %{_datadir}/myspell %{buildroot}%{mozappdir}/dictionaries
1a3471
1a3471
# ghost files
1a3471
%{__mkdir_p} %{buildroot}%{mozappdir}/components
1a3471
touch %{buildroot}%{mozappdir}/components/compreg.dat
1a3471
touch %{buildroot}%{mozappdir}/components/xpti.dat
1a3471
1a3471
# Clean thunderbird-devel debuginfo
1a3471
rm -rf %{_prefix}/lib/debug/lib/%{name}-devel-*
1a3471
rm -rf %{_prefix}/lib/debug/lib64/%{name}-devel-*
1a3471
1a3471
# Fixing python version
1a3471
test -f "%{buildroot}%{mozappdir}/distribution/extensions/unicode-segmentation/scripts/unicode_gen_breaktests.py" && sed -i -e 's|/usr/bin/env python$|/usr/bin/env python2|' %{buildroot}%{mozappdir}/distribution/extensions/unicode-segmentation/scripts/unicode_gen_breaktests.py
1a3471
test -f "%{buildroot}%{mozappdir}/distribution/extensions/unicode-segmentation/scripts/unicode.py" && sed -i -e 's|/usr/bin/env python$|/usr/bin/env python2|' %{buildroot}%{mozappdir}/distribution/extensions/unicode-segmentation/scripts/unicode.py
1a3471
test -f "%{buildroot}%{mozappdir}/distribution/extensions/unicode-width/scripts/unicode.py" && sed -i -e 's|/usr/bin/env python$|/usr/bin/env python2|' %{buildroot}%{mozappdir}/distribution/extensions/unicode-width/scripts/unicode.py
1a3471
1a3471
# Removing librnp.so - we cannot deliver that in RHELs
1a3471
%{__rm} -rf %{buildroot}%{mozappdir}/librnp.so
1a3471
1a3471
# Register as an application to be visible in the software center
1a3471
#
1a3471
# NOTE: It would be *awesome* if this file was maintained by the upstream
1a3471
# project, translated and installed into the right place during `make install`.
1a3471
#
1a3471
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
1a3471
#
1a3471
mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
1a3471
cat > $RPM_BUILD_ROOT%{_datadir}/appdata/mozilla-thunderbird.appdata.xml <
1a3471
1a3471
1a3471
1a3471
BugReportURL: https://bugzilla.mozilla.org/show_bug.cgi?id=1071065
1a3471
SentUpstream: 2014-09-22
1a3471
-->
1a3471
<application>
1a3471
  <id type="desktop">mozilla-thunderbird.desktop</id>
1a3471
  <metadata_license>CC0-1.0</metadata_license>
3322f6
  <project_license>MPLv1.1 or GPLv2+ or LGPLv2+</project_license>
1a3471
  <description>
1a3471
    

1a3471
      Thunderbird is an email client that allows you to read, write and organise all
1a3471
      of your email messages. It is compatible with most email accounts, including the
1a3471
      most popular webmail services.
1a3471
    

1a3471
    

1a3471
      Thunderbird is designed by Mozilla, a global community working together to make
1a3471
      the Internet better. Mozilla believe that the Internet should be open, public,
1a3471
      and accessible to everyone without any restrictions.
1a3471
    

1a3471
    
    1a3471
          
  • Easier than ever to set up a new e-mail account
  • 1a3471
          
  • Awesome search allows you to find your messages fast
  • 1a3471
          
  • Thousands of add-ons give you the freedom to make Thunderbird your own
  • 1a3471
        
    1a3471
      </description>
    1a3471
      <url type="homepage">http://www.mozilla.org/thunderbird/</url>
    1a3471
      <screenshots>
    1a3471
        <screenshot type="default">https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/mozilla-thunderbird/a.png</screenshot>
    1a3471
      </screenshots>
    1a3471
      <releases>
    1a3471
        <release version="%{version}" date="$(date '+%F')"/>
    1a3471
      </releases>
    1a3471
      
    1a3471
      <updatecontact>someone_who_cares@upstream_project.org</updatecontact>
    1a3471
       -->
    1a3471
    </application>
    1a3471
    EOF
    1a3471
    1a3471
    #---------------------------------------------------------------------
    1a3471
    1a3471
    %clean
    1a3471
    rm -rf %{_srcrpmdir}/gtk3-private-%{gtk3_nvr}*.src.rpm
    1a3471
    find %{_rpmdir} -name "gtk3-private-*%{gtk3_nvr}*.rpm" -delete
    1a3471
    rm -rf %{_srcrpmdir}/libffi*.src.rpm
    1a3471
    find %{_rpmdir} -name "libffi*.rpm" -delete
    1a3471
    rm -rf %{_srcrpmdir}/openssl*.src.rpm
    1a3471
    find %{_rpmdir} -name "openssl*.rpm" -delete
    1a3471
    rm -rf %{_srcrpmdir}/nss*.src.rpm
    1a3471
    find %{_rpmdir} -name "nss*.rpm" -delete
    1a3471
    rm -rf %{_srcrpmdir}/nspr*.src.rpm
    1a3471
    find %{_rpmdir} -name "nspr*.rpm" -delete
    1a3471
    1a3471
    %post
    1a3471
    update-desktop-database &> /dev/null || :
    1a3471
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
    1a3471
    %if 0%{?bundle_gtk3}
    1a3471
    # gtk3-private-post.inc
    1a3471
    %include_file %{SOURCE201}
    1a3471
    %endif
    1a3471
    1a3471
    if [ -x %{_bindir}/gtk-update-icon-cache ]; then
    1a3471
      %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
    1a3471
    fi
    1a3471
    1a3471
    %postun
    1a3471
    if [ $1 -eq 0 ] ; then
    1a3471
        touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    1a3471
        gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
    1a3471
    fi
    1a3471
    update-desktop-database &> /dev/null || :
    1a3471
    %if 0%{?bundle_gtk3}
    1a3471
    # gtk3-private-postun.inc
    1a3471
    %include_file %{SOURCE202}
    1a3471
    %endif
    1a3471
    1a3471
    %posttrans
    1a3471
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
    1a3471
    %if 0%{?bundle_gtk3}
    1a3471
    # gtk3-private-posttrans.inc
    1a3471
    %include_file %{SOURCE203}
    1a3471
    %endif
    1a3471
    1a3471
    #===============================================================================
    1a3471
    %files -f %{name}.lang
    1a3471
    %defattr(-,root,root,-)
    1a3471
    %attr(755,root,root) %{_bindir}/thunderbird
    1a3471
    %{_datadir}/appdata/*.appdata.xml
    1a3471
    %attr(644,root,root) %{_datadir}/applications/thunderbird.desktop
    1a3471
    %dir %{_datadir}/mozilla/extensions/%{thunderbird_app_id}
    1a3471
    %dir %{_libdir}/mozilla/extensions/%{thunderbird_app_id}
    1a3471
    %dir %{mozappdir}
    1a3471
    %doc %{mozappdir}/LICENSE
    1a3471
    %{mozappdir}/chrome
    1a3471
    %dir %{mozappdir}/components
    1a3471
    %ghost %{mozappdir}/components/compreg.dat
    1a3471
    %ghost %{mozappdir}/components/xpti.dat
    1a3471
    %{mozappdir}/omni.ja
    1a3471
    %{mozappdir}/plugin-container
    1a3471
    %{mozappdir}/defaults
    1a3471
    %{mozappdir}/dictionaries
    1a3471
    %{mozappdir}/greprefs
    1a3471
    %{mozappdir}/isp
    1a3471
    %{mozappdir}/thunderbird-bin
    1a3471
    %{mozappdir}/thunderbird
    1a3471
    %{mozappdir}/*.so
    1a3471
    %{mozappdir}/platform.ini
    1a3471
    %{mozappdir}/application.ini
    1a3471
    %{mozappdir}/features/*.xpi
    1a3471
    %exclude %{mozappdir}/removed-files
    1a3471
    %{_datadir}/icons/hicolor/16x16/apps/thunderbird.png
    1a3471
    %{_datadir}/icons/hicolor/22x22/apps/thunderbird.png
    1a3471
    %{_datadir}/icons/hicolor/24x24/apps/thunderbird.png
    1a3471
    %{_datadir}/icons/hicolor/256x256/apps/thunderbird.png
    1a3471
    %{_datadir}/icons/hicolor/32x32/apps/thunderbird.png
    1a3471
    %{_datadir}/icons/hicolor/48x48/apps/thunderbird.png
    1a3471
    %{mozappdir}/pingsender
    1a3471
    %{mozappdir}/gtk2/libmozgtk.so
    1a3471
    %{mozappdir}/dependentlibs.list
    1a3471
    %dir %{mozappdir}/distribution
    1a3471
    %{mozappdir}/fonts/TwemojiMozilla.ttf
    1a3471
    1a3471
    %if !%{?system_libicu}
    1a3471
    #%{mozappdir}/icudt*.dat
    1a3471
    %endif
    1a3471
    %if !%{?system_nss}
    1a3471
    %exclude %{mozappdir}/libnssckbi.so
    1a3471
    %endif
    1a3471
    %if 0%{use_bundled_ffi}
    1a3471
    %{mozappdir}/bundled/%{_lib}/libffi.so*
    1a3471
    %exclude %{_datadir}/doc/libffi*
    1a3471
    %endif
    1a3471
    1a3471
    %if 0%{?bundle_gtk3}
    1a3471
    # gtk3-private-files.inc
    1a3471
    %include_file %{SOURCE204}
    1a3471
    %endif
    1a3471
    1a3471
    %if 0%{?bundle_nss}
    1a3471
    %{mozappdir}/bundled/%{_lib}/libfreebl*
    1a3471
    %{mozappdir}/bundled/%{_lib}/libnss3*
    1a3471
    %{mozappdir}/bundled/%{_lib}/libnssdbm3*
    1a3471
    %{mozappdir}/bundled/%{_lib}/libnssutil3*
    1a3471
    %{mozappdir}/bundled/%{_lib}/libsmime3*
    1a3471
    %{mozappdir}/bundled/%{_lib}/libsoftokn*
    1a3471
    %{mozappdir}/bundled/%{_lib}/libssl3*
    1a3471
    %{mozappdir}/bundled/%{_lib}/libnspr4.so
    1a3471
    %{mozappdir}/bundled/%{_lib}/libplc4.so
    1a3471
    %{mozappdir}/bundled/%{_lib}/libplds4.so
    1a3471
    %endif
    1a3471
    1a3471
    #===============================================================================
    1a3471
    1a3471
    %changelog
    5b02c4
    * Fri Jul 16 2021 Jan Horak <jhorak@redhat.com> - 78.12.0-3
    5b02c4
    - Rebuild to pickup older nss
    5b02c4
    5b02c4
    * Mon Jul 12 2021 Eike Rathke <erack@redhat.com> - 78.12.0-2
    5b02c4
    - Update to 78.12.0 build2
    5b02c4
    5b02c4
    * Thu Jul 08 2021 Eike Rathke <erack@redhat.com> - 78.12.0-1
    5b02c4
    - Update to 78.12.0 build1
    8900ce
    3322f6
    * Mon May 31 2021 Eike Rathke <erack@redhat.com> - 78.11.0-1
    3322f6
    - Update to 78.11.0 build1
    41a642
    3322f6
    * Wed Apr 21 2021 Eike Rathke <erack@redhat.com> - 78.10.0-1
    3322f6
    - Update to 78.10.0
    3322f6
    3322f6
    * Mon Apr 12 2021 Eike Rathke <erack@redhat.com> - 78.9.1-1
    3322f6
    - Update to 78.9.1
    3322f6
    3322f6
    * Tue Mar 23 2021 Eike Rathke <erack@redhat.com> - 78.9.0-3
    3322f6
    - Update to 78.9.0 build2, updated langpacks
    3322f6
    3322f6
    * Mon Mar 22 2021 Eike Rathke <erack@redhat.com> - 78.9.0-2
    3322f6
    - Update to 78.9.0 build2
    7fbace
    3322f6
    * Mon Mar 22 2021 Eike Rathke <erack@redhat.com> - 78.9.0-1
    3322f6
    - Update to 78.9.0 build1
    3322f6
    3322f6
    * Fri Feb 19 2021 Eike Rathke <erack@redhat.com> - 78.8.0-1
    3322f6
    - Update to 78.8.0 build1
    1a3471
    1a3471
    * Tue Jan 26 2021 Eike Rathke <erack@redhat.com> - 78.7.0-1
    1a3471
    - Update to 78.7.0
    3322f6
    1a3471
    * Tue Jan 12 2021 Eike Rathke <erack@redhat.com> - 78.6.1-1
    1a3471
    - Update to 78.6.1
    1a3471
    1a3471
    * Tue Dec 15 2020 Eike Rathke <erack@redhat.com> - 78.6.0-1
    1a3471
    - Update to 78.6.0
    1a3471
    1a3471
    * Fri Dec 04 2020 Jan Horak <jhorak@redhat.com> - 78.5.1-1
    1a3471
    - Update to 78.5.1 build1
    1a3471
    1a3471
    * Wed Nov 18 2020 Eike Rathke <erack@redhat.com> - 78.5.0-1
    1a3471
    - Update to 78.5.0 build3
    1a3471
    1a3471
    * Thu Nov 12 2020 Eike Rathke <erack@redhat.com> - 78.4.3-1
    1a3471
    - Update to 78.4.3
    1a3471
    1a3471
    * Wed Oct 21 2020 Eike Rathke <erack@redhat.com> - 78.4.0-1
    1a3471
    - Update to 78.4.0 build1
    1a3471
    - Disabled telemetry
    1a3471
    1a3471
    * Tue Sep 29 2020 Jan Horak <jhorak@redhat.com> - 78.3.1-1
    1a3471
    - Update to 78.3.1 build1
    1a3471
    1a3471
    * Sat Sep 19 2020 Jan Horak <jhorak@redhat.com> - 78.3.0-3
    1a3471
    - Update to 78.3.0 build1
    1a3471
    - Remove librdp.so as long as we cannot ship it in RHEL
    1a3471
    1a3471
    * Tue Sep 08 2020 Jan Horak <jhorak@redhat.com> - 78.2.1-1
    1a3471
    - Update to 78.2.1 build1
    1a3471
    1a3471
    * Wed Sep 02 2020 Jan Horak <jhorak@redhat.com> - 68.12.0-1
    1a3471
    - Update to 68.12.0 build1
    1a3471
    1a3471
    * Tue Aug 04 2020 Jan Horak <jhorak@redhat.com> - 68.11.0-1
    1a3471
    - Update to 68.11.0 build1
    1a3471
    1a3471
    * Wed Jul 08 2020 Jan Horak <jhorak@redhat.com> - 68.10.0-1
    1a3471
    - Update to 68.10.0 build1
    1a3471
    1a3471
    * Fri Jun 05 2020 Jan Horak <jhorak@redhat.com> - 68.9.0-1
    1a3471
    - Update to 68.9.0 build1
    1a3471
    1a3471
    * Tue May 05 2020 Jan Horak <jhorak@redhat.com> - 68.8.0-1
    1a3471
    - Update to 68.8.0 build2
    1a3471
    1a3471
    * Tue Apr 14 2020 Jan Horak <jhorak@redhat.com> - 68.7.0-1
    1a3471
    - Update to 68.7.0 build1
    1a3471
    1a3471
    * Fri Mar 13 2020 Jan Horak <jhorak@redhat.com> - 68.6.0-1
    1a3471
    - Update to 68.6.0 build2
    1a3471
    1a3471
    * Thu Feb 13 2020 Jan Horak <jhorak@redhat.com> - 68.5.0-1
    1a3471
    - Update to 68.5.0 build1
    1a3471
    1a3471
    * Mon Jan 13 2020 Jan Horak <jhorak@redhat.com> - 68.4.1-2
    1a3471
    - Update to 68.4.1 build1
    1a3471
    1a3471
    * Mon Dec 02 2019 Jan Horak <jhorak@redhat.com> - 68.3.0-2
    1a3471
    - Update to 68.3.0 build2
    1a3471
    1a3471
    * Fri Oct 25 2019 Jan Horak <jhorak@redhat.com> - 68.2.0-2
    1a3471
    - Added patch for TLS 1.3 support.
    1a3471
    1a3471
    * Tue Oct 22 2019 Jan Horak <jhorak@redhat.com> - 68.2.0-1
    1a3471
    - Update to 68.2.0
    1a3471
    1a3471
    * Thu Oct  3 2019 Jan Horak <jhorak@redhat.com> - 68.1.1-2
    1a3471
    - Update to 68.1.1
    1a3471
    1a3471
    * Wed Sep  4 2019 Jan Horak <jhorak@redhat.com> - 60.9.0-2
    1a3471
    - Update to 60.9.0
    1a3471
    1a3471
    * Thu Jul 4 2019 Martin Stransky <stransky@redhat.com> - 60.8.0-1
    1a3471
    - Updated to 60.8.0
    1a3471
    1a3471
    * Wed Jul 3 2019 Martin Stransky <stransky@redhat.com> - 60.7.2-3
    1a3471
    - Rebuild to fix rhbz#1725919 - Thunderbird fails to authenticate
    1a3471
      with gmail with ssl/tls and OAuth2.
    1a3471
    1a3471
    * Fri Jun 21 2019 Jan Horak <jhorak@redhat.com> - 60.7.2-2
    1a3471
    - Update to 60.7.2 build2
    1a3471
    1a3471
    * Thu Jun 20 2019 Jan Horak <jhorak@redhat.com> - 60.7.2-1
    1a3471
    - Update to 60.7.2
    1a3471
    1a3471
    * Tue Jun 18 2019 Jan Horak <jhorak@redhat.com> - 60.7.1-1
    1a3471
    - Update to 60.7.1
    1a3471
    1a3471
    * Mon May 27 2019 Martin Stransky <stransky@redhat.com> - 60.7.0-1
    1a3471
    - Update to 60.7.0
    1a3471
    1a3471
    * Mon Mar 25 2019 Martin Stransky <stransky@redhat.com> - 60.6.1-1
    1a3471
    - Update to 60.6.1
    1a3471
    1a3471
    * Tue Mar 19 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-1
    1a3471
    - Update to 60.6.0
    1a3471
    1a3471
    * Tue Jan 29 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-1
    1a3471
    - Update to 60.5.0
    1a3471
    1a3471
    * Thu Jan  3 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-1
    1a3471
    - Update to 60.4.0
    1a3471
    1a3471
    * Wed Oct 31 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-1
    1a3471
    - Update to 60.3.0
    1a3471
    1a3471
    * Wed Oct 31 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-6
    1a3471
    - Fixed missing calendar langpacks
    1a3471
    1a3471
    * Tue Oct 16 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-5
    1a3471
    - Fixing minor issues
    1a3471
    1a3471
    * Wed Oct 10 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-3
    1a3471
    - Reverting deleting of key3db
    1a3471
    1a3471
    * Wed Oct  3 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-2
    1a3471
    - Update to 60.2.1
    1a3471
    - Added fix for rhbz#1546988
    1a3471
    1a3471
    * Fri Sep 14 2018 Jan Horak <jhorak@redhat.com> - 60.0-1
    1a3471
    - Rebase to version 60
    1a3471
    1a3471
    * Tue Jul 10 2018 Jan Horak <jhorak@redhat.com> - 52.9.1-1
    1a3471
    - Update to 52.9.1
    1a3471
    1a3471
    * Thu May 17 2018 Jan Horak <jhorak@redhat.com> - 52.8.0-2
    1a3471
    - Update to 52.8.0
    1a3471
    1a3471
    * Mon Mar 26 2018 Jan Horak <jhorak@redhat.com> - 52.7.0-1
    1a3471
    - Update to 52.7.0
    1a3471
    1a3471
    * Fri Jan 26 2018 Jan Horak <jhorak@redhat.com> - 52.6.0-1
    1a3471
    - Update to 52.6.0
    1a3471
    1a3471
    * Tue Jan  2 2018 Jan Horak <jhorak@redhat.com> - 52.5.2-1
    1a3471
    - Update to 52.5.2
    1a3471
    1a3471
    * Mon Nov 27 2017 Jan Horak <jhorak@redhat.com> - 52.5.0-1
    1a3471
    - Update to 52.5.0
    1a3471
    1a3471
    * Wed Oct  4 2017 Jan Horak <jhorak@redhat.com> - 52.4.0-2
    1a3471
    - Update to 52.4.0 (b2)
    1a3471
    1a3471
    * Mon Aug 21 2017 Jan Horak <jhorak@redhat.com> - 52.3.0-1
    1a3471
    - Update to 52.3.0
    1a3471
    1a3471
    * Thu Jun 29 2017 Jan Horak <jhorak@redhat.com> - 52.2.1-1
    1a3471
    - Update to 52.2.1
    1a3471
    1a3471
    * Thu Jun 15 2017 Jan Horak <jhorak@redhat.com> - 52.2.0-1
    1a3471
    - Update to 52.2.0
    1a3471
    1a3471
    * Tue May  2 2017 Jan Horak <jhorak@redhat.com> - 52.1.0-1
    1a3471
    - Update to 52.1.0
    1a3471
    1a3471
    * Thu Apr 13 2017 Jan Horak <jhorak@redhat.com> - 52.0.1-1
    1a3471
    - Update to 52.0.1
    1a3471
    1a3471
    * Tue Mar  7 2017 Jan Horak <jhorak@redhat.com> - 45.8.0-1
    1a3471
    - Update to 45.8.0
    1a3471
    1a3471
    * Thu Jan 26 2017 Jan Horak <jhorak@redhat.com> - 45.7.0-1
    1a3471
    - Update to 45.7.0
    1a3471
    1a3471
    * Fri Dec 16 2016 Martin Stransky <stransky@redhat.com> - 45.6.0-1
    1a3471
    - Update to the latest upstream (45.6.0)
    1a3471
    1a3471
    * Thu Dec  1 2016 Jan Horak <jhorak@redhat.com> - 45.5.1-1
    1a3471
    - Update to 45.5.1
    1a3471
    1a3471
    * Fri Nov 18 2016 Jan Horak <jhorak@redhat.com> - 45.5.0-1
    1a3471
    - Update to 45.5.0
    1a3471
    1a3471
    * Thu Sep 29 2016 Jan Horak <jhorak@redhat.com> - 45.4.0-1
    1a3471
    - Update to 45.4.0
    1a3471
    1a3471
    * Fri Aug 26 2016 Jan Horak <jhorak@redhat.com> - 45.3.0-1
    1a3471
    - Update to 45.3.0
    1a3471
    1a3471
    * Wed Jun 29 2016 Jan Horak <jhorak@redhat.com> - 45.2-1
    1a3471
    - Update to 45.2
    1a3471
    1a3471
    * Mon Jun  6 2016 Jan Horak <jhorak@redhat.com> - 45.1.1-1
    1a3471
    - Update to 45.1.1
    1a3471
    1a3471
    * Mon Jun 06 2016 Jan Horak <jhorak@redhat.com> - 45.1.0-5
    1a3471
    - Do not add symlinks to some langpacks
    1a3471
    1a3471
    * Tue May 17 2016 Jan Horak <jhorak@redhat.com> - 45.1.0-4
    1a3471
    - Update to 45.1.0
    1a3471
    1a3471
    * Tue Apr 26 2016 Jan Horak <jhorak@redhat.com> - 45.0-5
    1a3471
    - Update to 45.0
    1a3471
    1a3471
    * Tue Sep 29 2015 Jan Horak <jhorak@redhat.com> - 38.3.0-1
    1a3471
    - Update to 38.3.0
    1a3471
    1a3471
    * Fri Aug 14 2015 Jan Horak <jhorak@redhat.com> - 38.2.0-1
    1a3471
    - Update to 38.2.0
    1a3471
    1a3471
    * Wed Jul 15 2015 Jan Horak <jhorak@redhat.com> - 38.1.0-2
    1a3471
    - Rebase to 38.1.0
    1a3471
    1a3471
    * Wed Jul 15 2015 Jan Horak <jhorak@redhat.com> - 31.8.0-1
    1a3471
    - Update to 31.8.0
    1a3471
    1a3471
    * Sun May 10 2015 Jan Horak <jhorak@redhat.com> - 31.7.0-1
    1a3471
    - Update to 31.7.0
    1a3471
    1a3471
    * Tue Mar 31 2015 Jan Horak <jhorak@redhat.com> - 31.6.0-1
    1a3471
    - Update to 31.6.0
    1a3471
    1a3471
    * Mon Feb 23 2015 Jan Horak <jhorak@redhat.com> - 31.5.0-2
    1a3471
    - Update to 31.5.0
    1a3471
    1a3471
    * Sat Jan 10 2015 Jan Horak <jhorak@redhat.com> - 31.4.0-1
    1a3471
    - Update to 31.4.0
    1a3471
    1a3471
    * Mon Dec 22 2014 Jan Horak <jhorak@redhat.com> - 31.3.0-2
    1a3471
    - Fixed problems with dictionaries (mozbz#1097550)
    1a3471
    1a3471
    * Fri Nov 28 2014 Jan Horak <jhorak@redhat.com> - 31.3.0-1
    1a3471
    - Update to 31.3.0
    1a3471
    1a3471
    * Thu Oct 30 2014 Jan Horak <jhorak@redhat.com> - 31.2.0-2
    1a3471
    - Update to 31.2.0
    1a3471
    1a3471
    * Wed Oct 1 2014 Martin Stransky <stransky@redhat.com> - 31.1.1-5
    1a3471
    - Sync preferences with Firefox
    1a3471
    1a3471
    * Thu Sep 18 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 31.1.1-4
    1a3471
    - Fix dependency generation for internal libraries (#1140471)
    1a3471
    1a3471
    * Fri Sep 12 2014 Jan Horak <jhorak@redhat.com> - 31.1.1-3
    1a3471
    - Update to 31.1.1
    1a3471
    1a3471
    * Tue Sep  9 2014 Jan Horak <jhorak@redhat.com> - 31.1.0-4
    1a3471
    - Use  system libffi
    1a3471
    1a3471
    * Wed Sep  3 2014 Jan Horak <jhorak@redhat.com> - 31.1.0-2
    1a3471
    - Added fix for ppc64le
    1a3471
    1a3471
    * Mon Sep  1 2014 Jan Horak <jhorak@redhat.com> - 31.1.0-1
    1a3471
    - Update to 31.1.0
    1a3471
    1a3471
    * Wed Jul 30 2014 Martin Stransky <stransky@redhat.com> - 31.0-2
    1a3471
    - Added patch for mozbz#858919
    1a3471
    1a3471
    * Tue Jul 29 2014 Martin Stransky <stransky@redhat.com> - 31.0-1
    1a3471
    - Update to 31.0
    1a3471
    1a3471
    * Tue Jul 22 2014 Jan Horak <jhorak@redhat.com> - 24.7.0-1
    1a3471
    - Update to 24.7.0
    1a3471
    1a3471
    * Mon Jun  9 2014 Jan Horak <jhorak@redhat.com> - 24.6.0-1
    1a3471
    - Update to 24.6.0
    1a3471
    1a3471
    * Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 24.5.0-6
    1a3471
    - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
    1a3471
    1a3471
    * Fri May 23 2014 Brent Baude <baude@us.ibm.com> - 24.5.0-5
    1a3471
    - Moving the ppc64 conditional up before the cd so it will
    1a3471
    - apply cleanly
    1a3471
    1a3471
    * Fri May 23 2014 Martin Stransky <stransky@redhat.com> - 24.5.0-4
    1a3471
    - Added a build fix for ppc64 - rhbz#1100495
    1a3471
    1a3471
    * Mon May  5 2014 Jan Horak <jhorak@redhat.com> - 24.5.0-3
    1a3471
    - Fixed find requires
    1a3471
    1a3471
    * Mon Apr 28 2014 Jan Horak <jhorak@redhat.com> - 24.5.0-1
    1a3471
    - Update to 24.5.0
    1a3471
    1a3471
    * Tue Apr 22 2014 Jan Horak <jhorak@redhat.com> - 24.4.0-2
    1a3471
    - Added support for ppc64le
    1a3471
    1a3471
    * Tue Mar 18 2014 Jan Horak <jhorak@redhat.com> - 24.4.0-1
    1a3471
    - Update to 24.4.0
    1a3471
    1a3471
    * Mon Feb  3 2014 Jan Horak <jhorak@redhat.com> - 24.3.0-1
    1a3471
    - Update to 24.3.0
    1a3471
    1a3471
    * Mon Dec 16 2013 Martin Stransky <stransky@redhat.com> - 24.2.0-4
    1a3471
    - Fixed rhbz#1024232 - thunderbird: squiggly lines used
    1a3471
      for spelling correction disappear randomly
    1a3471
    1a3471
    * Fri Dec 13 2013 Martin Stransky <stransky@redhat.com> - 24.2.0-3
    1a3471
    - Build with -Werror=format-security (rhbz#1037353)
    1a3471
    1a3471
    * Wed Dec 11 2013 Martin Stransky <stransky@redhat.com> - 24.2.0-2
    1a3471
    - rhbz#1001998 - added a workaround for system notifications
    1a3471
    1a3471
    * Mon Dec  9 2013 Jan Horak <jhorak@redhat.com> - 24.2.0-1
    1a3471
    - Update to 24.2.0
    1a3471
    1a3471
    * Sat Nov 02 2013 Dennis Gilmore <dennis@ausil.us> - 24.1.0-2
    1a3471
    - remove ExcludeArch: armv7hl
    1a3471
    1a3471
    * Wed Oct 30 2013 Jan Horak <jhorak@redhat.com> - 24.1.0-1
    1a3471
    - Update to 24.1.0
    1a3471
    1a3471
    * Thu Oct 17 2013 Martin Stransky <stransky@redhat.com> - 24.0-4
    1a3471
    - Fixed rhbz#1005611 - BEAST workaround not enabled in Firefox
    1a3471
    1a3471
    * Wed Sep 25 2013 Jan Horak <jhorak@redhat.com> - 24.0-3
    1a3471
    - Update to 24.0
    1a3471
    1a3471
    * Mon Sep 23 2013 Jan Horak <jhorak@redhat.com> - 17.0.9-1
    1a3471
    - Update to 17.0.9 ESR
    1a3471
    1a3471
    * Mon Aug  5 2013 Jan Horak <jhorak@redhat.com> - 17.0.8-1
    1a3471
    - Update to 17.0.8
    1a3471
    1a3471
    * Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 17.0.7-2
    1a3471
    - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
    1a3471
    1a3471
    * Tue Jun 25 2013 Jan Horak <jhorak@redhat.com> - 17.0.7-1
    1a3471
    - Update to 17.0.7
    1a3471
    1a3471
    * Wed Jun 12 2013 Jan Horak <jhorak@redhat.com> - 17.0.6-2
    1a3471
    - Fixed rhbz#973371 - unable to install addons
    1a3471
    1a3471
    * Tue May 14 2013 Jan Horak <jhorak@redhat.com> - 17.0.6-1
    1a3471
    - Update to 17.0.6
    1a3471
    1a3471
    * Tue Apr  2 2013 Jan Horak <jhorak@redhat.com> - 17.0.5-1
    1a3471
    - Update to 17.0.5
    1a3471
    1a3471
    * Mon Mar 11 2013 Jan Horak <jhorak@redhat.com> - 17.0.4-1
    1a3471
    - Update to 17.0.4
    1a3471
    1a3471
    * Tue Feb 19 2013 Jan Horak <jhorak@redhat.com> - 17.0.3-1
    1a3471
    - Update to 17.0.3
    1a3471
    1a3471
    * Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 17.0.2-4
    1a3471
    - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
    1a3471
    1a3471
    * Tue Jan 15 2013 Martin Stransky <stransky@redhat.com> - 17.0.2-3
    1a3471
    - Added fix for NM regression (mozbz#791626)
    1a3471
    1a3471
    * Tue Jan 15 2013 Jan Horak <jhorak@redhat.com> - 17.0.2-2
    1a3471
    - Added mozilla-746112 patch to fix crash on ppc(64)
    1a3471
    1a3471
    * Thu Jan 10 2013 Jan Horak <jhorak@redhat.com> - 17.0.2-1
    1a3471
    - Update to 17.0.2
    1a3471
    1a3471
    * Mon Nov 19 2012 Jan Horak <jhorak@redhat.com> - 17.0-1
    1a3471
    - Update to 17.0
    1a3471
    1a3471
    * Mon Oct 29 2012 Jan Horak <jhorak@redhat.com> - 16.0.2-1
    1a3471
    - Update to 16.0.2
    1a3471
    1a3471
    * Tue Oct 16 2012 Jan Horak <jhorak@redhat.com> - 16.0.1-2
    1a3471
    - Fixed nss and nspr versions
    1a3471
    1a3471
    * Thu Oct 11 2012 Jan Horak <jhorak@redhat.com> - 16.0.1-1
    1a3471
    - Update to 16.0.1
    1a3471
    1a3471
    * Tue Oct  9 2012 Jan Horak <jhorak@redhat.com> - 16.0-1
    1a3471
    - Update to 16.0
    1a3471
    1a3471
    * Tue Sep 18 2012 Dan Horák <dan[at]danny.cz> - 15.0.1-3
    1a3471
    - Added fix for rhbz#855923 - TB freezes on Fedora 18 for PPC64
    1a3471
    1a3471
    * Fri Sep 14 2012 Martin Stransky <stransky@redhat.com> - 15.0.1-2
    1a3471
    - Added build flags for second arches
    1a3471
    1a3471
    * Tue Sep 11 2012 Jan Horak <jhorak@redhat.com> - 15.0.1-1
    1a3471
    - Update to 15.0.1
    1a3471
    1a3471
    * Fri Sep  7 2012 Jan Horak <jhorak@redhat.com> - 15.0-2
    1a3471
    - Added workaround fix for PPC (rbhz#852698)
    1a3471
    1a3471
    * Mon Aug 27 2012 Jan Horak <jhorak@redhat.com> - 15.0-1
    1a3471
    - Update to 15.0
    1a3471
    1a3471
    * Wed Aug 1 2012 Martin Stransky <stransky@redhat.com> - 14.0-4
    1a3471
    - Removed StartupWMClass (rhbz#844863)
    1a3471
    - Fixed -g parameter
    1a3471
    - Removed thunderbird-devel before packing to avoid debugsymbols duplicities (rhbz#823940)
    1a3471
    1a3471
    * Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.0-2
    1a3471
    - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
    1a3471
    1a3471
    * Tue Jul 17 2012 Jan Horak <jhorak@redhat.com> - 14.0-1
    1a3471
    - Update to 14.0
    1a3471
    1a3471
    * Fri Jun 15 2012 Jan Horak <jhorak@redhat.com> - 13.0.1-1
    1a3471
    - Update to 13.0.1
    1a3471
    1a3471
    * Tue Jun  5 2012 Jan Horak <jhorak@redhat.com> - 13.0-1
    1a3471
    - Update to 13.0
    1a3471
    1a3471
    * Mon May 7 2012 Martin Stransky <stransky@redhat.com> - 12.0.1-2
    1a3471
    - Fixed #717245 - adhere Static Library Packaging Guidelines
    1a3471
    1a3471
    * Mon Apr 30 2012 Jan Horak <jhorak@redhat.com> - 12.0.1-1
    1a3471
    - Update to 12.0.1
    1a3471
    1a3471
    * Tue Apr 24 2012 Jan Horak <jhorak@redhat.com> - 12.0-1
    1a3471
    - Update to 12.0
    1a3471
    1a3471
    * Mon Apr 16 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 11.0.1-2
    1a3471
    - Add upstream patch to fix FTBFS on ARM
    1a3471
    1a3471
    * Thu Mar 29 2012 Jan Horak <jhorak@redhat.com> - 11.0.1-1
    1a3471
    - Update to 11.0.1
    1a3471
    1a3471
    * Thu Mar 22 2012 Jan Horak <jhorak@redhat.com> - 11.0-6
    1a3471
    - Added translations to thunderbird.desktop file
    1a3471
    1a3471
    * Fri Mar 16 2012 Martin Stransky <stransky@redhat.com> - 11.0-5
    1a3471
    - gcc 4.7 build fixes
    1a3471
    1a3471
    * Wed Mar 14 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 11.0-4
    1a3471
    - Add ARM configuration options
    1a3471
    1a3471
    * Wed Mar 14 2012 Martin Stransky <stransky@redhat.com> - 11.0-3
    1a3471
    - Build with system libvpx
    1a3471
    1a3471
    * Tue Mar 13 2012 Martin Stransky <stransky@redhat.com> - 11.0-1
    1a3471
    - Update to 11.0
    1a3471
    1a3471
    * Thu Feb 23 2012 Jan Horak <jhorak@redhat.com> - 10.0.1-3
    1a3471
    - Added fix for proxy settings mozbz#682832
    1a3471
    1a3471
    * Thu Feb 16 2012 Martin Stransky <stransky@redhat.com> - 10.0.1-2
    1a3471
    - Added fix for mozbz#727401
    1a3471
    1a3471
    * Thu Feb  9 2012 Jan Horak <jhorak@redhat.com> - 10.0.1-1
    1a3471
    - Update to 10.0.1
    1a3471
    1a3471
    * Mon Feb 6 2012 Martin Stransky <stransky@redhat.com> - 10.0-2
    1a3471
    - gcc 4.7 build fixes
    1a3471
    1a3471
    * Tue Jan 31 2012 Jan Horak <jhorak@redhat.com> - 10.0-1
    1a3471
    - Update to 10.0
    1a3471
    1a3471
    * Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.0-7
    1a3471
    - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
    1a3471
    1a3471
    * Thu Jan 05 2012 Dan Horák <dan[at]danny.cz> - 9.0-6
    1a3471
    - disable jemalloc on s390(x) (taken from xulrunner)
    1a3471
    1a3471
    * Wed Jan 04 2012 Dan Horák <dan[at]danny.cz> - 9.0-5
    1a3471
    - fix build on secondary arches (cherry-picked from 13afcd4c097c)
    1a3471
    1a3471
    * Thu Dec 22 2011 Jan Horak <jhorak@redhat.com> - 9.0-4
    1a3471
    - Update to 9.0
    1a3471
    1a3471
    * Fri Dec 9 2011 Martin Stransky <stransky@redhat.com> - 8.0-4
    1a3471
    - enabled gio support (#760644)
    1a3471
    1a3471
    * Tue Nov 29 2011 Jan Horak <jhorak@redhat.com> - 8.0-3
    1a3471
    - Fixed s390x issues
    1a3471
    1a3471
    * Thu Nov 10 2011 Jan Horak <jhorak@redhat.com> - 8.0-2
    1a3471
    - Enable Mozilla's crash reporter again for all archs
    1a3471
    - Temporary workaround for langpacks
    1a3471
    - Disabled addon check UI (#753551)
    1a3471
    1a3471
    * Tue Nov  8 2011 Jan Horak <jhorak@redhat.com> - 8.0-1
    1a3471
    - Update to 8.0
    1a3471
    1a3471
    * Tue Oct 18 2011 Martin Stransky <stransky@redhat.com> - 7.0.1-3
    1a3471
    - Added NM patches (mozbz#627672, mozbz#639959)
    1a3471
    1a3471
    * Wed Oct 12 2011 Dan Horák <dan[at]danny.cz> - 7.0.1-2
    1a3471
    - fix build on secondary arches (copied from xulrunner)
    1a3471
    1a3471
    * Fri Sep 30 2011 Jan Horak <jhorak@redhat.com> - 7.0.1-1