PKGBUILDs/extra/thunderbird/PKGBUILD
2021-01-12 01:02:56 +00:00

292 lines
16 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
# - 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 <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"
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" <<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=(
'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: