PKGBUILDs/extra/thunderbird/PKGBUILD
2021-08-12 12:54:05 +00:00

310 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.13.0
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
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=('daee9ea9e57bdfce231a35029807f279a06f8790d71efc8998c78eb42d99a93cf98623170947df99202da038f949ba9111a7ff7adbd43c161794deb6791370a0'
'SKIP'
'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'6048bce2bae535007422854affa3cc2cc588e6029ea3083aa4817795beb25dc6e2726df082ed0fe9664f328d68b2f60e2619b87c359c99e73c9ace3dce0f3176'
'c25883c4860e511a99d9fbfba5b824145c0862729101721605725f609ca2a41848b741dd100eff390f57031dc5f14af3ea30133de30f75cb20197c420ae20972'
'8ca4f72f1fc0a7fc128f05112d8f77be5350826010069ee3b787989131f02b82d014a4781e97ebe5694852c4bb5e87bb5313e562cfb7cb2afb6f904124027e13'
'30f699ccd68cd577b691439a3769ecb6eadda84352cac52d27364527a61d77f9584ce225ab871bf0ca76ece6e65fe939021b09c4adaee8e09f8635d326cb4d96'
'678c1162243aec8e33a0fe09325f2856dcf2ba447e91a5283aa766c65285e95e7dc66e609a6b5bba9129cac393f09fa7083fb7c39b2d7604216155d9f03c2e56'
'84f42514f68228cff173a0fed9b7a54859a716b8bc53ea657241fa9e28f16161230c14c4b32e0c5208386ff47716244837130f2785f7eba3e1845a87b5904dc1'
'c060daceabf1801271ec777e1f1b7b380741e8eac55d0ab2060eb38dc4de040a79c99716164ac7476af977609a30a0d9921aaa9e5f7ace80c57a0d5a056f0f52'
'bb2eaf0a35075d070b75b752bbd363ad3e723324eb94d2c6ee6615ed190177235a3d207c48041c1ee932cd0577116d5ae8432504324b25ce2f53b3a5bba21d83'
'd98d5a5f8958d60371835ff7d5674f45e14e7a5793596660eda73a18c28c73e715e240718dd8d88b1c1d23c18021e86fae0965dbfc6d294a629b6305ac05891e'
'c23f3092af1a04fbe5e1246b0f3ceb67f7f05c8e790ec304d46d0e27d62bfbfd0949e63165a2c93b40088a9e2bc647ad581804696bdb294d2f8106812f18f640'
'ffc35075701a057a399bdf4e8b2bb6bfb7dbfeafce9581fe3a5eb5a79ae10c5bd0fbd98616f1a07f160c5d40fdb5624173cbd07d43a2e99eb3d8d9ff0aaea9f1'
'4832783b92a99b63f0df2081a81d3d216faef00e93117cbc4e0c83a4beaa91e2094ab8ba39d089a55847044b9bee7633dc4df2afcf2ab25cf1a31fc157117bc6'
'eb78878ef39c8fff546e95d2e9db6cb3d8d560556bf89370ed64f729570a3148f407c0a7fffb61a881332fc8ad41c56d79f0e7c9ba1b0b0d1c6bb724e675bd83'
'4d47b59f2ed2a95b23bd38b0345cdcfe2a1ac4ebeff10a78bf104a7d21f4e9cedc228f34c6a0996ab3836135d38fd2a9d20c286810e3c94507a7ec1d11f7a2d5'
'591e357eb78df67bee1c1fd483b1a029e895212603058b3bfe8724c527277b0f09e3618eead6da4e39d2c5cae26ca5b4fdf8823e573a6ffb4ed8e94517ad929f'
'eddc80a7cdb8e5e6f2a3e625c6e3eed8f7547a557ca54742b23d392d871d6d2dad183521e3b9fd550712b8705aa69781f92bd6027334ed94a201bc7ed03b4b74'
'cc3020ca79e9c252c59fecd1f509ad306a9e5a6b81230287c48b2eb2c94beab635a4114010baf99f248d850a80ce27b22fa0042b6b4aef2950168587e02ef257'
'7ac4585b3ee74904b9caf3486dc4a7a3e27e3543c388445e54c5761c208dc96ecf4cfcf2cce6b0dda820b9c18db8dbc79b6899d5e93c6cd6c1b4e287552a319d'
'91018c03a679d506f46d38879d6c404bcb171d58cf6728226bb721c0e35ab71396f587e7f586fa23406e2a07361edd69699b4c966177abb1c3f06d1d445aebe9'
'af1b1654af730a14858257a98290bfe352136ccc95520af4cd32165b055ca6ded30b5efc137685edc7e5f9dddcbb89ab50facf1cbc422811f445f92c2a98f8ee'
'89a6d96fcccfa1bcd83db5c7945da302c0251c7391c211b8257b8965769aba5b0751fb443a1fdbb29b587ab6671b48a3424db05fccd778269c987b53448070cb'
'fa4ab13f138587263db93a4eda5076c4159a536088303ef98265bc6e48db2b7bdcb1a39b2904ad8f91ca591beba9229241be796879cff24a23b161f701b0a771'
'72bf07ea702c533778847461952cd9c321cd4636c289e34fadb5655d30b55f2f364cdb2d044233bd2834fb423214b8a6c830301b5f563f30375bd52603f01db5'
'8cb51291e3759feafd4cb415e95a72151072a6b2e96663bcf051336c7e85c176ae44dbb69068b504887465e6e5370a32779201c28a17f5d3ce7594cb124a359d'
'9240387fbe92409c3ff951866047ec323efb831e5da40fd60b231a252b205b907fd2eb0f2899f8d4fdad68d7cd618cded9972888bda67a27ef1c12ad0944a9c4'
'7e31faa3028a4bfe72ba457f47917e314218468d8f38a66886300295e6aac8ee911e875884e1d1ad1f7b8c4b4bd63615c5915fe22e3c08eaefb8f8e6798b6845'
'4928f532b24cb429d4daf2125fefecf90f3d7b6e32c93cd4b3db90c33e341891bf32da64901844d3888d1613ef2352b3bf286756a0782b1d8ae3e37afb62e58f'
'836ad1541b4af13db65dcf663207a4b05129434306742af0e2ac6fe6e214f761b0f861957cdb2d7c12090d07d773fd008a910b3fdf2d62306e5b3798808ebdcd'
'4dc5739f44049281f3ba73ef4a107f4dd377cce6fd6e2ff8f34cbd4d49a17cac32f3d867eff989e6dc3354331b8295f81e945bd92aea585043b9a6cecf25a32a'
'c195a95b07af36be93bb0382cf2904e80744d0a70f5405cff526cb6ee8cfc7dd32a5f24662964a32a0cf56a2c87abe6492d1c1eafc7484fc5f0de2292f6cf245'
'ac69f8727b5586998e4a172e4c4dfc3246efd616ff41725532f72c9a06db6c58b566cbf60bee1f80a35a92e393195bf95e79c1820e9d19a44a15a7160d94ede5'
'506c9261d5b8bc73da2d3db60e7c8490672036ecd4a54e2a5e4fe059846c8c6e15708fb6b2f9a1514592fc1b68dcafe3ed5663a055d0d65b92e9bdf91678ec27'
'04d77a7c395b263663e715f421ef60b37a3d4215db31053efc841b573b9c0f630fb482d0b19829fcb83d679ecb4f4e4b38542247b76065f884f9058ecce549e1'
'4cfa926f8330507c87a46dc2203b04b5e75987a3c86128bbac6e5a862ee3efdbba5678dbc134bb69069e3334663fd727153271251a59ebc64addbbba9accd9a7'
'477c117eb3a711c7c13bea74df9471254938fcb605f2d74f0e14b8edd5508b1ad35a8d27a366f4b7fc925902a898361410694636adc9603a35dca220dbc541ca'
'cebed09f69962f0e1d487767c7a186ff714a10bb6ab9778fbfab6119af17079ba0b3aab988f05b7c7cbed6ad338f4c4fcc74fcfa103ad1f844059263371d9f32'
'151bfcbfbee399e55a17a1eda9333f7f2851e541abae8a1c3301c3646123c7bf6bcd9a7276c1f47d3200a47bb5eceff6cbd0ca439d42ad9eefb7c9793f77e3b2'
'544649532f46ec981c49ba33d036b4552c5e421c2767fe6bbdcfeb0d847af2edc63732478797c4f9837f82c752f57df01d8750292fb362ede7d189b54f88453c'
'e77f843729a7a26de4362338da1de7843946833d2f266535e001df2c0eb04e4e0679abd3c092771913ef43212aa4615b0f195069775e4121821599a84cd64b96'
'094db835f95e328a5d9c6893cca5760aa55e8ffff6b694b0223dac0360e0f01cc9fe3c210c0914d2ce100628198305a7623029bdc5138410c0426887fb6bb5fd'
'f96fc8a3434b7ecd6c2059a332ffbbe7b4a3b0a62a060cab1042f2169aae5d82cf9ef1d128704c35ba29933e561606d20ff6072a99e849f1ea6d2de1ce7fd3df'
'97a18b88670e9cca85b513fa0f2655a3a3123d1ab107892558baeeda10c30db91b00ed06a66b4f190687a645eb50269d02759f76c1e969e87043a2986ab25229'
'e1a3a1af7d65380b317d011a25dda38dd8f3072b7b48aae150aca4fe1becac0c15fac54170e00da7ab70a7ab63f805edb63440ed07c85cc3b0c9d6a8c079b077'
'4233e0241bb4dcfced48e85a1fe97c8393d04ac3f4e62acf991fbaa5df622642ee7d228ca27116ec1be7e4a1583c90d854aac15ce43e7495d393bd21d3e1edb6'
'4286724cffc9cb8a8680b8c8374e36e0cb8bf6e9e7aa1d852a15ad4e124175dc703c4e5bf21e26b14e96fa079237558eb8df24ebd87cef4ebedd2e211e7944b1'
'4f28c4dc3db49ec6201aa37701c432555280f0213127dc0f9a2add86e9be0364b7bbb5380e7b6a8871a9193c61824eca0c2fc78428c7f43bc506ac206b304df3'
'7f8411415a847397519f80c9c23db36194ce2afcfd0ef4f9ca323a15ef8f8494cca1c18bd63fe7e0ab3f5c47e0cad79eec77ed4883af948d93e4545444cade74'
'0794a4bded60b9c5d052c95125398d3386dd5ec2c224250866513c10e286e338e6d477b6d26f0cf237944941891998003d163cce900a7f35af196c2530322156'
'5c527bc28fb15a905f05c2737aadd61dac7b5a7bd9dda03aeee56f3fa46d8a141fa88900ae70bf4a35ebfb0f7995cde317e5bfe7ce0561a1c5ddff8762a86d7b'
'cde03f478bd6e5dfe86d2bbaae88bdd27a226db973ce88772d1b390c7790c6a050eb0a4e5b4871c38a50731f73140ecb4309664af093ecb9495997471d70d3cc'
'04f289454f0c12403613f4ccf228b08fc2e853aeaec2d9df3c376ae72c3c7c1ef9d2635b1888b42be4cacb50890ec8a384c616f8137c1304de9dcbfddf9a96b0'
'ac28ae98a3e7cb9e5083f2588d8fed3346899e490c5078a7c98cf46a3ce969bb0f99fe0fec551d8e3783a2b145dc9518ce918b810c733a90c0f3bc78d05d28e1'
'531db84707ee47d42112b645b6afb91d8e882e2bc6c8ee12d54fa35e229e9c45132e2a3bf57c2bf247913f7843afa23748207628c528ac452dfea237cabd4d06'
'084ae4c7318f5623e9de8405caa0f699ddd52f1a17e62bb6d1e81c7c9a8f9e35a200a398377f1695f508b884bbd15ad4a9b3e067643d7aa3f53252d9eb42443b'
'4b297e738bfc6d249b476285b1aa86db4b125827f46ca3a6f52edf7ad24aaab03024b5ec734b0acaac9da2ed9c8d0315e9cb12e78025ee1626f551d77877a111'
'e23613b27add7e7d40defccb1a3428c018695f517863e18b00d25207e145c294b7125866dac9bd9447ea2e94e165594effbe711edd14418a379447ded41652af'
'5724c02a4ff161a7dd90ced33e8f4ec56635102a09bdace8a04e71beda2be065c3fc4e11f5825851120213cc37c62ff02c1461a6bc29933d2100ce6adcebbead'
'e8e1ace4d1d4df4bb045ce5fa164eab26ed092c03528cc9f668013e1a6150d202c7a982ac70c1365e481b31d7a8ceb97f477d01a31833f487b743ac91c0901c7'
'b442e9fe81520a48c37e347741db5b21e83c4077caf04e25532cf4084d293bbb44565ab48c5379505f065ce251531c995fbcd08cb770d47db259a4d34f3d1aac'
'1b360470b523f0d8408be81e8f10ac6a30169df3962b4f52a8290f3c254b1f8acf9fce5dfaf13c923ea442fef8c30b7b247f8a8b060de897c9d2723b4917a3dc'
'8c6d4d7f6e4e129723bc02477526270d40e51b5c32488b31fee9975b781da1df906911ff02936f74a9e569f93bf62954074bf449e361219f0ccc409a4eb177b8'
'58f6d260126dc743b4b8d1ba4883f4b56a20a7c9b0560ab2cfe34e377bfd7853c381fb522c70a2bb73b74599b39d3f7a658c939d4c0bd906917b831702cce7a0'
'5ecb007400422d70385ce5b13e0751b3bfc904e4da54e155d5e9dc3165ccc50640a812ff91306e0e4e54759097a2abdfd7f6aa8ff3cdb6dcb7bae9a56aa5a92e'
'f91a90200feefdfa3738867a594be683b595ac82aa12a2b881df8ffd9c9c736a7203765bfd548ce86300aa7ba1893bd66794864a73b819ac17dddddb5061d2e2'
'8d74d5ebba80eacb4a0090554e2dfca7fbbe2142abad59306af1f14d1e86b857b96dee6ba419132e6ba316959e880923ec3562a735c53865b3a017c811cefead'
'8374b23093d1e13634428a6dd1517720bb6fe7756d90d4010b6116b1334f928c6a3a0899af4a993025cab46ca2b88569384dd0af573b5a84cad1402480dab824'
'067fbe8bec14e682985dfb64f2bbb6ff9d5bb9a13d333df173aace02345356bf4c981a5d0886ba750c3696920231c0ef75b01a4d938f98884ab8de0f3af8312c'
'86ee904bc972273970594e1d531287cd4dcb6a3fa9513a6258366d40483e8aed1e1bed427e129caee75d1518570c05a9022e1344d3739eabc890e4ce704020d9')
# vim:set sw=2 et: