# 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.6.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=( 'ar "Arabic"' 'ast "Asturian"' 'be "Belarusian"' 'bg "Bulgarian"' 'br "Breton"' 'ca "Catalan"' '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"' '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"' 'ko "Korean"' 'lt "Lithuanian"' 'nb-NO "Norwegian (Bokmål)"' 'nl "Dutch"' 'nn-NO "Norwegian (Nynorsk)"' '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"' 'tr "Turkish"' 'uk "Ukrainian"' '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=('672f9ce2716114e83d3feaa7f322a405946731d540b5a9781249eba951cbf865af73ce67654e1c47e93828b0d792c1ff6a36d7ce26aee7af7bfc8cd715a8f977' 'SKIP' 'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012' '6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734' '5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f' '6048bce2bae535007422854affa3cc2cc588e6029ea3083aa4817795beb25dc6e2726df082ed0fe9664f328d68b2f60e2619b87c359c99e73c9ace3dce0f3176' 'e3ed2708b8354015cb3d2c81048d1ce4932d1effbe2b40efa7cf9b45c1b923b9fd708645e2f8aa0136a485a3f7ce6b396b85721aaf535a4a764fd5005fb7e222' 'bbb8b0e7b9c67372eb22e1d6b6b5758fe504ded84c40a076d4a064374a1bf34ac12d5b514b328ac9ca984d976b9e0fbde81e68a66bec915c997d6be0c0917584' 'fb6f5c18cff61b7ca52743425efeab85bc7573c21193ca8e16558cb91bf7b6e8b8be5fcd56700fffe55dce1239dd0829e55e0916399cb79b686526d58b0dfbbb' 'ad82892abe2e30ccaad2cc9b54bafdd245f5b6214f6f2aa854e3b40019e81ee25c945ec66fbe29ce8f737dde4e6b7ed8bc45d409c62ad9cdea0d0358803c2870' 'bf29d3d562b22123a11d0347786a3f2e7da7dc8bf2d2b1a299eca48e309adc6deabc7684f1b8a7d436d91cac151dc4290adf2850e95cf47c349d4427f303ce38' '8b9af3134954b8c47d11fee37274011588a337ffbc3fde3148dd67794bab93da80d9814cacaadbbd5149f2337c4bb1ff1b94590ae7f7638a0a641c8688cc214e' 'a387b40d6cd90e790cd20ab2a57ce5614fc43eae1027c54fb83bc205c42445edbc0d237d253c853c58e2cea8c28035f4063e16a6aa9de0d3e27a57e87b181b61' 'f5897c4e70ab96a2939c663db2b74aaf868b242b9792b3c479c6cafeb0730f98a590689c9c17cdfd127116099b27386e876d7713c9450cfd6d52287611922404' 'da8d60da7bd9d8e84cdbd9aeb071568c28bd0e963b4dc011e94e08480dfab320de859bc95a2e91b48517b0dfde67177382f528a421da045c487f309323f8b338' 'ce4c63649e81062bd060e2376167b1dfc8b2e453aa66e458f43c6c535ed510b2ccd084358eda25e78394b76d6fe14dcc3bf260ddaffee099f8f4a510811c79f9' 'ff925fa534badd6114d97be8baa18df9907c998424f0a9bccd6b7363a060d815899357bdd71915e18eb34bcf9ab4700d97b4dbb6c35c751009a173eee9817e8b' 'efce8574a66d6e90b8487fd3283559502829b5710dcfaed6468026f96a2dacd9e41e1658c11183a662f8196d5e0489ca5d46d7fd7fa3dd8be8201c1fbbcc2806' '66ed6a2d26271aa2adcc5f04ec45bfdd4bacde86cb74020be185a88acce4bd5fb31f366d9f34d3f5007dbae3041bdf7560ad7efa1b43ea323deff225cfc584b3' '0e779010192f96f7dfb260fdbae942048a15a635682354c58e9f7ea88d4a5b9ab7fc89b891e9b83f0cf5542318a16fa37bf6c823bc0f55ab1f4d9a0423fa05eb' 'd8f914252e7e8d9f3267d1b85f8c798ca42e1c9eceb695eaf3d6b71bba7794ebb12e30ea15523cdace33ad55758f504ae6f4ac91571d7bd95f6bee67eea96824' '5d395ca59c6299a81d971bf2d3508952df5cb608c2a21a9572a9b9dcc55823a55608a9605cf3c644a4b26a4812b996b85f7037ea44aa04b46ce5b31fbf65ab9a' '8459f2c6fd57dd4109b5d41b412f95e2caf3f76b7005a2e45803139d16d0c99301ae123fbb8ce391cd8c9055e5aacac1189698ff8b9ad05e0d67eafbc7dc467c' '940ad9cd539159b6f4a15213274e2dc202ca8291883c8f7cfcd99a4c057d704c87061ea43a3d05ed82cdf6cb15aecc232befafc922829e0060c5579c9d07711b' 'aedb8a69cd9ada611df998fd1ecccfd680673f55be6b67f145680b53d0ff579ec8e5c59c04ce2380723ebe8159521c32f93cfaaa66467757faec2e2e60a58bd8' 'f201053409332ddf4795c6a120c8b501975b8b56d40de724384630d48fbdd5cd2963285c34a434046f35814ceb3935088e51b3be002bd6ae6f9fdd16a3978330' '0ea8297cef463ac11069212bdbfb4dfa44789e282b4b1c54ce152786aeb3f92c72196c4f376fa0c59045136e224e27bfc44ab06b6b45259c2d2a2f7085e83510' 'a389bd39e1ee0d0bddb96e542b3bfcd3ba708b32b9a38d95ef6a076f0f2abbaa504c243d46abeb71ac2aba28a45864b8fb1c24cfc6fbbac84d124f6b7a52d09d' '11cca649f12a27e54749342cbebbfb8919ef30a28e1e78672650b7efb45224f23b7b0c1af3c5341934b6cdaf27bc4fca9e44252ef3eb6688bf403c15946505fb' 'fa88b6d97c4a210f040c6defa1c834af6ff49912ac5b5b38f908809e8bff59c1a1cb1f91f80feead7e66b6035a6e8e98c220f1de84fb3a782cfe4fa28120c4c3' '0bd39f37e5bceacd0690ded7608501d5f2173fa437aba755ca51176d73e3a82f7ce5cde0ecaaa6b1199e2604ea497bc03f67f4464a165bf3e26de35ca623ec26' '2a6009e9e596ca41c47a18ca0a804e1d7e58a10ae240c22922faee209bb597d382531dede9bd317955597c625aafd47044adc5827e92a8fa9f621b2ce265de0c' '0f03ae87b60617167158a1b8863701473e6ef03bc64769d83edfddd1912deb43faac2de1ee37c75a697e69bca7b8d06c3a68b0fc6106c82d7c0a91de685bd360' '9f95d9fb18b66bfd17091148e3555e4868421da6aafa152b2d5de9928250c6db29a294accd2d3f8c22349816da433a69e77f2f80b471b1673d64af485e081679' '00a98a197217f26708222701115e9292aec43d66032931465db88900d64edf0208ca4b4e6b418713f3d82a3c813fbabfdebcbff98a28223c6a91d69121569418' '4f8e83923e66f00913a4e608fc7cab4686fe0ab78568ec03b6c91d723c1602226cfde9c88fdfdf0fb627db02d065f0a790d3c4dc823b74b184853f6bb0a85789' '6f6dabc061f339d0d90a34bcf3ba46f7dd0f391d985c9ef14ad082cd8b3a1f3a0c7d93edc8c42a98a2bacca6a1138e905d06e137c38ddb4ae7e75b9ce8a01a00' '215658eac2eb7b51431dd7a065b90fbb62b0fd3342da9cc1836a7445661e06ede0bad2c491a5a019b991c4cc7fe5272cb876ec4b16ecf8b367d8ab9d455669d6' '8d044d733442a48a8208576f547d63f29b8f0c292559e7f10c8f04122e2348a2821bdd4b9261ae7fba138a9e96c480f890f1dca6a4b630f55300d52ada9288bd' '48ecc84509128aad59d90a88bd9f89b67be1366ba100520a19356d8c4afeb6d7498bbe838a718b4f2a86429455290b71bf2fb2f36e0ff121ea3cb29731fe683f' '7cf6b2ed3da796d89ab73bc7db2ad11bba96ef22e589df9a7ed6773b591189afb94f594b4af1175fd2db46fa369e17ed4527bb2f1dda46fe2dd7f58f5977952f' 'a4701560d4e6ba8b52d8cb6528fcb418cf37bbfb114eea66c07daafcd58b169d553e17e648b748de2ce0f01ce30c40419bc3896825c6f88cc1193451c6291cf9' '2508e9fa781696a0c2cffd91563b763e9d5a9a2896d14f999c0787b30001a7519e6a060d1ec4e852d1b7c0349ff026e7d14dcc4eb2fc8df020fd70dc37f8c7b9' 'bfb4ca357859d7b467eee75951ec1cc3490e8f6170943aa8e6ff95770d23c8936d6bd288fdb91e3a308fb469313e7cd685ddeba65570329b29aa831009392b08' '175b03a3f94842fbc48c75bfa0e3ca1cbfdb0321f85b8e590f5511c41624e6fc9481c8e51e91a804679cb7c4a50bda7ad4ba8aa828af6550efdaad46af293a0e' '65731af02f83c88634f61371c1872413db969d191edf2d070d065c36f5bf0e1c3e41d88d5c417cd64f559e7316105711ee17b3f1aba057fb06f7e3a4f88f8af8' 'f748ffe82e2aa2df04d9820ad0d7b74aa59b65e1ea14060e5aceed98908ee4dadcf7818e7345653124b8e73d3926a281a241e3bb289d72b64857000286471a45' 'e34950beae7c93f46d0e7eb3cbe5f7e21c1b19769ef84b25525493a728d8876a52ffe72c6bbfe1176330ac0b4698a9f68f5a373e031db51b2d6d4a27890dfe65' '083539a904e0c4ec1b5adeef705c51b8a395ad532539f796636ba6f0477ad768ed861a32fe3b834c9539fd0daa7cde9fa13fb946093f672ae4f4d0308e0b1223' 'e94fb8ee4e9884d51fd6f43268ff7b377c278bedb18d077388e6bc46e459905934314d22f0b33ecb54d05e22a42f0c0993f8b972a6c232805003b3de4ed0004c' 'cd732df54a53fbc6e856d50da27defe258c41159e1e7b3955ebaa1268b825f6848802989877a68a9a3be4aca40824b61875fc5d6206d2c3d702d04ff47ab7b59' 'f57191febf197b514f2f1ad3dfbc27706138e8581ed9b29d1ced54a3cd0d71c504e8940e5b63f79c1e6d0408f3188c4872613d54fdb58a4cbe0d5715b223d742' '25d2d800e99a0cc04765ed86d9d91fa524d162de8b4233e9cc8d05a36762e97d3136c08a987d8985c90e32dd1b5a2c60fa81c4da6494b42781defb7d0c47a762' 'c9fee505e42461dad487c65caaa9bd6d35287ef1ebabb533e30aa6669c60e8dfe49a2e7fcef80328626f6a64acec9a2af132c188b7a918d11c17ef19328acd2e' 'e7bcab0ac1cfc5c7c603f2d577d04e1e656f3a4d5a8be2a3eacaa5b067e1418bc3422417223cebcc00316158fd893cb9dc30213a0c694e832270d464f381df5a' '52e23fdd381917aad0702b12315b0af1082853292864a4b2da65701b37fce29ecf18f34a7a52802b8ff3ba134b3e0742ef6f3a1ae28992723a3f220f253884e4' 'edddd2722d5488a14d0e35b23f23f4c310af72973673d60dd08c060b3663f686c83f360a50985c09cdf986aff74741bff7ad7dcd0f095b577160fa262ec779a2' '9a650043ce8d457a383bf9179ab2049e280c5b12d32cc5056e1f84c2d2d4ea9819924123d985fc918b811f6bd28727b5613bdc8a1182d2ac2cd61e7473c1f656' '57ee0972642f769ee87e93d04945d4e0aa7c76c7abf1013d205e7b4f0c9f739594aa27f8830c84f1b6b8f6fee33c4ed34eb7075faebcf0dd18b94f4a0964913d' '5e986d791d20e351330fa5f7555652245fa05a841388223f54e6fa6000b117b348e874b7e21afc8a63ec4cf2418cd1381ee94f43ae607ece0d9efc359d030443' '70b226b35e671956d2eab2d95cc15cf401f2339a74de5cacb6fa1de982ebcbb0b1642f83cf5cbcf64ca6b2c6ebd958f4aed33cf267ff7a52c248f6bd1ab6eff4' 'd99d17ed9b4151c5cb948f36296f550110e953f912d5f7cff2133e8447b3eaae23b261abff356d81035d0a4624443f0eff71d34324c884d14d561893405305c5' 'e9f71faab7cfe04661298acf021562fec28f58aad1d5da244573c6dc561065a7c2dbd2e89dba965a31f279627b209a6d45dd109be4aa7c5fd5520b7828153ce3') # vim:set sw=2 et: