PKGBUILDs/extra/thunderbird/PKGBUILD
2021-05-06 19:59:30 +00:00

312 lines
17 KiB
Bash

# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Anders Bostrom <anders.bostrom@home.se>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - mozconfig changes for ARM
# - revert change for clang that breaks gcc build on ARM
buildarch=12
highmem=3
pkgbase=thunderbird
pkgname=(thunderbird)
pkgver=78.10.1
pkgrel=1
pkgdesc='Standalone mail and news reader from mozilla.org'
url='https://www.mozilla.org/thunderbird/'
arch=(x86_64)
license=(MPL GPL LGPL)
depends=(
glibc gtk3 libgdk-3.so mime-types dbus libdbus-1.so dbus-glib alsa-lib nss
hunspell sqlite ttf-font libvpx libvpx.so zlib bzip2 botan libwebp libevent
libjpeg-turbo libffi nspr gcc-libs libx11 libxrender libxfixes libxext
libxcomposite libxdamage pango libpango-1.0.so cairo gdk-pixbuf2 icu
libicui18n.so libicuuc.so freetype2 libfreetype.so fontconfig
libfontconfig.so glib2 libglib-2.0.so pixman libpixman-1.so gnupg
)
optdepends=(
'libotr: OTR support for active one-to-one chats'
)
makedepends=(
unzip zip diffutils python python-setuptools yasm nasm mesa imake libpulse
inetutils xorg-server-xvfb autoconf2.13 rust clang llvm gtk2 cbindgen nodejs
gawk perl findutils libotr
)
options=(!emptydirs !makeflags)
source=(https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz{,.asc}
thunderbird.desktop
vendor-prefs.js
distribution.ini
mozconfig.cfg
configure-fix-passing-system-bzip2-ldflags.patch
thunderbird-78.5-rust-1.48.patch
arm.patch
Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch)
validpgpkeys=(14F26682D0916CDD81E37B6D61B7B526D98F0353) # Mozilla Software Releases <release@mozilla.com>
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
# more information.
_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
# Mozilla API keys (see https://location.services.mozilla.com/api)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact heftig@archlinux.org for
# more information.
_mozilla_api_key=16674381-f021-49de-8622-3021c5942aff
prepare() {
cd $pkgname-$pkgver
echo "${noextract[@]}"
local src
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
echo "Applying patch $src..."
patch -Np1 < "../$src"
done
printf "%s" "$_google_api_key" >google-api-key
printf "%s" "$_mozilla_api_key" >mozilla-api-key
cp ../mozconfig.cfg .mozconfig
sed "s|@PWD@|${PWD@Q}|g" -i .mozconfig
if [[ $CARCH == "armv7h" ]]; then
echo "ac_add_options --disable-elf-hack" >> .mozconfig
MAKEFLAGS="-j2"
CFLAGS=`echo $CFLAGS | sed -e 's/vfpv3-d16/neon/'`
CXXFLAGS="$CFLAGS"
fi
echo 'ac_add_options --enable-optimize="-g0 -O2"' >> .mozconfig
echo "mk_add_options MOZ_MAKE_FLAGS=\"${MAKEFLAGS}\"" >> .mozconfig
export MOZ_DEBUG_FLAGS=" "
export CFLAGS+=" -g0"
export CXXFLAGS+=" -g0"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
export RUSTFLAGS="-Cdebuginfo=0"
}
build() {
cd $pkgname-$pkgver
if [[ -n "${SOURCE_DATE_EPOCH}" ]]; then
export MOZ_BUILD_DATE=$(date --date "@${SOURCE_DATE_EPOCH}" "+%Y%m%d%H%M%S")
fi
./mach configure
./mach build
./mach buildsymbols
}
package_thunderbird() {
optdepends=('libcanberra: sound support')
cd $pkgname-$pkgver
DESTDIR="$pkgdir" ./mach install
install -Dm 644 ../vendor-prefs.js -t "$pkgdir/usr/lib/$pkgname/defaults/pref"
install -Dm 644 ../distribution.ini -t "$pkgdir/usr/lib/$pkgname/distribution"
install -Dm 644 ../thunderbird.desktop -t "$pkgdir/usr/share/applications"
for i in 16 22 24 32 48 64 128 256; do
install -Dm644 comm/mail/branding/thunderbird/default${i}.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
done
install -Dm644 comm/mail/branding/thunderbird/TB-symbolic.svg \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg"
# Use system-provided dictionaries
ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries"
ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation"
# Install a wrapper to avoid confusion about binary path
install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
#!/bin/sh
exec /usr/lib/$pkgname/thunderbird "\$@"
END
# Replace duplicate binary with wrapper
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -srf "$pkgdir/usr/bin/$pkgname" \
"$pkgdir/usr/lib/$pkgname/thunderbird-bin"
}
_package_i18n() {
pkgdesc="$2 language pack for Thunderbird"
depends=("thunderbird>=$pkgver")
install -Dm644 thunderbird-i18n-$pkgver-$1.xpi \
"$pkgdir/usr/lib/thunderbird/extensions/langpack-$1@thunderbird.mozilla.org.xpi"
}
_languages=(
'af "Afrikaans"'
'ar "Arabic"'
'ast "Asturian"'
'be "Belarusian"'
'bg "Bulgarian"'
'br "Breton"'
'ca "Catalan"'
'cak "Kaqchikel"'
'cs "Czech"'
'cy "Welsh"'
'da "Danish"'
'de "German"'
'dsb "Lower Sorbian"'
'el "Greek"'
'en-GB "English (British)"'
'en-US "English (US)"'
'es-AR "Spanish (Argentina)"'
'es-ES "Spanish (Spain)"'
'et "Estonian"'
'eu "Basque"'
'fa "Persian"'
'fi "Finnish"'
'fr "French"'
'fy-NL "Frisian"'
'ga-IE "Irish"'
'gd "Gaelic (Scotland)"'
'gl "Galician"'
'he "Hebrew"'
'hr "Croatian"'
'hsb "Upper Sorbian"'
'hu "Hungarian"'
'hy-AM "Armenian"'
'id "Indonesian"'
'is "Icelandic"'
'it "Italian"'
'ja "Japanese"'
'ka "Georgian"'
'kab "Kabyle"'
'kk "Kazakh"'
'ko "Korean"'
'lt "Lithuanian"'
'ms "Malay"'
'nb-NO "Norwegian (Bokmål)"'
'nl "Dutch"'
'nn-NO "Norwegian (Nynorsk)"'
'pa-IN "Punjabi (India)"'
'pl "Polish"'
'pt-BR "Portuguese (Brazilian)"'
'pt-PT "Portuguese (Portugal)"'
'rm "Romansh"'
'ro "Romanian"'
'ru "Russian"'
'si "Sinhala"'
'sk "Slovak"'
'sl "Slovenian"'
'sq "Albanian"'
'sr "Serbian"'
'sv-SE "Swedish"'
'th "Thai"'
'tr "Turkish"'
'uk "Ukrainian"'
'uz "Uzbek"'
'vi "Vietnamese"'
'zh-CN "Chinese (Simplified)"'
'zh-TW "Chinese (Traditional)"'
)
_url=https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/linux-x86_64/xpi
for _lang in "${_languages[@]}"; do
_locale=${_lang%% *}
_pkgname=thunderbird-i18n-${_locale,,}
pkgname+=($_pkgname)
source+=("thunderbird-i18n-$pkgver-$_locale.xpi::$_url/$_locale.xpi")
eval "package_$_pkgname() {
_package_i18n $_lang
}"
done
# Don't extract languages
noextract=()
for _src in "${source[@]%%::*}"; do
case "$_src" in
*.xpi) noextract+=("$_src") ;;
esac
done
sha512sums=('fffae4bcf2411834a86b5d1fd7c3fa8dbc32763061de4afef44ec95d55a8c4ab94576f54bd8b8c9aef22e0c4a09b48a381ba2ddafc31be60ef79b81e6835e4db'
'SKIP'
'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'6048bce2bae535007422854affa3cc2cc588e6029ea3083aa4817795beb25dc6e2726df082ed0fe9664f328d68b2f60e2619b87c359c99e73c9ace3dce0f3176'
'e3ed2708b8354015cb3d2c81048d1ce4932d1effbe2b40efa7cf9b45c1b923b9fd708645e2f8aa0136a485a3f7ce6b396b85721aaf535a4a764fd5005fb7e222'
'bbb8b0e7b9c67372eb22e1d6b6b5758fe504ded84c40a076d4a064374a1bf34ac12d5b514b328ac9ca984d976b9e0fbde81e68a66bec915c997d6be0c0917584'
'f61d62d6ff0b5c6b651cd5bc57444bad772295c0b1f7ab66864f913009756442d1247cd75ac8af0fb6b6d82dffbac4db70f927a8469c638078a3b9bd587a4c17'
'ebe8b2897a228acd80736edcbbbd6dfe4458ba8bc5728847556148e82f99fc78e63a326f8783a1c7f0ca6823c723cd2199f0f01d7c00783072bea2b926ff9bc0'
'7c69196f50a6eb8972a52232f1e654d0ae35ccaef5807d99c2f53f5bc685cbc9980d22e597246721529006a98784da071984d74c71a4b86b9869cb5b59e807ca'
'ec5799c256894bd1aeb75e461e96f10dec49ea126b41e8017377b9bb2cf6deb6b20327acf6645db44dcb087e987c287d7c73214310ccbb6970aa43d29a3ba45d'
'12cacfdb7140e1d5cbd74cb339d5970345677b3abdceb3ba216ea35d206573c61bbe59c84e11d69019678781e9ab35ea899b32d88f295a235f98ff696aa77e00'
'bc77fd713194c7ce1855b669f4c58479dafdcf410954c2dcd8c92a517de184d70b2bdce1a389fc377a910988c2f01f45ffca7c2d757b9154a4ad82c7e9d4c069'
'f4b5f7c52a52642e0797a1726601b81ab6880c04c91ca5ee140a2d591fe86a57e769d5568dbce24c8a5662ee328eb76079b37e28007ef36fc8169da3aecb3bab'
'f9c1577479aac246609a9e0086014bcb13db88eb5bb7aaf19043bad9593c18eac1d38774e57a4ea955065e1141f3665a97101c591dfca92ad76ea0d6e5705c65'
'd5bbd28dd71cd8d98bc1ad0692d9af1f805633cb66b728481256c4d37977c033f27eb85d149ab392b9cf0c8af43afbf7509e2713862df937423cf2a4cd342f0c'
'2ed8b464861caf62ca6b5e3073311f8252fa5c581cbffd40dc7351f81aee86498125bb9fe445e99b5b71b916bd0ce75f867eab8c48f520badbcd5c0cd62bda4c'
'44de70b4ffc37d42bb59da4568caba05ca1672ad0dc5dfd1a2ff17d32841ea25794cd3332ed0a30a1a8e9f9480189bc8718bd95336f5af490031bae75d6dbf02'
'aa604dc2abb9278956830aeed64307c9761551300b4c0d7e82b6ae9c33eff72341a88bc7849f65f4ccb8e6c09b48997286d78c90a872831e80148785f1efa0ee'
'863520dfb725b2b782fac5bb0f6463e0d36f09c66e4cdfa40b68efc3c85265ac5f64773a1c0f163ff83a70eb91efd5750c5859780f76281a05def2319803387e'
'e25158c4857be6766d60093ac798b44847f59a27c93c19dff9c9cd55d4745da11e31bfe460a467ccadce9fdae53f00f0a290ff2c9aa55afa86161006f6d3ac88'
'b5122a65669ef8e088412a682f076585fe4adb85236aecff7d0c394e5729966166f580ee04b2b998d7e5c302cfd8a90777a8e54c063072f57cd5880746cf559a'
'8525dc712d1cdaa07065efd4a46d44eecd13cc7f721f5fbb5ce49f984754ab6b776c14142e49f83070d0724dac2d7901dcace03ef3b91fb9334602f32d7c32af'
'2454efed76f115012f01ce09d6b34d069dfe0dec3bbc54e66e91fc9ba2c3deb315f0b0d940148f66b69034c10e380199da1449192513d34fc5dac2c6fb7a1bbb'
'091fd1d6ca2e5b33d75184241a21f702501d776fc97361942e8c3a0fa5bd2417ae10f39529ab2269d7a18ae4321d20c03503a6a4e48da5f1c31cbbd12f7b25f6'
'c97377e5e9b2a61da6006b9d94d6072e50d3f2158ed3833720a8bfc7e7b4c6cf9298119f3a25c90ef2450dcbf7ae470a95afdd5b1f130c2f955cb6ebb91e99ad'
'8475def83fbd5394ba693b4ac13f9f4bfc871068f6ea920d58c1101600223c2aa20f5d73d79ae00a1fb7910bc68dab9d6ae6182d5cd26cf05ff728401ea07ad6'
'4afa939e38533be5f5b693a03f87540b3ca4a97545fcff018c816ef347ed48f41f184463a04cb2aa00cf7a2250b55749862d5463340c6b91632da0c22e28a481'
'5c012f08cd3866e47498d5b33db74df95e182b7ce576b8434baf03d36c612a370fd34598fca13e106112ee11e7bdba11144b6c18c34185a1457a6c04fd878e6f'
'0fa7409296f05f53520cf5194c5e01f5d342d433db9da92fa58d7bff8067ec179d532553d40c6e0fc4972628fd6f4fb6a929ea5c7a178c43f50c7e0bfb17a2c0'
'434167511d8501a1462a028f04311d539126f79f44cf47c72e68ff4d4b10d821f24f67dcb2f9dae0a8bbf4ce50019e600c62fe38359ab235ae1adf53e63e7dd0'
'da3967dab052adfe6df82aae32ac66e4df13b0b22183621c1ebfb45cb8f1c50cfd2b461e69100221572966bff8e30f6187450353aea27e4c9c4570e0f98fcfe8'
'17633ed107da6c709d8aa6fdce523f8aff7d7dd79dda98aac5a7a43c036655277c1f9e7572a260bec18e659a6c3d9887e37b3055a06be61cb3d730bc36072a1e'
'dc894a236f32356fdb7eb347debfed91a797adedfb2b752f1c47f03e93770530f5d717cc2f09c9e6955a9e1dc0068ae8ddf37209defcc238045f4e4e2602c7ed'
'f2b1468795e18cff843baf78df020e63421bebe3e774373ccd32b32687bb9f10e75bf2493fd57f947a0325ca43b74ea3324504f8be8d50aba6e6ae76e93d1cf0'
'770ea1e23de6097d2437927390f01e7d692ac4d66a373d6d06600a4f076e2f5877860f3a490b95719b938d3e158d2e43b47f7ebfafc7bc14d31fc13aaabf12e4'
'74a8b48f443bee735efc9af3d5a76b5b0d506c21955a4403fb9985a8769106e119482e2a65eb5fbc9ed4e3e64abeec279fb33df81bf0f7a5fedd9f0bb60d8c7b'
'781df7540833ba1699a4d4616c6f01c90916cddfe4326e961243bb22926b51e0e656647578191d669cdd36e88542120a4044799692128c8ecc53d6ac7415f89c'
'55b92bac02f8901eda092b2b9caa7fed42f757578e7ea021282e996cb3731e4d00d26be83fad4dd8b8e261587dca3f4db41ef7f59f8683497882aa7c1918c015'
'39431b80eed8b32103ff731247b612b9a6e05cd3cf253486ce7cb5feb67a34b537faddef203331f0e8598bcda0dcfd7ecffcd7ff34f1faa1080102bc2a0bb17d'
'a1e0087386d08fcc7812fdae2338785644262796d7eee89cbce2645b0f6f4bd3b22399d6609464b65327b18f0cccf0bd28e7d830a14b2ff83fd9c97eb72d5a23'
'f77d989af80bce6e512fdf21041164829745d4531647d7cf916d32e009815b7ef56ff81d03d3124ae75ff82684299b7a8fb35462734439fb18d3f4f7306b186b'
'4d1b37b7dcf8c8fd5c71d27faad152d8f158acedf59764d37df1fb3830c25ca0fd8eba2fa28c7f3b171b2305f567783aa1b64dd476a5a41e8b1801c5fa88272f'
'd64930e76c3cbe568d9b44fbde63fe57bef18c86f5e4aee13f99564db519e5a31a3162c348aa236f4280faf2819154339ec7f6142b3f8478e48f1e115cfe1902'
'37f715ae79d0aed7af095c8c987260a55348d72d68d3ca0534a6c144dc05ef66ad1880db666cbf7d328f00e6e33755d498d57c37376314d730b1d904d177a702'
'2e2a86a1a0ed1479a9f107c79ee39b59232e824fbe12f92e1e1537788228cfe9fe3d321d7ca174a8a68f15b25a19be4931d80d9de4adb19ffb2525d934fe2402'
'3b5f4fda23f12c94339a13a904c320c14bc9a94d1dcf82a5a2e768f34575dae2d882a78b8bb41d707b6fbffbe606cf4e75458a27d33263504dab7fa7199aae13'
'5379f94b4ae248941f607a1d626cd43da2ceb2981ef5d3c429e15c079c434928195feceefe51d3ad2618de97494af6c3301a3457290bde05ba9d494a8e1c72e1'
'0e37b81d2549c3fcb919a9f81d2d748d2bca53b7cd83fe07427f5ec096beb806b1394a4609c6bb69a18b64cb3dd9360d50f08a3e3fc1d56fd8dd8377a9fa7855'
'dc0f3b19559542714dc1c10c8b92cc67116ff6fc46d0a6df5cc89e405117678b36dc8c36d02dc08b239288f2ceb97ba50c67eb48fbb3265f91932ae17727ff11'
'2d4860f3a4ecf873c7825913edce78a810a73fef0fa7193919f1bda5d921760e88dbf66de31b509870b57d7025201d52129b165301864b869acc458dcec2569c'
'f1fd2f5a1d73922fb87c48583c2da1c01737f9bc0cbff7d71dfaa177f1fd1b712d81997a97cb1f0360d02c3f923cd88f910effd56606d6b5f8ddc779d6790fe4'
'bbba80e3ea703c46f72808642477970caa4896fc03b0275ed815c1aacce71d5e25686b08dd3af3da0740515876739a8b11a003d59a009da64900956644a81a2f'
'4745909f5880872d3b24b676e520ee5468458d5fdd5b6576a2399f202d6d2b7c3076268b22a537db3a65c87d3d98c3aa33bdb9b510ccedb1802f0cd027b8cb3b'
'cc5054a30147ec346ea50105415f69e6c59f7d78d5941e54d2e323cb80c4bb3d26782d99e91bec079fd463e7bfd3a6baa91cfd8136e8d283408c1b3cf653e0c2'
'a222b49731a4190f2923e24cd248148df3b4d3a1f71d8f696ba395c6b4ba4d701443024f1065b5fc6fbb79ad7a8bc82a31184934018969acb4e3a176babdb86d'
'198abe0685551aa73cdae9f73b7f8d8ceb77e379da446cad87cd093616e431700b50ca482ee07ee4a2ee04a127a2e17e43f62445c733fb10f63fa759843d2f9f'
'5532f26e3e872b1241d448542a5a96682f72c93ee44921bdef6e55a457b75c95e0011e7c1d9e3d772872a5225c7982875b6d830851ca3308f5ccd34b7ed3366b'
'1b29ca0747830e609d41ed1fcdd70d208cb9e71394055982efae425ccbcfe9d29a0cc675e739d1be346b140fb9463998c37d22c97ed0a316756fe219914e26d4'
'78c1df6786238e55231b7c3fc7bf7248deb1be5e88d2b18ce09e8df3c4aaddacd4c598bf74e56c1486f0a402403d45ddc454a13a8a347e8d2602c90bf4365c07'
'b280ea2dda6be6107fe92f0adac1f514a3c9d34b5b7b2c18c55fcc92e2102957f7cfdf53215706bf46b3ca96ba13f66f2e53e9863e918cf8b027adfc7ca62d76'
'1d0a83b5e9669128ac2209c5d9744b1775e570d23864aace080f9f0756b7d5948285f0cfe73686be78f8380c355cab37eaefb2aaf38a818fe479f2866ea83ada'
'206bc26b85b748bc482fa2d59fa08dc60847477f48021712faddf566c15ab96a5fcd78ba9e36fbd416b791a1f72cc60bb0bad3ff3fa091bda1a6b5f37e95f6d3'
'31ede6e790a4abfdd286b5cfa3426704415a0d68e1efcb3cb8fdd41caa2c8e6165165903b2b5632bb78524586bab7efd23f4b4dcadad0d1a02b681db5f462765'
'99616dd578b086a60beddbd8456542ff4af79ce41ad827e9121ffb02480a3e5f5c55e0d080e831fcf84a90a13c86aa8cfca7fe7b3b3a1f28c7cc683871ea667c'
'fa9238d9ad4cf38af499779bd07fb4c652f957d146e0e517cd0090aaaeb68ec1604b89ce384cbae2b38998e7e6c59efd5c22553d3f5d3d2a20e8fd0ad5732fb5'
'9a809264134b8357892211638eb18b722d2913355b9c1f5eb50a18bacefa8c3403f068f15232d0e94ca72959691028c0588d4bf3035e36ae427133ee7cc2675f'
'dc6982cbf69329b873f9c95904f0e5b7363ebc05b1dd56759d946f15369cc6577a160faf1098a55b520af069845bb695c7dcb1d829315ba2fd7d8e0b68eb617b'
'fc01d58803accd06b8ef4f9a50023522a370a69fa44af00f765239ed37f84f1f220383ed426e74a8c1e19fc8f3dc3b864675fbedd9cdb1faec58e788a7383c85'
'ef2c57eeb9c5c823966fffed1986ff09ad0529807035ee183b03754df0c9a6993c63afff9f64ed65bcb995027c5aacd04af212c1e94c81f280ba1785360b4d09'
'2275a1e189d806f98c59a19231ed03683aed60bc08969cbcd9d3650b9b545ba3f2cc143b536a6689bb9b14c930048cda85d038267de3a75d44c3132dc474238b'
'b4f85ca2ae438265fa9fdd99910d292937e78687a74cf12cc33e1a693e38cb76820a0e0c45f50de39cd2c4a3b911b5988eddbedb52a15379121590c9383ffac0')
# vim:set sw=2 et: