1 # Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
2 # Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
3 # Contributor: Ionut Biru <ibiru@archlinux.org>
4 # Contributor: Alexander Baldeck <alexander@archlinux.org>
5 # Contributor: Dale Blount <dale@archlinux.org>
6 # Contributor: Anders Bostrom <anders.bostrom@home.se>
12 pkgdesc='Standalone mail and news reader from mozilla.org'
13 url='https://www.mozilla.org/thunderbird/'
15 license=(MPL GPL LGPL)
17 glibc gtk3 libgdk-3.so libgtk-3.so mime-types dbus libdbus-1.so dbus-glib
18 alsa-lib nss hunspell sqlite ttf-font libvpx libvpx.so zlib bzip2 libbz2.so
19 botan libwebp libwebp.so libwebpdemux.so libevent libjpeg-turbo libffi
20 libffi.so nspr gcc-libs libx11 libxrender libxfixes libxext libxcomposite
21 libxdamage pango libpango-1.0.so cairo gdk-pixbuf2 icu libicui18n.so
22 libicuuc.so freetype2 libfreetype.so fontconfig libfontconfig.so glib2
23 libglib-2.0.so pixman libpixman-1.so gnupg
26 unzip zip diffutils python python-setuptools yasm nasm mesa imake libpulse
27 xorg-server-xvfb autoconf2.13 rust clang llvm cbindgen nodejs
28 gawk perl findutils libotr
30 options=(!emptydirs !makeflags !lto)
31 source=(https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz{,.asc}
38 14F26682D0916CDD81E37B6D61B7B526D98F0353 # Mozilla Software Releases <release@mozilla.com>
39 4360FE2109C49763186F8E21EBE41E90F6F12F6D # Mozilla Software Releases <release@mozilla.com>
42 # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
43 # Note: These are for Arch Linux use ONLY. For your own distribution, please
44 # get your own set of keys. Feel free to contact foutrelis@archlinux.org for
46 _google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
48 # Mozilla API keys (see https://location.services.mozilla.com/api)
49 # Note: These are for Arch Linux use ONLY. For your own distribution, please
50 # get your own set of keys. Feel free to contact heftig@archlinux.org for
52 _mozilla_api_key=16674381-f021-49de-8622-3021c5942aff
57 echo "${noextract[@]}"
60 for src in "${source[@]}"; do
63 [[ $src = *.patch ]] || continue
64 echo "Applying patch $src..."
65 patch -Np1 < "../$src"
68 printf "%s" "$_google_api_key" >google-api-key
69 printf "%s" "$_mozilla_api_key" >mozilla-api-key
70 cp ../mozconfig.cfg .mozconfig
71 sed "s|@PWD@|${PWD@Q}|g" -i .mozconfig
76 if [[ -n "${SOURCE_DATE_EPOCH}" ]]; then
77 export MOZ_BUILD_DATE=$(date --date "@${SOURCE_DATE_EPOCH}" "+%Y%m%d%H%M%S")
79 export MACH_USE_SYSTEM_PYTHON=1
85 package_thunderbird() {
87 'libotr: OTR support for active one-to-one chats'
88 'libnotify: Notification integration'
92 DESTDIR="$pkgdir" ./mach install
94 install -Dm 644 ../vendor-prefs.js -t "$pkgdir/usr/lib/$pkgname/defaults/pref"
95 install -Dm 644 ../distribution.ini -t "$pkgdir/usr/lib/$pkgname/distribution"
96 install -Dm 644 ../thunderbird.desktop -t "$pkgdir/usr/share/applications"
97 install -Dm 644 comm/mail/branding/thunderbird/net.thunderbird.Thunderbird.appdata.xml \
98 "$pkgdir/usr/share/metainfo/net.thunderbird.Thunderbird.appdata.xml"
100 for i in 16 22 24 32 48 64 128 256; do
101 install -Dm644 comm/mail/branding/thunderbird/default${i}.png \
102 "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
104 install -Dm644 comm/mail/branding/thunderbird/TB-symbolic.svg \
105 "$pkgdir/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg"
107 # Use system-provided dictionaries
108 ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries"
109 ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation"
111 # Install a wrapper to avoid confusion about binary path
112 install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
114 exec /usr/lib/$pkgname/thunderbird "\$@"
117 # Replace duplicate binary with wrapper
118 # https://bugzilla.mozilla.org/show_bug.cgi?id=658850
119 ln -srf "$pkgdir/usr/bin/$pkgname" \
120 "$pkgdir/usr/lib/$pkgname/thunderbird-bin"
124 pkgdesc="$2 language pack for Thunderbird"
125 depends=("thunderbird>=$pkgver")
126 install -Dm644 thunderbird-i18n-$pkgver-$1.xpi \
127 "$pkgdir/usr/lib/thunderbird/extensions/langpack-$1@thunderbird.mozilla.org.xpi"
143 'dsb "Lower Sorbian"'
145 'en-GB "English (British)"'
146 'en-US "English (US)"'
147 'es-AR "Spanish (Argentina)"'
148 'es-ES "Spanish (Spain)"'
155 'gd "Gaelic (Scotland)"'
159 'hsb "Upper Sorbian"'
172 'nb-NO "Norwegian (Bokmål)"'
174 'nn-NO "Norwegian (Nynorsk)"'
175 'pa-IN "Punjabi (India)"'
177 'pt-BR "Portuguese (Brazilian)"'
178 'pt-PT "Portuguese (Portugal)"'
192 'zh-CN "Chinese (Simplified)"'
193 'zh-TW "Chinese (Traditional)"'
195 _url=https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/linux-x86_64/xpi
197 for _lang in "${_languages[@]}"; do
199 _pkgname=thunderbird-i18n-${_locale,,}
202 source+=("thunderbird-i18n-$pkgver-$_locale.xpi::$_url/$_locale.xpi")
203 eval "package_$_pkgname() {
208 # Don't extract languages
210 for _src in "${source[@]%%::*}"; do
212 *.xpi) noextract+=("$_src") ;;
216 sha512sums=('eb1cb06390694872e37830991e16d1e0bd3259cd1fedfed86fd24901f190bc9c274fc1a85cfbba01a0c9cac0d422b62a9b1062d8ba1770fd25bf99528f6df9e0'
218 'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
219 '6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
220 '5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
221 '328422adac0cfe6af4ecdcd864004b7ada8f8171aa954fecc23a7e883e90a9bb0848372faa1100440dc754922f965e1e7b98c185aa88df190bff1051d2146c85'
222 '7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
223 'f585504b9038536e6dd6241d0d08086f485cd1276d4dc1c921ea29b51bc5d2a435b2d12706c15f9d1257c98a139e84d6e9f6798b44db4a5b122c8ab4b43e3ec6'
224 '25520faf118ff01fb8b70bd67290c511995f7f1f4f5cbc6779a694bafd3604e78f8d5619985d1c80e0d1b5823252ae3b0af31295b05c6fa90b3475af605d5d03'
225 'f7f5ede8bb16aad264dd4de78cfb98fff930a8c7d0f1d5243b8297c62d569f676afc3e3154c1fa4adb71b38454bca9c735558da927efeea812d84277c7cc6c8d'
226 'd6fd9fe1a01b52a6e253e01544668371bc6b5d34308374546caf4fc9b31b3385527df1a97e85f5e7574dbb556bd55f73ca221e913edabd25a9927f808118e682'
227 '0b45dd6fb7017d81dc233fcb607db66c4cb3ccccedc6a8352e37e045862aa8d7e6354f301bb864cde31f054e3322bda84dfe2e938ac296898f3c4688611a9cb8'
228 '1638e2512af653840574893e85a96a835acca18ad124b9b2c7a53d5e35b52ade59bd79c362f02c96d70144573a27adf264a1a9c9d570966d5dd44e4ec4459c6b'
229 '8c8bc3362086c5fd3b5a38067626ac3c69d03a5627ef784ea8932c5e42c191b36842b036f9154e5ff5d41885270fa996066caa2285ccf86b5f458915ef46e2ce'
230 'd63558fa88e603ff0eb71c39e94dc25026aca8df18a08849cd1d03ed86716745de4903658f49c255dc4fa1cefdc6d230d9ab7ee2459deb8c42f98947a848e037'
231 '93380b605dfb7db1044cce028428a95dcd842546c61a7bc13d25eab32301b6a2eb25fc4fec174bfdd3242adb371063202b43838f6ab876b84b5b746ae49dfe35'
232 '69b6d8aff97d9a5b7a6bcbf848eabcda5c04e59155b4ada65e847c5592d60767f2c7d3bd3cdca89dfc2c659672aba35c811b7dfadf95ea84f0d39be722105f98'
233 '11614a5e83431be0dc3b5e46b62b3f2bdd2b4aecb2c48a985786c753f7fa5f04470f57b4ed523b043f280f6881ae7d5c489c02d236537542fda477cb8fa0ffcb'
234 'c8f813698de20efe9980e038d1bdca9e78bf4a2840d5d74785427e74acf84b189b92d9f83324dea8854de7cb442eb7e0fb2d906465ad78b8a385c8405b7ebf80'
235 'd1bc3a1db5849657891731d0979632229c960d4cd5033b719cd38e095b6bc47fa9eb1624cd253b55dede8a24e0cfb76ca091f6490e82dfed44376c8e24f8c042'
236 '22be0b165d5ebbf4803bbf153409e4a7bddcd06be0f13906da15665b8c1b3bdb65d2d6e0d3721b703c7222dcdd1f0fad892a830693742ba151f2d05688048b89'
237 '1df1bb97196c76ef75984587eea289989b3de0c508658c91a4b65be1ae4f8eeccd4a92d4818d9f8da603408c23b04c90e25498cd7a328bc7d8a653085c49905e'
238 '3b5649a02aa96fd26f5c002492f581cc09a554b67864ae79626270610fa72095970a633575906d3a18632d54010f8459389d671f4333f3ba4d0a5ebb9282fe16'
239 '81759d7a8d8a34aa19fe33ad5febb5e4d3a44d1000e2150ab32a9e461b29501e692cd579f5211c623b3e0415603f1e4304bcba105a1ac19cbae009e0e7b01904'
240 '29937eff8f984d3613fdc743b56157a2a8c86bec66061598ec6af2072c7bb710a882dccc4a11c6e6ee2605023803f72fcaf64fda654b188faff3e10268b9de21'
241 'bf0919a4105c6458611fab5df79f0535aff9665c1b71f4875160ea663e5b43380f74b11d88997f917df8a74c21ee11579a68b845a887e6e493abc0a9b5f9f695'
242 'e2bf7f895103e329edf9cae00d20d23435f986ea2d1133b04871bbdb8b2105709525bef103240c1a9f8ccd3ae0a85a3784ab1d654be10f83b4d7895476923bbd'
243 'bf726ae69e2233da85edf069a38a781f919a3489e7fc33f7d419a163505e8c82e6a2ef3dc29515f404361403aa57ac9b15ddefcf6a4902f547c30d01413ae43e'
244 '08d30665fac20280b0b1a92c71d3fe50779a359357d49396adc0579f371fc0d2fb4207ffec8e4c78b9e9e3979c7f31bdc0fa5e0edb1f4ead778bca28d36ddd28'
245 'f27929d13ddd1fcefd80321b97571685a646bf031e8c5c4222709f86f416f7e15b8f28f1a769036565aa35f731b697e09eec53e713834b7b136aaeb6010bda4f'
246 'a7d657c0557c010162d7c16b74d747512144cae516ee77f3a62f878499e481f46c17f8eddd149fe7b7d6bc46169e637b913d340bc8511c9cb6a03110126c6105'
247 '9806e26f280543f813c25b6fde4a6e9dce144475d84cc52fafd03a016e17fc8320120ed2c506470d8ce13681f028f0f01319506d45db2bc1b2b08cb744304696'
248 '74ce4a89fed365a83fc2cff18c1560b794dde7f7070d34d824104392954083913daaad89aee6d400ae949a9f1234be2a5abaea1c1587fe4d5e68a9763f112e27'
249 '68e4f6022cb83905432b838be7ddf73d5b42f1ef9319ef4278f9f1448b7d32f557522a5ce8528c27cb915474776aeb6d40874a3f96f22dfe289a326d06d4f826'
250 'bc2685a4258ff30acbcd0a656c935518c6c8929af4ba49e0fa95735327e904e5a103ac3c5c5bcfcf8ed535af5cc5c5005713af770ed22bd7936c50961e608e60'
251 '6b1e1680d29a5c99af01c54aacbf696f10d1ec952ca23d9861a1ff9bc0d1d77eaf81810916c724a916ad91df1f3f672bcbfacce5ced4fd9ad6cc2493e00bfbf2'
252 'e2eacf9efe6bf08ded867f3cbc3c082a5bd00a8d1754c82280e2ec2ce9f88b6ad19e3cdbbc32279a978b07c6d977bc1a3930ef5b01adfcf62c80cd31ffb27313'
253 'c16f41c9ab252588167cc6aaac0806d8e184b5bc0211659449dd157a01b72d631b36eab6ca189ae6abe36172c6360a36c07a54fc09b21bd9be12827f880f1706'
254 '7d112bcb49337bca957e0d43b086b2068fe491d6379570181d511d6b1332cdfccd37a36e41f4c16415da5e4c02b2c24a831d41502ab3461dadd73a0002390cd3'
255 '88c45cdf31bee0b118314c9b5ae0760c4750a29a311be1a78b94241abde878101aac5374005c5b2f164a5e0eef61f04b025835e72d21fd001b3c0ad9cc727f6a'
256 '8cc54851726e5957bc3ed6cf3873ae2bb4f26362ad561270abb408379db9b8b499fbe1f2f67fbd2f12f9125f71d963522282f3759527ef055503aa594a117abd'
257 'be8fedf3ce3fd7833b9f5f1a454a7b55df3f83eccc60656c5fc5cd987f5d0c9caaa05895cb8e516fd44b4afff435de1c9385843b3a0bff80217057859d4f3901'
258 '0c73d567e0b71ed8d6e466133b75206420f9972fc82115b3142de288216bcd3bd881a5a909a1386708cef2408e309081e9c408ca57e29c2a777eedb23b6a8de7'
259 '1856fc7b33ca11230cf3abe7e6c5445e1cb260b35803625230fc749c09ffd371869ea30ba9309d7eb623cdd25c3e7cacded4a279d774b9927cb2d8ed924aacf0'
260 'bde2227e507848598a3594541fec495b573559c353e27c86bfa34a761d20880067896f6d04a5412d52e6f82c31dc1f8030c1dc4818977d354a3977489f2d9c39'
261 'be41e68ddd1367af919e181336d1c9d3e41680171852cbf47627c65b48a5a38b5218f7a7491c22927cddf3c1e3e37c8616b6b452e925ca8a3dff9f91fa47e8cd'
262 '635436b932c2149a49964d8f89c455e060fd8f4a26232364df1291769be852015895b91a1be2d1a09ca18ab21b5f28bfa2c97506169c0bb988989a20080340a2'
263 '55b83755c9e1269b43b80e8c15a78c28f128d0b016f80227da6863765962076a1d2ddf02cf6bf550d9808ed3b94f9cfcc4fb3c4c1f89a8439ec177e1dc8ce4ce'
264 '6f3c78974f74e55a9cc423d64b718d3c62fb1b6e299bbc4fcfc312e07cc510894d4c7c401d6665826b747173e1402b6e83c85229090971def3e3c4fbff738b81'
265 '2e87b8a8168e214f8f771fff77d8653fbfdd274336be2f8b9fd631b942a1dcbf26b536a5df50547fc5bfb4041d3c613a96403313537a25d4df1bc17377525c42'
266 '8c13ffd442a5c70d3451fd8ca296876a7d12c1832b325dc1f7fcda6f7e8bd28cf3a51c45429af85fc23ef9dc606950baf282d84c89a2d49866554bbd6270fb13'
267 '9d87103911a45e8b90064b30a95003d93eaf77fb8a98fabc4ca4d57e360349a88b3b103d9d7c6fa5e704fdaca80e63417de3af91165cc1a435c6a76da969718b'
268 '0513ea86a0ce7ade454438cf2477eea21b026b2f506a215a1a7158c1cc4752f0dd361d3cb879d97aa42b5c491aa34dbe991e6e4b8294ef2ecb262a68edddf7db'
269 'd2e18470c5db1f8a48e8db48939a09fac24abbadc185d6a200213a98b16893094a1eb0d05cbf76d88a42bad0bf81f8afdc041b70cc5e1cddf254900554c6cf89'
270 '7e2a8e3b03e9da710fb479ff4d1c6577ead16d048005b492db2d49d6db01ae631b1de779f4d0fa341d4a7ce5500abc9e27c8d66bb0ba4cd1ef1d5f384025b72e'
271 '45f4613ce850150c5748a83572d3a0f243d8ede3741cdca19689fc2764afb13c2501226a6314b61cbf6b27737829e93ad18661fd6dec49c06c0f1037e4c13854'
272 '90a7c2a195a8270546e1aab7af35e7c95f3e174323a1521bef2937b801f507617d69072540a96f068cd23a3c31bdb6ebf3b6d1c3ec50f61ec36a1df91b243ced'
273 'c84c9c63e5bbe309e59ee1578116323254dcedac68ff5af77412b2377af01f14f6a4c304a906bfad338102fb2bb6645f510da520ed30268fab8284975bd45367'
274 '5adb8be0fbe86395391427caa7894cfd5d9ee86238817cbdb014323a9eeeec45df5793148ec6d8a313663b093956762f4fbf51249d27a368db5f3dc913e60e9a'
275 '04885b33f59b36cb05ac0848cd7d2a5f903f2d43e927a7d4c40989cfc5627b4c8dd0fab607795216aa25516de041dee0a1c3ea81192a5f779f3ab286df02eb0e'
276 'fbe4b152657d6fa0a658dd679eddb765ec5405d62ed39de40f1d8a2ed29028f6c5eea22a4da1808b3e7120c2a63c4846ef33776023e4d95dee55655c16cb266a'
277 'f55370dd717e3ce737368fb0b561c7590e191a6a3524bd06ab9bae27f0bcc5a4a9522d65917b2535bdd1e94870597c66e2041744c1c41a4c7e5a6eb3af70e292'
278 '0badc015b27cd0e98dfc275c1c3f1fe452ceb5795cbc88eb8466a9d5a42178349e6b9714c941f1c8cdc66bf57c7b781e8d4ffb8abca397129f17d05d32a4077e'
279 '0ec84498533f2be48c687ea1fe0af5db8bcae672b0973ea6bc36e0cd27f63c17b06ebfc4a36477a7e19f52e69fe30b22e4ee64dab1432e3cc07e6d62ad40dc59'
280 'aef3fd304759a1f1a7b55e9e492cf2c9a9f7d4e48358805673c42017ec5eccaa94e7db98f91ff5754f70d5d61dead7596d513a0ed99a6879a3677611b4a45194'
281 '5ad36811fff951b9b29ad4f7fb8c135e34d6b1527f9e1a9e838dbfc8c263e970e955e6cce09e048f86a199ccf78f8dd5959788444dee777f88937d42709d472e'
282 '3f0a4a6091ba1fffbcc448e9140ad1cb69d12d334725cc1a2c5790bedd06e36120d76696e63df4a65c31836adcf010691108840177b3e05788793307ea256e28'
283 '10d8b0015c52a7d9fbee0eac21b121c5c269ee503d234fce651bca8a503f1d6fdc819657356bd55b58e750c783157a4a69bc4267bbdfd1cd41732987c0288334'
284 '260acfdb8e303b7f089a592930427af3608fae724b1c09c19b0d3e26f374e68cdfd5950f0281456415af6026f4d4d91bd8ee3766707994adfdb741efc3aae9cc'
285 '9e28e5e74ae91a45a5395a96f5b3a00e32990a7cbf147accc472849bf0398da9b929a8e7a84c0a9293efc2996df70148dc0b8cc45b21cff780b8bf1029da943a')