# 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.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 # 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=('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: