# 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.7.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 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=('feee821eaf1f18e48f9b6f88dfa0ccf1fdb9b7087d5a0a1a284e4c8b931fdf765f9b34d80fa26fdc0f4f3b8a8d7ff0eb66ff093defa18999ff8b7082bba5c85d' 'SKIP' 'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012' '6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734' '5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f' '6048bce2bae535007422854affa3cc2cc588e6029ea3083aa4817795beb25dc6e2726df082ed0fe9664f328d68b2f60e2619b87c359c99e73c9ace3dce0f3176' 'e3ed2708b8354015cb3d2c81048d1ce4932d1effbe2b40efa7cf9b45c1b923b9fd708645e2f8aa0136a485a3f7ce6b396b85721aaf535a4a764fd5005fb7e222' 'bbb8b0e7b9c67372eb22e1d6b6b5758fe504ded84c40a076d4a064374a1bf34ac12d5b514b328ac9ca984d976b9e0fbde81e68a66bec915c997d6be0c0917584' '46eb357273c79a3077d91086bea0795bb03fda771812f905fb9ab8d76a06cb735f73eb314ae044a1c92d31492616da8b58b6910eb61e21b5cb807e7e3aec1578' '2c8f16d8d58f0219d52954b4a327fb21edd4dd3c6e88d991d162f6f5a1b712a041e7fbe1f83a00af67f19465bc0827a8c1728dc1c1706cc01e022bc728b184a5' '17e94de33e10a35d9111c49eeaa6b73776e88777f11398c6145b8449e6fdb1a538b0df2eb5abf632a4b46fdf2b3a1bcc6827e0eb8bb2b43bbca9098e1e9a32e1' 'e50cd129c09b497d09ec890ac93e53b90cbc46867c2fab6c3a6efef36b8119494ab004136de1c9b9b49f57451c7d1b79889f91e4b51a7c852bb14d9b0604ac71' '314bbaa80b29fbcbd724eef1796c6090629297d35966caee32f6bdbfbeeecc53fe15dc4509f96787fe8af264933c29c8bd68afc29c90411d508f6be467ae93a0' 'c5ed332b1b0cfb67e2a07443e6be5ac439d4d34eac1c9064a76267589a99cb21a728ee64ee3e35939b097bb2b5095361841b15f0ab8b5365e8c993a0112a22ed' 'f62da5ccd4e75fae19753b9175a94ef8212735219309fc0a132db9256c5a59238d4522a8c12817ab2d4d886f68caabf63a66a7a8368c7515d8973be4db70776b' 'e76d50997157e8dbc32c7d861e9a30209f9c03e3506562050275550cb16e748093504f8cc812a07f8da47b9b6d8b8328d2a71d66fbca97ada432d645fc2b01e1' '54dddbcd396aa7404a7ac9fcf90997d96a833cc301744019ba201c55409f351a4b69784dc3cce03a87e62cb2c8690a52536d4dca019bef9a24a902e69988d0be' '66a1691878667285f388f0728a92e92328c37bdd558d7df78f0ff638a967921185380dd2a307180b5b478830ccfe62094789c8dc0336833abbed3e4a55b539c3' 'cf5cbd9ca03c78601f9b0f59ec75c8edbdea6d44c8b420a9d70900d4467701a6de40c26fb91681129c3ca04e997f118c967916a277075e30b5166b3df95bde1c' '75be9791ddab68dee817ccf473232c8539256a468ed8b60112866804a9ce28f6df882c9d9f1c9205048a4e37608d10d664f3aecc68086570a0ade129b59b4b9f' '760173b34b2ba2356267806acd0afb91b9eeebe494219076f28cf6aaf60839e55c31fac13e12c154c20a010f8221a66d713d44ef70cb29b9a76219dec55126dd' 'd27ff3193de2ae5895456d3c72e74d8323a2e5376530f62e45843b767090c0f8301fe430fad99799ecc1690e0b820acabab2a2545f837087933ba40b9db07f2c' 'c8411955f23ddcec630af93973371f5cdf9ddf7ddfa268ba6ec8b159a18346d036e42d365a44157e6b5272ec54712f0a7417bfb8ba90504f091cecef13c542c8' 'e04e386b37cece87c874e6fddb45825fc44c1e334a4799e3bce3e5c0b26d089cbafdd62569a780624dbf5cc9bfa79f30032d4aabc8e4f97eb10b15fb1a893c5a' 'd220237a1430271be4201c33f528b3f9d4c10bf6598b160f007a72ba306e50cd8eb3e1cb4ad82e5a451af0fe9636158512d91296df919ef31664740813c1b1d6' 'cd03f32cb6f9417716acd03fc9024fb1cd82df57edf9cbc357f50d5f4f966813e16c2a5239765751eeed28a2c67cf9014c928aa54a54f33c468f36aab6e865db' '2c88ffd7bbb7ed51b49dedaf7bba910a68c72acce20add7774de0f58c0e418164d97a3578cfd13c231dafaa79d7bcbcdb2cafc052d63efff376f03081e9b722c' '7c2745f182205ed84bf3cd79b6b730d7d2f4bd6e9dc0fa9c05f2f3cb2667baf5cbe4f39ada4a22e785dd2a1e5420206d8a5268259b181008ac5e14b4f650f6e0' '0fd3ca348ac46c30674195c39a15fc66fea5d05f7696596e07d8c143e8e3eb495b3194a74f7bc32ca056d2fc6b0495739be125dd677ac96234658e5bb5db4799' '44512989d82ae5d9d325bc3e2c3b4a4b576dbcbefbf1aebe532d13fac8522ac3a08fbaaae5b4a66c14b1306718fed3d989edd4ce8b5866f41078c8c78dea1869' 'd6834bc72b618339936c15f7800ac0d4e86b8891041f93572703131cfbfb206536760ac7f180ed74aa2907e7698780c4622c374a2dd0835225a3468c797f543c' 'fd6a368250f4a1a51df0053a3b77e846f4b18665e0ffc076117027065494d2040d63244a89b9b788a171fa4da73ed0fb407c148382317bd8c4a788f20c67d79b' '1f5a3f82819a545d0db8e5d8529f7ee105d40d21bc0f0ea0aa731793a28e4374cc8bd58c0ed74551e290c3eb679c6dea3aeaf36c2561b486b6e444c3ad53c4b6' 'b56ad357ba8c76df0941f78a137d25f94b1ffdc125d7f261dab4752559bc1fd54356e38494f0c1551e1767742a68d357ea11991916ec226cede0aebd19f6e8f8' '385fa1061f1b9fbf122cd0ddb1a97336dd9c272e875979f4d8601db8518be1e673e01895c692f93c7e7cee16edd175c45d68097067eab1fb9b7aeb2c7d7886e5' '8d9b2583a17caa711bfc7a2308c05641a3ee210b95d358f2de3c0ecdf2c7d103d4a1e9b7c09d13143d527d9592f5cc61477d3e95f520b21b0633cc97c2643029' '5eb7566b8ebd680a028e636ed5851aa74957eb33187e640d7e0da71bc89d4246cf49a510baa12143827e1cfc23f4e7355f6e3351c3cc86e5de3f7982b10bdb43' 'd3115d72df2957a31cba44b570fd7d0700ece87c5add41ae80b1634baa575d8884cf3b6a8ea11b0b062d0d3d4fec6e506a03379733a33916060907fdf8cdd94c' '9a5b5bcb7242e37154ef6f46141a72133e7159f705e4c2676e627753fb62a32638cb86d3ee5ec361123112707a3904f3695c8894b27ce40652a3c94dc0a0c262' '9c0b758184dd1c53af798bc0fea55c64a3f030c085ee407afdbbbda9c9f55c0114f1ab9249d35bd8286cccbe458e844c01530313c26c69500cb5aa2615396783' '4f3b1c107204348209b3bcac63678adca11031ed1dc503023e08578af332f1a6e92e2dab37b90d5e9b04c461a72b059d8d6e05e852aa0b7bb650707c7a8091db' '6dcb96099fd88bf72ea4f464211e89757b5345b1fe234392287bf8ecd0f95a405f27c8642e0031279771c9dfbdc0f6c20535f49063424eb51b7331e765477eed' '8f468ae676edbcf4bc90c4ac8f96fa26f9ac5d3d6d5c6466151b4aa0e148f0017685df7ffbe0fc86e40313c3edd196b48b532d773c160c54fc0cd27221d633f9' '5a5adedd3370287485e38fbef50b2bdd0baecac5f467c540f74337923046b6e46c36090271f9a3c252885e30fc403a88379e3a4a09e526f3a77f1fc53a307290' '3516f7e4d46d7151cd1f0500eedde9c3e131d3defdfd601f34e012f41e713528446f3af7db4dd2a05eacba015325761a242584c2b65de6185a1f50243e98bd8e' 'bcf90707d5f71689335d4dd29330165dc6f1e7f5e74ca83d22d242568b2b30de013e710f64c434aa80321167dc3067fd468e280d8dfaf947598f8d34647536fb' 'f6662a43dbffda267f470d70e8532ec93cfd8741ec4d20f2ea1449e22925e93d6e6ce209e0db0f89733c1eef60538e866ef48c1c5536d3c5763ea71aa8c612f3' 'd82c4aa7258633b0eedf1a55f0417e88876cbf3c8ad2f6af5ec2f9880196e9685d37c8945a675c00fdb72f3e7b4a9180bffa15efb48b905d22467a4485b116e3' '07e63b237ed40a75aad8093eff19d1a52a34b8cb1b92cb4e1c874d754842cc9257e2fc4fd199c9097b830b37c3c8c646fd5c56d8ee7c81153fab8d00460755c4' 'ad198963e587b8228549822e7800320dc8d87f6e753424320cb910160d540ebae3aac7b74d14b76ffc976d46aaed9eabaadd0bd05a469ee5475b7e76c822c167' '5318ad999dec2e219d08f609aef312f2641fbbdf90c9e3d960b6e8adc59380575b2b3a4ade9f67fe130fddaeb807ac862862d0324f8093a5893a07e087882b2d' 'c3b969a1de384b4e35db3bcaca1d9b79e7b6b75c864d44dcb969ac50272364749dccd7adc069138ea46d0a08b41f02832b35b594f169e1da6ced72b5959de95e' '10284670d5bb2d10661cbabe7b2e05731ca03b19163b6472d4600f979d49b51ffcc6c12a308ec5a9a1f796d7eb9a1fb960d74dcc4d0eb13085c9d81451949b12' 'c63b27b2f67b80fdb6e9b4d928505b1722f26950b5b99bfcd511d6fafae2e6df141d31329b8440193b8d7eb4db182c0c90ab8a2d01dadbbde4194caf4edae71d' 'abb5a67c25146e6b9c65db70dd42eeed909b6008b63fcf02e705beb86d66ba4fc9ee883972cf2aeb6d47526c5e906d2d68be7c868c463dadc0bba84c17e2687b' '89709ef8815630f9e397d04640d5a84bf0299786fd5af0103d5a08f6c7f3aecd028255d7ed311bdf4ed81d36ee60731336a20aa6fd4fef6e0b6d16ba3308b216' '6d9025096227897d4812e72a13bf6943ecd0f06680d83064726311603cf29c019855a1745aab2ef66f3f335269f0d2a0e9f46d55ea4a4318bdc8a68268356cec' '41e8e66c5aa024924fa4639299316947c8b7cf944e8301f26032d5cdcef9d8c0556cd28d6cae75b63647f0643ce8ccd25f13e930f1cf0103732c47691a5a3a54' '4e35e4c5fa6153a61fba453f956e595a331ba0b0c9afa52f3210bc3c0db404602fc9c89b1ee634b1b2da693ee41156fa9e1e8614c9efa06011d71f1882d77a49' 'b6f9e0a1389a4a027ba28a8704acd145678690e375bbee8b92b62fb9bdd8998c3e02746c49b109345ec527f510ea2574ccaec2f2c786d614520fa249a7c11028' '4e428ff8b0598ed38d7f26e736db67b30b727fa0b6bc9c35de7d323a22b029af8fa8eafd495922e551883bc06794edf554785c8febc6e090cc5168f1937ee3ea' 'eecf33fb400128a5f949a4a62043ce45f352ace129b2e6cda5361563ab852a986e84335b2ffcd566ed0f1913519e3ed61f0b7c32d481695c83fa32af003d20ad' '67a0f5f0f57cc7a87764289332090f7ed6b42ba834175cce5402e40f1d963c2166e8fa76ad34dbc943cc450e558d205ca245e12b1fa0b3dc5162d384bb60cef1') # vim:set sw=2 et: