PKGBUILDs/extra/thunderbird/PKGBUILD
2021-05-23 01:23:15 +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.2
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=('b938580055b8b935a37cd7b7aea9b654f5dc42b0a5d459ccb95d10fbde49405c5fad3ebf450ecd1077289aef008801d1dbbb7d5be56bb238616df14a7658c3f4'
'SKIP'
'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'6048bce2bae535007422854affa3cc2cc588e6029ea3083aa4817795beb25dc6e2726df082ed0fe9664f328d68b2f60e2619b87c359c99e73c9ace3dce0f3176'
'e3ed2708b8354015cb3d2c81048d1ce4932d1effbe2b40efa7cf9b45c1b923b9fd708645e2f8aa0136a485a3f7ce6b396b85721aaf535a4a764fd5005fb7e222'
'bbb8b0e7b9c67372eb22e1d6b6b5758fe504ded84c40a076d4a064374a1bf34ac12d5b514b328ac9ca984d976b9e0fbde81e68a66bec915c997d6be0c0917584'
'04be6901b422e6a0a93d4b2a8c930f3ac8c78d4ce4fdff0dcfb904184080e5f1b0a10b05c44358069dfd9372fdabfeaa4b7a8b92fc16867fbe43569264996a08'
'85d4711c30a7956199d34b5bb5b20a1876758bb12dd0ab09a636d5cdee8c3038f5f7a1940327218aca635e8789a36cd4d8318878999bee7bf49e87e88e7af829'
'b3650198079ef290e82e51b9eb659c6675927378b14903de31d746ba6f5144bc8b1bc59b4909226118b4d5b88eb16ee7aee686cb15e6a28ae34e3a5bcc6d6441'
'b3cbe2dbf3b7dbee3033c016a5cac70d54633c568f2582005c08d9d8c600c6a4a63913f7c3bb33a504d3ed1cb573cfe922ab689af98b9bec1d945e1f034eb15e'
'6b4ab327f53e80f824b4b59091dc08e10f34919e8acbd2c89b0721a213ae500d4a355fff546e83eb3a610063a1d9789d087e04a9cec611f77a1dee4945575998'
'd1f7be100422deee4bb678913e96e09c94dd198d08ce24eb1cef64aad85313aa539e21180ce25e0d6de7ba498389fc270c502005c2a5cc0468501aab45b392e6'
'c6bc69941c2f733dd92ad350a258520117407b6ee5877a236107974b3beb5349f29bc9f53071795fcfbed5c8abac104c08e0ef1c3848eb05ec6c67b857dd03c9'
'ce771df6180ebc95e53e38dff77da0a55ca5c56085cb172e7cd4400e01915429230b675ce3ae1c15d59664476b1de1800cc59a8d4383f10dd6171868bb45a05a'
'50eea5f566706ed0cef0ec8fa0cb292e7b0643aab21393516e31cc2a61dbdbf45e81c59dd8c06657cd93c0d68db10301633bd73c3a76b2760600a06d1386a0ef'
'0086a25f0970f21b57109539ffbc8ef7dc6966c3f3e06a66e45986c8f209718bcc36a4250e84a97427f71d82c68949c25c7348fcf0ea6a7bcddfb6d12892e33d'
'890604e4470ca600e7ba2e80d0a4ff78deffd422207a9fd2ce23dd84f6ff2dcb36e351c21ccfa2d1e188229c8b4da9902f8e045cd518ff202aed1023d4fcbf89'
'5170ac63d6295f84e5cc506af09e4af87dd91a7438a916342ab5d485ba028aef2704b49d1736d55fdc1148c371d72ff0adc97918914e79627ae73f25b7df7c8b'
'348186117e9b05ab20562e89d15bfe2f1a3d190b8316e250bd5464b2fa906bf932297902c7c4088293895c8da8cc6a274477a2e36ec23a855a94fac1f2aac6e1'
'e0ed4353fe0e51213a1d8b065215efeb287e57438f3da26530dec04a805f04fc1a1265dbddfda636759f150b895d80ae5b71e118baa09da2ec64398518b997c6'
'f715cda23baadd9e3a2e06dd4b082a12832c07fc067e63ca3104036a5d5ffbde25d20b1a64473aa1052201a57d05d9bc9bfef7f1a0da6133db7a20f6667d07d9'
'1da33b6edc7f67ed58cf58b599d23fbe8b8cd153b2086a983855ebd306be23a0a62bdbb14d8437b34d57235701b590a32537d2492ca712e38068c1c2990c8bf9'
'62cfd7804e507f284a2f2e9f2bb13186d589d2e1c70408efe99fb9ba61f6a9952adc9d64cd9c27b10e635f81ff67500d2949933633c56db463931ceb87c9da9f'
'85d572e747101b617c3592b39d290097b279054424d44d515b86c067eda0b7c1c0b157865a5f1451d12936e27e2184bb59a6b939395b8c8b7631f057f112a078'
'b81c7f7118d4c420367fdca070f8a429df466ee01d1e5a9a41d22954ed67aa2099769b5338caca97a862a3a124583a9a63f872606fc97d3c8053d5287a6a1791'
'8cd4f4017ca520df5d7e0eea842d71df3b5be2587461aa616c89180c4e343f04437296e32ed2a7013fb5a181359f9c7ffcdcc9dea768967d4ee8001857376a9d'
'1226e1b25e700910760a1a85589d9a73116fb51a359d8f9849a5b17a0f8092a8784e20b849c7d09d6812849224892c68daaa697d636aa40e1afbc3df0a3f0c69'
'cd4d395d873e6625856c09db05e115505d4c6143f3a577d5c9346ae9154ed5400e7a45e4e7d286fcbb76f7769358fdb8a4c57d713932dffa26e6f473867d4247'
'dbe0ff9059035b64f67325fb9de743b020401c1e93a4b17ca82e1e77cdf9463961bb09a2776091d116b15c2cc7325ea749220853f6dfedf9737ac12dc9591221'
'168c34a6ee346501544dde7a253ee722a0666c384bae3b9b91ebcedbc84bd6deee855b86b57e6d1b1c853287de04d440797dc66cd1e5bc3416aa5d8b211d598b'
'39eda3c2975c6fc97d976ab4eb9c2c2721b28abcb4baf628b6ff4f7b5f338fe162e12dfd720b48185de9ba7d01afdfcdfd9489e71e2d61849da12da6691bade9'
'b6d2abf79ee0f44e9146b138edd33f206beca9190d209d04d065f85960967c9938e82312bdcbc976431f9a9987345fc0f891a8dccb9e168564de4d1762c47d51'
'5709527a6bb1ec825be1852b5a1ea9544838507e8c7f1825ca21c2d54db217f8d54187fe9326ca05205505fed95d75ab170b60fa744284e8d0ccb96a5de8b6f2'
'376d13a92cf8e4109b7e042674757a57839d5415dacc357b3698eda42eed31a761afa210c993a0bdfa43b068b95f407e659b58a5273217a5b11fbabff03f6f45'
'd41384c8d3ea1a9523e6a9dff4de64bd6a722e597de1a3fdbdee7f6c5efdd5cb200b37bc7c0b2e7e62afc708ac0316598fcb6596c17ba6692b39d82b7e24e058'
'7d9b17bdf9897fe39dd8648ca6925f38b12a9f849434d8831fe18ce4503ef823f2fae94eff60c608f7fe6a75f5e9f0ebf970af55ad56c8c8c0efd9126143ae10'
'd0da60afca83d108c00d8719a424d5a2ad548e78b87e104482109b4ec037599366d555ea0cd0d6f2df21420ca48be2f3f46d2411e0161405c0bf6fa239cebe48'
'896c2ecfaf7ec41db7cfd72389877a922357e5a81111f26d574e0e5a960139882b904b77b4106ca18fa3e3263c659c0e0aeee889256b1433b9dcb64c95373245'
'fbd903a461a937e3db90a245120883f26af6becfad3a2aacceede9fa55e097f2e01087382452e84fe8f2c8508f9fa6e2771e5b2f34966e58a1414c54828cad3f'
'4bced7458b72299dd972885d9a14bfa0cb070bc7628cb5c85943f31bc6aa86b0907f451a258e93c019fe960da05254636e2fe09fe9dae8ff37d527426691946f'
'ce05dcf72a6f2c38b514bb69f341defc4992b9e5f0857632ef6ad615ef11cb68809c150799ec9a41fcc7ec0876baae568d27f2ea1a4172b3ba80cb3da545b09b'
'25d4df5cec1edfd51689bab088b6af563324c775d50e78923210ce67584015210c8a17d3ca6769aad96f76bcd75f3f522d0421df9a17ced8ff20e5de68c7b945'
'd3101d6b88ef3826a7aa0211e2b10483d2c36c99be58281435596d4d8e6550de317ee874b15769ae97570afe77d777cda265a22259041686bd6e1d9d576fef28'
'3532c79866b6e8ff9114a9b6e6548ec7cabc9e95d7dc170433ec6cdf9546b28035c57a55ee7123ae0dc4d75365a2698be4afdfbef5b49696288752549892c8bd'
'ab87fcfb64f201238ce4b3eff5e3bc1409cf9fd3f2f530e89b9a0d275857bb67c3395b395236f27a240c349b7df9ae369a884f0fcbe3288a928ee2aa5eac6326'
'8d093f074de0731b8fc1b6f871c8c88735300ba1358544d6f048e933b8aec2036a310fb819ca4ea90efe665b4d76c8ff2732fd2effda5a5a1c746fe62f924649'
'5250616c627e1eccfc4ade0fd9261e06c39dc72a1b1fb24e6baa913e73f29f716c8182b722fe4b8e334ac7d33f642e1e288c21e5e3551fb9db01b7d9f61cda4e'
'e10122543d7d1f5eae0c102243a7ca47072663f3f18db0a7023a153d669432b2bcfdced994f6d1b2c9a30f876ad0eb895dd505d143039c1c00259a99be5baf5a'
'0f71998f5ae3ea04dd5fdd1991d47d39eb64b60ae577790d94c8297770a88360e0ce6559efa6e49c819d23fb29fae9c6aa1bd45891c8c88e8d7a6294e397268a'
'aed8aac63a8ca07aa138b6502f73993547772c7cb0932af13e2a73a97c2b233d930a15d387faff17c7970fa5e5bb2c6ee31b7f37fc7ff2d187e1c364d9217944'
'7425aeafb5f10949484443d9074d09b78665086c3e666754ea0e4f2bc8b9917529d84cf6b8860d3470613648bac2298b43b20422c8833c3c8a13b02d35abce33'
'c1fa268c497d5a43e8ff01345bc1c558177e4dcba9cd8d5ed82d4b200c2644b46ad183b1231bc540c2b13f4598d51ae020d2372798a7b6607451d172fb14990f'
'a3ddb51596eab1025d0f4512975ffbdf641c6e4ea6935cccf4334248140f46a6082d525852936911602060ae7dc38f70d1f9f4289c16951d9afea05570583b02'
'64ffd00023ca35a6d7e4ff946144a3a4f9bc2356622700effd971b2b13a96c2f3176925cff7d69e1e407eeb85256a6c2be6fab0b84c8ae827afb16a58abfb4d1'
'04a4d949f24d37af1f3e9b201df766e9fdb2d6ea0100acc425bb0d3db3f8ed900d8a088148c3b2bc2b5e04c610c9a440479281bed0bff29adef20a1e7d95d188'
'1a9c1403360e1a18428d3e3b6820e59db99658dfcf761500e0333e13e03ff32dbc7c4762491f28cc4a2c7f42ce1cd06c723535d3ffea072082ffbb56bf27421d'
'6afa9f76dc17ca2b93685c7f3510df8b193848b020ce5d088b4fc2840764849af7b4fdabd449387b4fc19be102a37c111583615773ddf1e2eff95d1fdf420c18'
'3cd4bae123bc07b49b373a58dd4cd9a44d47b48b559ee627ae52ca5f460dce5356d466330a71bac07cd4ec008d1d4d718fcfdd42e60f036432f074eebe5f8aa7'
'cf583b85b5741d71db53aa475b24c0adc84a959a3cf8ccee833398f36dac9fad871544c895b8a03ad6dadda86f04530e80abfc9d601b38012efe990a720e2635'
'ca5c7c1458879842c7da2bacee472cab200450bd4dd5c4fee92652cea4e55921c62aec89da25db9ce3d509e822c1612c13b662a21dd8643c5b32ac7eef20fdb7'
'3c0bf640327da12035d9a28248f09f74e9285f2ff5239089617a0144425f466236afe672403987a50adedd4fc9743bf66f968994b4239f996944b8030e98c1f5'
'8c9f00cad31b190ab254103752bc376dc876e96ac6fae340f467f246056993e652b21bcb23f2fb3193fb60c2147b729702cb2f02d580d3ec6856c3202be235b7'
'022d7d3445b8a2a0df56ebe6877d5ee321f9335ab363e805a8356b2829a81db970358b626570dde0d646c2c30d3125662cbf3e7c15df520b2c6ab469f34f6439'
'4ca886764db45a2c9e8ffca52112d10026f4fd9875a995838e7cbb35590e72e24b34ba1f310513665254867999419fb6a5377abb0de524ca78e4bf5f40bd14ac'
'481eb81819861c355d4a0234a0200c92ba2f6f3e770644a924e0492560a5e85aa6327b387ff6c98420cf485473b510c48674efa3c416bc7650bb340690db5615'
'5f4c9c6c1414ed92892a71f8701107a4252bde8a0d515878f9002c30abbc50dd08694e86dad522b6538e5e1bf0754925c00f28039ef9414e3f5289e65bbaf484'
'1f5e025882ab52a1d0d9644e80cfc58d635ce878673ec02ca584ae08db2b0b2cc0d97bd7690da26130096ce8136e556144fe7a1e784ba94e46601354009289fd'
'b56103dcf2771dc2933b6b3d854c8dc5164febe5bc9ea539c73766d27e4b1c21931d7dedf72ef2ce143b318d0c27f45c47b3843f56f7ca6a67aa5106f9d70c54'
'ed954eff56724b89745f85ba83ef13aa404c190a2e5efa85ea4ae27fbd37f8a211bea8878179c257cffc35a24b312116314f14351a440a1d9f407a23f7146154'
'5b90f11c3ff739fec02adec18285a95e70a02370567d9dadea97d64798916c793c5155bc3b313b489518d326124f215e29267a6465d7b52513fd2d3c25c97cde'
'fcf0ca89e6c80facd0b669fdb2c7807f48f703ca7fbf193882d2f4a8a4037ef4aceafd5aa04730c5fb9184b74e50ec74369684f55e3f786215acf2aeb663c31c')
# vim:set sw=2 et: