f7e2cb
# Set for local builds only
f7e2cb
%global disable_toolsets  0
f7e2cb
7d7726
%if 0%{?fedora} > 35 || 0%{?rhel} > 9
7d7726
%global dictionarydir hunspell
7d7726
%else
7d7726
%global dictionarydir myspell
f7e2cb
%endif
f7e2cb
f7e2cb
%{lua:
f7e2cb
function dist_to_rhel_minor(str, start)
f7e2cb
  match = string.match(str, ".module%+el8.%d+")
f7e2cb
  if match then
f7e2cb
     return string.sub(match, 13)
f7e2cb
  end
f7e2cb
  match = string.match(str, ".el8_%d+")
f7e2cb
  if match then
f7e2cb
     return string.sub(match, 6)
f7e2cb
  end
f7e2cb
  match = string.match(str, ".el8")
f7e2cb
  if match then
89f49d
     return 7
f7e2cb
  end
7d7726
  return -1
f7e2cb
end}
f7e2cb
f7e2cb
%global rhel_minor_version %{lua:print(dist_to_rhel_minor(rpm.expand("%dist")))}
7d7726
7d7726
# Produce debug (non-optimized) package build. Suitable for debugging only
7d7726
# as the build is *very* slow.
7d7726
%global debug_build       0
f7e2cb
f7e2cb
%global system_nss        1
f7e2cb
%global bundle_nss        0
7d7726
%global build_langpacks   1
7d7726
7d7726
# librnp with openssl support, not available in RHEL7 because it requires openssl >= 1.1.1e,
7d7726
# nor in rhel-8.1.0 or rhel-8.2.0
7d7726
%global use_openssl_for_librnp 1
7d7726
%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} < 4)
7d7726
%global use_openssl_for_librnp 0
7d7726
%endif
f7e2cb
a9635e
%if 0%{?rhel} == 8
7d7726
  %if %{rhel_minor_version} <= 4
a9635e
    %global bundle_nss        1
a9635e
    %global system_nss        1
f7e2cb
  %endif
f7e2cb
%endif
f7e2cb
7d7726
%global build_with_asan   0
f7e2cb
f7e2cb
%global use_llvmts        0
a9635e
%global use_nodejsts      0
a9635e
%if 0%{?rhel} < 8
f7e2cb
%global use_llvmts        1
a9635e
%global use_nodejsts      1
f7e2cb
%endif
f7e2cb
7d7726
a9635e
%global nodejs_rb         nodejs
a9635e
%global llvm_version      7.0
7d7726
%if "%{toolchain}" == "clang"
7d7726
%global build_with_clang 1
7d7726
%else
7d7726
%global build_with_clang 0
a9635e
%endif
a9635e
7d7726
%ifarch armv7hl
7d7726
%global create_debuginfo  0
7d7726
%endif
a9635e
%if 0%{?rhel} == 7
a9635e
  %global use_dts         1
a9635e
  %global nodejs_rb       rh-nodejs10-nodejs
a9635e
  %global llvm_version    11.0
f7e2cb
%endif
f7e2cb
7d7726
# Temporary disabled due to
7d7726
# https://bugzilla.redhat.com/show_bug.cgi?id=1951606
7d7726
%global enable_mozilla_crashreporter 0
7d7726
7d7726
%global system_ffi        1
7d7726
%ifarch armv7hl
7d7726
%global system_libvpx     1
7d7726
%else
7d7726
%global system_libvpx     0
7d7726
%endif
7d7726
%global hardened_build    1
7d7726
%global system_jpeg       1
7d7726
%global disable_elfhack   1
7d7726
%global use_bundled_cbindgen  1
7d7726
%if %{debug_build}
7d7726
%global release_build     0
7d7726
%endif
7d7726
# Build PGO+LTO on x86_64 only due to build issues
7d7726
# on other arches.
7d7726
%global build_with_pgo    0
7d7726
%ifarch x86_64
7d7726
%if 0%{?release_build}
7d7726
%global build_with_pgo    0
7d7726
%endif
7d7726
%endif
f7e2cb
%global use_rustts        1
7d7726
%global dts_version       10
7d7726
%global rust_version      1.62
7d7726
%if 0%{?rhel} >= 8
a9635e
  %global use_rustts      0
f7e2cb
%endif
7d7726
%if 0%{?flatpak}
7d7726
%global build_with_pgo    0
7d7726
%endif
a9635e
f7e2cb
%if 0%{?disable_toolsets}
f7e2cb
%global use_rustts        0
f7e2cb
%global use_dts           0
f7e2cb
%global use_llvmts        0
7d7726
%global use_nodejsts      0
7d7726
%global nodejs_rb         nodejs
f7e2cb
%endif
f7e2cb
f7e2cb
# Big endian platforms
f7e2cb
%ifarch ppc64 s390x
f7e2cb
%global big_endian        1
f7e2cb
%endif
f7e2cb
7d7726
%if 0%{?build_with_pgo}
7d7726
%global use_xvfb          1
7d7726
%global build_tests       1
f7e2cb
%endif
f7e2cb
# Minimal required versions
7d7726
%global cairo_version 1.13.1
7d7726
%global freetype_version 2.1.9
7d7726
%global libnotify_version 0.7.0
7d7726
%if %{?system_libvpx}
7d7726
%global libvpx_version 1.8.2
7d7726
%endif
f7e2cb
7d7726
%if %{?system_nss}
7d7726
%global nspr_version 4.34
f7e2cb
%global nspr_build_version %{nspr_version}
7d7726
%global nss_version 3.79
f7e2cb
%global nss_build_version %{nss_version}
f7e2cb
%endif
7d7726
%define thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
7d7726
%global langpackdir   %{mozappdir}/extensions
f7e2cb
7d7726
# The tarball is pretty inconsistent with directory structure.
7d7726
# Sometimes there is a top level directory.  That goes here.
7d7726
#
7d7726
# IMPORTANT: If there is no top level directory, this should be
7d7726
# set to the cwd, ie: '.'
7d7726
%define objdir       objdir
7d7726
%define mozappdir    %{_libdir}/thunderbird
f7e2cb
a9635e
%define bundled_install_path %{mozappdir}/bundled
7d7726
%define official_branding 1
f7e2cb
# We could use %%include, but in %%files, %%post and other sections, but in these
f7e2cb
# sections it could lead to syntax errors about unclosed %%if. Work around it by
f7e2cb
# using the following macro
f7e2cb
%define include_file() %{expand:%(cat '%1')}
f7e2cb
7d7726
# Exclude private libraries from autogenerated provides and requires
7d7726
%global __provides_exclude_from ^%{mozappdir}
7d7726
%global __requires_exclude ^(%%(find %{buildroot}%{mozappdir} -name '*.so' | xargs -n1 basename | sort -u | paste -s -d '|' -))
89f49d
f7e2cb
Summary:        Mozilla Thunderbird mail/newsgroup client
f7e2cb
Name:           thunderbird
7d7726
Version:        102.8.0
7d7726
Release:        2%{?dist}
f7e2cb
URL:            http://www.mozilla.org/projects/thunderbird/
f7e2cb
License:        MPLv1.1 or GPLv2+ or LGPLv2+
7d7726
7d7726
# Workaround the dreaded "upstream source file changed content" rpminspect failure.
7d7726
# If set to .b2 or .b3 ... the processed source file needs to be renamed before upload, e.g.
7d7726
# thunderbird-102.8.0.b2.processed-source.tar.xz
7d7726
# When unset use processed source file name as is.
7d7726
%global buildnum .b2
f7e2cb
a9635e
%if 0%{?rhel} == 9
a9635e
ExcludeArch:    %{ix86}
a9635e
%endif
a9635e
%if 0%{?rhel} == 8
7d7726
  %if %{rhel_minor_version} == 1
7d7726
ExcludeArch:    %{ix86} aarch64 s390x
7d7726
  %else
a9635e
ExcludeArch:    %{ix86}
7d7726
  %endif
a9635e
%endif
f7e2cb
%if 0%{?rhel} == 7
7d7726
ExcludeArch:    aarch64 s390 ppc
f7e2cb
%endif
f7e2cb
7d7726
#Source0:        https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.processed-source.tar.xz
89f49d
Source0:        thunderbird-%{version}%{?pre_version}%{?buildnum}.processed-source.tar.xz
f7e2cb
%if %{build_langpacks}
7d7726
Source1:        thunderbird-langpacks-%{version}-20230215.tar.xz
f7e2cb
%endif
a9635e
Source2:        cbindgen-vendor.tar.xz
7d7726
Source3:        process-official-tarball
f7e2cb
Source10:       thunderbird-mozconfig
7d7726
Source12:       thunderbird-redhat-default-prefs.js
f7e2cb
Source20:       thunderbird.desktop
f7e2cb
Source21:       thunderbird.sh.in
f7e2cb
Source24:       mozilla-api-key
7d7726
Source25:       thunderbird-symbolic.svg
f7e2cb
Source27:       google-api-key
7d7726
Source32:       node-stdout-nonblocking-wrapper
7d7726
Source35:       google-loc-api-key
7d7726
Source403:      nss-3.79.0-6.el8_1.src.rpm
f7e2cb
Source401:      nss-setup-flags-env.inc
7d7726
Source402:      nspr-4.34.0-3.el8_1.src.rpm
a9635e
f7e2cb
# Build patches
7d7726
Patch3:         mozilla-build-arm.patch
7d7726
Patch25:        rhbz-1219542-s390-build.patch
7d7726
# Fixing missing cacheFlush when JS_CODEGEN_NONE is used (s390x)
7d7726
Patch40:        build-aarch64-skia.patch
7d7726
Patch41:        build-disable-elfhack.patch
7d7726
Patch44:        build-arm-libopus.patch
7d7726
Patch47:        fedora-shebang-build.patch
7d7726
Patch49:        build-arm-libaom.patch
7d7726
Patch53:        firefox-gcc-build.patch
7d7726
Patch54:        mozilla-1669639.patch
7d7726
Patch71:        0001-GLIBCXX-fix-for-GCC-12.patch
7d7726
Patch72:        build-remove-dav1d-from-wayland-dep.patch
7d7726
Patch73:        build-ascii-decode-fail-rhel7.patch
7d7726
Patch75:        build-big-endian-errors.patch
7d7726
Patch76:        firefox-nss-version.patch
7d7726
Patch77:        mozilla-1775202.patch
7d7726
Patch78:        build-rhel7-lower-node-min-version.patch
7d7726
7d7726
# Fedora specific patches
f7e2cb
Patch215:        firefox-enable-addons.patch
f7e2cb
Patch219:        rhbz-1173156.patch
f7e2cb
Patch224:        mozilla-1170092.patch
7d7726
#ARM run-time patch
7d7726
Patch226:        rhbz-1354671.patch
7d7726
Patch228:        disable-openh264-download.patch
7d7726
Patch229:        firefox-nss-addon-hack.patch
7d7726
Patch230:        disable-openpgp-in-thunderbird.patch
f7e2cb
f7e2cb
# Upstream patches
7d7726
Patch415:        mozilla-1670333.patch
7d7726
Patch416:        mozilla-bmo1005535.patch
7d7726
Patch417:        mozilla-bmo1504834-part1.patch
7d7726
Patch418:        mozilla-bmo1504834-part3.patch
7d7726
Patch419:        mozilla-bmo849632.patch
7d7726
Patch420:        mozilla-bmo998749.patch
7d7726
Patch421:        mozilla-s390-context.patch
7d7726
Patch422:        mozilla-s390x-skia-gradient.patch
7d7726
Patch423:        one_swizzle_to_rule_them_all.patch
7d7726
Patch424:        svg-rendering.patch
7d7726
Patch425:        D158770.diff
7d7726
7d7726
# PGO/LTO patches
7d7726
Patch600:        pgo.patch
7d7726
Patch602:        mozilla-1516803.patch
7d7726
7d7726
# Backported WebRTC changes for PipeWire/Wayland screen sharing support
7d7726
Patch1008:      build-rhel7-nasm-dwarf.patch
f7e2cb
f7e2cb
%if %{?system_nss}
f7e2cb
%if !0%{?bundle_nss}
f7e2cb
BuildRequires:  pkgconfig(nspr) >= %{nspr_version}
f7e2cb
BuildRequires:  pkgconfig(nss) >= %{nss_version}
f7e2cb
BuildRequires:  nss-static >= %{nss_version}
f7e2cb
%endif
f7e2cb
%endif
f7e2cb
BuildRequires:  pkgconfig(libpng)
7d7726
%if %{?system_jpeg}
f7e2cb
BuildRequires:  libjpeg-devel
7d7726
%endif
f7e2cb
BuildRequires:  zip
f7e2cb
BuildRequires:  bzip2-devel
f7e2cb
BuildRequires:  pkgconfig(zlib)
7d7726
BuildRequires:  pkgconfig(gtk+-3.0)
f7e2cb
BuildRequires:  pkgconfig(gtk+-2.0)
7d7726
BuildRequires:  pkgconfig(krb5)
f7e2cb
BuildRequires:  pkgconfig(pango)
7d7726
BuildRequires:  pkgconfig(freetype2) >= %{freetype_version}
f7e2cb
BuildRequires:  pkgconfig(xt)
7d7726
BuildRequires:  pkgconfig(xtst)
f7e2cb
BuildRequires:  pkgconfig(xrender)
f7e2cb
BuildRequires:  pkgconfig(libstartup-notification-1.0)
7d7726
BuildRequires:  pkgconfig(libnotify) >= %{libnotify_version}
f7e2cb
BuildRequires:  pkgconfig(dri)
f7e2cb
BuildRequires:  pkgconfig(libcurl)
7d7726
BuildRequires:  pkgconfig(alsa)
7d7726
%if %{?use_openssl_for_librnp}
7d7726
BuildRequires:  pkgconfig(openssl)
7d7726
%endif
7d7726
BuildRequires:  libstdc++-devel
7d7726
BuildRequires:  libstdc++-static
f7e2cb
BuildRequires:  dbus-glib-devel
7d7726
%if %{?system_libvpx}
7d7726
BuildRequires:  libvpx-devel >= %{libvpx_version}
7d7726
%endif
7d7726
%if %{?system_ffi}
7d7726
BuildRequires:  libffi-devel
7d7726
%endif
7d7726
BuildRequires:  startup-notification-devel
7d7726
BuildRequires:  alsa-lib-devel
f7e2cb
BuildRequires:  m4
f7e2cb
BuildRequires:  pkgconfig(libpulse)
f7e2cb
f7e2cb
%if 0%{?use_dts}
f7e2cb
BuildRequires:  devtoolset-%{dts_version}-gcc-c++
f7e2cb
BuildRequires:  devtoolset-%{dts_version}-gcc
f7e2cb
BuildRequires:  devtoolset-%{dts_version}-libatomic-devel
f7e2cb
%endif
a9635e
%if 0%{?rhel} == 9
a9635e
BuildRequires:  gcc
a9635e
BuildRequires:  gcc-c++
a9635e
BuildRequires:  cargo
a9635e
BuildRequires:  rust
a9635e
BuildRequires:  clang clang-libs llvm
f7e2cb
%endif
7d7726
BuildRequires:  %{nodejs_rb} >= 10.21
7d7726
%if 0%{?rhel} == 7
f7e2cb
BuildRequires:  scl-utils
f7e2cb
BuildRequires:  findutils
7d7726
%endif
a9635e
%if 0%{?rhel} == 8
f7e2cb
BuildRequires:  cargo
f7e2cb
BuildRequires:  rust >= %{rust_version}
f7e2cb
BuildRequires:  llvm >= %{llvm_version}
f7e2cb
BuildRequires:  llvm-devel >= %{llvm_version}
f7e2cb
BuildRequires:  clang >= %{llvm_version}
f7e2cb
BuildRequires:  clang-devel >= %{llvm_version}
f7e2cb
BuildRequires:  rustfmt >= %{rust_version}
7d7726
%endif
7d7726
f7e2cb
%if 0%{?use_rustts}
a9635e
BuildRequires:  rust-toolset-%{rust_version}
f7e2cb
%endif
7d7726
f7e2cb
%if 0%{?use_llvmts}
f7e2cb
BuildRequires:  llvm-toolset-%{llvm_version}
f7e2cb
BuildRequires:  llvm-toolset-%{llvm_version}-llvm-devel
a9635e
BuildRequires:  llvm-toolset-%{llvm_version}-clang
a9635e
BuildRequires:  llvm-toolset-%{llvm_version}-clang-devel
f7e2cb
%endif
f7e2cb
f7e2cb
7d7726
%if 0%{?rhel} > 7
f7e2cb
BuildRequires:  pipewire-devel
f7e2cb
%endif
f7e2cb
7d7726
%if !0%{?use_bundled_cbindgen}
7d7726
BuildRequires:  cbindgen
7d7726
%endif
7d7726
BuildRequires:  nasm >= 1.13
7d7726
BuildRequires:  libappstream-glib
f7e2cb
7d7726
%if 0%{?big_endian}
7d7726
BuildRequires:  icu
7d7726
%endif
f7e2cb
# Bundled nss/nspr requirement
f7e2cb
%if 0%{?bundle_nss}
f7e2cb
BuildRequires:    nss-softokn
f7e2cb
BuildRequires:    sqlite-devel
f7e2cb
BuildRequires:    zlib-devel
f7e2cb
BuildRequires:    pkgconfig
f7e2cb
BuildRequires:    gawk
f7e2cb
BuildRequires:    psmisc
7d7726
BuildRequires:    perl-interpreter
f7e2cb
BuildRequires:    gcc-c++
f7e2cb
BuildRequires:    xmlto
f7e2cb
%endif
a9635e
7d7726
# Don't require any OpenPGP backend with the librnp interface, because RHEL does not have it
7d7726
#Requires:       thunderbird-librnp%{?_isa}
7d7726
# prefer the librnp implementation bundled with thunderbird
7d7726
#Not in RHEL7 Suggests:       thunderbird-librnp-rnp%{?_isa}
f7e2cb
Requires:       p11-kit-trust
7d7726
Requires:       pciutils-libs
f7e2cb
%if %{?system_nss}
f7e2cb
%if !0%{?bundle_nss}
f7e2cb
Requires:       nspr >= %{nspr_build_version}
f7e2cb
Requires:       nss >= %{nss_build_version}
f7e2cb
%endif
f7e2cb
%endif
7d7726
BuildRequires:  python3-devel
7d7726
BuildRequires:  python3-setuptools
f7e2cb
f7e2cb
BuildRequires:  desktop-file-utils
7d7726
%if %{?system_ffi}
7d7726
BuildRequires:  pkgconfig(libffi)
7d7726
%endif
f7e2cb
7d7726
%if 0%{?use_xvfb}
f7e2cb
BuildRequires:  xorg-x11-server-Xvfb
f7e2cb
%endif
7d7726
%if %{build_with_asan}
7d7726
BuildRequires:  libasan
7d7726
BuildRequires:  libasan-static
7d7726
%endif
7d7726
BuildRequires:  perl-interpreter
7d7726
#BuildRequires:  fdk-aac-free-devel not on rhel8
7d7726
%if 0%{?test_on_wayland}
7d7726
BuildRequires:  mutter
7d7726
BuildRequires:  gsettings-desktop-schemas
7d7726
BuildRequires:  gnome-settings-daemon
7d7726
BuildRequires:  mesa-dri-drivers
7d7726
BuildRequires:  xorg-x11-server-Xwayland
7d7726
BuildRequires:  dbus-x11
7d7726
BuildRequires:  gnome-keyring
7d7726
%endif
7d7726
%if 0%{?run_firefox_tests}
7d7726
BuildRequires:  procps-ng
7d7726
BuildRequires:  nss-tools
7d7726
BuildRequires:  dejavu-sans-mono-fonts
7d7726
BuildRequires:  dejavu-sans-fonts
7d7726
BuildRequires:  dejavu-serif-fonts
7d7726
BuildRequires:  dbus-x11
7d7726
BuildRequires:  gnome-keyring
7d7726
BuildRequires:  mesa-dri-drivers
7d7726
# ----------------------------------------
7d7726
BuildRequires:  liberation-fonts-common
7d7726
BuildRequires:  liberation-mono-fonts
7d7726
BuildRequires:  liberation-sans-fonts
7d7726
BuildRequires:  liberation-serif-fonts
7d7726
# ----------------------------------
7d7726
# Missing on f32
7d7726
%if 0%{?fedora} > 33
7d7726
BuildRequires:  google-carlito-fonts
7d7726
%endif
7d7726
BuildRequires:  google-droid-sans-fonts
7d7726
BuildRequires:  google-noto-fonts-common
7d7726
BuildRequires:  google-noto-cjk-fonts-common
7d7726
BuildRequires:  google-noto-sans-cjk-ttc-fonts
7d7726
BuildRequires:  google-noto-sans-gurmukhi-fonts
7d7726
BuildRequires:  google-noto-sans-fonts
7d7726
BuildRequires:  google-noto-emoji-color-fonts
7d7726
BuildRequires:  google-noto-sans-sinhala-vf-fonts
7d7726
# -----------------------------------
7d7726
BuildRequires:  thai-scalable-fonts-common
7d7726
BuildRequires:  thai-scalable-waree-fonts
7d7726
BuildRequires:  khmeros-base-fonts
7d7726
BuildRequires:  jomolhari-fonts
7d7726
# ----------------------------------
7d7726
BuildRequires:  lohit-tamil-fonts
7d7726
BuildRequires:  lohit-telugu-fonts
7d7726
# ----------------------------------
7d7726
BuildRequires:  paktype-naskh-basic-fonts
7d7726
# faild to build in Koji / f32
7d7726
%if 0%{?fedora} > 33
7d7726
BuildRequires:  pt-sans-fonts
7d7726
%endif
7d7726
BuildRequires:  smc-meera-fonts
7d7726
BuildRequires:  stix-fonts
7d7726
BuildRequires:  abattis-cantarell-fonts
7d7726
BuildRequires:  xorg-x11-fonts-ISO8859-1-100dpi
7d7726
BuildRequires:  xorg-x11-fonts-misc
7d7726
%endif
7d7726
BuildRequires:  make
7d7726
BuildRequires:  pciutils-libs
7d7726
7d7726
Obsoletes:      mozilla <= 37:1.7.13
7d7726
Provides:       webclient
7d7726
%if 0%{?rhel} == 8 && %{rhel_minor_version} < 6
7d7726
%ifarch aarch64
7d7726
BuildRequires: gcc-toolset-12-annobin-plugin-gcc
7d7726
%endif
f7e2cb
%endif
f7e2cb
a9635e
f7e2cb
# Bundled libraries
f7e2cb
Provides: bundled(angle)
7d7726
Provides: bundled(audioipc-2)
7d7726
Provides: bundled(brotli)
7d7726
Provides: bundled(bzip2)
f7e2cb
Provides: bundled(cairo)
7d7726
Provides: bundled(cfworker)
7d7726
Provides: bundled(d3.js)
7d7726
Provides: bundled(double-conversion)
7d7726
Provides: bundled(expat)
7d7726
Provides: bundled(fdlibm)
7d7726
Provides: bundled(ffvpx)
7d7726
Provides: bundled(freetype2)
f7e2cb
Provides: bundled(graphite2)
f7e2cb
Provides: bundled(harfbuzz)
7d7726
Provides: bundled(highway)
7d7726
Provides: bundled(intgemm)
7d7726
Provides: bundled(json-c)
f7e2cb
Provides: bundled(kissfft)
f7e2cb
Provides: bundled(libaom)
f7e2cb
Provides: bundled(libcubeb)
f7e2cb
Provides: bundled(libdav1d)
7d7726
Provides: bundled(libgcrypt)
7d7726
Provides: bundled(libgpg-error)
f7e2cb
Provides: bundled(libjpeg)
7d7726
Provides: bundled(libjxl)
7d7726
Provides: bundled(libjxl)
7d7726
Provides: bundled(libmar)
f7e2cb
Provides: bundled(libmkv)
f7e2cb
Provides: bundled(libnestegg)
f7e2cb
Provides: bundled(libogg)
f7e2cb
Provides: bundled(libopus)
7d7726
Provides: bundled(libotr)
f7e2cb
Provides: bundled(libpng)
7d7726
Provides: bundled(libprio)
f7e2cb
Provides: bundled(libsoundtouch)
f7e2cb
Provides: bundled(libspeex_resampler)
7d7726
Provides: bundled(libsrtp)
f7e2cb
Provides: bundled(libtheora)
f7e2cb
Provides: bundled(libtremor)
f7e2cb
Provides: bundled(libvorbis)
f7e2cb
Provides: bundled(libvpx)
f7e2cb
Provides: bundled(libwebp)
7d7726
Provides: bundled(libwebrtc)
f7e2cb
Provides: bundled(libyuv)
f7e2cb
Provides: bundled(mp4parse-rust)
7d7726
Provides: bundled(mp4parse-rust)
7d7726
Provides: bundled(msgpack-c)
7d7726
Provides: bundled(msgpack-c)
f7e2cb
Provides: bundled(mtransport)
7d7726
Provides: bundled(niwcompat)
f7e2cb
Provides: bundled(openmax_dl)
7d7726
Provides: bundled(openmax_il)
7d7726
Provides: bundled(openmax_il)
7d7726
Provides: bundled(ots)
7d7726
Provides: bundled(qcms)
7d7726
Provides: bundled(rlbox_sandboxing_api)
7d7726
Provides: bundled(rnp)
7d7726
Provides: bundled(sfntly)
7d7726
Provides: bundled(sipcc)
7d7726
Provides: bundled(skia)
7d7726
Provides: bundled(sqlite3)
7d7726
Provides: bundled(thebes)
7d7726
Provides: bundled(wasm2c)
7d7726
Provides: bundled(WebRender)
f7e2cb
Provides: bundled(woff2)
f7e2cb
Provides: bundled(xz-embedded)
7d7726
Provides: bundled(ycbcr)
f7e2cb
Provides: bundled(zlib)
f7e2cb
a9635e
%if 0%{?bundle_nss}
7d7726
Provides: bundled(nss) = 3.79.0
7d7726
Provides: bundled(nspr) = 4.34.0
a9635e
%endif
7d7726
f7e2cb
%description
f7e2cb
Mozilla Thunderbird is a standalone mail and newsgroup client.
f7e2cb
7d7726
#%package librnp-rnp
7d7726
#Summary: OpenPGP implementation for Thunderbird based on RNP
7d7726
#Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
7d7726
#Provides: thunderbird-librnp
7d7726
#Provides: thunderbird-librnp%{?_isa}
7d7726
#Conflicts: thunderbird-librnp%{?_isa}
7d7726
#%description librnp-rnp
7d7726
#The thunderbird-librnp-rnp package contains an OpenPGP implementation
7d7726
#based on RNP.
7d7726
#%files librnp-rnp
7d7726
#%{mozappdir}/librnp.so
7d7726
#%{mozappdir}/rnp-cli
7d7726
#%{mozappdir}/rnpkeys
f7e2cb
f7e2cb
%prep
f7e2cb
echo "Build environment"
f7e2cb
echo "dist                  %{?dist}"
7d7726
echo "RHEL 8 minor version: %{?rhel_minor_version}"
f7e2cb
echo "use_bundled_ffi       %{?use_bundled_ffi}"
f7e2cb
echo "bundle_nss            %{?bundle_nss}"
f7e2cb
echo "system_nss            %{?system_nss}"
f7e2cb
echo "use_rustts            %{?use_rustts}"
f7e2cb
7d7726
%setup -q
f7e2cb
7d7726
# Build patches
7d7726
%ifarch s390
7d7726
%patch25 -p1 -b .rhbz-1219542-s390
7d7726
%endif
7d7726
%patch40 -p1 -b .aarch64-skia
7d7726
%if 0%{?disable_elfhack}
7d7726
%patch41 -p1 -b .disable-elfhack
7d7726
%endif
7d7726
%patch3  -p1 -b .arm
7d7726
%patch44 -p1 -b .build-arm-libopus
7d7726
%patch47 -p1 -b .fedora-shebang
7d7726
%patch49 -p1 -b .build-arm-libaom
7d7726
%patch53 -p1 -b .firefox-gcc-build
7d7726
%patch54 -p1 -b .1669639
7d7726
%patch71 -p1 -b .0001-GLIBCXX-fix-for-GCC-12
7d7726
%patch72 -p1 -b .build-remove-dav1d-from-wayland-dep
7d7726
7d7726
%patch75 -p1 -b .build-big-endian-errors
7d7726
%patch76 -p1 -b .firefox-nss-version
7d7726
#ppc64le build failure because of webrtc
7d7726
%patch77 -p1 -b .mozilla-1775202
7d7726
7d7726
%patch73 -p1 -b .build-ascii-decode-fail-rhel7
7d7726
%if 0%{?rhel} == 7
7d7726
%patch78 -p1 -b .build-rhel7-lower-node-min-version
7d7726
%endif
f7e2cb
7d7726
# Test patches
f7e2cb
f7e2cb
# Fedora patches
f7e2cb
%patch215 -p1 -b .addons
f7e2cb
%patch219 -p1 -b .rhbz-1173156
f7e2cb
%patch224 -p1 -b .1170092
7d7726
#ARM run-time patch
7d7726
%ifarch aarch64
7d7726
%patch226 -p1 -b .1354671
7d7726
%endif
7d7726
%patch228 -p1 -b .disable-openh264-download
7d7726
%patch229 -p1 -b .firefox-nss-addon-hack
7d7726
7d7726
%patch415 -p1 -b .1670333
7d7726
%patch416 -p1 -b .mozilla-bmo1005535
7d7726
%patch417 -p1 -b .mozilla-bmo1504834-part1
7d7726
%patch418 -p1 -b .mozilla-bmo1504834-part3
7d7726
%patch419 -p1 -b .mozilla-bmo849632
7d7726
%patch420 -p1 -b .mozilla-bmo998749
7d7726
%patch421 -p1 -b .mozilla-s390-context
7d7726
%patch422 -p1 -b .mozilla-s390x-skia-gradient
7d7726
%patch423 -p1 -b .one_swizzle_to_rule_them_all
7d7726
%patch424 -p1 -b .svg-rendering
7d7726
%patch425 -p1 -b .D158770.diff
7d7726
7d7726
%if !%{?use_openssl_for_librnp}
7d7726
%patch230 -p1 -b .disable-openpgp-in-thunderbird
7d7726
%endif
7d7726
7d7726
# PGO patches
7d7726
%if %{build_with_pgo}
7d7726
%if !%{build_with_clang}
7d7726
%patch600 -p1 -b .pgo
7d7726
%patch602 -p1 -b .1516803
7d7726
%endif
f7e2cb
%endif
f7e2cb
a9635e
%if 0%{?rhel} == 7
a9635e
  %ifarch %{ix86}
a9635e
# -F dwarf not available in RHEL7's nasm
a9635e
%patch1008 -p1 -b .build-rhel7-nasm-dwarf
a9635e
  %endif
a9635e
%endif
f7e2cb
7d7726
7d7726
f7e2cb
%{__rm} -f .mozconfig
f7e2cb
%{__cp} %{SOURCE10} .mozconfig
7d7726
echo "ac_add_options --enable-default-toolkit=cairo-gtk3-wayland" >> .mozconfig
f7e2cb
%if %{official_branding}
a9635e
echo "ac_add_options --enable-official-branding" >> .mozconfig
f7e2cb
%endif
f7e2cb
%{__cp} %{SOURCE24} mozilla-api-key
f7e2cb
%{__cp} %{SOURCE27} google-api-key
7d7726
%{__cp} %{SOURCE35} google-loc-api-key
7d7726
7d7726
echo "ac_add_options --prefix=\"%{_prefix}\"" >> .mozconfig
7d7726
echo "ac_add_options --libdir=\"%{_libdir}\"" >> .mozconfig
f7e2cb
f7e2cb
%if %{?system_nss}
a9635e
echo "ac_add_options --with-system-nspr" >> .mozconfig
a9635e
echo "ac_add_options --with-system-nss" >> .mozconfig
f7e2cb
%else
a9635e
echo "ac_add_options --without-system-nspr" >> .mozconfig
a9635e
echo "ac_add_options --without-system-nss" >> .mozconfig
f7e2cb
%endif
f7e2cb
7d7726
%if %{?system_ffi}
7d7726
echo "ac_add_options --enable-system-ffi" >> .mozconfig
f7e2cb
%endif
f7e2cb
7d7726
%ifarch %{arm}
7d7726
echo "ac_add_options --disable-elf-hack" >> .mozconfig
f7e2cb
%endif
f7e2cb
f7e2cb
%if %{?debug_build}
a9635e
echo "ac_add_options --enable-debug" >> .mozconfig
a9635e
echo "ac_add_options --disable-optimize" >> .mozconfig
f7e2cb
%else
7d7726
%global optimize_flags "none"
7d7726
%ifarch s390x
7d7726
%global optimize_flags "-g -O1"
7d7726
%endif
7d7726
%ifarch ppc64le aarch64
f7e2cb
%global optimize_flags "-g -O2"
7d7726
%endif
f7e2cb
%if %{optimize_flags} != "none"
f7e2cb
echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig
f7e2cb
%else
f7e2cb
echo 'ac_add_options --enable-optimize' >> .mozconfig
f7e2cb
%endif
f7e2cb
echo "ac_add_options --disable-debug" >> .mozconfig
f7e2cb
%endif
f7e2cb
f7e2cb
# Second arches fail to start with jemalloc enabled
f7e2cb
%ifnarch %{ix86} x86_64
f7e2cb
echo "ac_add_options --disable-jemalloc" >> .mozconfig
f7e2cb
%endif
f7e2cb
7d7726
%if 0%{?build_tests}
7d7726
echo "ac_add_options --enable-tests" >> .mozconfig
7d7726
%else
7d7726
echo "ac_add_options --disable-tests" >> .mozconfig
f7e2cb
%endif
f7e2cb
7d7726
%if !%{?system_jpeg}
7d7726
echo "ac_add_options --without-system-jpeg" >> .mozconfig
7d7726
%else
7d7726
echo "ac_add_options --with-system-jpeg" >> .mozconfig
7d7726
%endif
7d7726
7d7726
%if %{?system_libvpx}
7d7726
echo "ac_add_options --with-system-libvpx" >> .mozconfig
7d7726
%else
7d7726
echo "ac_add_options --without-system-libvpx" >> .mozconfig
7d7726
%endif
7d7726
7d7726
%ifarch s390 s390x
f7e2cb
echo "ac_add_options --disable-jit" >> .mozconfig
f7e2cb
%endif
f7e2cb
7d7726
%if %{build_with_asan}
7d7726
echo "ac_add_options --enable-address-sanitizer" >> .mozconfig
7d7726
echo "ac_add_options --disable-jemalloc" >> .mozconfig
7d7726
%endif
7d7726
7d7726
%if !%{enable_mozilla_crashreporter}
7d7726
echo "ac_add_options --disable-crashreporter" >> .mozconfig
f7e2cb
%endif
7d7726
%if %{?use_openssl_for_librnp}
7d7726
echo "ac_add_options --with-librnp-backend=openssl" >> .mozconfig
f7e2cb
%endif
f7e2cb
a9635e
# AV1 requires newer nasm that was rebased in 8.4
7d7726
%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} < 4)
a9635e
echo "ac_add_options --disable-av1" >> .mozconfig
a9635e
%endif
a9635e
7d7726
# api keys full path
7d7726
echo "ac_add_options --with-mozilla-api-keyfile=`pwd`/mozilla-api-key" >> .mozconfig
7d7726
# It seems that the api key we have is for the safe browsing only
7d7726
echo "ac_add_options --with-google-location-service-api-keyfile=`pwd`/google-loc-api-key" >> .mozconfig
7d7726
echo "ac_add_options --with-google-safebrowsing-api-keyfile=`pwd`/google-api-key" >> .mozconfig
f7e2cb
7d7726
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig
a9635e
f7e2cb
# Remove executable bit to make brp-mangle-shebangs happy.
7d7726
find third_party -type f  -iname "*.rs"|xargs chmod a-x
f7e2cb
7d7726
#===============================================================================
f7e2cb
f7e2cb
%build
f7e2cb
# Disable LTO to work around rhbz#1883904
f7e2cb
%define _lto_cflags %{nil}
f7e2cb
export PATH="%{_buildrootdir}/bin:$PATH"
7d7726
# Cleanup buildroot for existing rpms from bundled nss/nspr and other packages
7d7726
rm -rf %{_buildrootdir}/*
f7e2cb
f7e2cb
function install_rpms_to_current_dir() {
f7e2cb
    PACKAGE_RPM=$(eval echo $1)
f7e2cb
    PACKAGE_DIR=%{_rpmdir}
f7e2cb
f7e2cb
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
f7e2cb
        # Hack for tps tests
f7e2cb
        ARCH_STR=%{_arch}
a9635e
        %ifarch %{ix86}
f7e2cb
            ARCH_STR="i?86"
f7e2cb
        %endif
f7e2cb
        PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
f7e2cb
     fi
f7e2cb
f7e2cb
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
f7e2cb
     do
f7e2cb
         echo "$package"
f7e2cb
         rpm2cpio "$package" | cpio -idu
f7e2cb
     done
f7e2cb
}
f7e2cb
%if 0%{?bundle_nss}
a9635e
  rpm -ivh %{SOURCE402}
a9635e
  #rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nspr.spec
a9635e
  rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nspr.spec
a9635e
  pushd %{_buildrootdir}
a9635e
  install_rpms_to_current_dir nspr-4*.rpm
a9635e
  install_rpms_to_current_dir nspr-devel*.rpm
a9635e
  popd
a9635e
  echo "Setting nspr flags"
a9635e
  # nss-setup-flags-env.inc
a9635e
  sed -i 's@%{bundled_install_path}@%{_buildrootdir}%{bundled_install_path}@g' %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nspr*.pc
7d7726
  cat %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nspr*.pc
a9635e
a9635e
  export LDFLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
a9635e
  export LDFLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $LDFLAGS"
a9635e
  export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
a9635e
  export PKG_CONFIG_PATH=%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig
7d7726
  pkg-config --libs-only-L nspr
7d7726
  pkg-config --libs nspr
7d7726
  export PATH="%{_buildrootdir}%{bundled_install_path}/bin:$PATH"
a9635e
a9635e
  export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH
a9635e
  echo $PKG_CONFIG_PATH
a9635e
a9635e
  rpm -ivh %{SOURCE403}
7d7726
  rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nss.spec
a9635e
  pushd %{_buildrootdir}
a9635e
  #cleanup
a9635e
  install_rpms_to_current_dir nss-3*.rpm
a9635e
  install_rpms_to_current_dir nss-devel*.rpm
a9635e
  install_rpms_to_current_dir nss-pkcs11-devel*.rpm
a9635e
  install_rpms_to_current_dir nss-softokn-3*.rpm
a9635e
  install_rpms_to_current_dir nss-softokn-devel*.rpm
a9635e
  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
a9635e
  install_rpms_to_current_dir nss-softokn-freebl-devel*.rpm
a9635e
  install_rpms_to_current_dir nss-util-3*.rpm
a9635e
  install_rpms_to_current_dir nss-util-devel*.rpm
a9635e
  popd
a9635e
  %filter_provides_in %{bundled_install_path}/%{_lib}
a9635e
  %filter_requires_in %{bundled_install_path}/%{_lib}
f7e2cb
  %filter_from_requires /libnss3.so.*/d
f7e2cb
  %filter_from_requires /libsmime3.so.*/d
f7e2cb
  %filter_from_requires /libssl3.so.*/d
f7e2cb
  %filter_from_requires /libnssutil3.so.*/d
f7e2cb
  %filter_from_requires /libnspr4.so.*/d
a9635e
  find %{_buildrootdir}
f7e2cb
%endif
f7e2cb
f7e2cb
set +e
7d7726
%if 0%{?rhel} == 8 && %{rhel_minor_version} < 6
7d7726
%ifarch aarch64
7d7726
source scl_source enable gcc-toolset-12
7d7726
%endif
7d7726
%endif
f7e2cb
%if 0%{?use_dts}
f7e2cb
source scl_source enable devtoolset-%{dts_version}
f7e2cb
%endif
f7e2cb
%if 0%{?use_rustts}
a9635e
source scl_source enable rust-toolset-%{rust_version}
a9635e
%endif
a9635e
%if 0%{?use_nodejsts}
a9635e
source scl_source enable rh-nodejs10
f7e2cb
%endif
7d7726
%if 0%{?use_llvmts}
7d7726
source scl_source enable llvm-toolset-%{llvm_version}
7d7726
%endif
f7e2cb
7d7726
set -e
f7e2cb
env
f7e2cb
which gcc
f7e2cb
which c++
f7e2cb
which g++
f7e2cb
which ld
a9635e
which nasm
7d7726
which node
7d7726
%if 0%{?use_bundled_cbindgen}
f7e2cb
mkdir -p my_rust_vendor
f7e2cb
cd my_rust_vendor
f7e2cb
%{__tar} xf %{SOURCE2}
f7e2cb
mkdir -p .cargo
f7e2cb
cat > .cargo/config <
f7e2cb
[source.crates-io]
f7e2cb
replace-with = "vendored-sources"
f7e2cb
f7e2cb
[source.vendored-sources]
7d7726
directory = "`pwd`"
f7e2cb
EOL
f7e2cb
7d7726
%ifarch aarch64
7d7726
#export RUSTFLAGS="-Cdebuginfo=0 -Clinker=/opt/rh/gcc-toolset-12/root/usr/bin/gcc"
7d7726
%endif
f7e2cb
7d7726
env CARGO_HOME=.cargo cargo install cbindgen
7d7726
export PATH=`pwd`/.cargo/bin:$PATH
7d7726
cd -
7d7726
%endif
f7e2cb
f7e2cb
mkdir %{_buildrootdir}/bin || :
7d7726
cp %{SOURCE32} %{_buildrootdir}/bin || :
f7e2cb
f7e2cb
# Update the various config.guess to upstream release for aarch64 support
7d7726
# Do not update config.guess in the ./third_party/rust because that would break checksums
7d7726
find ./ -path ./third_party/rust -prune -o -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
f7e2cb
f7e2cb
MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
f7e2cb
#rhbz#1037063
f7e2cb
# -Werror=format-security causes build failures when -Wno-format is explicitly given
f7e2cb
# for some sources
f7e2cb
# Explicitly force the hardening flags for Firefox so it passes the checksec test;
f7e2cb
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
7d7726
%if 0%{?fedora} < 30
f7e2cb
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
7d7726
%else
7d7726
# Workaround for mozbz#1531309
7d7726
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-Werror=format-security//')
7d7726
%endif
7d7726
%if 0%{?fedora} > 30
7d7726
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fpermissive"
7d7726
%endif
f7e2cb
%if %{?hardened_build}
7d7726
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
7d7726
%endif
f7e2cb
%if %{?debug_build}
7d7726
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//')
7d7726
%endif
7d7726
%ifarch s390
7d7726
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/')
7d7726
# If MOZ_DEBUG_FLAGS is empty, firefox's build will default it to "-g" which
7d7726
# overrides the -g1 from line above and breaks building on s390/arm
7d7726
# (OOM when linking, rhbz#1238225)
7d7726
export MOZ_DEBUG_FLAGS=" "
f7e2cb
%endif
f7e2cb
7d7726
%ifarch %{arm} %{ix86}
7d7726
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g0/')
7d7726
export MOZ_DEBUG_FLAGS=" "
7d7726
%endif
a9635e
%if !%{build_with_clang}
7d7726
%ifarch s390x ppc aarch64 %{ix86}
7d7726
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
7d7726
%endif
7d7726
%ifarch %{arm}
7d7726
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--strip-debug"
7d7726
echo "ac_add_options --enable-linker=gold" >> .mozconfig
7d7726
%endif
7d7726
%endif
7d7726
%if 0%{?flatpak}
7d7726
# Make sure the linker can find libraries in /app/lib64 as we don't use
7d7726
# __global_ldflags that normally sets this.
7d7726
MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -L%{_libdir}"
7d7726
%endif
7d7726
%ifarch %{arm} %{ix86} %{s390x}
7d7726
export RUSTFLAGS="-Cdebuginfo=0"
7d7726
echo 'export RUSTFLAGS="-Cdebuginfo=0"' >> .mozconfig
7d7726
%endif
7d7726
#%ifarch aarch64
7d7726
#export RUSTFLAGS="-Cdebuginfo=0 -Clinker=/opt/rh/gcc-toolset-12/root/usr/bin/gcc"
7d7726
#echo 'export RUSTFLAGS="-Cdebuginfo=0 -Clinker=/opt/rh/gcc-toolset-12/root/usr/bin/gcc"' >> .mozconfig
7d7726
#%endif
7d7726
%if %{build_with_asan}
7d7726
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fsanitize=address -Dxmalloc=myxmalloc"
7d7726
MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -fsanitize=address -ldl"
f7e2cb
%endif
a9635e
a9635e
%if 0%{?bundle_nss}
a9635e
  mkdir -p %{_buildrootdir}%{bundled_install_path}/%{_lib}
a9635e
  MOZ_LINK_FLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
a9635e
  MOZ_LINK_FLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
a9635e
  MOZ_LINK_FLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
f7e2cb
%endif
f7e2cb
7d7726
# We don't want thunderbird to use CK_GCM_PARAMS_V3 in nss
7d7726
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
f7e2cb
a9635e
echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
a9635e
echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
a9635e
echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig
a9635e
a9635e
%if %{build_with_clang}
7d7726
echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig
7d7726
echo "export AR=\"llvm-ar\"" >> .mozconfig
7d7726
echo "export NM=\"llvm-nm\"" >> .mozconfig
7d7726
echo "export RANLIB=\"llvm-ranlib\"" >> .mozconfig
7d7726
echo "ac_add_options --enable-linker=lld" >> .mozconfig
a9635e
%else
7d7726
echo "export CC=gcc" >> .mozconfig
7d7726
echo "export CXX=g++" >> .mozconfig
7d7726
echo "export AR=\"gcc-ar\"" >> .mozconfig
7d7726
echo "export NM=\"gcc-nm\"" >> .mozconfig
7d7726
echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig
7d7726
%endif
7d7726
%if 0%{?build_with_pgo}
7d7726
echo "ac_add_options MOZ_PGO=1" >> .mozconfig
7d7726
# PGO build doesn't work with ccache
7d7726
export CCACHE_DISABLE=1
a9635e
%endif
f7e2cb
f7e2cb
MOZ_SMP_FLAGS=-j1
7d7726
# On x86_64 architectures, Mozilla can build up to 4 jobs at once in parallel,
7d7726
# however builds tend to fail on other arches when building in parallel.
7d7726
#%ifarch %{ix86} s390x %{arm} aarch64 ppc64le
7d7726
#[ -z "$RPM_BUILD_NCPUS" ] && \
7d7726
#     RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
7d7726
#[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
7d7726
#%endif
7d7726
#%ifarch x86_64 ppc ppc64 ppc64le
7d7726
[ -z "$RPM_BUILD_NCPUS" ] && \
a9635e
       RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
7d7726
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
7d7726
[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4
7d7726
[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8
7d7726
[ "$RPM_BUILD_NCPUS" -ge 16 ] && MOZ_SMP_FLAGS=-j16
7d7726
#%endif
f7e2cb
7d7726
echo "mk_add_options MOZ_MAKE_FLAGS=\"$MOZ_SMP_FLAGS\"" >> .mozconfig
7d7726
echo "mk_add_options MOZ_SERVICES_SYNC=1" >> .mozconfig
7d7726
echo "export STRIP=/bin/true" >> .mozconfig
7d7726
#export MACH_USE_SYSTEM_PYTHON=1
a9635e
f7e2cb
%if 0%{?bundle_nss}
a9635e
  echo "Setting nss flags"
a9635e
  # nss-setup-flags-env.inc
a9635e
  %include_file %{SOURCE401}
a9635e
  export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH
a9635e
  echo $PKG_CONFIG_PATH
f7e2cb
%endif
f7e2cb
f7e2cb
a9635e
export MACH_USE_SYSTEM_PYTHON=1
7d7726
./mach build -v || exit 1
f7e2cb
f7e2cb
7d7726
#---------------------------------------------------------------------
f7e2cb
%install
a9635e
export MACH_USE_SYSTEM_PYTHON=1
f7e2cb
function install_rpms_to_current_dir() {
f7e2cb
    PACKAGE_RPM=$(eval echo $1)
f7e2cb
    PACKAGE_DIR=%{_rpmdir}
f7e2cb
f7e2cb
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
f7e2cb
        # Hack for tps tests
f7e2cb
        ARCH_STR=%{_arch}
a9635e
        %ifarch %{ix86}
f7e2cb
            ARCH_STR="i?86"
f7e2cb
        %endif
f7e2cb
        PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
f7e2cb
     fi
f7e2cb
f7e2cb
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
f7e2cb
     do
f7e2cb
         echo "$package"
f7e2cb
         rpm2cpio "$package" | cpio -idu
f7e2cb
     done
f7e2cb
}
f7e2cb
f7e2cb
%if 0%{?bundle_nss}
f7e2cb
  pushd %{buildroot}
f7e2cb
  #install_rpms_to_current_dir nss-*.rpm
f7e2cb
  install_rpms_to_current_dir nspr-4*.rpm
f7e2cb
  install_rpms_to_current_dir nss-3*.rpm
f7e2cb
  install_rpms_to_current_dir nss-softokn-3*.rpm
f7e2cb
  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
f7e2cb
  install_rpms_to_current_dir nss-util-3*.rpm
a9635e
f7e2cb
  # cleanup unecessary nss files
a9635e
  #rm -rf %{_buildrootdir}/%{bundled_install_path}/bin
a9635e
  #rm -rf %{_buildrootdir}/%{bundled_install_path}/include
a9635e
  rm -rf %{buildroot}/%{bundled_install_path}/lib/dracut
a9635e
  rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/nss
a9635e
  #rm -rf %{_buildrootdir}/%{bundled_install_path}/%{_lib}/pkgconfig
a9635e
  rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/share
a9635e
  rm -rf %{buildroot}/%{bundled_install_path}/share
f7e2cb
  rm -rf %{buildroot}/etc/pki
f7e2cb
  rm -rf %{buildroot}/usr/lib/.build-id
f7e2cb
  rm -rf %{buildroot}/etc/crypto-policies
f7e2cb
  popd
f7e2cb
%endif
f7e2cb
f7e2cb
DESTDIR=%{buildroot} make -C objdir install
f7e2cb
7d7726
7d7726
# install icons
7d7726
for s in 16 22 24 32 48 64 128 256; do
7d7726
    %{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps
7d7726
    %{__cp} -p comm/mail/branding/%{name}/default${s}.png \
7d7726
               $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/thunderbird.png
7d7726
done
7d7726
7d7726
# Install high contrast icon
7d7726
%{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
7d7726
%{__cp} -p %{SOURCE25} \
7d7726
           %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
f7e2cb
f7e2cb
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20}
f7e2cb
f7e2cb
# set up the thunderbird start script
7d7726
rm -f $RPM_BUILD_ROOT/%{_bindir}/thunderbird
7d7726
%{__cat} %{SOURCE21} | %{__sed} -e 's,%PREFIX%,%{_prefix},g' > \
7d7726
        $RPM_BUILD_ROOT/%{_bindir}/thunderbird
7d7726
%{__chmod} 755 $RPM_BUILD_ROOT/%{_bindir}/thunderbird
7d7726
# Run firefox under wayland only on RHEL9 and newer
7d7726
%if 0%{?rhel} < 9
7d7726
sed -i -e 's|%DISABLE_WAYLAND_PLACEHOLDER%|export MOZ_DISABLE_WAYLAND=1|' %{buildroot}%{_bindir}/thunderbird
7d7726
%else
7d7726
sed -i -e 's|%DISABLE_WAYLAND_PLACEHOLDER%||' %{buildroot}%{_bindir}/thunderbird
7d7726
%endif
f7e2cb
7d7726
# set up our default preferences
7d7726
%{__cat} %{SOURCE12} | %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' \
7d7726
        -e 's,myspell,%{dictionarydir},g' \
7d7726
        > $RPM_BUILD_ROOT/rh-default-prefs
7d7726
%{__install} -D $RPM_BUILD_ROOT/rh-default-prefs $RPM_BUILD_ROOT/%{mozappdir}/greprefs/all-redhat.js
7d7726
%{__install} -D $RPM_BUILD_ROOT/rh-default-prefs $RPM_BUILD_ROOT/%{mozappdir}/defaults/pref/all-redhat.js
7d7726
%{__rm} $RPM_BUILD_ROOT/rh-default-prefs
f7e2cb
7d7726
%{__rm} -f $RPM_BUILD_ROOT%{_bindir}/thunderbird-config
f7e2cb
f7e2cb
# own mozilla plugin dir (#135050)
7d7726
%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins
f7e2cb
f7e2cb
# own extension directories
7d7726
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/mozilla/extensions/%{thunderbird_app_id}
7d7726
%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{thunderbird_app_id}
7d7726
7d7726
# System config dir (#1525709)
7d7726
%{__mkdir_p} %{buildroot}%{_sysconfdir}/%{name}/pref
f7e2cb
f7e2cb
# Install langpacks
7d7726
%{__rm} -f %{name}.lang # Delete for --short-circuit option
7d7726
touch %{name}.lang
7d7726
7d7726
%if 0%{?build_langpacks}
f7e2cb
%{__mkdir_p} %{buildroot}%{langpackdir}
f7e2cb
%{__tar} xf %{SOURCE1}
f7e2cb
for langpack in `ls thunderbird-langpacks/*.xpi`; do
f7e2cb
  language=`basename $langpack .xpi`
f7e2cb
  extensionID=langpack-$language@thunderbird.mozilla.org
f7e2cb
  %{__mkdir_p} $extensionID
a9635e
  unzip -qq $langpack -d $extensionID
f7e2cb
  find $extensionID -type f | xargs chmod 644
f7e2cb
f7e2cb
  cd $extensionID
a9635e
  zip -qq -r9mX ../${extensionID}.xpi *
f7e2cb
  cd -
f7e2cb
f7e2cb
  %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir}
f7e2cb
  language=`echo $language | sed -e 's/-/_/g'`
f7e2cb
  echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang
f7e2cb
done
f7e2cb
%{__rm} -rf thunderbird-langpacks
f7e2cb
%endif
f7e2cb
7d7726
f7e2cb
# Get rid of devel package and its debugsymbols
7d7726
%{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-devel-%{version}
f7e2cb
f7e2cb
# Copy over the LICENSE
7d7726
install -c -m 644 LICENSE $RPM_BUILD_ROOT%{mozappdir}
f7e2cb
f7e2cb
# Use the system hunspell dictionaries
7d7726
%{__rm} -rf $RPM_BUILD_ROOT/%{mozappdir}/dictionaries
7d7726
ln -s $(pkg-config --variable prefix hunspell)/share/%{dictionarydir} $RPM_BUILD_ROOT%{mozappdir}/dictionaries
f7e2cb
f7e2cb
# ghost files
7d7726
%{__mkdir_p} $RPM_BUILD_ROOT%{mozappdir}/components
7d7726
touch $RPM_BUILD_ROOT%{mozappdir}/components/compreg.dat
7d7726
touch $RPM_BUILD_ROOT%{mozappdir}/components/xpti.dat
f7e2cb
7d7726
# Add debuginfo for crash-stats.mozilla.com
7d7726
%if %{enable_mozilla_crashreporter}
7d7726
%{__mkdir_p} $RPM_BUILD_ROOT/%{moz_debug_dir}
7d7726
%{__cp} %{objdir}/dist/%{symbols_file_name} $RPM_BUILD_ROOT/%{moz_debug_dir}
7d7726
%endif
f7e2cb
7d7726
# Removing librnp.so - we cannot deliver librnp with botan crypto backend RHELs
7d7726
%if !%{?use_openssl_for_librnp}
7d7726
%{__rm} -rf %{buildroot}%{mozappdir}/librnp.so %{buildroot}%{mozappdir}/rnp-cli %{buildroot}%{mozappdir}/rnpkeys
7d7726
%endif
f7e2cb
a9635e
# Register as an application to be visible in the software center
98c969
mkdir -p $RPM_BUILD_ROOT%{_datadir}/metainfo
98c969
%{__cp} -p comm/mail/branding/%{name}/net.thunderbird.Thunderbird.appdata.xml $RPM_BUILD_ROOT%{_datadir}/metainfo/thunderbird.appdata.xml
98c969
sed -i -e 's|<icon .*|<icon type="stock">thunderbird</icon>|' "$RPM_BUILD_ROOT%{_datadir}/metainfo/thunderbird.appdata.xml"
f7e2cb
98c969
#===============================================================================
f7e2cb
7d7726
%clean
7d7726
rm -rf %{_srcrpmdir}/libffi*.src.rpm
7d7726
find %{_rpmdir} -name "libffi*.rpm" -delete
7d7726
rm -rf %{_srcrpmdir}/openssl*.src.rpm
7d7726
find %{_rpmdir} -name "openssl*.rpm" -delete
7d7726
rm -rf %{_srcrpmdir}/nss*.src.rpm
7d7726
find %{_rpmdir} -name "nss*.rpm" -delete
7d7726
rm -rf %{_srcrpmdir}/nspr*.src.rpm
7d7726
find %{_rpmdir} -name "nspr*.rpm" -delete
7d7726
f7e2cb
%post
f7e2cb
update-desktop-database &> /dev/null || :
f7e2cb
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
f7e2cb
f7e2cb
%postun
a9635e
update-desktop-database &> /dev/null || :
f7e2cb
if [ $1 -eq 0 ] ; then
f7e2cb
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
f7e2cb
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
f7e2cb
fi
f7e2cb
f7e2cb
%posttrans
f7e2cb
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
f7e2cb
f7e2cb
#===============================================================================
a9635e
%files -f %{name}.lang
f7e2cb
%defattr(-,root,root,-)
f7e2cb
%attr(755,root,root) %{_bindir}/thunderbird
98c969
%{_datadir}/metainfo/*.appdata.xml
f7e2cb
%attr(644,root,root) %{_datadir}/applications/thunderbird.desktop
7d7726
%dir %{_sysconfdir}/%{name}
7d7726
%dir %{_sysconfdir}/%{name}/*
f7e2cb
%dir %{_datadir}/mozilla/extensions/%{thunderbird_app_id}
f7e2cb
%dir %{_libdir}/mozilla/extensions/%{thunderbird_app_id}
f7e2cb
%dir %{mozappdir}
f7e2cb
%doc %{mozappdir}/LICENSE
f7e2cb
%{mozappdir}/chrome
f7e2cb
%dir %{mozappdir}/components
f7e2cb
%ghost %{mozappdir}/components/compreg.dat
f7e2cb
%ghost %{mozappdir}/components/xpti.dat
f7e2cb
%{mozappdir}/omni.ja
f7e2cb
%{mozappdir}/plugin-container
f7e2cb
%{mozappdir}/defaults
f7e2cb
%{mozappdir}/dictionaries
7d7726
%if %{build_langpacks}
7d7726
%dir %{langpackdir}
7d7726
%endif
f7e2cb
%{mozappdir}/greprefs
f7e2cb
%{mozappdir}/isp
f7e2cb
%{mozappdir}/thunderbird-bin
f7e2cb
%{mozappdir}/thunderbird
f7e2cb
%{mozappdir}/*.so
f7e2cb
%{mozappdir}/platform.ini
f7e2cb
%{mozappdir}/application.ini
f7e2cb
%exclude %{mozappdir}/removed-files
f7e2cb
%{_datadir}/icons/hicolor/16x16/apps/thunderbird.png
f7e2cb
%{_datadir}/icons/hicolor/22x22/apps/thunderbird.png
f7e2cb
%{_datadir}/icons/hicolor/24x24/apps/thunderbird.png
f7e2cb
%{_datadir}/icons/hicolor/256x256/apps/thunderbird.png
f7e2cb
%{_datadir}/icons/hicolor/32x32/apps/thunderbird.png
f7e2cb
%{_datadir}/icons/hicolor/48x48/apps/thunderbird.png
7d7726
%{_datadir}/icons/hicolor/64x64/apps/thunderbird.png
7d7726
%{_datadir}/icons/hicolor/128x128/apps/thunderbird.png
7d7726
%{_datadir}/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg
7d7726
%if %{enable_mozilla_crashreporter}
7d7726
%{mozappdir}/crashreporter
7d7726
%{mozappdir}/crashreporter.ini
7d7726
%{mozappdir}/Throbber-small.gif
7d7726
%endif
f7e2cb
%if !%{?system_nss}
7d7726
%{mozappdir}/*.chk
f7e2cb
%endif
7d7726
%{mozappdir}/dependentlibs.list
7d7726
%{mozappdir}/fonts
7d7726
%{mozappdir}/pingsender
7d7726
%if %{?use_openssl_for_librnp}
7d7726
%{mozappdir}/librnp.so
7d7726
%{mozappdir}/rnp-cli
7d7726
%{mozappdir}/rnpkeys
f7e2cb
%endif
f7e2cb
f7e2cb
%if 0%{?bundle_nss}
f7e2cb
%{mozappdir}/bundled/%{_lib}/libfreebl*
f7e2cb
%{mozappdir}/bundled/%{_lib}/libnss3*
f7e2cb
%{mozappdir}/bundled/%{_lib}/libnssdbm3*
f7e2cb
%{mozappdir}/bundled/%{_lib}/libnssutil3*
f7e2cb
%{mozappdir}/bundled/%{_lib}/libsmime3*
f7e2cb
%{mozappdir}/bundled/%{_lib}/libsoftokn*
f7e2cb
%{mozappdir}/bundled/%{_lib}/libssl3*
f7e2cb
%{mozappdir}/bundled/%{_lib}/libnspr4.so
f7e2cb
%{mozappdir}/bundled/%{_lib}/libplc4.so
f7e2cb
%{mozappdir}/bundled/%{_lib}/libplds4.so
f7e2cb
%endif
f7e2cb
f7e2cb
#===============================================================================
f7e2cb
f7e2cb
%changelog
333e2c
* Tue Mar 28 2023 CentOS Sources <bugs@centos.org> - 102.8.0-2.el9.centos
333e2c
- Apply debranding changes
333e2c
7d7726
* Wed Feb 15 2023 Eike Rathke <erack@redhat.com> - 102.8.0-2
7d7726
- Update to 102.8.0 build2
7d7726
7d7726
* Fri Feb 10 2023 Eike Rathke <erack@redhat.com> - 102.8.0-1
7d7726
- Update to 102.8.0 build1
7d7726
7d7726
* Tue Jan 31 2023 Eike Rathke <erack@redhat.com> - 102.7.1-2
7d7726
- Update to 102.7.1 build2
7d7726
7d7726
* Tue Jan 24 2023 Eike Rathke <erack@redhat.com> - 102.7.1-1
7d7726
- Update to 102.7.1 build1
7d7726
7d7726
* Mon Jan 16 2023 Eike Rathke <erack@redhat.com> - 102.7.0-1
7d7726
- Update to 102.7.0 build1
7d7726
7d7726
* Tue Dec 13 2022 Eike Rathke <erack@redhat.com> - 102.6.0-2
7d7726
- Update to 102.6.0 build2
7d7726
7d7726
* Fri Dec 09 2022 Eike Rathke <erack@redhat.com> - 102.6.0-1
7d7726
- Update to 102.6.0 build1
7d7726
7d7726
* Tue Nov 29 2022 Jan Horak <jhorak@redhat.com> - 102.5.0-3
7d7726
- Use openssl for the librnp crypto backend to enable the openpgp encryption
7d7726
7d7726
* Tue Nov 15 2022 Eike Rathke <erack@redhat.com> - 102.5.0-2
7d7726
- Update to 102.5.0 build2
7d7726
7d7726
* Fri Nov 11 2022 Eike Rathke <erack@redhat.com> - 102.5.0-1
7d7726
- Update to 102.5.0 build1
7d7726
7d7726
* Mon Oct 17 2022 Eike Rathke <erack@redhat.com> - 102.4.0-1
7d7726
- Update to 102.4.0 build1
7d7726
7d7726
* Wed Oct 12 2022 Jan Horak <jhorak@redhat.com> - 102.3.0-4
7d7726
- Fix for expat CVE-2022-40674
7d7726
7d7726
* Fri Sep 16 2022 Jan Horak <jhorak@redhat.com> - 102.3.0-3
7d7726
- Update to 102.3.0 build1
e5045c
89f49d
* Fri Aug 19 2022 Eike Rathke <erack@redhat.com> - 91.13.0-1
89f49d
- Update to 91.13.0 build1
89f49d
89f49d
* Mon Jul 25 2022 Eike Rathke <erack@redhat.com> - 91.12.0-1
89f49d
- Update to 91.12.0 build1
89f49d
89f49d
* Tue Jun 28 2022 Eike Rathke <erack@redhat.com> - 91.11.0-2
89f49d
- Update to 91.11.0 build2
89f49d
89f49d
* Thu Jun 23 2022 Eike Rathke <erack@redhat.com> - 91.11.0-1
89f49d
- Update to 91.11.0 build1
89f49d
89f49d
* Mon May 30 2022 Eike Rathke <erack@redhat.com> - 91.10.0-1
89f49d
- Update to 91.10.0 build1
89f49d
89f49d
* Mon May 23 2022 Jan Horak <jhorak@redhat.com> - 91.9.1-1
89f49d
- Update to 91.9.1 build1
89f49d
89f49d
* Tue May 03 2022 Eike Rathke <erack@redhat.com> - 91.9.0-3
89f49d
- Update to 91.9.0 build3
89f49d
89f49d
* Mon May 02 2022 Eike Rathke <erack@redhat.com> - 91.9.0-2
89f49d
- Update to 91.9.0 build2
89f49d
89f49d
* Thu Apr 28 2022 Eike Rathke <erack@redhat.com> - 91.9.0-1
89f49d
- Update to 91.9.0
89f49d
89f49d
* Tue Apr 05 2022 Eike Rathke <erack@redhat.com> - 91.8.0-1
89f49d
- Update to 91.8.0
31d99c
bc3290
* Tue Mar 08 2022 Eike Rathke <erack@redhat.com> - 91.7.0-2
bc3290
- Update to 91.7.0 build2
bc3290
bc3290
* Thu Mar 03 2022 Eike Rathke <erack@redhat.com> - 91.7.0-1
bc3290
- Update to 91.7.0 build1
e91c11
98c969
* Fri Feb 11 2022 Jan Horak <jhorak@redhat.com> - 91.6.0-2
98c969
- Move appdata to metainfo and use stock icon instead of remote
98c969
98c969
* Mon Feb 07 2022 Eike Rathke <erack@redhat.com> - 91.6.0-1
98c969
- Update to 91.6.0 build1
98c969
98c969
* Tue Jan 18 2022 Jan Horak <jhorak@redhat.com> - 91.5.0-3
98c969
- Using upstream appdata file
2db41c
620831
* Fri Jan 14 2022 Jan Horak <jhorak@redhat.com> - 91.5.0-2
620831
- Enabled optimalization for s390x
620831
620831
* Fri Jan 07 2022 Eike Rathke <erack@redhat.com> - 91.5.0-1
620831
- Update to 91.5.0 build1
a0d6b5
68d821
* Mon Dec 06 2021 Eike Rathke <erack@redhat.com> - 91.4.0-2
68d821
- Update to 91.4.0 build2
68d821
68d821
* Wed Dec 01 2021 Eike Rathke <erack@redhat.com> - 91.4.0-1
68d821
- Update to 91.4.0 build1
bb73f8
a9635e
* Tue Nov 02 2021 Eike Rathke <erack@redhat.com> - 91.3.0-2
68d821
- Update to 91.3.0 build2
a9635e
a9635e
* Mon Nov 01 2021 Eike Rathke <erack@redhat.com> - 91.3.0-1
a9635e
- Update to 91.3.0 build1
a9635e
a9635e
* Fri Oct 08 2021 Eike Rathke <erack@redhat.com> - 91.2.0-1
a9635e
- Update to 91.2.0
a9635e
a9635e
* Tue Sep 07 2021 Eike Rathke <erack@redhat.com> - 78.14.0-1
a9635e
- Update to 78.14.0
5efc27
f7e2cb
* Thu Aug 19 2021 Carlos O'Donell <codonell@redhat.com> - 78.13.0-2
f7e2cb
- Rebuilt for libffi 3.4.2 SONAME transition.
f7e2cb
  Related: rhbz#1891914
f7e2cb
f7e2cb
* Tue Aug 10 2021 Eike Rathke <erack@redhat.com> - 78.13.0-1
f7e2cb
- Update to 78.13.0
f7e2cb
f7e2cb
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 78.12.0-4
f7e2cb
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
f7e2cb
  Related: rhbz#1991688
f7e2cb
f7e2cb
* Fri Jul 30 2021 Tomas Popela <tpopela@redhat.com> - 78.12.0-3
f7e2cb
- Add script to process the official tarball to comply with PELC review
f7e2cb
- Fix the build with newer glibc
f7e2cb
f7e2cb
* Mon Jul 12 2021 Eike Rathke <erack@redhat.com> - 78.12.0-2
f7e2cb
- Update to 78.12.0 build2
f7e2cb
f7e2cb
* Thu Jul 08 2021 Eike Rathke <erack@redhat.com> - 78.12.0-1
f7e2cb
- Update to 78.12.0 build1
f7e2cb
f7e2cb
* Wed Jun 30 2021 Jan Horak <jhorak@redhat.com> - 78.11.0-2
f7e2cb
- Added bundled libraries, update to 78.11
f7e2cb
f7e2cb
* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 78.8.0-5
f7e2cb
- Rebuilt for RHEL 9 BETA for openssl 3.0
f7e2cb
  Related: rhbz#1971065
f7e2cb
f7e2cb
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 78.8.0-4
f7e2cb
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
f7e2cb
- Fixing MOZ_SMP_FLAGS
f7e2cb
f7e2cb
* Mon Mar 01 2021 Jan Horak <jhorak@redhat.com> - 78.8.0-2
f7e2cb
- Removed autoconf213 dependency
f7e2cb
f7e2cb
* Mon Feb 22 2021 Jan Horak <jhorak@redhat.com> - 78.8.0-1
f7e2cb
- Update to 78.8.0 build1
f7e2cb
f7e2cb
* Tue Jan 12 2021 Eike Rathke <erack@redhat.com> - 78.6.1-1
f7e2cb
- Update to 78.6.1
f7e2cb
f7e2cb
* Tue Dec 15 2020 Eike Rathke <erack@redhat.com> - 78.6.0-1
f7e2cb
- Update to 78.6.0
f7e2cb
f7e2cb
* Fri Dec 04 2020 Jan Horak <jhorak@redhat.com> - 78.5.1-1
f7e2cb
- Update to 78.5.1 build1
f7e2cb
f7e2cb
* Wed Nov 18 2020 Eike Rathke <erack@redhat.com> - 78.5.0-1
f7e2cb
- Update to 78.5.0 build3
f7e2cb
f7e2cb
* Thu Nov 12 2020 Eike Rathke <erack@redhat.com> - 78.4.3-1
f7e2cb
- Update to 78.4.3
f7e2cb
f7e2cb
* Wed Oct 21 2020 Eike Rathke <erack@redhat.com> - 78.4.0-1
f7e2cb
- Update to 78.4.0 build1
f7e2cb
- Disabled telemetry
f7e2cb
f7e2cb
* Tue Sep 29 2020 Jan Horak <jhorak@redhat.com> - 78.3.1-1
f7e2cb
- Update to 78.3.1 build1
f7e2cb
f7e2cb
* Sat Sep 19 2020 Jan Horak <jhorak@redhat.com> - 78.3.0-3
f7e2cb
- Update to 78.3.0 build1
f7e2cb
- Remove librdp.so as long as we cannot ship it in RHEL
f7e2cb
f7e2cb
* Tue Sep 08 2020 Jan Horak <jhorak@redhat.com> - 78.2.1-1
f7e2cb
- Update to 78.2.1 build1
f7e2cb
f7e2cb
* Wed Sep 02 2020 Jan Horak <jhorak@redhat.com> - 68.12.0-1
f7e2cb
- Update to 68.12.0 build1
f7e2cb
f7e2cb
* Tue Aug 04 2020 Jan Horak <jhorak@redhat.com> - 68.11.0-1
f7e2cb
- Update to 68.11.0 build1
f7e2cb
f7e2cb
* Wed Jul 08 2020 Jan Horak <jhorak@redhat.com> - 68.10.0-1
f7e2cb
- Update to 68.10.0 build1
f7e2cb
f7e2cb
* Fri Jun 05 2020 Jan Horak <jhorak@redhat.com> - 68.9.0-1
f7e2cb
- Update to 68.9.0 build1
f7e2cb
f7e2cb
* Tue May 05 2020 Jan Horak <jhorak@redhat.com> - 68.8.0-1
f7e2cb
- Update to 68.8.0 build2
f7e2cb
f7e2cb
* Tue Apr 14 2020 Jan Horak <jhorak@redhat.com> - 68.7.0-1
f7e2cb
- Update to 68.7.0 build1
f7e2cb
f7e2cb
* Fri Mar 13 2020 Jan Horak <jhorak@redhat.com> - 68.6.0-1
f7e2cb
- Update to 68.6.0 build2
f7e2cb
f7e2cb
* Thu Feb 13 2020 Jan Horak <jhorak@redhat.com> - 68.5.0-1
f7e2cb
- Update to 68.5.0 build1
f7e2cb
f7e2cb
* Mon Jan 13 2020 Jan Horak <jhorak@redhat.com> - 68.4.1-2
f7e2cb
- Update to 68.4.1 build1
f7e2cb
f7e2cb
* Mon Dec 02 2019 Jan Horak <jhorak@redhat.com> - 68.3.0-2
f7e2cb
- Update to 68.3.0 build2
f7e2cb
f7e2cb
* Fri Oct 25 2019 Jan Horak <jhorak@redhat.com> - 68.2.0-2
f7e2cb
- Added patch for TLS 1.3 support.
f7e2cb
f7e2cb
* Tue Oct 22 2019 Jan Horak <jhorak@redhat.com> - 68.2.0-1
f7e2cb
- Update to 68.2.0
f7e2cb
f7e2cb
* Thu Oct  3 2019 Jan Horak <jhorak@redhat.com> - 68.1.1-2
f7e2cb
- Update to 68.1.1
f7e2cb
f7e2cb
* Wed Sep  4 2019 Jan Horak <jhorak@redhat.com> - 60.9.0-2
f7e2cb
- Update to 60.9.0
f7e2cb
f7e2cb
* Thu Jul 4 2019 Martin Stransky <stransky@redhat.com> - 60.8.0-1
f7e2cb
- Updated to 60.8.0
f7e2cb
f7e2cb
* Wed Jul 3 2019 Martin Stransky <stransky@redhat.com> - 60.7.2-3
f7e2cb
- Rebuild to fix rhbz#1725919 - Thunderbird fails to authenticate
f7e2cb
  with gmail with ssl/tls and OAuth2.
f7e2cb