PKGBUILDs/extra/thunderbird/PKGBUILD
2021-09-17 13:15:17 +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
buildarch=12
highmem=3
pkgbase=thunderbird
pkgname=(thunderbird)
pkgver=91.1.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 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"
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=('2da102f9ec42489fc785ccdabcc7fdbc826f2df5e8e76c65866a44a221e762f59647ea265fe4907c18f0d3f1e04199e809235b4587ea17bdc1155e829f57ff2f'
'SKIP'
'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'd6d08cfa221cbc4ab8ad3426eea860348e9fdc5b7545cb220484315a05fe1d475fafe60888b8ba16ca281ce08ac3d39bed85a40b8952a19923c9fc995c9602e8'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'b8bc00b0bf4a7564d8f59c6aa582f46f1d57949d7fb2a91e3ca22d72e554a45d50e8cf41c082af03d846beac0f9bd8fe4c3d762b9ae518bc4a13b3e0568c9482'
'6aa0ea929993a3ce88a78415c78fd5a76ac10f1e57ad1ecd629103d2f22ef32aab4bc77c1354ce9b9752e64305f7ef5725dfc3c82d82a4de464a9fbb1da09855'
'330f3ab1104ed8eaa356436d9a0e16e9313e48393ed6ec3109da7ce1ee7bedbe47d251d71288f8a5f69ea991d01f97a445391c6711798562ec69fde66557deb2'
'd29bb87d9578225c0eabc961506502588bc14c210829cddf93f46d49f24fb63595608e7b16b8f439f0296c71fcd4fcd04058d907e825c96a91330f69ea74b097'
'd5f061d9aae57ff6be33d71ad438f27739c315ffafbef39347655b8fe63b498370545f4c587224d318066aaaff6deb223c02b2cb7d2c6d10b52caf71630c11eb'
'7c1a7df2c2f13a1a0a9b7ef9ea5634e42f59a7d65ac5878519c68ecdff8ae69d0a163eebb9c1d5cb32e992453ea9383d79d4d8e047b9ac163049e1225da19411'
'1b72d37bb627df174932f52a34f2e5194357682c9812eb164dc10a7e888e8f9a56ce0b2ef2c6df36f445af5856802dcd1c6040e50cfb47f5993686475be63e56'
'dca7a3c1965f7e9df533af65a63eb8596940dd05f295c8ea2c6fe3b1c7920e56d8e7cb78eef6fd336a4375be542527ba3c4e46ba8deaf3a4e2ea30ad1251ccaf'
'58c201d28f947cf7a878ce042475b19e72c17b2b76daaeeae24090a81cc083b2b92c8ffa48a888e26c776b8dfc75ea043e4fa4ec1dab931869e1e09dc5de2e7a'
'2719100f9a8795d931892f5f5367c31f7ac12f2d9f74c4ae1585a19af698a001717e5bd70c254355ff4edeb9265c6edb797f62209acc1fddcdc9f8bbcb4c6cd0'
'cfaa63d0196182d417afeccb0cc418117a0d28b7fd3a9ef2304d8eb638b43d83e1dc3169f99b06fb076125acc064d9fbbe248539066612041e391c6c94781a89'
'fa64f32768a447d3f9784bd20021534523ff7c61260aea0be75883313880503e0a7b8eec575e6245f9f0f7124f89bf741a9df487e09fb9ae49ae37f2e19bc1b6'
'413e15e4d7e3181bb7328a0df3f35ef944306a0dbc62c56dd61197efb62cf44c2e9efb7851c7155f15d46e29ad3e7d758f347881044ed81a2704f1be1ba31503'
'a826b21fe2094178b2c2adfacf00bf8bedbef5a9453a17c85ed52d67b2f71bf86c45e43fdb0412c22e79651b3e95e6274a23211debfdaca3025a872f1a5ce6e6'
'4d8246f64969f2c1519dba1aa134b7d7c3bcbc5f5a9eb48f9f2e71ac110fccb9b498f88a8989a08a79055851563a6ea60cd00a2df999e4714e77fe5cf8a57029'
'77d2d7f34336a25441f8e78cd5d9f63ebed45b7b337a69bca87c6b061a9391a07ebe7c7160639b2760d651ff280aa4e2b370656a6609336035b4c5f66a9339b9'
'ba5f147b08867cf743d8cda2638e1bf964996dca5a9344d91f64b811f258bdb9f9c75a6fb9caabfe0761e1112c0e2332f34406fe2596db30f21597ea2d037e8c'
'fd8015e753cf41fdfaed6fee0dfa583b55ea12666ba117edd8730c392ddedf2845b402e98f0f2c09d98f4e46e358b39a2b6289820de14e52ca7e33d8d6a4ad93'
'3e209d3c60dab4f32f9c9bde9b01b805c61aa7d4b59806fe20ebe29b8ed68cf5920c60d29408f3037c2cb5430b234eb6ae9656c009ea9c00fe12a8c01b5a2ae2'
'8344b0861638f17eaa8192e2bd4c42a2f555cf3569e0b5860d75c59649750a15901539bb8e72458b71a9c81d6afe9f94eafd00dff6e517e574c20230288aedc3'
'700d463ef65b08bf2c6800726401c31175e2e8805f9c1a352e9f0e361486c4e0440f79bd3fefba00c5b88d0e6615f748cab9e91bcac5a7bcfdeec6188cd6f783'
'4c05831f02a45dcf5df348ec5fa18ebf62078a9336aedca01a09ab3ec0464f4e7443e62471b4ddc2a6b420fe499def807d27e9e00758773f0f36e1506656388c'
'd7b1c31e270c34b67607ad46472585cfc3f96768a28637e4db5b820d2f0bb9af9149c879700bf1382fe72a2983aba4f21dfc29d6e7025bae82213bc10b5a93c3'
'e07544b9665618e4ba39e7854db10ad9379e809c70af8e65a0ee4ad400497910bf08ca9655c418a1a922731857fce7b4ecb77a94bdd44d600eb7660c0fee17a0'
'77f995cf8797c299cf3b57adf4724bc73bf87a49d910360d6b5beae981976902615e23dd8e8f7931ce04287333765d03b2c732b3bcd94c9d66fdf65e2796c2d4'
'bd0fc70a172642e1c9d5d1f67e1f350c602029648d062f08a219bc04bef03b138911aa87c1bbdf7e062ffa03ab653c1b3482593eaabf0824d71400f4c8bd0bfa'
'af956a175879d8869a5721b7d3de0802f932302c7a9cd224145c6e83fe74ff8d2ba7a2eaf419a7f32e8d714359b820b042534a44fd5fa5ac7b70eea397715429'
'7f260c950f8696b1d99dedffcd741252da12035b547e5d3d5757a9fdc570e91f644805f241805f79c8418d0811ae9404ceecc059e31fa9e1b473b9acaea4a1c9'
'bac6dce869596f02c015737bb8c8ec539ff0c9a502f73a5447c72d74ca414946cf91482643bb814bbc2082e1f18ca46b3c5d79521643832fd7264d595583fadd'
'4bc99ad88b761de0981ab6047b528e1e498fbfdaa4df8cbe31cbd64b3811451576eed7fa8d2a5e362c9b7e7b9cba167e70b517121e3a5e2c4bd489cee8a6cdf1'
'f943aa1decd0dcdbb1c8c308123507dacbf8bbffb9c8b24c872d162e23e53a9cbdd5bb14e2846aff7bd0d6246a895933984643d8bae0753b4978a050829fc737'
'666ce52e24366c902ff94ce99b108b49b585859a62572c2bb8cf6100f80ddf5516ddb6242aeba225e3515ef50d454f57f55aa68e1f03fad08a5173b4d1780f53'
'91e68dbff98af7ea358e64b94be22b2983b266d7074849473ab233bff2f4841036237cb37dfcd47de7b9253924a9519014c7e8c589ca82cfc9cd6ead1ef00571'
'3dc57816ceec272f8cd2b43a8e5ba857c4ad210abe4281048db96b44f4bfdd91a7dff7f4f26e6f981c96aa43be0dc7c2fbcd9f7276b29c6e1a4304d7f6881e4f'
'd185141ea58349a27ecd746fb7480b0c0dacff68d780bfb132b272ea36455afe72ecc9dc82dea2c2e4e409a0704b5adb58b8716f808cdd9769773d1d04f4ad7d'
'a9b3f3bece83064d8ec4d2449dd3962045d432609194b7cd09f159657f5f447c2debaedf4ee25faaa3b04edddcc0bf6f9364bcb1ddc3aab0e66f3f43caa1ae28'
'aa1925eb492cdabbfb442e3ccc4d7b051e93ed2b8208222c0882c6cbdca30a19552a43782d8d29f8145b43bd80449d0b89afc0efbd9f0ce6f3c8d6eb20769bb7'
'de40114b34a1268d6b7d9e494b86a7fd3eb360e6e1809b22ddee66dd0318139eaf9269711e1a73ee5f43a15ff62a2c672beb3b94f424277fa83ee752fe8d564a'
'0dc10d3ca07a21a749968bd90d7203d8d8c734658a22542396bbb0bf43ea22acfd7e596c21d1349fb431061556a4a895464bacfe3ce4cf57826cae90df5463a1'
'591436285a4ee9fc331d76936545aa7bf7df4f93772a89ffe76058bc5e243903d89f8cd5cec1a2c0d4ce371c53c0429db45b361b4f6d5efc300a53232079d669'
'0db4b2cb0d6d2d10a5e7b31256e5c4b6324995c0366782f8840354f0aacd3c8d0bbffeab5d7d12b7234711e7debccd783e67de128d8e4f8d035a8df67fc330a2'
'21961bf5c623c3286f1b6ae3a203f205f8dace51bdb73f9c6ae553900640e82d6c7b94b1d207322186f348542fad369d2c81f9cac2e89ef56071e3d6177d4a65'
'da6e1084718057f67775adeed96444b4c8156d7ff001067956c4145ae9f5709822c139ea9866f71b5136d9ba40bd572e5b50e30e947399d1568aa57240c8bd4e'
'90459716ce98e775a010d6e8906410757818dcd75dad541c1d5b899df64b2207c34dd0f0d9e0dfafb815e130ab5ba09d95a301489467dd79c1d32b915087421f'
'941053275960bcf8b4194ac32611f2287ca2f82c42edaaa15fc2dbfec3109de20e09ce66ceb2ae1331902a99cc475f9cd22aae3bab1f93d711a0a7186992f0be'
'b8b23f4dda0b50b8e3667d520ae8d2699eb685762687a25edc003828313f9faa55120857ca5e08351b478cb8ac131209c98a0b796b963bfd712955741680fdf6'
'ca24cee4de778bb402ba3470f8ebbb6ab7179cc5d616f0fa4cef35f28561e7d112404b37f887d57abdc3b41b9a2e999df4cc0fbd4f11b5922eb51b233ba02967'
'b6f301c8cd855dc736c9b56f3322bb2398ed32da19e9c0d0dc65bb40e3b5850c88113d8103bec2d874d49b16adbfa0b2ea8ffb3d935f8e3ac498baef3eca4e60'
'860571d07c9718bb122c0c46480e739512097ff53c6b92bd0c4da13a45bc1b257ccdd76aeeebbfcca3a8238f8ac7dee6cbb175140c6903d9528bb3acdea9a8c0'
'58a374ca00298b9da1d625e7de00806581c13320b1c903035fb0b2b795dcb32e397e7357d588091d2cff7095a8abcec239bfec26c13542aaf4006dd0af3b7bbf'
'a9af520b3c9f4d0845569c5760108a899c58d77b499b925c503c3b546ad25a8f77be1123fc2d0c5a51c4751a317852b5bff7e6765561f9e7b8cc3150512bb701'
'd61e849ac238ce6ee265eaab3792c8a7b43c0a73bb5847ed19ace15d4256e70fdf9bd502e76301a501b667ab55e15cc80930b952a670e148552372d77fc3d3dd'
'4e5eedc35888eec037b94859104f5cb3a753fcfa83cc7bbfb00c5d617668cb7404d7cc0f72a711a1cca651d4b62a7ccef26e4e9e263ceea2e47b49938c2cc294'
'a43ee0d1ff8045b4592fbb93ae86235f4de34effcf47c2ca70cb83db74edfc5818087955322d90856ec2b91f1586cf94d017306b062f748b3e26aad1d1126180'
'b5a23e9dc769ce0698791ce319e5a54f4acba90442811a02da673ab203654876be4ec0f24936871305e1e85d01b3fcc266692c4d32a6d15f464087a1408e6200'
'2e5197e8f9828d07a3f0833faefb97eab8710731c7d54b5dd5528f2a6e0d6bbd9068a312b1b27491b5dff87efb02e4fe81ec6bed4c366cdeb7fc1a960492e55a'
'603a98fb1c23071f8df44981f8a774a322c0f7c267c2b346b1db4bca40f0f2b48fe0b085c5404fb494eb2715fd5e0493fc1dc52353e1e452f55cc56062c71e42'
'bcdedb69f4e653e73825646ad5ca6a3521e7957130088c269dfde3525119d12870cc057b24557a2ea14fa78f7a70e80f9ae27ac85c95d336cb906832d36baf72'
'fcc19a8ccc9e215acfcb6af6e7615aaca9bc87d486aede0dfe729ef5aecaa85c4382cc0924fba3c6b3df470079f79e618fac72bbf4cb90b6dc1185e00011a4b7'
'bba2b521b2f3ce0006ef18019a70ea7110e8b94c0704b7ace5f5a33d3ce05ea4b3224ab45b1b06fc7b531b30cb5c1027992eabc6e08eba12b07f9a6f1ca39799'
'9f2d3bc728508144dbe97275ec0d645eca961fc4c9eb99dd6b2e1c54665f687e092f00ce396f8c9708efd2e033fcafe81651ea75463c2aa53b1b8a260c89a140'
'00698ab6d007f04323b8419d13089d86e227f95b77340db5dce83ab6eea0c9dca8cad3926c53deee074c101c7700ac05f519433edab6d95a730603751464f330'
'a183d489800a39167f56131b26e78633a2151ad762c29a8d763439b4af6918e44eaa4d1a89cbb57aba69edeee1d533a6a16ac2c7d78b58387aeb4b0c28ebfbfa')
# vim:set sw=2 et: