PKGBUILDs/extra/thunderbird/PKGBUILD
2021-07-14 18:57:23 +00:00

310 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
# - revert change for clang that breaks gcc build on ARM
buildarch=12
highmem=3
pkgbase=thunderbird
pkgname=(thunderbird)
pkgver=78.12.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
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=(
'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"'
'fa "Persian"'
'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"'
'si "Sinhala"'
'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=('8a9275f6a454b16215e9440d8b68926e56221dbb416f77ea0cd0a42853bdd26f35514e792564879c387271bd43d8ee966577f133f8ae7781f43e8bec9ab78696'
'SKIP'
'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'6048bce2bae535007422854affa3cc2cc588e6029ea3083aa4817795beb25dc6e2726df082ed0fe9664f328d68b2f60e2619b87c359c99e73c9ace3dce0f3176'
'c25883c4860e511a99d9fbfba5b824145c0862729101721605725f609ca2a41848b741dd100eff390f57031dc5f14af3ea30133de30f75cb20197c420ae20972'
'8ca4f72f1fc0a7fc128f05112d8f77be5350826010069ee3b787989131f02b82d014a4781e97ebe5694852c4bb5e87bb5313e562cfb7cb2afb6f904124027e13'
'ad216562bb63440c0728177f73d853994d2b395a13fcf9f7f20ddc81226b9747c407368e843d42aa60c09d1d8489aded879c4080022463346fe5b489ea1a8d3b'
'cee52db711b68ac973bf07678c35d6d3a130704e3206f811a1331d165c5c421f61030b589b95f412955525ae3cd9a0381a241692870db4ef6d557df9c289cad0'
'794103871e796a14fa7f6d1eda7058f1d3939692ee2604c79b4af744735fafb934289e0d95abf6e62eb82e8e8836b8ed7a74253b99b2d0bc68f0a4224a31e1ef'
'22cc5dadcd8b874a80be261c2989aff5d414e911bac8535bec860aae622c8ebe9d21b8c376edd4d09c983893eebafa9936e581cb173f1b931d7e9948c50e4542'
'b44a72b40ba074c9374a7c30367a980c40c01132ab435e22254668425fbb1377ac26cfdccf3432a4ee0c01c91ba5017acb85a23ff52e81aea9577fd4e99bea7d'
'9afff6959b1ab88dd09540ec9bdefbe4a34628160411086aed16f262a2e77a8788e8b23f7894f0f8996ed0438e7c70b09ff84542d297c4eb0d48a06f57626390'
'4649036ceb3993a18ee76cbdc8077026d1090632559d6028a7d3118e1f57c82741569ded816fd8cf4a9013cc9f6416f6a63fa11c89da973ebcb338e3adf40dcf'
'bd779de2c98c8807a7dd67ad131e8c25f96aa45fe41fdb306c15dae90122ecbf37cd08a11edeffb44a6acc5c5d997f4b5b862f18fba82afa9ada711823281013'
'24ef2507c9088234a6fe977a676d89a96f569a0b458e01548fa408226d41b4c56acbd164c6d665817fc99ec485c0ee076ca884eb899a3e845036bf0e8ff6f974'
'a93a04a79ad9569f87972654edcb81afa577f1d36de7205bafcddbdce13bb4b1938021a971e898125a61c3681a833e4f19071d30f48511f9774c7e8751b4f244'
'b403ee1d569fa3a421dda3fcff783ab68e60353c2f7c6e14706cea06b2eb48c6883877bef459f7526bd0ce23b12cdb3ecae244cea08d8fa7f9e58cc9eb68a027'
'ed7e313a627a3f7053ecdf2c7fb85ae4fd905341d425823d1ec81414bb86d1a5267e3f3b4ea553026b834bb8c360b83e5ded3fa812c84aed277c73b88b9b61b1'
'e201ef978f79856da43ded4aa74e3fd26ecd18583b4ae07067c37b944f8eeae73a6ed202335fbe5c36d7dc3a29597d1d16ffcd8a5233cf41ba753b2b8cc6d56e'
'8b3e4870af11641b00f31f0dc884b687f5da4e1bc927af1381e0a1e40d49a1c0bca7e08183c1e05c4ea2f03d988d35d626988639e93f53313e86935ebb701f59'
'a160cd78c4d81efb70f1e6922b47f89c109c3e2e4d5378ce86bd84f489aa4ed259ff40ef0eb230783c22b9e29eb0ccad4bd5938cc9fe9e7b2d0e0af792b8bfe7'
'2d0d95f0657d1a0df2f2e2af6f73d36637773ad0fb7dfdd1fef463990464b73b8288185bca2996ee10593031fd7803dec81d662bfabc288c814d5e239ec08810'
'c6bfc35ec87f31efdf137ff914fb17f95a977cd4dff7b0255106765d2a0904c03eaef890cd1b76bc0d7a3179e62ae272ecbca13082b59bb0d53e5e4ba391be28'
'1773ae3944517670de63a27f25db89d6305ea11d05ecbc09e3530566308157b9d598d341cf058180facee6e353b48b434ecc33e188e1298bd15dfa599b87e2a1'
'3dd3aa437a74adfa85573dc55fd74de11905608bb7f685b46f9f0463313849a087924c3f465d98c48f11ede6e077778b2a1bc26f560bd88642b779ae1730c5ed'
'17cec1af1ef047133c47fa939c0c54d977eed0f0031b760552a0d2a48744350c7e5800daa6735d3393679a99de1bb660a195fe2501befc1cabca3b857a5da9c1'
'2a75a8a5b77c766455d7f1f7d9e2ebed77cb0f13bc4b84947fcaefa9d281235bcde5856b5e03a7b2c6ddbfe2a91ca120d103a321de74b2f9f9d27d4a6adbba9a'
'c93a2a6481a2a22bb642c37424eeddd5ba947c3071437b0f11ed8a3727442bf041b98e162f4317c342d82e809f9969756bb20d0308080903f77b9438d2175afc'
'4f83dbbcece082179fb8ddaefaeababf166c84b409766496fbe5aaedce89c0769aa7563c3c3d2f3e252f5611434265ea3a5bd892234507b341fd98050a75e45b'
'1515ab20583c13c71abed588f6c9a6d643ac93b35b25b2f4efa18c29a9788cc19cc72c4172cd14b3181f81b436a6207fe98bd1ddb9726675ad6c3c35e65cdf8b'
'd848d9f089b2722295a72089770946e03a9ef2ba65a34f91c727ee628292e319447a0fba530ba074bc6bc5fa64ffb87eb29a973fe29adea37185939674f02ffe'
'6fdcdcffe3f8eccc77fefc2cba08a360710783528631a9740363b5100ea65358bf5909ce36fad84353361eb4931de098f944037e7462a70562bc839a44e0e9a0'
'f22dc05c9753ecea9d7b30d6a0e8669769b7872bb7597bec02e96bbe799dbecfe564d18c819cfb8dd5f6fe8dc7a0aa9c40a5a20758ae1a19fcd54a52b23f8514'
'f6afe9b99efba3b63a5005ea51e19c096f2f93b0052f5aefc51e1ee4b3b6c0ee6688edf3ab6775f37291fc4817d67fe739ada806e52d2a0972277c1ff73a9113'
'0bc63b28632a95a02e8243746c422cc9c2a0321beb1a82fd1a739b8239b50b2f3fb53df9c413d462159b1f1fd6e168896c1d1c0f84917984c59eea4ece88aa2c'
'f513da01bea460b559802df74990b0e341022d21bce4faf53b6ce3df592b583ab287ffcf20165565f5b6ec3cf3e4ffb2a7c06229d619500cf0f7375f7d4b4ab0'
'5df87277f434a0550b4fe5266970a214546e9700330cab9f4513160652eba7c6b1e9f21d4e3250259603b3aeee8fc9ab7566a91712168ea26d2e92f900b8d378'
'1df267399a55de17cc460f4d68951e55f44e0a927d447beee42c1fa3ff3360662a36a31a83cfcac5bfba91c9684ab5d8e7e1bc6719e52e04633776756d600044'
'962d7d587a0e0391b3c6547272f96bbe7af10a52d54698859344929bebe214c589894f9c1687368ce1f06e86e9589a91933f4f65aae236c54491ba5ec30e2c57'
'b0e276be33de95eaf813c3c0eb6df7e176f562724ef62de2de3f7f7685ed0f3bd50aba163f17ef8cb907943a76aac55ea7980caed5ab6e9f7d900789e0711bb1'
'46e06597f04b9d9ca0788c84fd3cb7a1f30b401c4874204c6f94a546c3f7f7a98989910394a8c4683c1786f6c72a85682d97d22c9d3c07e0d703047f1091418b'
'27289117e1fd59b61af5554246a6d29b0aac877052c76d824fff9bdeea47d7431fb5616b448a35ad27743638ee9afcb33577a5f1f950b8bf3b52b2092547d477'
'b0eb79289e99412b27cd545f51487d9dd4a2529ebbce8f14bc5a1ad6c6881ab0936a255e284f5f4e2376f123432abc9df57408685b291a1b34176f5c8fa5dd7c'
'18d5626f23f58fc742e723ae2d279a831ffc01055df70f431307054814ac67969950a07301051df7fe02a4de87c6ebbbdd7f7b8e7ffd0705afb68de2e1d7236b'
'17fe790b34ae46832556df44acfd2cc690bdd387db9f3730b58057c2dfb4772734ec1cd65d892399e94a405f8c3badb057cf1507c08a317efe78e6bdc61244f1'
'f4b6e9e931f623d284a3282280dde329976e38fcbb718c53d6899c6b35e0746ce76cca004dc00446c4ec57782b03363225063eaf43787d8e3312a8173ef38492'
'0fb44f2ac7944ae633552215bb87cfe55cd9df6e08d1c512fc93df58295f5282d74f414bed612fc9dd3850b1930e478925ead44fa5af79aaad39fc645841194f'
'd78ad3ac193e319846cd9924a0abfcc5e7aae1c71f19fc554a027f14650cf86ad0169f9fe8b3876d2e812a7c169b50e6bd9d85f91202480a9d22c871ff945160'
'ddb65f9094e9faa5e6924603860d490402226b70e8ec5e06bcb9db8bc93cd87a93023f8a73a0bee3744d09ca90d8459f07b968e39c5b9d8827e5b75e4f656b17'
'bce50d2c80764775925a1723f5ce254aa432427dca54a87471bb51f95791df9a3d6e2acd0c3c1aa904cd6e1ce4f6d2179b61c1d8a9923f8e8e6fdae2c59b7f14'
'ffd7bbec154fe670d3f09b55bb4a2cf212d8ed01adb257e0f1359ad982ca037c0f98c688bef5e89a030feff9e1ca23983dc461b100e70daf168d39f8c835b7be'
'07a772c7290aa6c59aabfeb192e069d606adee16fddbaa9fe21e630ffcbba415acc0e2e291793852dc62cb577eb92ece4b4555351e6ca2ffb579d11d7ec34634'
'c35359eefd5d72aad1a11be62dc854e6dcf5f0cee950752d5cad8a7eaf659418df0f48176af7853aa58feedbb2a59a6bd7e2ea78943489469bd648b29b665cc9'
'a667144a011ef736b1d7ad5cc9264797cfa0b852cbf2838d2fa356e2e2fbfefb63c2c5a2025fa9cd3609db020ed8fc0892166ab402fe679c4bd02c0cf8fe0492'
'2305911c72ddd47cd66194ccf276c50f9e2906e42f753e4bd078848f491486bd897ada044020e178858077fbd7aef1c6cc07ca293ae0f1c6ae02ec9bea5f3271'
'8635a81e566b1c8f50a9597b71bcc7c4eaf12cc881b0154e68ff9c9f251ffa81f97a868fbd67862b6fb13c334450af8d6f3e5f32f70258aaae52a9532fa97a87'
'1d05e3cd478d12425b48a0fcb1e7028c86c7d54e39b8b243099a1f63345aa6a06937927f3efce45888f33022474c83a059c27365b53fed87ee4940fe2469fafd'
'a6f1158341083b85eccc420efe10c4786d971e37c5feacec642eb6c3dfc4eccc2c072df0fd1b531684e04f07283168aca957390b6c869211a52156add7729db2'
'9f1705aa2a0d806030c6a8cc94b5009e17c3c228e153e6287b1166ea5dfc02a2d92f197c90ff2ed6ffccf9d8b0311704da2e785be250a68f39576c60fe7eab00'
'b8486373ab861fbbb0286568ea493a5ac7f7faadc985c7f895117c81344e6395b9a66fc896d1265fb8bf56b37563a647cbfbf7bca8977c9f9763caad8cf6b0c7'
'b7edf395463c4cffdc9d0fb4a045de220fb785c17aee6722b980b3d9202b3ebf2616b6a1d954e8e0ea0d0bb0708e739d157986dabced74898cc6ead9c182db3c'
'22141d41c02fbffeaa77964abbcd7fa9367567f4efcc5027b5e96a04d02a0feb9085637ad3d60d0f5e49cf7ed27a0e69736374066f986e2a5389253e9d7230d6'
'd263f5798939c2aa61fecbc2a174233812df81b454aae4bf08315c69afcdedc8cb878707fdb92e9e7e2f7503d41235a5b49725e8fbfe68ea9a8ef26b09bcefb5'
'd014d8750173f10d7f248fba3e71cff26fbd13f5c91d7b822bb1a433cb09c32806c1a1da00e779c0e34dd936f17b0f607901ff3239f258e467f6f32219d797ad'
'52298cbf4475352985014106ee67f2837d86e3ab6c5a69cc11a0179e161d4e3582040579cfb109707e7e112928e39b9762e22aa869a98edb3b59bb2eeeac68e4'
'3fd6899edc2ad6a4be8285de0621a7a1cbbd83ee02cc40228ede1f033c9323fb0eb0e5a72520ad7d20d48202358b0b7eb0ea204f344b0544a3693190985b3031'
'a2b5da184696c64a08980ef987ac762e458d1c63f7f7065904415d32ead5bce02e5e69548e2cddbed34e36be2753e8c6ea301b14758859c59d89405955ec1b59'
'ed28c8864a4b6f36ed704427743147ca77f4289e9f995c78011a6d80f790a2d0e09fe8b344deb1c658c322c1bea7362219e46524115f8ef11c392e1f70809f59'
'6720100635a1b91277077f527c087a7edbde5183d7a0cfee3e6ab532a6dfb830b8b5769176319acfed69a3e5b415eaacf38eaae9404bc1a35f1a1d8bb3958be8'
'ac826167da668b544a8606db35d5d243250137ad9badc57ce75ab8e3a5712378742c1b9aa44795e9abb9a61fa5f8176d14a8737129a6642dedcf556f1745406d'
'4b9cff48fd28cf1e081689e81b5dba4b03bf6f2e89557c1d386ec27172806d34c4d4630cd5322eb27e053124f4b141612f9ffb5863174ac64dddd63fb5bfa03d')
# vim:set sw=2 et: