PKGBUILDs/extra/thunderbird/PKGBUILD
2022-09-22 13:16:08 +00:00

321 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)
pkgver=102.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 lld
gawk perl findutils libotr
)
options=(!emptydirs !makeflags !lto)
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
cbindgen-0.24.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://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=('9b9908d9f7b1281df5b2c74a25211973e25d9b780f05b9550c89e5aeb8b39070c517a1a33d0d84a33ed26dbcef99058308b76c056bd4e34987c32f0600e3882e'
'SKIP'
'a0061fcb2a7f66061e336a8d95948592f56f4752e56467f14ba63846720ebf845cce7511d1a2637e3b80d5a1ffdaa2fb783fa37195103425ef65222d45372012'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'c9e4966e135907f7ac3c669da9102de3e1cb90eb84e9d89a572037a2999f552ef9ceacfb031e386b27190449f820784ede8421915ac5dde4ccda3b178a9adff6'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'3526402ccae1f0428f2e45bae8d0b2cb909ac2698bc3508b692b827839ccb21203ce414206039776f6ce946fc53e636290b7870e9886284d5e9d1e8ad050aac9'
'36d9662fc94cbf7dcf371adc13a9cda679bc75df961d86de019d3c8ebb0be3062d5ef762d175fab58696db74758100a65de45d7832e0e2bd4e15c901f72d8349'
'ac67bdff340212171cb4af0f12e6066f1631afebf8975b553eb0c84e2ec9a9e09ab05286b65829d1e98c62a3ea5a4c5c42cc51b9d76913aea04a546eee84e214'
'7a0e74e73871963062b5f5ab71fe55b617a5e9b391e1f57b14dd1742a2325d663fc8c5cf156dc1222b254b0d5f7ffc7c92208b1c4be29f4f2e0fc44f67b5686e'
'7e1b1f5224d722c3638422ba9754faca2bee5273d3ef7531b57e2f36537ae95754df7194aeb263ad0a7c57b3c5627c68a989f4ad7718958742c86aaf18a53bc7'
'a04a130515a45b0a808fa3c5bb121cae4878fe3f061bd48455d1dd90c6e2156e17dcfa2d95d12249d1c3d139731bfe5c6e301080aaff94de5a7a628e1314b00f'
'2b034365adedd578cacb65bbe2fd88253ee740ef87438fbe1e9ac3e6db86c594e8e2c25ea61d2caa8e31893ea1d475d6351cf7de0273813065a3a698a02c0b1a'
'0b727909479e2c8a7ac4288b71e5df348b5173a9d99a7426f9fdadbcb1c756ae5d9cef37e4a860ed02269532296f75fccdade3dd17a37a63b5d2841454470ca9'
'db479955bd238e61d824dfaaf7e4bcf3acff145b019537571107005d51ff1b0faff566eac461259e6a95d153e51121cc67a35c5f952d19f34af972ecdc67fd96'
'3a2b9fc641486663e71b760ddf71f3aba0874babea5a21a4dca8f49abfcca72dae4c7042d7add505b3d2ee2613352c7031afa78c8fbbb9b7f01748b0f4313d25'
'06618f65aac4eac1b673d1f4f9415a075ec35d1956e8a6cc8037affe2a62656c61f6e95961935bc0cf105d3ea0967822cb9ba15cb746baae053bd618f180bf6d'
'82ed120c59e6e4c7d65aa7ec34bf43b666800958ff9f63d75405dec6d45e9aa78578059c62002b7556dcf2f1d579ab21366a1a078eb707a647ff59d44e624f1b'
'117a596af27d00de31a7ecd305910e4bfcfcf49419447e3d02a2291da5040b9a6b1092b2a5c1db3a9589edb6af03cb1f537257550fd941252dcc78cae05aa820'
'7f31282d64d2e63ed5ce714f2aab75e74de6d0d687b2cb470ae57271aa3ea280f2bf372613ed4647d37df96299ebfa23dccf98e4262d8972bb4b4e32013efd2a'
'e3e416d2ec174cbe1285b3df1711b9c21ba36cbec5379ca668e4bf0325f78bbec294bdbefe0a1dddd4e5f1d8d1af924881262a97ab91d87a808679d21648e1af'
'b79319c658cdf0eb428c20b2a16f89aa1ea27da365e11ac0b76c3e9bfb5d2f57655e5c094d5bd4b52b7e9b92f74bb6d503eef234c41ff987468f6c7f0bbe1c40'
'f802ec40bb7a429fa38eee8a6fd5b4ec3cdae862416b51ea6c3b900d96f7f5d5c22a26d9a30bf095733997a5866f894a2bcf27e84683cdae8314a2cada3e011c'
'dba4570be5af49b17164386bc717070d636893f662f907a4fa317abe857164d75bc7de07254885ed82cb551b30faa9f3d15d8eacfed7908bcfe2034c3a0a7403'
'8d1e0645b30e939f3915763d31af87417cac27ce8c62276f83e89dd7e13e8bf408574b896afdec40d40daa0b264e11553aad132aa6720f71e02284d620bc28f1'
'36d515b78d6c0dad1bd1ec08eb3d72c91d2b01216dd38590952c5acb9f72dcbb9c7138a6fc4abe3364a866aeaeca7b5d57a6258e877839e7bd59de6e7edac313'
'd89368372951a3a0dfaae2d42cc8d974350c69ea5d53fe4466a0b2898d0a7c2380a1882ce42028e90aee2b7456315fe93ccad8de94a4fb109f93a11e33c016f4'
'a17f6b5847ad9a030a82455eabb07e7ee2b2375858abb7b904040acbb78bd2a482978a62c44ad71aefc83a87a234fbe7208a967697b580425367f80d84381bce'
'cd240fc6660f90caa354daa5d0309c3a7ba7007415301bf092378752b7336550998517b96be5ed0169c6c3482e159fe65db839b13c4598a7f6c5dfb6b2216371'
'a108b84f527846733da26e04900dfe16febcf17d6a87f3d1edbe4c11ba026b3352cacd3d83302319b5fbf49910e50ee76e8cbb1473b20cfab3db715b4ff48fcc'
'16124a86096e517ee026564dd0162463f6e52b85fde0590ca8c7e16af93b4f09ef123b8a4ec49636ec8dcc4ecb8c5509a4171a2eb6cdee09259bbeed30b23f9d'
'9976e57ab722ec347f5ed8f2eab8b7a04ece7972d7c58c88455cca8e961ffccb3b3d604ebee3e6ad8c21c755c3408d039cb6427f201b748bdbaf23011923b14f'
'69bb6c36a1605072d4315c4220024efbbcd1ab99443e3c6ef203ff29018c981a5d1df731fd0274659a09bc296eda0a82ed5ccfb9e6db082aca8833240d13ca2b'
'919b042eb7e503c0a29a920ca4f79a34f92e617967cd41a84250f55afd539b0680b335a933508874217d6a33118770e0830270ef392c8b341e0dbe285eca1956'
'56980861200637ea4e8b32de75b4385be10da576b18dcf43fb5e9a36be94acce46b899f34371082100478b85c493ed7961a0d8f30b6481b1f4847b3afbd4aecf'
'dbebf1ab20e10261f2ca65e82fcdc3dc900e07b0c51b9330b33eb57024b1cfccaa07ca820c6e3f3f339bc6f7aed1191be6f85e34fa805eb6470456c290afac58'
'c2dfef0a3da34e82f92801a18bb2dafdd463d00f9bcc8f5c6be17dd269e3df62574ffc22bdc8c990e3434d75b307657c453ed1aac2336107d31228ea48f1df6e'
'447ea1f3c3068ade31653b114f385238536ba7cd66fa482619d341b917e31f47d84aa68ff9427617eff0e3d8c589d4371bf059b065368e70d1f1de8c2f6dc78a'
'1b014f7e2c8c7aa337bde74d635d1f5402fe9ff5ad17c9f47831567cf6c046b694061646214b6f76eeb9f99e0407fd2194a2c358f9b309d956c2dc8422d92732'
'b66496e0ffb420947b7a4776316dd9a0d8f5d5cb23787063bf52e781f8c8c187e204032e00fee0b428f477394b17ab006160f71455669fe32e8b93dfb9e9a62e'
'c03d80b557c74c14dbe882ed39675860360de65e8400135bbac8d40051e2ebc4a7c9bc4644a42a83a832af6af7c8c97c06e9b9dc5a1b8bec2ea5f7138c4ee5f6'
'cd272641164b9d65bfd51a6f2aae9177c3e6c518d3a55f87d5f796c669e389ceb599ef771e84169290177af95db3e23187e8c2fb1d272c15a42daad2903beea0'
'112842cc8121a4c97a879a26c684d6a2a12a01a28c59a27d89895ab80b019bbb046a04a4b3d71403db2625c676be15236850d919108cbf411cb17c25c93dc5ca'
'7e65a44396c5b7e3a219a3f33592311f5ed1df7d350b0da49deb7616c15ab294f844b95a613205a5eaadb86040e0a25f75519852ea23736790288a9894ecfab2'
'f47813b70c023d875c3ee7734af6a92b65b13a8890883fff33d2fe8d1744a0e651d6d85e0a243ae43551709377896d749175a2a8421edd86d5c7e9d11d36003a'
'e665782b4adb0fcbae01aae345d60da4406a7efd7b7be0a6153c3485d62cddb8f07a668d9eb371e95deb2f34be70520d24eac9ec00b8abcf41a92220d2a2a76a'
'4f19634329846dcb4dbd885cb04cd17e55d9001cc9d2690db8176854dd89310789e5faf8c087d3e2528a44329b1c4331adde31e5d89e176a211c4b16c4d75a38'
'ff7de82bd1532bf47c4f12e88fe72c7f0757b4efa4c18484b6eaa2e0c734b1c82ad4bac941daed16bb02ac7db200f4f2c6325356188d3608ed43023145c5725b'
'6132d3c1fe0b953054bf9150745fb00e41c956b182d27540d87dd003e374811c34a02193ed4925ba2d395024e176db71812b2e7d7b31fade377e2bac0512b58d'
'f11773e55ce89e6408775841ff37526b801120c95bfed0ad917fcfcfa478f01df81f564fe91902733061705e9fc9085c6a567683bcf74812606121aa50d0fc95'
'9ae8517e4fddee8a9fd49c9ccc78f015bfba8ce8739bb80886335b210a7468e3ab5ad92bdc25a42c6922f4843c0fb1ffb70d587e490a90bc35104af63c22259c'
'b288c6ca86b1388275502ba7d4dbf27081d1bf0910c703c10a1bb21810e499ae244c46e76b39f5eacfb9b986a35a92cbc215ce4fb4056f36fbb91c76622cfae1'
'524024ecc7783f613017e66bdff337fc5b63685e5fe0387fe4ff5a90554231f710a9a9ebc5a3909197968c77a71366c78bd3c0860333c48eeb213ffd72e424f7'
'5137436d2e71aa980084f5c14751b1b33db1cdce19687e7d59c02145dc6de4e264b1a7da88271677016352057efb5acd99f8a26aece6e0bef361a64a871a7da7'
'c8f0cdf1edc5927c9f4b1688c763a612b2892b74ad782e40915c5c3f9469670ba9d2ce2ad620b64701e50818abb50dc68a316963046bb3ff4df70e1c7fbed18e'
'e66153c1dabb3330cdc2d411d90bc19beade7357878c4fa8562ee61d33c16a82be066aeedf796cd97b66009d1192e33551e0ab0909288cf93922ff929c6a8ca7'
'1078d50d95919bbb27d8c96084a27965f591f9f221bf5c1788871a8c70078c59e273bb9f3ee7c4272b9e0831f1fb14dcd03998a4ba8fd7bf4d0ac23c7d73634a'
'599a1223be768a4b495c392e10946513e9619302e92b53512cff9c6a8c06dd109ef54ef8b73e813f7830eb0d71a0ddbf585422e33c5ba78b7ab85db12d105eb1'
'3acf03ea17904d42586f0a7faf1589439ccf7d6fc898d161221c2f7a7208c4338130189986f45c6c5a15892f5207bddd2fc7f31f40704d7cc80668528c1d048e'
'862ae9620a72713331b1143bb0e736bcf12f7b8baf236fef4210ab7568a6d3fcfddff652a7cb90efe937227cea74602e0d901c0ebf320c1171d48a513cbf12f8'
'74215d71ceebc06209c13a6f75e1a257f324c9bbff92902b9af79f3b8735c96b39685b4f1e280356fa1d9788ff8ceb886f9536c2ad7fdf23677bab270f527365'
'22f76003a3652d63b23cff50f6c9481d7e74db893df424fdc96a540592fc673e899b4cf9413d234d18e63256264bc941c6976545981cf955859f69262fd3f8ed'
'703ff924eca6d352b652e2f95e3e02b6a2d3e2dcc286ee17e079ab98303247d154d8943adfb230ed6659ce520f9258c860ac50b4870b2fc5f49bf2f19a10eb28'
'd02a5a06c511c5b6567e67772e52e47dd8ac3ac3a86a54a3c7db203b6c1d4d1b01d55ef7a7a34bbb0bc855af945213fc8639449561e890ea439c1c981459997d'
'868fadb15f9ad4e352cb0a6eadf6c9fcd291a4caa088518d83128b56fc859e054546d6ef041428844409cdace61a7fd23866bb089c3c68c9889ac16f3adccb11'
'cd2e483bbb5396e2f321427c0157b527ed025cc09d89b6d4a96a62689770b44ed45c3d15ef7fda557d2be73224017e35110a0f86dffc719566ed810f1d62980c'
'c07eab976bdf43c312acbe03cdb89022ab749bcb254fdf3a8ad82fc413ed58d225f83ddf592ad231c78e4a2cf96a0436073fd018233e9868a9c7a8855adac7e7'
'36e401ec5705f02499ecb95953c5035b613c43f5de6ca210f333370cff2e46af4d93ecbdec792ac658ec8acd624ff071ca66af22951b3aa1ab5aeaeacdc88a15'
'69fe444b006868359a313d1f835ee0d114d3ca04bf8818c8ca632c9d332ff6cec6569858f2abd62b3b4178bda420e8e80babb279a02cd2bf1dc2de927b067534'
'20aaf8d38614d2fb5f86079d4ab922725396d42b3088afed924a7690c1d52e9aa82da2ba9a8931a336202289598afc5ffd4f7fc7c42eca766f81feb9c9f72d50'
'7d45fcd1f67c63c1f6d3835c05895af426a465c0ac8a9981aa8db73d5882ae2e04b97c451099bdbaf44cc0953cb6273122d3dd781d8f67a8147974e3025232e0')
# vim:set sw=2 et: