# 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 # - disable rust lto for v7 highmem=1 pkgbase=thunderbird pkgname=(thunderbird) pkgver=91.6.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 libgtk-3.so mime-types dbus libdbus-1.so dbus-glib alsa-lib nss hunspell sqlite ttf-font libvpx libvpx.so zlib bzip2 libbz2.so botan libwebp libwebp.so libwebpdemux.so libevent libjpeg-turbo libffi libffi.so 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 ) makedepends=( unzip zip diffutils python python-setuptools yasm nasm mesa imake libpulse xorg-server-xvfb autoconf2.13 rust clang llvm cbindgen nodejs gawk perl findutils libotr ) options=(!emptydirs !makeflags !lto) 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 metainfo.patch) validpgpkeys=( 14F26682D0916CDD81E37B6D61B7B526D98F0353 # Mozilla Software Releases 4360FE2109C49763186F8E21EBE41E90F6F12F6D # 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" sed -i '/cargo_rustc_flags += -Clto/d' config/makefiles/rust.mk 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 export MACH_USE_SYSTEM_PYTHON=1 ./mach configure ./mach build ./mach buildsymbols } package_thunderbird() { optdepends=( 'libotr: OTR support for active one-to-one chats' 'libnotify: Notification integration' ) 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" install -Dm 644 comm/mail/branding/thunderbird/net.thunderbird.Thunderbird.appdata.xml \ "$pkgdir/usr/share/metainfo/net.thunderbird.Thunderbird.appdata.xml" 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"' '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"' '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=('eb1cb06390694872e37830991e16d1e0bd3259cd1fedfed86fd24901f190bc9c274fc1a85cfbba01a0c9cac0d422b62a9b1062d8ba1770fd25bf99528f6df9e0' 'SKIP' 'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012' '6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734' '5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f' '328422adac0cfe6af4ecdcd864004b7ada8f8171aa954fecc23a7e883e90a9bb0848372faa1100440dc754922f965e1e7b98c185aa88df190bff1051d2146c85' '7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290' 'f585504b9038536e6dd6241d0d08086f485cd1276d4dc1c921ea29b51bc5d2a435b2d12706c15f9d1257c98a139e84d6e9f6798b44db4a5b122c8ab4b43e3ec6' '25520faf118ff01fb8b70bd67290c511995f7f1f4f5cbc6779a694bafd3604e78f8d5619985d1c80e0d1b5823252ae3b0af31295b05c6fa90b3475af605d5d03' 'f7f5ede8bb16aad264dd4de78cfb98fff930a8c7d0f1d5243b8297c62d569f676afc3e3154c1fa4adb71b38454bca9c735558da927efeea812d84277c7cc6c8d' 'd6fd9fe1a01b52a6e253e01544668371bc6b5d34308374546caf4fc9b31b3385527df1a97e85f5e7574dbb556bd55f73ca221e913edabd25a9927f808118e682' '0b45dd6fb7017d81dc233fcb607db66c4cb3ccccedc6a8352e37e045862aa8d7e6354f301bb864cde31f054e3322bda84dfe2e938ac296898f3c4688611a9cb8' '1638e2512af653840574893e85a96a835acca18ad124b9b2c7a53d5e35b52ade59bd79c362f02c96d70144573a27adf264a1a9c9d570966d5dd44e4ec4459c6b' '8c8bc3362086c5fd3b5a38067626ac3c69d03a5627ef784ea8932c5e42c191b36842b036f9154e5ff5d41885270fa996066caa2285ccf86b5f458915ef46e2ce' 'd63558fa88e603ff0eb71c39e94dc25026aca8df18a08849cd1d03ed86716745de4903658f49c255dc4fa1cefdc6d230d9ab7ee2459deb8c42f98947a848e037' '93380b605dfb7db1044cce028428a95dcd842546c61a7bc13d25eab32301b6a2eb25fc4fec174bfdd3242adb371063202b43838f6ab876b84b5b746ae49dfe35' '69b6d8aff97d9a5b7a6bcbf848eabcda5c04e59155b4ada65e847c5592d60767f2c7d3bd3cdca89dfc2c659672aba35c811b7dfadf95ea84f0d39be722105f98' '11614a5e83431be0dc3b5e46b62b3f2bdd2b4aecb2c48a985786c753f7fa5f04470f57b4ed523b043f280f6881ae7d5c489c02d236537542fda477cb8fa0ffcb' 'c8f813698de20efe9980e038d1bdca9e78bf4a2840d5d74785427e74acf84b189b92d9f83324dea8854de7cb442eb7e0fb2d906465ad78b8a385c8405b7ebf80' 'd1bc3a1db5849657891731d0979632229c960d4cd5033b719cd38e095b6bc47fa9eb1624cd253b55dede8a24e0cfb76ca091f6490e82dfed44376c8e24f8c042' '22be0b165d5ebbf4803bbf153409e4a7bddcd06be0f13906da15665b8c1b3bdb65d2d6e0d3721b703c7222dcdd1f0fad892a830693742ba151f2d05688048b89' '1df1bb97196c76ef75984587eea289989b3de0c508658c91a4b65be1ae4f8eeccd4a92d4818d9f8da603408c23b04c90e25498cd7a328bc7d8a653085c49905e' '3b5649a02aa96fd26f5c002492f581cc09a554b67864ae79626270610fa72095970a633575906d3a18632d54010f8459389d671f4333f3ba4d0a5ebb9282fe16' '81759d7a8d8a34aa19fe33ad5febb5e4d3a44d1000e2150ab32a9e461b29501e692cd579f5211c623b3e0415603f1e4304bcba105a1ac19cbae009e0e7b01904' '29937eff8f984d3613fdc743b56157a2a8c86bec66061598ec6af2072c7bb710a882dccc4a11c6e6ee2605023803f72fcaf64fda654b188faff3e10268b9de21' 'bf0919a4105c6458611fab5df79f0535aff9665c1b71f4875160ea663e5b43380f74b11d88997f917df8a74c21ee11579a68b845a887e6e493abc0a9b5f9f695' 'e2bf7f895103e329edf9cae00d20d23435f986ea2d1133b04871bbdb8b2105709525bef103240c1a9f8ccd3ae0a85a3784ab1d654be10f83b4d7895476923bbd' 'bf726ae69e2233da85edf069a38a781f919a3489e7fc33f7d419a163505e8c82e6a2ef3dc29515f404361403aa57ac9b15ddefcf6a4902f547c30d01413ae43e' '08d30665fac20280b0b1a92c71d3fe50779a359357d49396adc0579f371fc0d2fb4207ffec8e4c78b9e9e3979c7f31bdc0fa5e0edb1f4ead778bca28d36ddd28' 'f27929d13ddd1fcefd80321b97571685a646bf031e8c5c4222709f86f416f7e15b8f28f1a769036565aa35f731b697e09eec53e713834b7b136aaeb6010bda4f' 'a7d657c0557c010162d7c16b74d747512144cae516ee77f3a62f878499e481f46c17f8eddd149fe7b7d6bc46169e637b913d340bc8511c9cb6a03110126c6105' '9806e26f280543f813c25b6fde4a6e9dce144475d84cc52fafd03a016e17fc8320120ed2c506470d8ce13681f028f0f01319506d45db2bc1b2b08cb744304696' '74ce4a89fed365a83fc2cff18c1560b794dde7f7070d34d824104392954083913daaad89aee6d400ae949a9f1234be2a5abaea1c1587fe4d5e68a9763f112e27' '68e4f6022cb83905432b838be7ddf73d5b42f1ef9319ef4278f9f1448b7d32f557522a5ce8528c27cb915474776aeb6d40874a3f96f22dfe289a326d06d4f826' 'bc2685a4258ff30acbcd0a656c935518c6c8929af4ba49e0fa95735327e904e5a103ac3c5c5bcfcf8ed535af5cc5c5005713af770ed22bd7936c50961e608e60' '6b1e1680d29a5c99af01c54aacbf696f10d1ec952ca23d9861a1ff9bc0d1d77eaf81810916c724a916ad91df1f3f672bcbfacce5ced4fd9ad6cc2493e00bfbf2' 'e2eacf9efe6bf08ded867f3cbc3c082a5bd00a8d1754c82280e2ec2ce9f88b6ad19e3cdbbc32279a978b07c6d977bc1a3930ef5b01adfcf62c80cd31ffb27313' 'c16f41c9ab252588167cc6aaac0806d8e184b5bc0211659449dd157a01b72d631b36eab6ca189ae6abe36172c6360a36c07a54fc09b21bd9be12827f880f1706' '7d112bcb49337bca957e0d43b086b2068fe491d6379570181d511d6b1332cdfccd37a36e41f4c16415da5e4c02b2c24a831d41502ab3461dadd73a0002390cd3' '88c45cdf31bee0b118314c9b5ae0760c4750a29a311be1a78b94241abde878101aac5374005c5b2f164a5e0eef61f04b025835e72d21fd001b3c0ad9cc727f6a' '8cc54851726e5957bc3ed6cf3873ae2bb4f26362ad561270abb408379db9b8b499fbe1f2f67fbd2f12f9125f71d963522282f3759527ef055503aa594a117abd' 'be8fedf3ce3fd7833b9f5f1a454a7b55df3f83eccc60656c5fc5cd987f5d0c9caaa05895cb8e516fd44b4afff435de1c9385843b3a0bff80217057859d4f3901' '0c73d567e0b71ed8d6e466133b75206420f9972fc82115b3142de288216bcd3bd881a5a909a1386708cef2408e309081e9c408ca57e29c2a777eedb23b6a8de7' '1856fc7b33ca11230cf3abe7e6c5445e1cb260b35803625230fc749c09ffd371869ea30ba9309d7eb623cdd25c3e7cacded4a279d774b9927cb2d8ed924aacf0' 'bde2227e507848598a3594541fec495b573559c353e27c86bfa34a761d20880067896f6d04a5412d52e6f82c31dc1f8030c1dc4818977d354a3977489f2d9c39' 'be41e68ddd1367af919e181336d1c9d3e41680171852cbf47627c65b48a5a38b5218f7a7491c22927cddf3c1e3e37c8616b6b452e925ca8a3dff9f91fa47e8cd' '635436b932c2149a49964d8f89c455e060fd8f4a26232364df1291769be852015895b91a1be2d1a09ca18ab21b5f28bfa2c97506169c0bb988989a20080340a2' '55b83755c9e1269b43b80e8c15a78c28f128d0b016f80227da6863765962076a1d2ddf02cf6bf550d9808ed3b94f9cfcc4fb3c4c1f89a8439ec177e1dc8ce4ce' '6f3c78974f74e55a9cc423d64b718d3c62fb1b6e299bbc4fcfc312e07cc510894d4c7c401d6665826b747173e1402b6e83c85229090971def3e3c4fbff738b81' '2e87b8a8168e214f8f771fff77d8653fbfdd274336be2f8b9fd631b942a1dcbf26b536a5df50547fc5bfb4041d3c613a96403313537a25d4df1bc17377525c42' '8c13ffd442a5c70d3451fd8ca296876a7d12c1832b325dc1f7fcda6f7e8bd28cf3a51c45429af85fc23ef9dc606950baf282d84c89a2d49866554bbd6270fb13' '9d87103911a45e8b90064b30a95003d93eaf77fb8a98fabc4ca4d57e360349a88b3b103d9d7c6fa5e704fdaca80e63417de3af91165cc1a435c6a76da969718b' '0513ea86a0ce7ade454438cf2477eea21b026b2f506a215a1a7158c1cc4752f0dd361d3cb879d97aa42b5c491aa34dbe991e6e4b8294ef2ecb262a68edddf7db' 'd2e18470c5db1f8a48e8db48939a09fac24abbadc185d6a200213a98b16893094a1eb0d05cbf76d88a42bad0bf81f8afdc041b70cc5e1cddf254900554c6cf89' '7e2a8e3b03e9da710fb479ff4d1c6577ead16d048005b492db2d49d6db01ae631b1de779f4d0fa341d4a7ce5500abc9e27c8d66bb0ba4cd1ef1d5f384025b72e' '45f4613ce850150c5748a83572d3a0f243d8ede3741cdca19689fc2764afb13c2501226a6314b61cbf6b27737829e93ad18661fd6dec49c06c0f1037e4c13854' '90a7c2a195a8270546e1aab7af35e7c95f3e174323a1521bef2937b801f507617d69072540a96f068cd23a3c31bdb6ebf3b6d1c3ec50f61ec36a1df91b243ced' 'c84c9c63e5bbe309e59ee1578116323254dcedac68ff5af77412b2377af01f14f6a4c304a906bfad338102fb2bb6645f510da520ed30268fab8284975bd45367' '5adb8be0fbe86395391427caa7894cfd5d9ee86238817cbdb014323a9eeeec45df5793148ec6d8a313663b093956762f4fbf51249d27a368db5f3dc913e60e9a' '04885b33f59b36cb05ac0848cd7d2a5f903f2d43e927a7d4c40989cfc5627b4c8dd0fab607795216aa25516de041dee0a1c3ea81192a5f779f3ab286df02eb0e' 'fbe4b152657d6fa0a658dd679eddb765ec5405d62ed39de40f1d8a2ed29028f6c5eea22a4da1808b3e7120c2a63c4846ef33776023e4d95dee55655c16cb266a' 'f55370dd717e3ce737368fb0b561c7590e191a6a3524bd06ab9bae27f0bcc5a4a9522d65917b2535bdd1e94870597c66e2041744c1c41a4c7e5a6eb3af70e292' '0badc015b27cd0e98dfc275c1c3f1fe452ceb5795cbc88eb8466a9d5a42178349e6b9714c941f1c8cdc66bf57c7b781e8d4ffb8abca397129f17d05d32a4077e' '0ec84498533f2be48c687ea1fe0af5db8bcae672b0973ea6bc36e0cd27f63c17b06ebfc4a36477a7e19f52e69fe30b22e4ee64dab1432e3cc07e6d62ad40dc59' 'aef3fd304759a1f1a7b55e9e492cf2c9a9f7d4e48358805673c42017ec5eccaa94e7db98f91ff5754f70d5d61dead7596d513a0ed99a6879a3677611b4a45194' '5ad36811fff951b9b29ad4f7fb8c135e34d6b1527f9e1a9e838dbfc8c263e970e955e6cce09e048f86a199ccf78f8dd5959788444dee777f88937d42709d472e' '3f0a4a6091ba1fffbcc448e9140ad1cb69d12d334725cc1a2c5790bedd06e36120d76696e63df4a65c31836adcf010691108840177b3e05788793307ea256e28' '10d8b0015c52a7d9fbee0eac21b121c5c269ee503d234fce651bca8a503f1d6fdc819657356bd55b58e750c783157a4a69bc4267bbdfd1cd41732987c0288334' '260acfdb8e303b7f089a592930427af3608fae724b1c09c19b0d3e26f374e68cdfd5950f0281456415af6026f4d4d91bd8ee3766707994adfdb741efc3aae9cc' '9e28e5e74ae91a45a5395a96f5b3a00e32990a7cbf147accc472849bf0398da9b929a8e7a84c0a9293efc2996df70148dc0b8cc45b21cff780b8bf1029da943a') # vim:set sw=2 et: