PKGBUILDs/extra/thunderbird/PKGBUILD
2021-12-08 00:29:29 +00:00

312 lines
17 KiB
Bash

# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Anders Bostrom <anders.bostrom@home.se>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - mozconfig changes for ARM
# - disable rust lto for v7
buildarch=12
highmem=1
pkgbase=thunderbird
pkgname=(thunderbird)
pkgver=91.4.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 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)
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 <release@mozilla.com>
4360FE2109C49763186F8E21EBE41E90F6F12F6D # Mozilla Software Releases <release@mozilla.com>
)
# 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"
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" <<END
#!/bin/sh
exec /usr/lib/$pkgname/thunderbird "\$@"
END
# Replace duplicate binary with wrapper
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -srf "$pkgdir/usr/bin/$pkgname" \
"$pkgdir/usr/lib/$pkgname/thunderbird-bin"
}
_package_i18n() {
pkgdesc="$2 language pack for Thunderbird"
depends=("thunderbird>=$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=('f19eba17b8018d11358258f6c9fbe4b2d20858f5afdf82ad5a81de5f6191f833ecf01ee4631297b0880dfa8b76baa1f9cd09a976cab2d2206ca5a902283fa102'
'SKIP'
'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'328422adac0cfe6af4ecdcd864004b7ada8f8171aa954fecc23a7e883e90a9bb0848372faa1100440dc754922f965e1e7b98c185aa88df190bff1051d2146c85'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'e32b3261ad097a0633fe4a5f36f1d9d8f547f5da737ef84248a439093cc4817d67ee66781552ee63a0cfbb4c6096a155dbd9a348a8033dbc32b2b1ee36cded21'
'007c9cddb50ef8dbbed6e118b607cd48eb5e93be60953d121adb3d6f0b358d6aed5db9cc17d7236d88f531c93ee84a56be23a98a2b23a5aed58cf8ef58c41fbe'
'2b48118251da81317f3555ce03b1af928a8e6415331b7fdcd64f33ab28f3782f81ad26c21aeebb6a91ae2db37a29329b85b4a2305b794b3c0503487f5bfbf4b0'
'7575fb577ad7d7ccaed3d593c3453c057e8b702b7726e5a57a0f86bf43013ec3f784db882c834aa36f49c1f4f8fec475a5c8614240d284cbeb5a90c451c32a4c'
'6179c248bf149260816bc095c86ed5520f6d0eda6da6b44b30e0709aee63b76e2ef9ba66fefc7671d9be1c52a3113c77dfeb29647752c00b12d56cfe82f633ff'
'bb1753fe3fe58d556571be0175c76e49c0e27bbccaa7dd25001253f33d126d4a254e7000cea0085c9ad31f86863794179295adc4512b0f3060625a7e4ba0aa6d'
'f77552682e332fee6ae9a25fa1357ff4ed37c718d7b795a0d5660ae8d29ea5f918dbe3e86ae0fd5cd1914ea183db67bc6ada7f5f250fc292460c158f8ef20635'
'26af8ff785c84eea0022bba873d30e00f09058203a7530d6a7f8bd999fd1350a9be48a517d6c227b10a3e42e205e1125d0ec05c935506f8278e4ea3163c81ede'
'3f66c6ee4fdc4d0749e89026664dcca01f2afd48c4633a08d9cd7cd8005f7c55f8b0e88c0bec6a91be1a0a3d67e26a9cf2f6f031f32aa6066a7e7cafc1b22417'
'4f8c31c7a9fa10830022d9154c89046eebf6bbbe171a1e9e163a6994a75f10cfbdeeefe5fa7e156189d38a4df9e563b0afaaf32cda130b3570c833d849a7ede4'
'4fbac163911ca6208c056cfc6659bbc8931c97fc08782ebbfb603297bcd061359f7a93526b604c0f939f9d48e63cb9834326c026db1ef5be3a45725050cb9006'
'2ffac5512986d18ec276450b30d00e56e8d8bc208ac2fc5538b4e18997c8195306a6178b99c8870fbd4e2f16a773fff4aa0c6f73cb1e7e36c8774fadb3e1d789'
'b5dc7ec349848e5c66449580f2bf512542c9166e93605fbe19eb87f84d1f8a70119b9afd5b1d857e2d77de735c48dae0e2e2dbab38d19094afe6bc089109a004'
'3c548310ff19ca126722bb1588e57c8911a6e2b62a96cb3dcfb9e287ce13c98076bdf0ea1d5f83385633c61424c719b636284686564d7d6eac9d584ca23327ec'
'47b3099763bd293d878b8d5cb55bbf30918b377ef3599c61c658cb71c03fa276dd31343a8b1beef87b52a9151d5d98ccc9f92cc6a3a9a397e72ea54dc830cd99'
'5373bb927624942d14a2c1323fd2f5d3a0dd0cf240b09010938e0490abf3a813448da5b703c0c9cc80131e5c509f75533ffd1799cf2371f6073e0ee13d4bd724'
'd3d81eb473f8b24d0cfaad80041925d90e5c85766300d3fcc4c3970a89925c8f707988e2d40673c325dfabde4d9b26ac278b094c336b27c03c3e7f4085467156'
'05705793ac561acaed3a238ebe96c4c5111d8aef813ce1bbcc0a80bd6174d856afd18640e3258387b7cfa3375b9856321775bbe72e2b4bb5f5e6956af7ff775f'
'fa41244a4be92eba72cc7b47f5f3855098b472b19df28d67d388857e5a37d734e6e283118706d3d1ef68989e26c3d56afcec38d3c8b88d5c114e3139a2c88494'
'c772ada54afda94d65f35fd3364e2cf47f5e07a242ec84eb6bc92356a5021bb59a0625be73af5fe3f16e78ef816b046273994175a9c8e71a6639abd08f368779'
'67dc54a22be92a848b4af9b27dcde56ed1a6d0d1e93e86c6b6958f1d5c68d8d6e3403229d3f5211d2c4db8d66c8c51fbd623029a539d56c314eb322b3a6f355a'
'd750dd7fb3eec0d85add501da205d64b9e42a3fb1a7098a4cf3cc610cf41dc3ae0ec9c973fd10c60bd173ee223a17ab3131381683279a87011437d3a89caf9c5'
'c921cd0b5f7d2107a629f8e5e82088fb403f82639295e70eb17bda95c31724347c96d60db8a698da22f3c7047bc2cf2b1e7d88ac021188544986990c994faba5'
'6f741034ff9464ef145c2e95dbc51b9a82795ebeede013faff93dca56cf3b52e3928699ede76ca8e1ec5040abb69f8d02ab77d3e10b25bd3d6a84693f797d8ca'
'38779e347f9c56d2a0c2cc6a22f2a155811a95fabfab215a8e41977a5b178559139c76cb194780b5b2992190b86c1f57c632c35b4761abbeed253dcedd7695ef'
'd4c18bd12bb46224df346a814178561e384d94ba1d151f4f765ae7f316ad420c38a43152e0a8cdff06ddaa069367427cfdd29a7843256a15b0f91cbc2f85391e'
'9dfe492f520e127c6330b892b8d813f168e075375a26d382f6391596db8b434b2893048cd22e9d3c110259f2b07bf8f1975bdba37d58368a4a29a672649db68d'
'accf62283c46dcc1afb389425bf87a161f45107fb6218f8e59ac7cced567be7575ef24f80c735807ff16b87cb21cc9495845fe5fc5db1fe083ae09b2d70479b3'
'26dfe083d6a1de9cee918763ac755b463fa86bb07cc5025a9cf50829d0465adb544d0c9c4fad2c760e7b49cd57de67bf4980b99879096179b57814575a13f1d0'
'28d8576a610005bb2b96e08a2e0ecbe0fb2caf25a5de11fb5d813e0c0c91de87bb53df4682cb9b2d9bcde62845d21a6c7c015c388bf1f68e295b37a843afdf15'
'986a8d5278edacbd9e40422a07586cb3ffabddee82bcea1297abe72f03ae9655332549258ab6104a9321be5d2d7e9ba0caff30d119f8983364de41370be902ba'
'6ea05d30403eb211a9538afacfbbaa521a0542e8c2d9db75376328674c8d6dc33c7cc9f8c612a53b36793202a27e32898757d18b44fd593ac05df9e0618f8aea'
'982371d419fb59a5d84f194f35af85c0bcfcecc2e7417ee96ee404c06f9ff275caab1dcbfe02225ed992248f2ab976cd107acccbb76c8ae9d32353932ec0eb65'
'b73a157fe2b1cbc3d301274b4f8a8740afc49ad759f70ba4a83a7df429663ecaf5af2cd9eefb99cf03235040d20b9a747b81b4548e9ac843300ce44b80a2778e'
'afbe3496f056b47a66a8f901bdf6455fffbc814bdf13b3765cdf5533f84cb64399a3c5940416cd3e69aa487c8382563be74354a14928b3596d810c78e02c531b'
'5583981f8965b8f7e6ce2a250a10090e15aa6fc1deec78fc75e9568cd114568e4859ca848a04ac99e28dacef883b962650f0e91243451890202372eaaf0e7c49'
'4e150ba287f4669104999a8144723f17778f811b521010d3cebb9fce5f20b22b356049fe250f7b5baefa7d6b6a8a6aa9f4b3f9f6509ea48d20755e6f32a8a018'
'00e54934878fd5c6bb29257ede0eaaed924fc363678d9e4e2954becebfa9b85f91e6dc8d76989386a5184d41043f42c70e5900e2e58eb2db3de5d9fae153b674'
'5d47f4547fe94bcf6aaa250b17da956d6bf967de0dd1225f205f1106e4de4eb08256406662f7d2a3d1af1f02a62c4b9c11cd23da3fcffce18fa5d685b354728b'
'3037767d0adca248bba9b85e6c9e01b537bfb8d46f3ac5cc42f77aa42c3f18791437d9213d16c76b8d24899b6467b2aae1406a6bc2adaee26186dcb9b9405d82'
'09ee35feffe74182190a43aa64b5bbf626c940171045f2c7e4f582c4bb0df1577bbd1de48d1b364c5da105ff55b00c780d07ec0414b6b5ea6c2f77c7f866bff0'
'217230a5f8c74226e4f6b1f81480924c50ec368c7e6ec6fe04a4845dc49753deaed459d0d35698182e447774255eb8a46fb66781b286dcc9a0e67958eb2830ce'
'4d144724b5d336e97e50448bf3f4d4fd789bc8cbb80018842875fb4c2ac05ad1a69a4b9c39a2b0ff49f01d714e0455b497082e37d97be32e8ed42f36ffc2af2f'
'32f70b8395907f01bb1cbb344adecf89cfe81ede688d7e6e97104f0480b19ea688c7a4b1a0156cbfa00dfbb3c94ee6376c6f4c94e2ee0593e05b6db6e148b298'
'320b217e50e6129774fc9149de0d52561c7638122b96e9583e3e1e366fddf9d32cb05459ff1f92b8a0abc4035915db858173ea7f72eb907581d98543c186b1a8'
'cdaf3521609fb616f8e46cb88f04e669c5d9bc4ea7faf234ecdfbff796be5f86fdc76752567f0a06d4a511fc38849aa02af7bfb66f8409de68b8691b56fd62ea'
'b61fd7ea4de5211dbed27a31b78362aedc4244b6a18034b1e75df6bb831ad85adcbb0c0e2a7e6ec73a7a8c18419f11e02e1a28e8840c866ffa210efd4ad6a7ff'
'f0bbfa6bd9ce3ffd544d7188a154b7d5d35420af63ec8d20a36c4cca87236bf5dc33ef914292cbb6bfbb03cb6d3c30e1762059b9243a53a912e5eaca9754ba59'
'5e82c9597f40cd6f806a52e21eb47c5761c0576d55a1716865d3f754fa742ecc2534567ae42d6caf9ffb5ae374d82a59781b5a0d56e188a0d63650af469c2f33'
'16cab9f67a31a3af594d29d8592d651c68a97af7c76059237bdae473a41e7abd37ec26ed6e98fbb48cee496d4a25a75184e9896553dec562da17e124783415d0'
'3459e8474e0858f46a8a7b995a7023ad30b1fc79cd6995709a0a67c251ff45e7ee507f1f54f1b4d2e9cefde26108477e164c2a1d589e3534f4d47279a5bed762'
'be07a2d684ea49f5980fc1d04f0e71dceac6eb7cc568a4954d7d979d7f369b1fecd4eb8c63c3e914fd89edbcabc243306ccde03c53036fa70876059dd45c48ff'
'8d4f878311a07ca28e479f1e9804bc344b618a8bab40fcad3f91df405ce18455d69f0af13d774a602dc95e36c276e1339e61c40f507f9ee1c289d3bf10e71264'
'8b526fd2e9032d6c79536bd49883db84324bf123ef2a5189e187633403dd181d6f61e26962f129a91a2c4e496f6a70ad5cf277636c73d7fff0dfa79d6d18e47e'
'9c2afeb7d7520ebe60233d713bc383ba3f766bc76a05930866c2ef751b3c8ba726bcb8c692cc664f7ce238ce1527475de70789b0e0f15535fcf19938da8b2571'
'41c6a62eb9b07f22f90e129a6bd90c73b231a91b50ba9f9d710ae1844371b50766b1f1f92ca7b3f57b1e8a05c6a33d0b04205106f5f810d84f5013a9086dfbf7'
'a067a9826e1be2c1dd17e4e943f1d763acc139a279f818262b08eba039aa4b509771abf217a7c9120264552d9fc42555d71a472f718d67e511ffe3ab9f6c9469'
'0b9dd7379990fc9440c0f3ffe2d906ff11d68d634f1e38f24d2c76947be03330b39683a3f8b7c32e07747cc0dfb1b07dff08ab70c27ceaff38883e34a66af2d6'
'37c18d77047810117897f387dc8208cdb3ff9510b5a75e99074f3d9bca5508af636b860a966b0052a3066422039e9a36ae3e88951b49b1ae90d878f00915871b'
'493ec625b71440d69085cd2e07463d663d87b2950b03e7e639b238a91a3b53e7ba2bc93a1484f6867e96148d7df6af09eb9f668c9aa6fb19e0e01cb07275511a'
'7ee48c4d598f7d13d133aca3ddb73f603d4be39fda4296a77efe04490c88fb8e197f6f3bb78a70963432c3e130e503689db7d304d77d416255d67aec5bd17514'
'd91f7d7ac2cd9ef3f57d446354c15a9a828167bcca4c574aa910b80bb2c1d4ad24b5f38fc5629bd43412bf8e6bc0ab704272ba6221d0ab55a4ee11880d1be06c'
'e146d14ecfb96ee85e38680bbcdec34ad13228ebe5dc10128992280905a216ad1028171a6d7b289285c3dbc943dbea6db46533db93906134a1ad4a28373f95bc')
# vim:set sw=2 et: