mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-30 13:02:27 +01:00
377 lines
10 KiB
Plaintext
377 lines
10 KiB
Plaintext
# Contributor: Joseph Benden <joe@benden.us>
|
|
# Maintainer: Joseph Benden <joe@benden.us>
|
|
pkgname=thunderbird
|
|
pkgver=78.9.0
|
|
pkgrel=2
|
|
pkgdesc="Thunderbird email client"
|
|
url="https://www.thunderbird.net/"
|
|
# Limited on:
|
|
# s390x, mips, mips64: limited by rust and cargo
|
|
# s390x: limited by pipewire
|
|
# armhf: build failure on armhf due to wasm
|
|
# ppc64le: Rust SIGSEGVs when compiling gkrust
|
|
arch="all !s390x !armhf !mips !mips64 !ppc64le !riscv64"
|
|
license="GPL-3.0-or-later AND LGPL-2.1-or-later AND MPL-2.0"
|
|
options="!check"
|
|
depends="
|
|
alsa-lib
|
|
dbus-glib
|
|
ffmpeg
|
|
gnupg
|
|
gtk+3.0
|
|
hunspell
|
|
icu
|
|
libevent
|
|
libjpeg-turbo
|
|
libnotify
|
|
libogg
|
|
libtheora
|
|
libvorbis
|
|
libxcomposite
|
|
libxt
|
|
nspr
|
|
nss
|
|
"
|
|
makedepends="
|
|
alsa-lib-dev
|
|
autoconf2.13
|
|
automake
|
|
botan-dev
|
|
bsd-compat-headers
|
|
cargo
|
|
cbindgen
|
|
clang-dev
|
|
dbus-glib-dev
|
|
ffmpeg-dev
|
|
gettext
|
|
gtk+2.0-dev
|
|
gtk+3.0-dev
|
|
hunspell-dev
|
|
icu-dev
|
|
json-c-dev
|
|
libevent-dev
|
|
libffi-dev
|
|
libidl-dev
|
|
libjpeg-turbo-dev
|
|
libnotify-dev
|
|
libogg-dev
|
|
libtheora-dev
|
|
libtool
|
|
libvorbis-dev
|
|
libvpx-dev
|
|
libwebp-dev
|
|
libxcomposite-dev
|
|
libxt-dev
|
|
llvm-dev
|
|
mesa-dev
|
|
nasm
|
|
nodejs
|
|
nspr-dev
|
|
nss-dev
|
|
nss-static
|
|
pipewire-dev
|
|
pulseaudio-dev
|
|
python3
|
|
sed
|
|
wireless-tools-dev
|
|
yasm
|
|
zip
|
|
"
|
|
source="https://ftp.mozilla.org/pub/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz
|
|
stab.h
|
|
|
|
fix-fortify-system-wrappers.patch
|
|
fix-tools.patch
|
|
mallinfo.patch
|
|
|
|
disable-moz-stackwalk.patch
|
|
fix-rust-target.patch
|
|
fix-webrtc-glibcisms.patch
|
|
fd6847c9416f9eebde636e21d794d25d1be8791d.patch
|
|
allow-custom-rust-vendor.patch
|
|
|
|
remove-faulty-libvpx-check.patch
|
|
disable-neon-in-aom.patch
|
|
sandbox-fork.patch
|
|
sandbox-sched_setscheduler.patch
|
|
|
|
thunderbird.desktop
|
|
"
|
|
|
|
# secfixes:
|
|
# 78.9.0-r0:
|
|
# - CVE-2021-23968
|
|
# - CVE-2021-23969
|
|
# - CVE-2021-23973
|
|
# - CVE-2021-23978
|
|
# - CVE-2021-23981
|
|
# - CVE-2021-23982
|
|
# - CVE-2021-23984
|
|
# - CVE-2021-23987
|
|
# 78.7.0-r0:
|
|
# - CVE-2020-15685
|
|
# - CVE-2020-26976
|
|
# - CVE-2021-23953
|
|
# - CVE-2021-23954
|
|
# - CVE-2021-23960
|
|
# - CVE-2021-23964
|
|
# 78.6.1-r0:
|
|
# - CVE-2020-16044
|
|
# - CVE-2020-16042
|
|
# - CVE-2020-26971
|
|
# - CVE-2020-26973
|
|
# - CVE-2020-26974
|
|
# - CVE-2020-26978
|
|
# - CVE-2020-35111
|
|
# - CVE-2020-35112
|
|
# - CVE-2020-35113
|
|
# 78.5.1-r0:
|
|
# - CVE-2020-15683
|
|
# - CVE-2020-15969
|
|
# - CVE-2020-15999
|
|
# - CVE-2020-16012
|
|
# - CVE-2020-26950
|
|
# - CVE-2020-26951
|
|
# - CVE-2020-26953
|
|
# - CVE-2020-26956
|
|
# - CVE-2020-26958
|
|
# - CVE-2020-26959
|
|
# - CVE-2020-26960
|
|
# - CVE-2020-26961
|
|
# - CVE-2020-26965
|
|
# - CVE-2020-26966
|
|
# - CVE-2020-26968
|
|
# - CVE-2020-26970
|
|
# 68.10.0-r0:
|
|
# - CVE-2020-12417
|
|
# - CVE-2020-12418
|
|
# - CVE-2020-12419
|
|
# - CVE-2020-12420
|
|
# - CVE-2020-12421
|
|
# 68.9.0-r0:
|
|
# - CVE-2020-12398
|
|
# - CVE-2020-12399
|
|
# - CVE-2020-12405
|
|
# - CVE-2020-12406
|
|
# - CVE-2020-12410
|
|
# 68.8.0-r0:
|
|
# - CVE-2020-12387
|
|
# - CVE-2020-12392
|
|
# - CVE-2020-12393
|
|
# - CVE-2020-12395
|
|
# - CVE-2020-12397
|
|
# - CVE-2020-6831
|
|
# 68.7.0-r0:
|
|
# - CVE-2020-6819
|
|
# - CVE-2020-6820
|
|
# - CVE-2020-6821
|
|
# - CVE-2020-6822
|
|
# - CVE-2020-6825
|
|
# 68.6.0-r0:
|
|
# - CVE-2019-20503
|
|
# - CVE-2020-6805
|
|
# - CVE-2020-6806
|
|
# - CVE-2020-6807
|
|
# - CVE-2020-6811
|
|
# - CVE-2020-6812
|
|
# - CVE-2020-6814
|
|
# 68.5.0-r0:
|
|
# - CVE-2020-6793
|
|
# - CVE-2020-6794
|
|
# - CVE-2020-6795
|
|
# - CVE-2020-6797
|
|
# - CVE-2020-6798
|
|
# - CVE-2020-6792
|
|
# - CVE-2020-6800
|
|
|
|
_mozappdir=/usr/lib/thunderbird
|
|
|
|
# help our shared-object scanner to find the libs
|
|
ldpath="$_mozappdir"
|
|
sonameprefix="$pkgname:"
|
|
|
|
# we need this because cargo verifies checksums of all files in vendor
|
|
# crates when it builds and gives us no way to override or update the
|
|
# file sanely... so just clear out the file list
|
|
_clear_vendor_checksums() {
|
|
sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/$1/.cargo-checksum.json
|
|
}
|
|
|
|
prepare() {
|
|
default_prepare
|
|
cp "$srcdir"/stab.h toolkit/crashreporter/google-breakpad/src/
|
|
|
|
_clear_vendor_checksums audio_thread_priority
|
|
_clear_vendor_checksums target-lexicon-0.9.0
|
|
}
|
|
|
|
build() {
|
|
mkdir -p "$builddir"/objdir
|
|
cd "$builddir"/objdir
|
|
|
|
export SHELL=/bin/sh
|
|
export BUILD_OFFICIAL=1
|
|
export MOZILLA_OFFICIAL=1
|
|
export USE_SHORT_LIBNAME=1
|
|
# Find our triplet JSON
|
|
export RUST_TARGET="$CTARGET"
|
|
|
|
# set rpath so linker finds the libs
|
|
export LDFLAGS="$LDFLAGS -Wl,-rpath,$_mozappdir"
|
|
|
|
case "$CARCH" in
|
|
arm*|x86*)
|
|
# disable-elf-hack: exists only on arm, x86, x86_64
|
|
_arch_config="--disable-elf-hack"
|
|
;;
|
|
esac
|
|
|
|
# SIMD broken with rustc >= 1.48
|
|
_rust_simd="--disable-rust-simd"
|
|
|
|
# TB doesn't have SIMD available on these arches.
|
|
case "$CARCH" in
|
|
armhf|armv7)
|
|
_low_mem_flags="--disable-debug-symbols --disable-debug"
|
|
export RUSTFLAGS="$RUSTFLAGS -C debuginfo=0"
|
|
;;
|
|
x86)
|
|
_low_mem_flags="--disable-debug-symbols --disable-debug"
|
|
export RUSTFLAGS="$RUSTFLAGS -C debuginfo=0"
|
|
;;
|
|
esac
|
|
|
|
../configure \
|
|
--prefix=/usr \
|
|
$_arch_config \
|
|
$_low_mem_flags \
|
|
$_rust_simd \
|
|
\
|
|
--disable-crashreporter \
|
|
--disable-gold \
|
|
--disable-install-strip \
|
|
--disable-jemalloc \
|
|
--disable-profiling \
|
|
--disable-pulseaudio \
|
|
--disable-strip \
|
|
--disable-tests \
|
|
--disable-updater \
|
|
\
|
|
--enable-alsa \
|
|
--enable-application=comm/mail \
|
|
--enable-cdp \
|
|
--enable-dbus \
|
|
--enable-default-toolkit=cairo-gtk3-wayland \
|
|
--enable-ffmpeg \
|
|
--enable-hardening \
|
|
--enable-necko-wifi \
|
|
--enable-official-branding \
|
|
--enable-openpgp \
|
|
--enable-optimize="$CFLAGS -O2" \
|
|
--enable-release \
|
|
--enable-smoosh \
|
|
--enable-system-ffi \
|
|
--enable-system-pixman \
|
|
\
|
|
--with-system-botan \
|
|
--with-system-ffi \
|
|
--with-system-icu \
|
|
--with-system-jpeg \
|
|
--with-system-jsonc \
|
|
--with-system-libevent \
|
|
--with-system-libvpx \
|
|
--with-system-nspr \
|
|
--with-system-nss \
|
|
--with-system-pixman \
|
|
--with-system-png \
|
|
--with-system-webp \
|
|
--with-system-zlib \
|
|
--with-distribution-id=org.alpinelinux \
|
|
--with-clang-path=/usr/bin/clang \
|
|
--with-libclang-path=/usr/lib
|
|
make
|
|
}
|
|
|
|
package() {
|
|
cd "$builddir"/objdir
|
|
|
|
make install \
|
|
DESTDIR="$pkgdir" \
|
|
MOZ_MAKE_FLAGS="$MAKEOPTS"
|
|
|
|
install -m755 -d "$pkgdir"/usr/share/applications
|
|
install -m755 -d "$pkgdir"/usr/share/pixmaps
|
|
|
|
local _png
|
|
for _png in "$builddir"/comm/mail/branding/thunderbird/default*.png; do
|
|
local i=${_png%.png}
|
|
i=${i##*/default}
|
|
install -D -m644 "$_png" "$pkgdir"/usr/share/icons/hicolor/"$i"x"$i"/apps/thunderbird.png
|
|
done
|
|
|
|
install -Dm644 "$builddir"/comm/mail/branding/thunderbird/TB-symbolic.svg \
|
|
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg"
|
|
install -Dm644 "$builddir"/comm/mail/branding/thunderbird/default48.png \
|
|
$pkgdir/usr/share/pixmaps/$pkgname.png
|
|
|
|
install -m644 "$srcdir"/thunderbird.desktop "$pkgdir"/usr/share/applications/thunderbird.desktop
|
|
|
|
# Add StartupWMClass=firefox on the .desktop files so Desktop Environments
|
|
# correctly associate the window with their icon, the correct fix is to have
|
|
# thunderbird sets its own AppID but this will work for the meantime
|
|
# See: https://bugzilla.mozilla.org/show_bug.cgi?id=1607399
|
|
echo "StartupWMClass=thunderbird" >> "$pkgdir"/usr/share/applications/thunderbird.desktop
|
|
|
|
# install our vendor prefs
|
|
install -d "$pkgdir"/$_mozappdir/defaults/preferences
|
|
|
|
cat >> "$pkgdir"/$_mozappdir/defaults/preferences/vendor.js <<- EOF
|
|
// Use LANG environment variable to choose locale
|
|
pref("intl.locale.requested", "");
|
|
|
|
// Use system-provided dictionaries
|
|
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
|
|
|
|
// Disable default mailer checking.
|
|
pref("mail.shell.checkDefaultMail", false);
|
|
|
|
// Don't disable our bundled extensions in the application directory
|
|
pref("extensions.autoDisableScopes", 11);
|
|
pref("extensions.shownSelectionUI", true);
|
|
EOF
|
|
|
|
install -d "$pkgdir"/$_mozappdir/distribution
|
|
|
|
cat >> "$pkgdir"/$_mozappdir/distribution/distribution.ini <<- EOF
|
|
[Global]
|
|
id=alpinelinux
|
|
version=1.0
|
|
about=Mozilla Thunderbird for Alpine Linux
|
|
|
|
[Preferences]
|
|
app.distributor=alpinelinux
|
|
app.distributor.channel=$pkgname
|
|
app.partner.alpinelinux=alpinelinux
|
|
EOF
|
|
|
|
# Replace duplicate binary with wrapper
|
|
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
|
|
ln -snf thunderbird "$pkgdir/$_mozappdir/thunderbird-bin"
|
|
}
|
|
|
|
sha512sums="fa5f9fee79c19810682b0848c2a9ca9518ca755b47689984165538d4d2a3d29423dd061691d5d227869472ca7275680e03f2a2b75766707cab264a9733d064cb thunderbird-78.9.0.source.tar.xz
|
|
0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h
|
|
2f4f15974d52de4bb273b62a332d13620945d284bbc6fe6bd0a1f58ff7388443bc1d3bf9c82cc31a8527aad92b0cd3a1bc41d0af5e1800e0dcbd7033e58ffd71 fix-fortify-system-wrappers.patch
|
|
4d55f41d15be7457ad630f8f07e4fc0314c2f75720010b4bbe6a2a7f3228210a1e069949e11795efbe2e784b0762e79fdfe5b8ec38e8a64cb8d9cf3b57dd5af1 fix-tools.patch
|
|
a4a3e062661bda64d502d426c480ac9645345860118de9df9ffe6e0597738c70c11e5cdef2d4fd12c5e2ee30a09310159230524655a419a4f7e4eeeb0f3c06b0 mallinfo.patch
|
|
454ea3263cabce099accbdc47aaf83be26a19f8b5a4568c01a7ef0384601cf8315efd86cd917f9c8bf419c2c845db89a905f3ff9a8eb0c8e41042e93aa96a85c disable-moz-stackwalk.patch
|
|
089c97e6011e86a9b9d9e7b0c8ba3af0519d1ce4e2b1e9ab7719762d6968388bfa47dad3bf23a6d41c3d66fdcc6c15e2c926e3ff9500bfd4fbf1b53e6d19dc57 fix-rust-target.patch
|
|
d35cacb9ede80e6bfbef0709823e536dddfb1c02d776275b0b7adb5969e9927d8c6117df96873569c3f3db0a18ee5db24f8086a9311a05077892be43a3dd8d79 fix-webrtc-glibcisms.patch
|
|
60845dcb034b2c4459c30f7d5f25c8176cf42df794e2cc0e86c3e2abb6541c24b962f3a16ca70a288d4d6f377b68d00b2904b22463108559612053d835d9bff1 fd6847c9416f9eebde636e21d794d25d1be8791d.patch
|
|
4e584621145cf8add069c6dac18e805b3274a1ee402d84e924df2341f7d3c5be261a93ef51283bacbd606f47fbdc628c4323ecc31efc5b403b8d224b18dc278f allow-custom-rust-vendor.patch
|
|
bb75b2abda86e455d81571052a2cfec5a9d858ffa91c50a7217b4b6c02cbfc0400e9114a27bd54ce78d7d3a44e9b03927cf0317654d98c0f39d26c63c9670117 remove-faulty-libvpx-check.patch
|
|
f963fcdba7307a0b1712dfb95ceba4ab49f449f60e550bb69d15d50272e6df9add90862251ee561e4ea5fd171a2703552ffa7aade92996f5f0b3e577f1544a6d disable-neon-in-aom.patch
|
|
4911ddb41bef8d9f6d6200159cde465627e940fe1c09099be55769d21a5a52a3f737e1bf803daa96126c035b091aea880fbc5d2e6cf5da96ddd17322461a72d6 sandbox-fork.patch
|
|
db26757b2ebf9f567962e32294b4ae48b3a5d0378a7589dfe650fe3a179ff58befbab5082981c68e1c25fb9e56b2db1e4e510d4bca17c3e3aedbf9a2f21806eb sandbox-sched_setscheduler.patch
|
|
95a2b1deb4f6c90750fdd2bfe8ca0a7879a5b267965091705a6beb0a0a4b1ccad75d11df7b9885543ca4232ff704e975c6946f4c11804cb71c471e06f9576001 thunderbird.desktop"
|