PKGBUILDs/extra/thunderbird/PKGBUILD
2021-11-03 13:13:35 +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=1
pkgbase=thunderbird
pkgname=(thunderbird)
pkgver=91.3.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"
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=('938de817ed2cad90f665559da1dfc266f34b6ca2e688ee364112edfdb1167183a8225132ed50b672ceb14402be933be82fd1ef8b46f103cdf1534a403fb472d9'
'SKIP'
'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'd6d08cfa221cbc4ab8ad3426eea860348e9fdc5b7545cb220484315a05fe1d475fafe60888b8ba16ca281ce08ac3d39bed85a40b8952a19923c9fc995c9602e8'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'7f6cefe5d3db2bbf4aa640ab4b68b7b0189d67932821b53eb73a1a2ed274e816e4fce0b6dbf20da4f9ef4d5be8faa58bff40cf9ecdba7322aeb3d22de7c2870c'
'b79d8b4479fd5142a6d3428d501143ffd93706abf73dc26692218e937e207fb0dc488041cd57d8064c2f350de1cac5fc4d806b2a72405fb92b2c519422f12256'
'fcfa5b390a42b8b6291ca9857d7d739ca008519f5806fa398abe1adb4e56c31138009cfc601ebc059662c94ea0cc9017333331ec82ea3a635a5ef398b0bf1b70'
'bcf93fa2301040b1748a13e4646b97d05bb0c10e9025fd2342174d590b477320af97d86ef6042d8d96657d56c1ec9cbf6090105570622d404719c24e2dbb552e'
'ed60f6c43626f95dd93d2faa253c9a2ebde3dbe704029a0d04c74f185724cdfb5c2feea8ff48402804c1028041bcbf9adf17b9d446a31daf52a9aa4bcab5175e'
'1571fab57c770d79fbb6988e16c871355c8526d7048c55b456d03ec6b4ee39fe1acd20c2b11396418288e2369aa76cf5bed2f3911a064bc9cb5ee2265aeaa2cc'
'2c80e53b5095466a29cb82e4b5bdbc20ac8dd8074cc84aff2331326b763192a9a255b24f9e8c3cdfc99af390524e8c7f4e6e193f5d8f69d677d6f59826ca503e'
'43889478b3570491190228d166a6b7815f944b2d2e77d0ec8f70d00b32665b5c812e5479a027a1a947f151e94da9573f0b8704ccbf30419adeb804d6a4fe200e'
'829b66b45283ca27e6fa941c20e88590c0733d464bb36e770533a480f3697dce4303dfefcba7934b20bb93e7458d948e379f0da0ac9d6b50093f3f75872a51f7'
'd1507df70b85fad42c6fa06fdffa9dd99c5622e458a1032711cf1ffd4b80fd19d42962baa20975dea8115baf85f192b5c5e6a6de8a52a08abefcb21a16b9ada7'
'4a78713f8aa026eb75225c227f707ebc77f4e4ba9135532de5721bb79e6d060b6c7d805ee8ce8da504627efc4e342623ae6b8117ed77058835f1a7da7f925be0'
'2c75fac16e2038b698dc07ce92193d458d183f809437a507a61a0c93673e665f6b3e94370f7572252878bba26959c58415a55faa8b2a7aff31a0b0b59e4654c9'
'fb8c4a01f40963af8ce7678143ca47ad8b23e310bdd7d0b667d23b04256144f626d9eb387ee3a3f63ae38cff952058c898d2cd4f97c63f9f0e1260cce98c2c4f'
'29b11326cdb9c1c094142ffe4d6db9e2ca3f1f55357934216f7bf20f2fb3faa651c6307a4f11d96fbb02bf3840f7e6270cab77bca4a63ef98694ff422b667f4b'
'a67bd60d6604cfd72c59fc763860166d914d96e5b338368f6072ad1968394173d814516d99e4562a52f7bdbd8f2a5eb0939d4042c58eee22b4c33967e3055bb9'
'c0c962e9ad8c54ef2ee1ec853400e74b872e7bce20b6fc0ab875cffc50a2d3ddbcbf2803651e35d0251905c5fb6381e0a81903cdd5e9fdf8379ac2e04b477158'
'934886472adaebe4d7495f73addeeef63be15e20f5c1132373246ff89487713e2b2e39d7570cfe119bc65efdd0325b77b996101c6d0b427006ce7047902b27d7'
'f9c66c33618b106048848a590acf8c13550d47d118fa3c1b71509f46130e95ea9670558fe2f80aba1842a78a06664db4cc1c043780e3b920951086e74e52e5ee'
'3e0d2902af192234c0c84407d45c3f7d25bf55a8d02a56d6c016f5381305c599bab74f9f0e859fdf47ff87a458f10479f6e3d0b1d8a97ff1e406e68382e23259'
'009f0fa7d365c3b58dc5aeb36dddfd8ff799abddb015f8e6303673c1ed3a717f3f9f03ceeb6e325675e58d0d3b3bbf430b7e6b7022fadc1fb712c613888b0604'
'8bd7aac9c47314870b6c9fc7c655bfc1ffbbbc6652a8052504a3104bbcf7994a0b26c63a65e516027ef3417ebe908fbfb8b583366a499b1550a86d8fe307e30e'
'd10e28b8eeed85da5f8c36c8332e65e1028a9243cec4eba414bc3439a9bc40893618a7e85cfb9746f0c6871402a085c197a4d953329da48e5bef023b047d11aa'
'3e63f969f2ad8161d748f53652ab9616fb74b71571e6a655df4b9a5e7ab7dc55d5906d24b875f0b975976da22f7f627284afdea2b2a046a05e6144dc72520872'
'b884915a7a363ac8b919ea29581c0a5eee952b42b8446b1e13a21dec218eb7706c172df79f53021934aa831cc2be6bff9017fb6c1c3ead20f9b41061849ecf46'
'3d91ff2128d0709da4c46f3fc28807542193b0274cd8e2aaa30ce78afb459cf1f24ed79de4450135396d4f77eb22dee8a8ad719dd6e7b5fa853555d3a69f4045'
'26c84b7e95420772c46bd613505aba7674e698cb7ddb2ca6bfed196f125cdb59ba02d8153d85f68b47168781072793702639b3400c14629b7eb9f730a3afa8e0'
'6d16c298bc14033207bc529cb537745c817193355b73e01b380e2ed218c0152a8bb493087e0a2b46afc36e9415362e59b86731aa098a2461d8a365d089a318a9'
'02f09bc15ab2e83ae612fc7c30a9ccc4724fe53b2178cdf5ffd434a646e72bf2082d6867442b627f97df66b72a337850735e50640fd0db1da9b6775119ab0c18'
'e601fc09ce1b2b6ce899aa2653ed38c6dcee5ba481bbe91f709ac963fadbb8bfce7aa83bbab052484995a0a54d90c18e298df0f09e42d090232f09cc4d8ccfd7'
'c3c2525ba759c93ee10d9534a7b6142f11282ce32c9379887a3ab8bce4740c72cf8424ecde67787e8968ff13bd0a2e885b24b97a986a632fa5005d7320b4e5fd'
'80f53c34609fb434af7b3e2af3a00c5233dc85bafc850f97b51fd5aa36761ababecb577a3081ab5825906986d6064870096d90adbab6f6804a99d97d9d102451'
'ecd58d868b2c18c8a118b3bf232fc069ac657e868088d94b2c854b9ee30324a33e79e52405aecf70c83673484e07bf2fa0f65ed630471f601dd5467a74505b9b'
'88bffc408815c9a11816b7a95845bbc12f16c8b84d0d1b8513a4712e897e5f1597e95bd7d5531af5a3a2aa70cf3a57e64010139050dd7250a2b4bb57f9d8adec'
'804729f19ad0132c9a6b6167495ee4ee783c0d376f3116ee1f9efe4f65f6f3d63b330133ac089c415cdd7927c786e925adce3c65d2d61050be6bba6a30b27fe0'
'5daf35119196264acea64ebd1487cc862edc9dba8992d4ad34f2392b685d595aa186b62a573005753e5fb5b9717ccbe38d38490d5f33229a627d19976ee22b7d'
'16d59413d470ee92d0b6a373df7f243d2e14389fbfbb20b432e4eb9938c11ee276898d00a036c60a2beaa85cbb0c894050ee201aa07074157661fd5d9a23c169'
'34a2efe01cc8d3e39e17ec647fb9ce4fe2caed73cbe890fe5658778a649e7ef6c284ac82961ab163d565f4c02b02b4433c561dde33b60a8dbb6cce9c1a744a61'
'e069c3b5fa2674c8dc3eee46956c829bd2bd60d4611013da8918950447b99b00a55c25ea099c08b61f6851fdb8e33b9a2493bcfca413a813dfe2e253cafb0321'
'72ea1b67ef18144e847059c90e6caef3f7c1e527c458dfc66a56d706cba9f3a6cf185c738c8c5bdc441f9d91cfb94c5a1f3baf618388c519e53843a83237dd36'
'752ef9b1a413fa585672d1e759b77bb0215c913acd1464cc3e1d9471d2e4541aa12ea1e3b697cdb61aa26d090b74cdce901b2029fac83024053b5cce587c7ccd'
'cf7ea2e2071d0d26c6b0558723132767facee1ba7c0997d7bc8d35b32ce0197faa3ee0d57776b776b62df4b998042667039511c86d3aac23b67194422d36fbe8'
'0dfcac57d8f9bdadabc1d9dbe000a852ab2769825dbddf215cfc9f18252c1c583e94c9867f41f77f7ee24cff9063eeaf91fdf5254e4d1320c98dd950f5554a38'
'b0fecbc04f611c43d844b6dcaf671ff254548b9893731124a09cabd90e15f960e23fc1cdefca0c0b337f114e0990d35050ddc6f3a96868803badc14d7e809b74'
'ea71f465424cec5347a5dcee6644d80c441e5c7cb4ab51bcaa458a8da108080d99c9bd64e363f72407d6a5feb86fdc67f7296eb115f524bda896fdcc10939b5c'
'a24711a523955c3d4e52742c37939a97ad0831bcf6e81bf58626f749867ebe7efc15472698b4fd8290a3b08213aca3e4a45b474a797d3c570e2fbf8a881c5f2d'
'd8f89fac2cc8ebb08e4c5acda4178b07cfcce1d41aa8be2f4a5996186039ed3a84f35e22ef176c43d6781621aabc2665170864f487c9b5ce09215deab163fb0a'
'da831d06ccfcd3493b70d614240e5d8cfa83dc3e93c3b6867ccc0b2354b98929c0f72a2017aa8801cc2b152fa3f87f4fc2178e2625f1419acdbcfbfe391196aa'
'2929806aa95834ead922b0adfeff3b16dc155edff0c3479cf9e587b8f6a268bf1aeaaba25c6d415bdba383c7ac346c72c2588f3a2f4b549b455c830de19b92ef'
'97adf81600b9ff067062a4697bd71962a03db9221470c102a61af3e29e4276daa755852ad71a540e4d0fe8f4fd6d82beb06724af7d00214c164cd51122be4c2d'
'ded27b8487498fc0ddc5c15b66abe6f27a61b762f2933765e8ae2cf36f7c452b457cd0f5b1531782aad29510261a2e7ea2c7b87a6ed5a2706ed6ecebd3a1d4c3'
'65d4e61e529da7f7e1cffc8413fa10eaf86ffa4efdedbc90bdaf45704bd6761c955698e94b7d2adf03b2ebb608ca5ccdc6d7a0643cec7b2d834ad6766f7937a6'
'1f15e7716151f6dee469d8a1f1f5104a77a72b9ff0746d30fa484f5338cdde7679b3141a395715cc649df16e6d5b48fee234a21e31458f724194e587be32b098'
'5cce8c69e3e6fafa784aeffba1d0d4515be697a11557ce9a04d814bd32c41e2d4a1ef88867b7f50b5e0b38cc0519bcec054f793ec27d3e159e14ac11f0fea8fd'
'1613ed8f74cd721ef497bf8b68e5e6ad07558e46057c3ba4ac40b39b55f45f3e21737c401caa5bb118c560e50c117eee11ad71c01a367cca339c5d3da654f660'
'03fd59e6d3410298458c8131b8f09b7cff8869e82dd2fda935f5ebaf3b517633d1cc0e997bef009714b2f95388ff25cfb5c7f354fd81fa2afe819132b24604d7'
'0463dacf3a2c9392243e3716390b2764ff9e0b78a42c5b727740e0696fa008d665f408b9e0d7a72b4b6a91817ff9c2cea2a22fc3044f64dfe83e5b265d809750'
'57f0d36b5d16464ce6bbb634bd1f604c9df3ba7f05d23f92921d8c38e4ad8fde65af25836e9d357d9efb397e3054832a551e869e9494125a7862c2eca5a218f8'
'46802ce4488eea3464656e92b3f7682269647f166c29c76d0ab46e0f31231ad2ff87125b511d232b53718adf7f22dbb20a462838abca83060b93d8045b689e27'
'5ff3bcec5e1a47ec0c352ca24da81432823d33e8ccd972cafa78fdcfd6813dabd2628511b3d65ed90e55b6126016d9fc123729f5664a0611c32684cd05e0e8a3'
'dbb5afdcfbdacdf644387626557bc8d88622a3709d454efb1471fc5a7d0a426a32ff1923996d22bd0ed62fb386ca226e82ec7e192f7c47b82e6df8830e51efd1'
'688f34b648974085d70906886a612176ff92e9cc9a7629b5ed23ff2216dc57a41bfb32218113bbf0acc11271b8838aa4fa300673d3cf23614015d82e9a50ada1'
'b9b48a34d9606afcdea5a982d545bf516faa8f76659380918a8f05904e38f4a43bfb01ed4ea5b6d36c420fb1a0515acabc253a02fe656d2da63d338aac8de113'
'b8bc40cfc3cb7dc6fb2206d485ef602b725cb2346f5ef6c5223f9b2bb3a0a93800eae494163018b44bb2e4c9581f90039fba7cdae7ebee849ab68d02cc70d4b7')
# vim:set sw=2 et: