PKGBUILDs/extra/thunderbird/PKGBUILD
2023-07-17 12:28:14 +00:00

357 lines
18 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)
_release=115.0
pkgver=115.0
pkgrel=4
pkgdesc='Standalone mail and news reader from mozilla.org'
url='https://www.thunderbird.net/'
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
botan2
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
freetype2 libfreetype.so
fontconfig libfontconfig.so
glib2 libglib-2.0.so
pixman libpixman-1.so
gnupg
json-c
libcanberra
ffmpeg
icu libicui18n.so libicuuc.so
)
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
gcc-13.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
sed -e 's|73114a5c28472e77082ad259113ffafb418ed602c1741f26da3e10278b0bf93e|a88d6cc10ec1322b53a8f4c782b5133135ace0fdfcf03d1624b768788e17be0f|' \
-i third_party/rust/mp4parse/.cargo-checksum.json
# Make icon transparent
sed -i '/^<rect/d' comm/mail/branding/thunderbird/TB-symbolic.svg
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=(
'hunspell-en_us: Spell checking, American English'
'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=('2370a8e0b5ad2bc71bcb787cc93d31e5bf91bee9a4126c8677210e05936a726938b5fcff9b83c2ef1f509c1cadaa58638ba2399682308f32326a054496ea7a23'
'SKIP'
'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'a34dd97954f415a5ffe956ca1f10718bd164950566ceba328805c2ccbb54ed9081df07f2e063479bf932c4a443bb5b7443cca2f82eea3914465ed6e4863e0c0e'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'347010baf2984689539780f9de6358207c6982dcabbcd48cd703659aa763f869d516ef5b3ab7bb258d67e650fe36487f5eb2f6294c8b7149834adbb5b73122da'
'f5b9d7c2ad7454b395381c9c1fdc49376df6865ae461c8dfe423b71aa649ee8fb4a0f7f55e250468aef7e695a5a07fb61ed9ccbe504d0c03955bfdb4a07e5414'
'0f1b2f9a4a3b9d7b0c4d3a81c192ef852365b3eb104ae4c005c7d85e063aebe5b38aacd46d6d260b19c210e91ad659708104a1286f633465e461bf94bcc314b1'
'bc5c605feb7712ee7a149ae88fd092f50e4aedad07530d19674b5c1be67d10389bd7ce4d5e1ad25eee048f3003f542ef0669f3c9bc948bf0be654d9d9909b580'
'92a4794ac97ad2980cc716de6ae546f9d9d31cfb8c4d0edc297d89a7824f3ba0bc44d8b0fd44986ebe112185c9536476976b03eafb7132678d5cbf3d74cc166a'
'1f58710044d75fdabe2bf98f8882d84cd128337ff792f1a5e4f0ad113b94916e360b75f472d6e70d73d515863537571e0e11d69f83b01cb0882090a227bcbabc'
'920ff2e52f23f51379837e91d0cfae21d9e88106a85efe97c358becad11c1460e3b8c3b776f03d493fed992a3e496b8ebba42563731bd024ec072721ef1613a3'
'e26a13002c163e99fec9bab575c99082b47d2723e23c334a6b701cf02029bf46c957fd4f0e098c193589a5cceb361ce02eca6bc2bd2ac1d75149d707e801d76f'
'8dd5adb3a79bd6ef2cc2d6b34f568193bf4434c5c50c972e544ad3fc2c95326d7705fd2db3715ff703da8b03d3d8e5f9bc136801abcba16abdb9e63bc8fbd97b'
'66091378286dca7570102b6963ace742d65d8265ddc28a2a5392ad2434db53e5a27692fedf40d40b7b84a4bf330269254d31f1f7abd5d6ef4d8fb4900e5c59fd'
'dc29d96974bf372c2084086ef52a2cbce1f5659f5fa67246ca86a3944bd55e394e8d90f4abb6b1d63ef9b0f09efbc9b7ba6ec382ac54534e958ca75b533dc8ec'
'b5b7ff889ddc162520cae02eb3ce507e843b3b75116da235a9b6284b6124a0e63797bb13c437bd85b0d70308f48a255084b297f831aa53eea00f921364f57037'
'8c2f6a9808692e412739bd4aee6771bd5aa2ea7016135de0abcb82c639798fece202f6a9811f7b9774f2f2939262f8e791cda87db1b6908171f5d3f6f1c39949'
'be905a503ae59389ab6265b97428d52fc70d690f930b3a4ed7f07d422726a626f07e81dc9b2ad0b118c71ffa1cd9bd68fbc27b1efc282efc1d1143d8f911a52e'
'4c5d3b9b2cf9fe176d10c87282c739e7b442f2b7378a8b1d28ce00b7724a4e3ebfc234a92c6cd92f4e0b056745ccaad037e7e102db72859e15b1f69ebc0cc2cb'
'334d693ac7f39ec05015b57bb5bab6f4f2d4431276bd023a0f7adad28dfc317758ca755309be94c7d0bf81583155fedefcda1b4547ca602323cfe703c8e9c07b'
'6c2ca8182633e0423495279ed916922a0e35d9195a6b00bea86906725a4102975a17e317c25dab6a0a737ae9097b0b26f6607aaa9b38d55f7b0cecff38ae8d8f'
'9c3b4dd3a574c07f4c9e246c81a0cef6eb0334a30c0ba35b37272bc08cf30526230f9534584317ce389d3c16de4aef32c469aa3b6445e648e74fbe7fbf4eaa4d'
'dacf1315f8414e20e8f1a43fd490a947135ac5ee1d9e68a7dd357709e210f8e97c9899c9da9895017ed950a3508bffb06f73f5315e21910ea1c4fb0688ebecfa'
'4345c80bcf9a3ee0474f98207cc7a3318f658b0111143786121aac340e4814639b15c0a85ac25832b4abe2f71c55b4728fd45254eaa5cdc954b9d968a59ba6e6'
'f50b9d920c20f6da3a5e9474fbadc974cf752797183453d690c105fe52bf46e4530e236824528ec7ff6d8d4666eb0adbb8d7ff91d3dfe1a9b5ae7be88f5ea09a'
'71ddd826991e88a49c13cec0b6ff43fe5f5df5b8286423438160c77cc230cdff50df7d95d0661b2c09f9e45ef4f979eb16b478888d1fa4520048a9eed29f78ed'
'14aa4ea72d1cca19d0f44c1f522465313d1ae65a2d50ef06f42a2654b872f1a09ab56e82625a30547da5c702069533f6fa7854e4d8c95dfe9f9d562fafe72615'
'14f0933c3b875776a717195b7acad986c957c6b92060597618acb0dffd22bd740fcf2be1b3582bc50a26192b99293ba77bdb795183c3c3032792cd7048939be7'
'0c232e3aff64ff1b45c976f23a311754e01b9d6333b4af4183afa9028b99ff8c3b6bce1ad7c6296623761fb9646a93a40c55930f7ad5f8f53eb1c71d3458f034'
'945ae96aa304bb58b64b296b1aed9eaf4ca5538e097116e00ed54e21f241371aac735a57c30bd57a26709c12fef5f911bd2e8b00804660bb6e50c6f3f362712e'
'ac37a6fbe081f8975e1522114eff9778a8af6ca5e63c651aad02743b38ae2c78a70da145833f4a64be6129bf07fe005cd64a2401a9cfc95112b0f7e50e0d53ae'
'7400e46410cc074808d285f5dd53bbb561568be12a237f5ef3ab78430ee731e00ce01a81e013182f02f6cbfae04e8b8f0ff9c75d9fd3c1601736bc9192932482'
'33863eb71181dc75133f512d401077a5b1b3dcd63ee1f22344d57c18b3f96db9ad08fccb908cc8f86be87f2be911f40cd7a85c0c7cafceb032c4850ff1b23b17'
'd07476366403557a5554b34caa8d95745509efded84cea06ba6bd86a619ec0cf86dae9c2d62cb273eb0c67f0c2b8b130c05e93c4ed95a558b7bfb2030a81ef84'
'82300dd83b56ad6c7d134dff03fee57fde0a6769cd6c81960604b2179028d65bc07d5fb5ce5e8188b8100f7b27a653299861f37d70024252354515013ead2278'
'1078a4830f020d6cf0f7cfcb3265d7645e0863d012b6c1193f4932ca66299c9ab6843fc7bf7c77a8ec918068dbdac1516c5f3183328d29da6e2267cfea45edc0'
'5596898b01f3ff5a378a3c9cca0290488bab2c04f30169a45fd2eb6c378603f04fb5c4c041f5fd6fe5ff2356076dd66d3e8759e9d19a9a8851747a2801266d83'
'646c9a33af1856d77e0cd38bcecc9454f662a9609481bb00c61476216cbb3cadf55d069e0018a4131c8bd52155f54b1b99d35a63f893fca1baa46fd622864d79'
'5fbb1e59355d4c7bf38819c8ae168a978a70ebcad6cc5e0f922c637e34b3f9bee0d754ae0ea44558750398ab93808365145516e7c9dfe821422218c9024c00ff'
'4c6b6b373e516e3a44872e306de9043150624bc9962b66124832ae28826e0a5869738d21df97d45f6885910981bc6837b911f66f2df3230f843cc8a7cff90138'
'6935a5e501c4e0d5702f4dd13b948bff64d03b9a53ae8c5b226faf89d00fc6b5fd1c625a923bc91a2aad576eeefbfc5b18e4c0dcfe2a53fdb05f69a894604a74'
'144795fa5a9e6c36e728dbebb5e564a21223585cb4dbffb49c3e07cb187f43403c82b03e8b067d4259ef866d26cb5d940d52c9cdd0fc76bbee8e91e23e980c83'
'34c726685b24d96b27276e890a80cec91229ec35786556874f22cda8e56c5dd057458c9ada836fc08a361af9f5c7bde75072db26a90211792fe7c3e3086342d7'
'478b66de463fe8e1187b8c5d1578e7600020b1baa4cb9dd52c21d7114340b2a73297da026b72721562740e2e1414af041989f31853b11804d0e220bbdf974934'
'b58d1ba9c4cb295e5f2fdd7dcaa7ad21738c6ef17896516267f73cc8865227401c80dc5df9af30c400b959dd36a854b6454245f12cc1e9253eb2666573e6070a'
'44af1261c88293d3d35bcae850e466f6364ff600ab5a8378c38074752b54bc737bca3a5a159befa877a06e82e81739929f9a1712f7be92014e2cba1d619ee4f9'
'b67f1f480b1fa18b8459d26093eafeb39378864f0c2a1daeb945348e8b434b3bd195988a250e419380c71cb1f8e2341207a52a3987e01354a5e63c9298b7db4d'
'f3fbee03de8e25022c45528d9371376749ff85aa3ee03c12cd97d8e180d2b5458d76579f666d6dabc1395f71a75109cc9ffe163c197128323f3cd9b9dfd659e1'
'58d76cbd2203835691fd39b650dcd08452524a729bd0e26932759ed28698ecc74ec3bb26107a44435bd830767876873999dea51912c64d4e7edc9fa5513a6427'
'f3e6ded6eb0751ea478bdcfed303856d632115b4a29dd71f308b48217b3877036b0dd2fea5e434f2d0b2511b8686f0adb1b2e61777fc44f226f66bd70f2833c9'
'0bf9ca9c96dbd81b2e4ff50812bb4365509e527b5e178ea56fc9bd613c65dec753e3785a88d4a56218bd0ddce70a6fc4b39eca8c99b3e83d037b6392afa1e2a6'
'fc6110f821f05ea1c3177d3a468d931e6c53ef396edb312cb0803b4abd62127bb30a1d968e1016383887ebdab3120f75adc7d5fd00de2fdd1808bbc56550ca87'
'5928c51b824c5d51f6d8ab451d62ab4dad82e1ea116df1f023980ae1ea38f8f75934425fff138a2779b3425500706527b21d833f227ecdc3e8d9a13b9a2b4e6e'
'396ef2dfbb38fcba3b12eb171266c9119bf1abf1a81118fa59f7790b063ead6d271209e1abecc51f718e8d8c4c9fd7f8d5c00a4bbcca43979cf96a7664de48d0'
'eaaaaf6cde5147dfc5f85193ffee960404a8b4086c2b8912cd9db973d7328f737e019e08ad76bf133bdb93bc641f06f09b971e48cc58f15a9152fa12f53e3ca4'
'abdfbe5dec84660d5bf90fa93cd7b30cc0b60c5e54d273fd207aa9aea94fb5c4fad6079c90a989e297f3e7c5f2c00ec347bc64c66c395962435ded2620da2bb2'
'18b5ac9bbdcb152696871c87b0ef7fb06c2dc4fff26d0af8c363f97a877e6527f2b9c3baedafc3013a4fd4958ea5850e8b1ab0f891c9957d9b751dc33f9d8557'
'e659ea6154dd99bb2ee9d69d38f1ad735445f53e99a0f92c3ea2968f5109f1aecbe5a7dafa61e94ceb4550415d124159b2b4662914e6d2d63e7634379a01f324'
'eccfd7db69a6711c163316324d8b4cb6776b11efa99e6a5e88c330d4b263bef28095266a33670f249b484115b944a046b8b765c7ee39e1986307fbd16d28c851'
'3d16c903df811ea23b10631dc6c63d6a0423c5aa25d38dd162f86889fdc2cb8606afcaca05f465a0bc7b336838d069f82953483a9f2ea2d655a17a819a24eb40'
'62f46868f1ce44134bdf9adce5589670e832c387baac54a7ebc43fa419149daf9f2e379a6f13baab8a2b7410bce8c4c412e25889a67ba1836465cb5bba292fac'
'183d8ccd8180a0c07ab2931eed10a8da9a89e8529b5146f086497fbf8ce8dbbfbf819014d14a3f10e985c9de478b83e5d899406c420b2d6bebaa10f777b53503'
'13922064447cec50491e7df6336e0521c63691af1848a0baae746436bc954feaba7f09fc0e758c7573fc5d24fb9e9b93f4f09ef079aea21a072af8cded7cfec6'
'080b18b249f1ddc40bb62420c8ae0015312478ce67002bb5a7653fa337aa29683d877a1a446fd82c12cfe32edc26d1610799ac6992d15443ed9f31313ef60fe1'
'd056c7456e0231a35a93b8ee1a3147322210398222bae630def218170a6c4067e2ff7e623ce913f234b6d0403d5c888df11b81fa180e56e178f9949034c53f6a'
'173688f3da5fc404bae75ebab09a5958999363c4c12adcaea6fe828631410d70f2688a6998af54d40e91ececb3f6c435bc8f99b38970c5b8d47f47b9ea9ad718'
'0fb58c5880e72ce6abef8ac31660e4e84c6397a3782e44c8cb662263f3335150d2b0c4cf90f9221d9869e4404ca1f7af076cffe78d99745000644cd1f8a0eed7'
'5fbb1a6c9b5b0323e3eabd901896668bb73580600f47e0007c809721ed070ba67f690bd6d1794c9a49d5848dbfd9abb93bbf848770a03d33d9f009811765dc11')
# vim:set sw=2 et: