# 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.12.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 # 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=('8a9275f6a454b16215e9440d8b68926e56221dbb416f77ea0cd0a42853bdd26f35514e792564879c387271bd43d8ee966577f133f8ae7781f43e8bec9ab78696' 'SKIP' 'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012' '6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734' '5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f' '6048bce2bae535007422854affa3cc2cc588e6029ea3083aa4817795beb25dc6e2726df082ed0fe9664f328d68b2f60e2619b87c359c99e73c9ace3dce0f3176' 'c25883c4860e511a99d9fbfba5b824145c0862729101721605725f609ca2a41848b741dd100eff390f57031dc5f14af3ea30133de30f75cb20197c420ae20972' '8ca4f72f1fc0a7fc128f05112d8f77be5350826010069ee3b787989131f02b82d014a4781e97ebe5694852c4bb5e87bb5313e562cfb7cb2afb6f904124027e13' 'ad216562bb63440c0728177f73d853994d2b395a13fcf9f7f20ddc81226b9747c407368e843d42aa60c09d1d8489aded879c4080022463346fe5b489ea1a8d3b' 'cee52db711b68ac973bf07678c35d6d3a130704e3206f811a1331d165c5c421f61030b589b95f412955525ae3cd9a0381a241692870db4ef6d557df9c289cad0' '794103871e796a14fa7f6d1eda7058f1d3939692ee2604c79b4af744735fafb934289e0d95abf6e62eb82e8e8836b8ed7a74253b99b2d0bc68f0a4224a31e1ef' '22cc5dadcd8b874a80be261c2989aff5d414e911bac8535bec860aae622c8ebe9d21b8c376edd4d09c983893eebafa9936e581cb173f1b931d7e9948c50e4542' 'b44a72b40ba074c9374a7c30367a980c40c01132ab435e22254668425fbb1377ac26cfdccf3432a4ee0c01c91ba5017acb85a23ff52e81aea9577fd4e99bea7d' '9afff6959b1ab88dd09540ec9bdefbe4a34628160411086aed16f262a2e77a8788e8b23f7894f0f8996ed0438e7c70b09ff84542d297c4eb0d48a06f57626390' '4649036ceb3993a18ee76cbdc8077026d1090632559d6028a7d3118e1f57c82741569ded816fd8cf4a9013cc9f6416f6a63fa11c89da973ebcb338e3adf40dcf' 'bd779de2c98c8807a7dd67ad131e8c25f96aa45fe41fdb306c15dae90122ecbf37cd08a11edeffb44a6acc5c5d997f4b5b862f18fba82afa9ada711823281013' '24ef2507c9088234a6fe977a676d89a96f569a0b458e01548fa408226d41b4c56acbd164c6d665817fc99ec485c0ee076ca884eb899a3e845036bf0e8ff6f974' 'a93a04a79ad9569f87972654edcb81afa577f1d36de7205bafcddbdce13bb4b1938021a971e898125a61c3681a833e4f19071d30f48511f9774c7e8751b4f244' 'b403ee1d569fa3a421dda3fcff783ab68e60353c2f7c6e14706cea06b2eb48c6883877bef459f7526bd0ce23b12cdb3ecae244cea08d8fa7f9e58cc9eb68a027' 'ed7e313a627a3f7053ecdf2c7fb85ae4fd905341d425823d1ec81414bb86d1a5267e3f3b4ea553026b834bb8c360b83e5ded3fa812c84aed277c73b88b9b61b1' 'e201ef978f79856da43ded4aa74e3fd26ecd18583b4ae07067c37b944f8eeae73a6ed202335fbe5c36d7dc3a29597d1d16ffcd8a5233cf41ba753b2b8cc6d56e' '8b3e4870af11641b00f31f0dc884b687f5da4e1bc927af1381e0a1e40d49a1c0bca7e08183c1e05c4ea2f03d988d35d626988639e93f53313e86935ebb701f59' 'a160cd78c4d81efb70f1e6922b47f89c109c3e2e4d5378ce86bd84f489aa4ed259ff40ef0eb230783c22b9e29eb0ccad4bd5938cc9fe9e7b2d0e0af792b8bfe7' '2d0d95f0657d1a0df2f2e2af6f73d36637773ad0fb7dfdd1fef463990464b73b8288185bca2996ee10593031fd7803dec81d662bfabc288c814d5e239ec08810' 'c6bfc35ec87f31efdf137ff914fb17f95a977cd4dff7b0255106765d2a0904c03eaef890cd1b76bc0d7a3179e62ae272ecbca13082b59bb0d53e5e4ba391be28' '1773ae3944517670de63a27f25db89d6305ea11d05ecbc09e3530566308157b9d598d341cf058180facee6e353b48b434ecc33e188e1298bd15dfa599b87e2a1' '3dd3aa437a74adfa85573dc55fd74de11905608bb7f685b46f9f0463313849a087924c3f465d98c48f11ede6e077778b2a1bc26f560bd88642b779ae1730c5ed' '17cec1af1ef047133c47fa939c0c54d977eed0f0031b760552a0d2a48744350c7e5800daa6735d3393679a99de1bb660a195fe2501befc1cabca3b857a5da9c1' '2a75a8a5b77c766455d7f1f7d9e2ebed77cb0f13bc4b84947fcaefa9d281235bcde5856b5e03a7b2c6ddbfe2a91ca120d103a321de74b2f9f9d27d4a6adbba9a' 'c93a2a6481a2a22bb642c37424eeddd5ba947c3071437b0f11ed8a3727442bf041b98e162f4317c342d82e809f9969756bb20d0308080903f77b9438d2175afc' '4f83dbbcece082179fb8ddaefaeababf166c84b409766496fbe5aaedce89c0769aa7563c3c3d2f3e252f5611434265ea3a5bd892234507b341fd98050a75e45b' '1515ab20583c13c71abed588f6c9a6d643ac93b35b25b2f4efa18c29a9788cc19cc72c4172cd14b3181f81b436a6207fe98bd1ddb9726675ad6c3c35e65cdf8b' 'd848d9f089b2722295a72089770946e03a9ef2ba65a34f91c727ee628292e319447a0fba530ba074bc6bc5fa64ffb87eb29a973fe29adea37185939674f02ffe' '6fdcdcffe3f8eccc77fefc2cba08a360710783528631a9740363b5100ea65358bf5909ce36fad84353361eb4931de098f944037e7462a70562bc839a44e0e9a0' 'f22dc05c9753ecea9d7b30d6a0e8669769b7872bb7597bec02e96bbe799dbecfe564d18c819cfb8dd5f6fe8dc7a0aa9c40a5a20758ae1a19fcd54a52b23f8514' 'f6afe9b99efba3b63a5005ea51e19c096f2f93b0052f5aefc51e1ee4b3b6c0ee6688edf3ab6775f37291fc4817d67fe739ada806e52d2a0972277c1ff73a9113' '0bc63b28632a95a02e8243746c422cc9c2a0321beb1a82fd1a739b8239b50b2f3fb53df9c413d462159b1f1fd6e168896c1d1c0f84917984c59eea4ece88aa2c' 'f513da01bea460b559802df74990b0e341022d21bce4faf53b6ce3df592b583ab287ffcf20165565f5b6ec3cf3e4ffb2a7c06229d619500cf0f7375f7d4b4ab0' '5df87277f434a0550b4fe5266970a214546e9700330cab9f4513160652eba7c6b1e9f21d4e3250259603b3aeee8fc9ab7566a91712168ea26d2e92f900b8d378' '1df267399a55de17cc460f4d68951e55f44e0a927d447beee42c1fa3ff3360662a36a31a83cfcac5bfba91c9684ab5d8e7e1bc6719e52e04633776756d600044' '962d7d587a0e0391b3c6547272f96bbe7af10a52d54698859344929bebe214c589894f9c1687368ce1f06e86e9589a91933f4f65aae236c54491ba5ec30e2c57' 'b0e276be33de95eaf813c3c0eb6df7e176f562724ef62de2de3f7f7685ed0f3bd50aba163f17ef8cb907943a76aac55ea7980caed5ab6e9f7d900789e0711bb1' '46e06597f04b9d9ca0788c84fd3cb7a1f30b401c4874204c6f94a546c3f7f7a98989910394a8c4683c1786f6c72a85682d97d22c9d3c07e0d703047f1091418b' '27289117e1fd59b61af5554246a6d29b0aac877052c76d824fff9bdeea47d7431fb5616b448a35ad27743638ee9afcb33577a5f1f950b8bf3b52b2092547d477' 'b0eb79289e99412b27cd545f51487d9dd4a2529ebbce8f14bc5a1ad6c6881ab0936a255e284f5f4e2376f123432abc9df57408685b291a1b34176f5c8fa5dd7c' '18d5626f23f58fc742e723ae2d279a831ffc01055df70f431307054814ac67969950a07301051df7fe02a4de87c6ebbbdd7f7b8e7ffd0705afb68de2e1d7236b' '17fe790b34ae46832556df44acfd2cc690bdd387db9f3730b58057c2dfb4772734ec1cd65d892399e94a405f8c3badb057cf1507c08a317efe78e6bdc61244f1' 'f4b6e9e931f623d284a3282280dde329976e38fcbb718c53d6899c6b35e0746ce76cca004dc00446c4ec57782b03363225063eaf43787d8e3312a8173ef38492' '0fb44f2ac7944ae633552215bb87cfe55cd9df6e08d1c512fc93df58295f5282d74f414bed612fc9dd3850b1930e478925ead44fa5af79aaad39fc645841194f' 'd78ad3ac193e319846cd9924a0abfcc5e7aae1c71f19fc554a027f14650cf86ad0169f9fe8b3876d2e812a7c169b50e6bd9d85f91202480a9d22c871ff945160' 'ddb65f9094e9faa5e6924603860d490402226b70e8ec5e06bcb9db8bc93cd87a93023f8a73a0bee3744d09ca90d8459f07b968e39c5b9d8827e5b75e4f656b17' 'bce50d2c80764775925a1723f5ce254aa432427dca54a87471bb51f95791df9a3d6e2acd0c3c1aa904cd6e1ce4f6d2179b61c1d8a9923f8e8e6fdae2c59b7f14' 'ffd7bbec154fe670d3f09b55bb4a2cf212d8ed01adb257e0f1359ad982ca037c0f98c688bef5e89a030feff9e1ca23983dc461b100e70daf168d39f8c835b7be' '07a772c7290aa6c59aabfeb192e069d606adee16fddbaa9fe21e630ffcbba415acc0e2e291793852dc62cb577eb92ece4b4555351e6ca2ffb579d11d7ec34634' 'c35359eefd5d72aad1a11be62dc854e6dcf5f0cee950752d5cad8a7eaf659418df0f48176af7853aa58feedbb2a59a6bd7e2ea78943489469bd648b29b665cc9' 'a667144a011ef736b1d7ad5cc9264797cfa0b852cbf2838d2fa356e2e2fbfefb63c2c5a2025fa9cd3609db020ed8fc0892166ab402fe679c4bd02c0cf8fe0492' '2305911c72ddd47cd66194ccf276c50f9e2906e42f753e4bd078848f491486bd897ada044020e178858077fbd7aef1c6cc07ca293ae0f1c6ae02ec9bea5f3271' '8635a81e566b1c8f50a9597b71bcc7c4eaf12cc881b0154e68ff9c9f251ffa81f97a868fbd67862b6fb13c334450af8d6f3e5f32f70258aaae52a9532fa97a87' '1d05e3cd478d12425b48a0fcb1e7028c86c7d54e39b8b243099a1f63345aa6a06937927f3efce45888f33022474c83a059c27365b53fed87ee4940fe2469fafd' 'a6f1158341083b85eccc420efe10c4786d971e37c5feacec642eb6c3dfc4eccc2c072df0fd1b531684e04f07283168aca957390b6c869211a52156add7729db2' '9f1705aa2a0d806030c6a8cc94b5009e17c3c228e153e6287b1166ea5dfc02a2d92f197c90ff2ed6ffccf9d8b0311704da2e785be250a68f39576c60fe7eab00' 'b8486373ab861fbbb0286568ea493a5ac7f7faadc985c7f895117c81344e6395b9a66fc896d1265fb8bf56b37563a647cbfbf7bca8977c9f9763caad8cf6b0c7' 'b7edf395463c4cffdc9d0fb4a045de220fb785c17aee6722b980b3d9202b3ebf2616b6a1d954e8e0ea0d0bb0708e739d157986dabced74898cc6ead9c182db3c' '22141d41c02fbffeaa77964abbcd7fa9367567f4efcc5027b5e96a04d02a0feb9085637ad3d60d0f5e49cf7ed27a0e69736374066f986e2a5389253e9d7230d6' 'd263f5798939c2aa61fecbc2a174233812df81b454aae4bf08315c69afcdedc8cb878707fdb92e9e7e2f7503d41235a5b49725e8fbfe68ea9a8ef26b09bcefb5' 'd014d8750173f10d7f248fba3e71cff26fbd13f5c91d7b822bb1a433cb09c32806c1a1da00e779c0e34dd936f17b0f607901ff3239f258e467f6f32219d797ad' '52298cbf4475352985014106ee67f2837d86e3ab6c5a69cc11a0179e161d4e3582040579cfb109707e7e112928e39b9762e22aa869a98edb3b59bb2eeeac68e4' '3fd6899edc2ad6a4be8285de0621a7a1cbbd83ee02cc40228ede1f033c9323fb0eb0e5a72520ad7d20d48202358b0b7eb0ea204f344b0544a3693190985b3031' 'a2b5da184696c64a08980ef987ac762e458d1c63f7f7065904415d32ead5bce02e5e69548e2cddbed34e36be2753e8c6ea301b14758859c59d89405955ec1b59' 'ed28c8864a4b6f36ed704427743147ca77f4289e9f995c78011a6d80f790a2d0e09fe8b344deb1c658c322c1bea7362219e46524115f8ef11c392e1f70809f59' '6720100635a1b91277077f527c087a7edbde5183d7a0cfee3e6ab532a6dfb830b8b5769176319acfed69a3e5b415eaacf38eaae9404bc1a35f1a1d8bb3958be8' 'ac826167da668b544a8606db35d5d243250137ad9badc57ce75ab8e3a5712378742c1b9aa44795e9abb9a61fa5f8176d14a8737129a6642dedcf556f1745406d' '4b9cff48fd28cf1e081689e81b5dba4b03bf6f2e89557c1d386ec27172806d34c4d4630cd5322eb27e053124f4b141612f9ffb5863174ac64dddd63fb5bfa03d') # vim:set sw=2 et: