# Maintainer: Levente Polyak # Contributor: Jan Alexander Steffens (heftig) # Contributor: Ionut Biru # Contributor: Alexander Baldeck # Contributor: Dale Blount # Contributor: Anders Bostrom # ALARM: Kevin Mihelich # - 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 # 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" <=$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: