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