archrelease: copy trunk to extra-x86_64
[arch-packages.git] / thunderbird / trunk / PKGBUILD
blob9e48f2f18d422351a1a9d357d640b65018551523
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>
8 pkgbase=thunderbird
9 pkgname=(thunderbird)
10 pkgver=91.6.2
11 pkgrel=1
12 pkgdesc='Standalone mail and news reader from mozilla.org'
13 url='https://www.mozilla.org/thunderbird/'
14 arch=(x86_64)
15 license=(MPL GPL LGPL)
16 depends=(
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
25 makedepends=(
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}
32         thunderbird.desktop
33         vendor-prefs.js
34         distribution.ini
35         mozconfig.cfg
36         metainfo.patch)
37 validpgpkeys=(
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
45 # more information.
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
51 # more information.
52 _mozilla_api_key=16674381-f021-49de-8622-3021c5942aff
54 prepare() {
55   cd $pkgname-$pkgver
57   echo "${noextract[@]}"
59   local src
60   for src in "${source[@]}"; do
61     src="${src%%::*}"
62     src="${src##*/}"
63     [[ $src = *.patch ]] || continue
64     echo "Applying patch $src..."
65     patch -Np1 < "../$src"
66   done
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
74 build() {
75   cd $pkgname-$pkgver
76   if [[ -n "${SOURCE_DATE_EPOCH}" ]]; then
77     export MOZ_BUILD_DATE=$(date --date "@${SOURCE_DATE_EPOCH}" "+%Y%m%d%H%M%S")
78   fi
79   export MACH_USE_SYSTEM_PYTHON=1
80   ./mach configure
81   ./mach build
82   ./mach buildsymbols
85 package_thunderbird() {
86   optdepends=(
87     'libotr: OTR support for active one-to-one chats'
88     'libnotify: Notification integration'
89   )
91   cd $pkgname-$pkgver
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"
103   done
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
113 #!/bin/sh
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"
123 _package_i18n() {
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"
130 _languages=(
131   'af     "Afrikaans"'
132   'ar     "Arabic"'
133   'ast    "Asturian"'
134   'be     "Belarusian"'
135   'bg     "Bulgarian"'
136   'br     "Breton"'
137   'ca     "Catalan"'
138   'cak    "Kaqchikel"'
139   'cs     "Czech"'
140   'cy     "Welsh"'
141   'da     "Danish"'
142   'de     "German"'
143   'dsb    "Lower Sorbian"'
144   'el     "Greek"'
145   'en-GB  "English (British)"'
146   'en-US  "English (US)"'
147   'es-AR  "Spanish (Argentina)"'
148   'es-ES  "Spanish (Spain)"'
149   'et     "Estonian"'
150   'eu     "Basque"'
151   'fi     "Finnish"'
152   'fr     "French"'
153   'fy-NL  "Frisian"'
154   'ga-IE  "Irish"'
155   'gd     "Gaelic (Scotland)"'
156   'gl     "Galician"'
157   'he     "Hebrew"'
158   'hr     "Croatian"'
159   'hsb    "Upper Sorbian"'
160   'hu     "Hungarian"'
161   'hy-AM  "Armenian"'
162   'id     "Indonesian"'
163   'is     "Icelandic"'
164   'it     "Italian"'
165   'ja     "Japanese"'
166   'ka     "Georgian"'
167   'kab    "Kabyle"'
168   'kk     "Kazakh"'
169   'ko     "Korean"'
170   'lt     "Lithuanian"'
171   'ms     "Malay"'
172   'nb-NO  "Norwegian (BokmÃ¥l)"'
173   'nl     "Dutch"'
174   'nn-NO  "Norwegian (Nynorsk)"'
175   'pa-IN  "Punjabi (India)"'
176   'pl     "Polish"'
177   'pt-BR  "Portuguese (Brazilian)"'
178   'pt-PT  "Portuguese (Portugal)"'
179   'rm     "Romansh"'
180   'ro     "Romanian"'
181   'ru     "Russian"'
182   'sk     "Slovak"'
183   'sl     "Slovenian"'
184   'sq     "Albanian"'
185   'sr     "Serbian"'
186   'sv-SE  "Swedish"'
187   'th     "Thai"'
188   'tr     "Turkish"'
189   'uk     "Ukrainian"'
190   'uz     "Uzbek"'
191   'vi     "Vietnamese"'
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
198   _locale=${_lang%% *}
199   _pkgname=thunderbird-i18n-${_locale,,}
201   pkgname+=($_pkgname)
202   source+=("thunderbird-i18n-$pkgver-$_locale.xpi::$_url/$_locale.xpi")
203   eval "package_$_pkgname() {
204     _package_i18n $_lang
205   }"
206 done
208 # Don't extract languages
209 noextract=()
210 for _src in "${source[@]%%::*}"; do
211     case "$_src" in 
212       *.xpi) noextract+=("$_src") ;;
213     esac
214 done
216 sha512sums=('eb1cb06390694872e37830991e16d1e0bd3259cd1fedfed86fd24901f190bc9c274fc1a85cfbba01a0c9cac0d422b62a9b1062d8ba1770fd25bf99528f6df9e0'
217             'SKIP'
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')
287 # vim:set sw=2 et: