PKGBUILDs/extra/thunderbird/PKGBUILD
2023-04-27 12:48:08 +00:00

318 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
# - disable rust lto for v7
highmem=1
pkgbase=thunderbird
pkgname=(thunderbird)
pkgver=102.10.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 json-c
)
makedepends=(
unzip zip diffutils python nasm mesa libpulse libice libsm
rust clang llvm cbindgen nodejs lld
gawk perl findutils libotr
)
options=(!emptydirs !makeflags !lto)
source=(https://archive.mozilla.org/pub/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz{,.asc}
thunderbird.desktop
vendor-prefs.js
distribution.ini
mozconfig.cfg
metainfo.patch
rustc_version-0.4.0.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
msg2 "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="-j4"
# disable hard-coded LTO
sed -i '/cargo_rustc_flags += -Clto/d' config/makefiles/rust.mk
sed -i '/RUSTFLAGS += -Cembed-bitcode=yes/d' config/makefiles/rust.mk
# increase codegen-units due to RAM constraints
sed -i 's/codegen-units=1/codegen-units=16/' config/makefiles/rust.mk
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 LDFLAGS+=" -Wl,--no-keep-memory"
export RUSTFLAGS="-Cdebuginfo=0"
CFLAGS=${CFLAGS/-fstack-clash-protection}
CXXFLAGS=${CXXFLAGS/-fstack-clash-protection}
}
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_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none
export MOZBUILD_STATE_PATH="${srcdir}/mozbuild"
./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://archive.mozilla.org/pub/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=('dfe62f0d8b7750e54793e32e78fb0784c7c8e39b95dc4c03ac393e51195ec8883edc2536afc2cf2011005312a40805f7dc617c90bfb4a77d22393f1d9b719b23'
'SKIP'
'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'a34dd97954f415a5ffe956ca1f10718bd164950566ceba328805c2ccbb54ed9081df07f2e063479bf932c4a443bb5b7443cca2f82eea3914465ed6e4863e0c0e'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'36d9662fc94cbf7dcf371adc13a9cda679bc75df961d86de019d3c8ebb0be3062d5ef762d175fab58696db74758100a65de45d7832e0e2bd4e15c901f72d8349'
'dc5af20d0614190b2f4f963a28874e4fce8141d3c44a55d5ebc0c964a3412e168f165783eeeeacdbdc2c845b6fe9df75ab99d4071af76a7beb1f016df0a081b5'
'617ab9d71d97c154a42e7426a7572a08d21eeb3a0a6d56f1fd6a23ffd20a0f8c35d47207665cd7aaa0858fa987ab94c0e2cd6077881ecfc1f0a85f086b151240'
'bcda6ead704758005c3412749436481075e3e0a5d8530efb47408cc1fa00cebb24bf5576ea126b7804e67f8d7a74ef1d22202d5305ba8f85a1b151ffcf1cf69d'
'f72b0ce1f6423f88712546920387ec4b045efccb27564a234ce63c218c975f117652d1a331bafb2189195dadf90241c8db5c5e43a7666c04b1808667f2aeee06'
'1b61b3bc5aa054efaf52cf05c111dec080c61a9c8bbb49821d82f013573a05000dc03b5dc712684eae93d4b5629c3b9606be486dcea43332b6f35e732e2cee8f'
'61e84cbcd936fc44b7a5c7f5ac5fb3ad298c890ba64a2977e1ae2a1df1ab0df10b42b57d26b4b91e9e35baf40df66cd2865f0b2bc1b88d229bebba45b96e5324'
'6f51987eecf00676a7b4ee3c97798359d50a9a6d975866556a4dc5f4d66f6b2f5612a772c64bee8e294fcee6ba3cccc178f60f3b07e15aaa238b7da85a7e3f89'
'd493efc99473294667b8b7a531dc628b04381f8238e9f66a879e45f520d2c8988f0c4a1fe457d9f7c89c644e34ef2185036bc1b19bf435ddc20775bfb07efeb8'
'f6734f4e87a573263dfb22eda4fbda6c43f46f9110892e68407191bbd5c0a2fd73f3763c168e939ead1ef519a67c7b0c28bd4e50d3494821330e84ee4b123b8c'
'8da9d333d19a103cca67ff0c39dbc3037ce67e443cfb01324d57eef8cf643c02dcc982956ba5fa78e9e2b1a5104e62405f6b56556a260d2af6d313d1993bb19f'
'8bf6e6edc72604006b76ba79311b7975f7973a1938d8f55a7d15b45c9cb615d0904823207a6f4f7825bd5bfca872d7e8a2f9174a3d9c6a8e8eba9eb5690c00d3'
'5e060e85ff0ddf012f2c6f98c9fb6573dd9c596179b52e78fd3651ff25d976ad08f45b9d170f9c21f88eba0da2fef6590ebc95143c1d22dc7fa2f3aaca66a21f'
'c7e9d289ae20dce09e1e51b920c3ca05ad65c167e176fd37b3633a919b22c250eb01cbbb9fb7934804207a4e679d1e28362955b0842c86e14011a0dc3c392269'
'f84cf641a96c4ebfdffc2fc886af4b99de6b206fc39d4f50d9e80b053a0f5ab38556770f69d2ee746e8dedb1e99a59713960080b60590c2554d770dea52b332e'
'bfa96af3142d684ff25798b4d397e69a277e8fe02cb3d0dc17df1b1fca9d7c3332ee1adef9dde95c1eddcb52f4752675f0327060df1bfbffbd80263f96898200'
'315212fb4f7292a9d5a674d06a4857a29ba8281eb36e5a2b2808edb8eac47f9c4e5e3d8f4df3cc34773321a761515fc49fc025316474255ac94bb14025e0a882'
'137f17d5b6ebe381aca98e1bdded957e1feeb0df48b46130e53b2714c2b7234f4842d31f750ce9181a341dcfb7ddb2540e9fce689eb407eaa03f576e2fae5ad5'
'f7ad3106b44e62a4235b458dab284843388092bf5b2ed0c213e73976343b9572c7e06a0cbbecf27a3b029af4e9addf17cf7cd819ace968aadcbecf19eb96c742'
'0b0e4f802b4cf3ea67a3f70aec6d8826c92a98d78dd53bbf730a6d92029c39d99c584bccf776fb8a9edb353ad924c9e60ef30d8b37f3b768f43869c853f340cd'
'a904fc015bcc6a10000b9c671211cbba3bcf96403cbd11b62a9bb185b69a57dc555c626fa655dc2a36ebdcf58477580a459b88d02c670731de630bedd826c2e7'
'ebb822da10ee543eb87922ed34ba74017ae2a876ecb3f2ef9adc0025e95a9cacb9a99f1f71c1fac11bd20ba677409fc78e85b075f6a0705edcc4d2946177d80f'
'9c57c09d5b79acbd2039cbb00a66be716fcb53b828d53a8ccb885d90eca8cb688b5e1a90dc746023878ba1de46f9c01f274b4e91c40aa44487a8d1b7c2fc298b'
'3bb8f2958bb7d308390453a3cc8cef4efa9f744e63d1f9278eb367fc5fe682c7881a7dfbf93a157ac7c9536402eaded612ca2186559f9e7ded3272c880c46725'
'f3f7df6fc5b787199085f120e0162caa89b3f6e88351dde113f05be6f37a9bc936ccf6b7ebfd8ebdff265155d840eb33d5be65afda307e597a42e38c137fbd71'
'42b30775f699f88f8fe44b622cbd161d5fb6fa36994198b193777aab8372f90dae591e4a2d19b8c81a41d6d0c514a937960fcd38e2b0f5c92db5067a4bd29626'
'1b228a35cffa9586ffc5470f8849fe9f20ba17be2c55c2b1ca6b0c353f92274a468d143514a7dbc30507d889bec01249139e3215bc105a3dedfd09b233f5c821'
'2c9cc28a4a34a4ad87060aa2d8806f48ff655c9400e2cad9f7aedec60ea202b769d59bdc2ffae7802cb6018ba8d8959898f5e49ecdb7e2118cf6827fe1f22b65'
'828dd4041f378a1b04b4f43c2f70516d5e465dedd002dbe9be5b69835dc823b42a190b17fe7e01f6ecfa4bb7fd8c0be612a489d5db854aea34a0e5c698118460'
'92738fd0a0f81969ba3fff828a2c7824e6bd362cd722ecffaf2564bb9992ce8ad6c964091c04e5595e6ce5bc7e67822df2c5576ea4af8de52a54792aeaa3c8d4'
'9892217d79ebcc49637f160ff8e71761b271f47e4c8adb42eb3986859beeab14d76b6b75035a9bd40e64c6d9b0a7a1e34aabe3a6dc00f774c160b862ff8b3b21'
'c107ad4e431d3c6ed832acc494de9b1971ceab83ebcff818b27e27287cc2b11aaac39199dc1aa2b7a2e143eddb4f4aea32098756c8c0d70a319669c9bdf14f6f'
'd52e770d68dec5632a8ca42a5721539965ff8ac6f2ad94e0d776571e939a6066dfd3aadef19ddbdde9459ffbe8c66aaff0251a547db57dbc4ff42376a670d080'
'd7b1a6a4f854bb504420b08bc9e3d23ea9344acf11e8084c019c8d6a7d5fea4742bfbdcf11a8358b2ad17b1fecc865da98ca8cfe9122aa845cc10918791bbccd'
'805ccb25445dca5cae95a6b0c11090abe703edd2a85123008c94d912b52995870f7f7273c26125aeb3d9b83e22c5b71e4bf1779d8a883ef376720897e31bc040'
'3a9b2f10b28e4250fa41138de7a6fca3ed0ce6255b0e23bc8637e17183b6e2c07b072cdc7efae23056456e3eeefc44f85a36f393540157d2e4800979b7e2b5f3'
'9f0e1bf69fa168e9864c60fc449ca5e3c7ed1a919bdcb5a86498237f13924d08b33e44b8b59684a51c83e885189939e73ed24662f8c3c1ad842345a92df891a8'
'771dd5baed9dc6c964c628527bb76c8dcd9a5964f7c4287fd1ac9e12870ee2530310a265ae95171e19cd6f87418524f4c32557eec94014a8c9676bf3ab2729f6'
'0d6b2020179eae7436bccd8f2d714d1cb6330727666b06a9f5402e2d87c8436bc1af86eb95899381e51dae9e145fa4cd2ddf8e3006c4cc17961582a7d73c4d0f'
'82d5fbfa6c0eed5ce66589fad080ca62504813fb11406be66f364e716a4f70bf28d3bf74cad4e5f5f79d9c28f8b675549654ca799a3cde65ddb222398006ab8d'
'de29415c1603e1342b51c968bd676f77bc683ca934557b2d15a0ff5911c6782720f8487512f4f994c1ef6dba5027aae8a40bf744f7904f99c960f250c4d8b0da'
'660e6fe1857706dd47f448c983502bdd7fd40444e81d8a34b31576dd7e5e017f3488ceec2ba8768696b4531ebe46cbaefdcb5e2fcce643737ead92c8723f4bbd'
'b57637e5be471ecf77bfab01be02d94213fd33eceff554a336a0b25c1c25f53fe18210f8271e9bd9b01e51217ea41b4c9b75d1e34c3a94e1988007c3d0c59bc5'
'c960d31d0bf3297172b4d2d755d496b8bd2a0c57a772ffa26f126ea940bc01e5340a04b914a3b914f2e51f6bbf80174f45e8aaa08c60382511a6ee462ff1f272'
'20c6b7f87fba2ea797932d3b3c54a0ea05f1655f5392232ecb7d164a3b523cc515ed39be6546b59732ceb6367a19172325dc43e4874c96c0ec4ebb50ef21d2f8'
'e074a461c322b47b3b1d3166ac162c3b9bf5561162cf54cb677376934d00cd442c9babc1e4361af965d006072b1b38c1224c1d82cc8231428be99519448d132b'
'2915c5ac12a5b7312047f0af2a84310564155dca149658ab5ffe77bbf705bd57cc4e37a6f350d4c17ea1059bed1261d038337cadeafe700a21aaf276d7ae3225'
'61b50443b0e2edc113ef95e3a6958b71a3c45146336e12ec5a10f85ee8fff5669260e4ce5040130b96b8c46e19418b79f5cc97e9f307771404312f951b4790ae'
'b10d0af231914f00258fdbabdce6665db879fac88d7f072aa5bcd2ebf1a1f0e89ea87d32bcd2fa25c6e2988a019e4899084dff3181838c6d6fe1b18e3219fbb9'
'768fa048357df6506aa2718c2105f1f836c34f31a324699e8783664c281e5856dd59e471fba0edf8ac2c60e4b2bae4ee187651e97b6517c96a8972a9cf63d4a7'
'2870d2d4b349921363fbc09e48aded4d7aa17dfebce93957ce120304ad5baae8b0c0d032e045ddb22dd608b4a296454e1ccff360e29cf55207eca445ed368082'
'7bd68e20f59e63adcb883f4365524bc6735317a4e1e6f21fa8079beea4481f19ea0e1f35bc1aa81ed1f149a583371b3c5d69e93fc182f999575ad9dd236d2e8d'
'f7147130c6b3719968543a919bc7d4848e72648857223aec1aee7bbc6871654d0545b830f2860a7d55d815ed345e400a3cebb8c502d1824072fe8cfcf829545e'
'c144e8d86ffdc9ac7f3fa67b526f9a44b3322cdd56f6fff535ade44169be435c676c8cc8fe6c7280e27d06a8364dec15e1e0db82e65fbd7352254bb0335565c9'
'f5f2844a2f127242858fab82f3f7e0db59719d3b96927fb0225005e875b75fd0d745e64b304affd8dea7cf9bf0d36d86e3e5a6b3f69d41e5a46eb15d82a2fcdb'
'ccddc3b5b03fb20414a3684784e1a87f08a622ff562602682d4622c24110d47f81a760319dad945f459bb2c518e66b989276208e60cac0f11c2288bea62a45c5'
'4b16ec3eda714eea676ec10f8f1ce9697de503a8f7f3cc5a79e08a3c9c4612999d18e0a4a1014bc66bc6b551c2064c1e6b9d7be6f0d9c2a5f0709a99dea8ed58'
'4d0c02626347b17065cbbfd733d385b5a5bffe0268c3003bb889293d54fbc49ca2d574deb7f1cd50a81af3997e764b03dc53e458a62863a9df714ebbceda9c19'
'4b736cdef707e7ee94cfb5f1987a060ab869e4f9521ccb5a050c58708e29701f6829e26079695f7bfe7d0aa18b016b84b6c65690bdf52fe93524043a2df48dd2'
'ac7dfed7e35f24b4b5cf08fe12bad263c64df8a4994909e3dbb994bb71740f103ac1450d97c93e56d9f37b945a0fa7283724cb16f3c44417662ebf7661d7fbf8'
'ff136b403421bcc907c1fd8d7925a2f595187c44a87546ea84438980c74a7f06bd732f7f16a1bd98e2e0a24aaebe74ca4edcd37365671ef8bb8fdbd389264568'
'50662e04e8524388aba626ef7ebc1106576ed542bd90c162a7b5965215d1c6e75455bf47f1b17d355d1d38b0175315aa43023fe9b9b4105267a32f2b27ae007b'
'7d114d26dbe74ed0f5bc7cdc49d2715b801e8bddd4dfdce7b8482d8c648c6f2e94f13b8d2eb3fc6263a87a5158c93f440e5cec549de3aa1849f14a69b62080fa'
'0edc2cdc774984b41d642011e63ce94d32c2b53c1832e7cc70c660aa4f591726cdab3d24ac294e4bbaacbaf326e4a24f973f4afa3c164ddc9e1fd748efcd61ac')
# vim:set sw=2 et: