diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
| commit | dda948891d3731927b821ce31f9d9a2d03ba20c5 (patch) | |
| tree | 99cd40be4cbb0606260da212cd81b8ab2db9da9b /mail-client | |
| parent | a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff) | |
| download | baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip | |
Adding metadata
Diffstat (limited to 'mail-client')
148 files changed, 17070 insertions, 0 deletions
diff --git a/mail-client/aerc/Manifest b/mail-client/aerc/Manifest new file mode 100644 index 000000000000..69bc12318a4c --- /dev/null +++ b/mail-client/aerc/Manifest @@ -0,0 +1,4 @@ +DIST aerc-0.20.1-deps.tar.xz 19015028 BLAKE2B 7202471091eed2ac76b8c20b55397dbb7c7ffcd321c45448de5c1ae43fdbd2a633e23a8cd30aabe1256d33ba0200f729eb1c5f074177547e0148382eed5cae12 SHA512 05ad9b250e2f58a6790adbbb7a7eb3a823c302ddcec4227c7bad74f62f9a75d76d7f224108b4d8c24f44018f62c0eb66e2090ffaa0fa61948cb1301b25bb22ab +DIST aerc-0.20.1.tar.gz 474975 BLAKE2B bfe91f5b6f3ba2c0599193cf38a1a9c97466442b9d97ff5868f6ad7f16aaab4247e167e1b02f86b0a44121ebb21b98a55da999a43b5556fd56384977a62f0996 SHA512 7221217b7f0e6f92b589864b2e214b3edad3a2f702ab1d6b83f11eba6bb443bf334e76dbb61a67a13a9673e5e5106428ea3ba0ade940dc7f2cf488076783f4a5 +DIST aerc-0.21.0-deps.tar.xz 19393032 BLAKE2B 27acd1ed431b1336c81a02288377f87a6aad4317fc22a39b6c83251b6cae8099ca1eed5475d7befe680e22a66a932d679d6d0f47e566e897c00a3b98956006f0 SHA512 3a2a92d91109bd868cb154304448440a9997b7e85c3f23cb9fd975c5503e979610a2772ee683621f26907a19c344764cb34e255b45a472a480e37a850fb518b2 +DIST aerc-0.21.0.tar.gz 614327 BLAKE2B 1d3c9575d3598880d693e26cdf4287fb6c636f60e4c86387c2450a48d135428911f8573c2a40676c72bf1288774597691f34f6850000673f649ad81da110bc04 SHA512 b58b3ba9fe36a22b5717d48d7b1caf37303003cb4f32138e79f9775a96dbc5d8b27700091dbfe56f31954be5881467a7c5d8c1895d9161eda19a0d7e5c4750aa diff --git a/mail-client/aerc/aerc-0.20.1.ebuild b/mail-client/aerc/aerc-0.20.1.ebuild new file mode 100644 index 000000000000..224d769ece09 --- /dev/null +++ b/mail-client/aerc/aerc-0.20.1.ebuild @@ -0,0 +1,68 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit eapi9-ver go-module xdg + +DESCRIPTION="Email client for your terminal" +HOMEPAGE="https://aerc-mail.org" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~rjarry/aerc" +else + SRC_URI="https://git.sr.ht/~rjarry/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + KEYWORDS="~amd64 ~ppc64" +fi + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +IUSE="notmuch" + +COMMON_DEPEND="notmuch? ( net-mail/notmuch:= )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND=">=app-text/scdoc-1.11.3" + +src_unpack() { + if [[ ${PV} == *9999 ]]; then + git-r3_src_unpack + go-module_live_vendor + else + go-module_src_unpack + fi +} + +src_compile() { + unset LDFLAGS + emake GOFLAGS="$(usex notmuch "-tags=notmuch" "")" \ + PREFIX="${EPREFIX}/usr" VERSION=${PV} all +} + +src_install() { + emake GOFLAGS="$(usex notmuch "-tags=notmuch" "")" \ + DESTDIR="${ED}" PREFIX="${EPREFIX}/usr" VERSION="${PV}" install + einstalldocs + dodoc CHANGELOG.md +} + +src_test() { + emake tests +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "If you want to allow your users to activate html email" + elog "processing via w3m as shown in the tutorial, make sure you" + elog "emerge net-proxy/dante and www-client/w3m" + elif ver_replacing -lt 0.3.0-r1; then + elog "The dependencies on net-proxy/dante and www-client/w3m" + elog "have been removed since they are optional." + elog "Please emerge them before the next --depclean if you" + elog "need to use them." + fi + + xdg_pkg_postinst +} diff --git a/mail-client/aerc/aerc-0.21.0.ebuild b/mail-client/aerc/aerc-0.21.0.ebuild new file mode 100644 index 000000000000..fbb1b7ba8eda --- /dev/null +++ b/mail-client/aerc/aerc-0.21.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module optfeature xdg + +DESCRIPTION="Email client for your terminal" +HOMEPAGE="https://aerc-mail.org" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~rjarry/aerc" +else + SRC_URI="https://git.sr.ht/~rjarry/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + KEYWORDS="~amd64 ~ppc64" +fi + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +IUSE="notmuch" + +COMMON_DEPEND="notmuch? ( net-mail/notmuch:= )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND=" + >=app-text/scdoc-1.11.3 + >=dev-lang/go-1.24.3 +" + +src_unpack() { + if [[ ${PV} == *9999 ]]; then + git-r3_src_unpack + go-module_live_vendor + else + go-module_src_unpack + fi +} + +src_compile() { + unset LDFLAGS + emake GOFLAGS="$(usex notmuch "-tags=notmuch" "")" \ + PREFIX="${EPREFIX}/usr" VERSION=${PV} all +} + +src_install() { + emake GOFLAGS="$(usex notmuch "-tags=notmuch" "")" \ + DESTDIR="${ED}" PREFIX="${EPREFIX}/usr" VERSION="${PV}" install + einstalldocs + dodoc CHANGELOG.md +} + +src_test() { + emake tests +} + +pkg_postinst() { + optfeature "html email processing as shown in the tutorial" "net-proxy/dante www-client/w3m" + xdg_pkg_postinst +} diff --git a/mail-client/aerc/aerc-9999.ebuild b/mail-client/aerc/aerc-9999.ebuild new file mode 100644 index 000000000000..fbb1b7ba8eda --- /dev/null +++ b/mail-client/aerc/aerc-9999.ebuild @@ -0,0 +1,61 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module optfeature xdg + +DESCRIPTION="Email client for your terminal" +HOMEPAGE="https://aerc-mail.org" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~rjarry/aerc" +else + SRC_URI="https://git.sr.ht/~rjarry/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + KEYWORDS="~amd64 ~ppc64" +fi + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +IUSE="notmuch" + +COMMON_DEPEND="notmuch? ( net-mail/notmuch:= )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND=" + >=app-text/scdoc-1.11.3 + >=dev-lang/go-1.24.3 +" + +src_unpack() { + if [[ ${PV} == *9999 ]]; then + git-r3_src_unpack + go-module_live_vendor + else + go-module_src_unpack + fi +} + +src_compile() { + unset LDFLAGS + emake GOFLAGS="$(usex notmuch "-tags=notmuch" "")" \ + PREFIX="${EPREFIX}/usr" VERSION=${PV} all +} + +src_install() { + emake GOFLAGS="$(usex notmuch "-tags=notmuch" "")" \ + DESTDIR="${ED}" PREFIX="${EPREFIX}/usr" VERSION="${PV}" install + einstalldocs + dodoc CHANGELOG.md +} + +src_test() { + emake tests +} + +pkg_postinst() { + optfeature "html email processing as shown in the tutorial" "net-proxy/dante www-client/w3m" + xdg_pkg_postinst +} diff --git a/mail-client/aerc/metadata.xml b/mail-client/aerc/metadata.xml new file mode 100644 index 000000000000..b1f03e88bf7c --- /dev/null +++ b/mail-client/aerc/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <use> + <flag name="notmuch">Enable support for <pkg>net-mail/notmuch</pkg> + </flag> + </use> + <longdescription lang="en"> + Terminal email client with Vim-style keybindings, git awareness and other advanced features. + Works with multiple accounts, with support for IMAP, Maildir, SMTP, and sendmail transfer protocols. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/alot/Manifest b/mail-client/alot/Manifest new file mode 100644 index 000000000000..7cde0c81fc67 --- /dev/null +++ b/mail-client/alot/Manifest @@ -0,0 +1 @@ +DIST alot-0.11.tar.gz 234153 BLAKE2B 3ee6f56604078eaaee22b27fb2513809ca5a083ebd28ab9e4cc28483c0a11d8eb9a9db5a23c72cc3249a01ee5712c3296c1990b02c426da2dfc6e9e8c057f5df SHA512 ef259cf88cbe31509cf10a91c6bc84e717d751e6363744bd50d0625fb48db59f33f958e2566524d3be1088c3a68d2799b2dfda7aa39960a1780d09842af50c97 diff --git a/mail-client/alot/alot-0.11-r2.ebuild b/mail-client/alot/alot-0.11-r2.ebuild new file mode 100644 index 000000000000..739d80b39b1a --- /dev/null +++ b/mail-client/alot/alot-0.11-r2.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Experimental terminal UI for net-mail/notmuch written in Python" +HOMEPAGE="https://github.com/pazz/alot" +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/pazz/alot/" + inherit git-r3 +else + SRC_URI="https://github.com/pazz/alot/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="doc" + +RDEPEND=" + dev-python/gpgmepy[${PYTHON_USEDEP}] + >=dev-python/configobj-4.7.0[${PYTHON_USEDEP}] + dev-python/python-magic[${PYTHON_USEDEP}] + >=dev-python/urwid-1.3.0[${PYTHON_USEDEP}] + >=dev-python/urwidtrees-1.0.3[${PYTHON_USEDEP}] + >=dev-python/twisted-18.4.0[${PYTHON_USEDEP}] + net-mail/mailbase + >=net-mail/notmuch-0.30[crypt(+),python,${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] +" + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + +distutils_enable_tests unittest + +python_compile_all() { + # sphinx uses importlib to get the package version + local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir):${PYTHONPATH}" + emake -C docs man + use doc && emake -C docs html +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/build/html/. ) + doman docs/build/man/* + distutils-r1_python_install_all + + insinto /usr/share/alot + doins -r extra +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "" + elog "If you are new to Alot you may want to take a look at" + elog "the user manual:" + elog " https://alot.readthedocs.io/en/latest/" + elog "" + fi +} diff --git a/mail-client/alot/alot-9999.ebuild b/mail-client/alot/alot-9999.ebuild new file mode 100644 index 000000000000..08c666d89038 --- /dev/null +++ b/mail-client/alot/alot-9999.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Experimental terminal UI for net-mail/notmuch written in Python" +HOMEPAGE="https://github.com/pazz/alot" +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/pazz/alot/" + inherit git-r3 +else + SRC_URI="https://github.com/pazz/alot/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="doc" + +RDEPEND=" + dev-python/gpgmepy[${PYTHON_USEDEP}] + >=dev-python/configobj-4.7.0[${PYTHON_USEDEP}] + dev-python/python-magic[${PYTHON_USEDEP}] + >=dev-python/urwid-1.3.0[${PYTHON_USEDEP}] + >=dev-python/urwidtrees-1.0.3[${PYTHON_USEDEP}] + >=dev-python/twisted-18.4.0[${PYTHON_USEDEP}] + net-mail/mailbase + >=net-mail/notmuch-0.34.2[crypt(+),python,${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] +" + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + +distutils_enable_tests unittest + +python_compile_all() { + # sphinx uses importlib to get the package version + local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir):${PYTHONPATH}" + emake -C docs man + use doc && emake -C docs html +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/build/html/. ) + doman docs/build/man/* + distutils-r1_python_install_all + + insinto /usr/share/alot + doins -r extra +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "" + elog "If you are new to Alot you may want to take a look at" + elog "the user manual:" + elog " https://alot.readthedocs.io/en/latest/" + elog "" + fi +} diff --git a/mail-client/alot/metadata.xml b/mail-client/alot/metadata.xml new file mode 100644 index 000000000000..8b83cd19bfa3 --- /dev/null +++ b/mail-client/alot/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>guillaumeseren@gmail.com</email> + <name>Guillaume Seren</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="doc">Install user manual and API documentation</flag> + </use> + <longdescription lang="en"> + Alot is a terminal interface for <pkg>net-mail/notmuch</pkg> mail + written in Python using the <pkg>dev-python/urwid</pkg> toolkit. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/alpine/Manifest b/mail-client/alpine/Manifest new file mode 100644 index 000000000000..e41c02c73e67 --- /dev/null +++ b/mail-client/alpine/Manifest @@ -0,0 +1,3 @@ +DIST 2fa22beaa7dbadb984365329cd1779511eae46dd.tar.gz 23244623 BLAKE2B 3d8541753e883aa87b4b7316cea22b4cf2fe973ddaa5552d471fbec560fe7751eda5200c853fa3e95b4d4247e80ce2754117eb35b412d2e6ff214ec72eb0eff5 SHA512 06be1025271d8538432dee98a279d85a140b146c6100c78c8ba93bfac49b33e2d42a0bb44b86339a5b15b259557993aecabbd6205d4d72f49c9c1101ecea72a2 +DIST alpine-2.26-patches-1.tar.xz 492948 BLAKE2B 00f7b0ac6f138522a0cdeefcdad084f8662f781dc6f415223646a5915e189c120fd7bcdb0c4ff455eb6db379faf18dfebd4dbb539833e295b2cb08719119128b SHA512 4fbf94fbad58a5d531c9637e3ad5c7288e055c151fe99300d760dbcf93497d7c3ac000df280f3d3e5f5302a0f08c7c7be4eb4f0a95fb08f736a9863aaf3d4fd6 +DIST alpine-2.26.tar.xz 7517628 BLAKE2B fe156974462dd566ac3fbe25cc54a1b2a480b3af46c8356356a97426f3e42495853efdbfeedc6173537dc150d90592c3fd9109e7d37f16738922a4205fd2f9df SHA512 359b5cb30be78a341b76c0475a2d5268b643788f14c9b5b9457af6748034e1d2e70fd7ddf59e5c59ad596a36d8a10afa9c41cbd74241c780b8575d8186168fd2 diff --git a/mail-client/alpine/alpine-2.26-r5.ebuild b/mail-client/alpine/alpine-2.26-r5.ebuild new file mode 100644 index 000000000000..7f8fe47cfdf2 --- /dev/null +++ b/mail-client/alpine/alpine-2.26-r5.ebuild @@ -0,0 +1,118 @@ +# Copyright 2021-2025 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit autotools flag-o-matic optfeature toolchain-funcs + +DESCRIPTION="An easy to use text-based based mail and news client" +HOMEPAGE="https://alpineapp.email/ https://repo.or.cz/alpine.git/" +SRC_URI="https://alpineapp.email/alpine/release/src/${P}.tar.xz + https://www.applied-asynchrony.com/distfiles/${P}-patches-1.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha amd64 ppc ~ppc64 ~sparc x86" +IUSE="+chappa ipv6 kerberos ldap nls onlyalpine passfile smime ssl" + +DEPEND="sys-libs/ncurses:= + virtual/libcrypt:= + kerberos? ( app-crypt/mit-krb5 ) + ldap? ( net-nds/openldap:= ) + ssl? ( + dev-libs/openssl:0= + + ) +" +RDEPEND="${DEPEND} + app-misc/mime-types +" + +src_prepare() { + default + + # apply patches from upstream git to fix compiler issues + eapply "${WORKDIR}"/${P}-patches/0*.patch + + # optional extra features, see https://alpineapp.email/alpine/index.html + use chappa && eapply "${WORKDIR}/${P}-patches/chappa-rebased.patch" + + + # fix gettext macros to work with >=0.23 (bug #946128) + # eautoreconf will call autopoint, which will install any necessary files + # from the version we set in configure.ac + local gettext_version=$(gettextize --version | awk '/GNU gettext-tools/{print $NF}' || die) + sed -i "s/^AM_GNU_GETTEXT_VERSION(.*)/AM_GNU_GETTEXT_VERSION([${gettext_version}])/g" configure.ac || die + + # do not override $RM for libtool (bug #880323) + sed -i "/^AC_PATH_PROG(RM/d" configure.ac || die + + eautoreconf + tc-export CC RANLIB AR + export CC_FOR_BUILD="$(tc-getBUILD_CC)" +} + +src_configure() { + myconf=( + --without-tcl + --with-pthread + --with-system-pinerc="${EPREFIX}"/etc/pine.conf + --with-system-fixed-pinerc="${EPREFIX}"/etc/pine.conf.fixed + $(use_with ldap) + $(use_with ssl) + $(use_with passfile passfile .pinepwd) + $(use_with kerberos krb5) + $(use_enable nls) + $(use_with ipv6) + $(use_with smime) + ) + + if has_version "app-text/hunspell"; then + myconf+=( --with-interactive-spellcheck=/usr/bin/hunspell ) + elif has_version "app-text/aspell"; then + myconf+=( --with-interactive-spellcheck=/usr/bin/aspell ) + fi + + if use ssl; then + myconf+=( + --with-ssl-include-dir="${EPREFIX}"/usr/include/openssl + --with-ssl-lib-dir="${EPREFIX}"/usr/$(get_libdir) + --with-ssl-certs-dir="${EPREFIX}"/etc/ssl/certs + ) + fi + + # Bug 935343; see imap/docs/bugs.txt + if use ipv6; then + sed -i "s/IP=4/IP=6/" imap/Makefile || die + fi + + # dial down warnings about unused results + append-flags -Wno-unused-result + + econf "${myconf[@]}" +} + +src_compile() { + # the bundled c-client lib stumbles with both -j>1 and --shuffle #888709 + emake -j1 --shuffle=none AR="$(tc-getAR)" c-client + emake AR="$(tc-getAR)" +} + +src_install() { + if use onlyalpine ; then + dobin alpine/alpine + doman doc/man1/alpine.1 + else + emake -j1 DESTDIR="${D}" install + doman doc/man1/*.1 + fi + dodoc NOTICE README* + dodoc doc/brochure.txt + dodoc -r doc/tech-notes/ + newdoc "${S}/doc/mailcap.unx" mailcap.unx.sample + newdoc "${S}/doc/mime.types" mime.types.sample + docompress -x /usr/share/doc/${PF}/mailcap.unx.sample /usr/share/doc/${PF}/mime.types.sample +} + +pkg_postinst() { + optfeature "Spell checking" app-text/hunspell app-text/aspell +} diff --git a/mail-client/alpine/alpine-2.29.9.ebuild b/mail-client/alpine/alpine-2.29.9.ebuild new file mode 100644 index 000000000000..bbbe9a065898 --- /dev/null +++ b/mail-client/alpine/alpine-2.29.9.ebuild @@ -0,0 +1,114 @@ +# Copyright 2021-2026 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit autotools flag-o-matic optfeature toolchain-funcs + +DESCRIPTION="An easy to use text-based based mail and news client" +HOMEPAGE="https://alpineapp.email/ https://repo.or.cz/alpine.git/" +SRC_COMMIT="2fa22beaa7dbadb984365329cd1779511eae46dd" +SRC_URI="https://repo.or.cz/alpine.git/snapshot/${SRC_COMMIT}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha amd64 ppc ~ppc64 ~sparc x86" +IUSE="+ipv6 kerberos ldap nls onlyalpine passfile smime ssl" + +DEPEND="sys-libs/ncurses:= + virtual/libcrypt:= + kerberos? ( app-crypt/mit-krb5 ) + ldap? ( net-nds/openldap:= ) + ssl? ( + dev-libs/openssl:0= + + ) +" +RDEPEND="${DEPEND} + app-misc/mime-types +" + +S=${WORKDIR}/${PN}-2fa22be + +src_prepare() { + default + + + # fix gettext macros to work with >=0.23 (bug #946128) + # eautoreconf will call autopoint, which will install any necessary files + # from the version we set in configure.ac + local gettext_version=$(gettextize --version | awk '/GNU gettext-tools/{print $NF}' || die) + sed -i "s/^AM_GNU_GETTEXT_VERSION(.*)/AM_GNU_GETTEXT_VERSION([${gettext_version}])/g" configure.ac || die + + # do not override $RM for libtool (bug #880323) + sed -i "/^AC_PATH_PROG(RM/d" configure.ac || die + + eautoreconf + tc-export CC RANLIB AR + export CC_FOR_BUILD="$(tc-getBUILD_CC)" +} + +src_configure() { + myconf=( + --without-tcl + --with-pthread + --with-system-pinerc="${EPREFIX}"/etc/pine.conf + --with-system-fixed-pinerc="${EPREFIX}"/etc/pine.conf.fixed + $(use_with ldap) + $(use_with ssl) + $(use_with passfile passfile .pinepwd) + $(use_with kerberos krb5) + $(use_enable nls) + $(use_with ipv6) + $(use_with smime) + ) + + if has_version "app-text/hunspell"; then + myconf+=( --with-interactive-spellcheck=/usr/bin/hunspell ) + elif has_version "app-text/aspell"; then + myconf+=( --with-interactive-spellcheck=/usr/bin/aspell ) + fi + + if use ssl; then + myconf+=( + --with-ssl-include-dir="${EPREFIX}"/usr/include/openssl + --with-ssl-lib-dir="${EPREFIX}"/usr/$(get_libdir) + --with-ssl-certs-dir="${EPREFIX}"/etc/ssl/certs + ) + fi + + # Bug 935343; see imap/docs/bugs.txt + if use ipv6; then + sed -i "s/IP=4/IP=6/" imap/Makefile || die + fi + + # dial down warnings about unused results + append-flags -Wno-unused-result + + econf "${myconf[@]}" +} + +src_compile() { + # the bundled c-client lib stumbles with both -j>1 and --shuffle #888709 + emake -j1 --shuffle=none AR="$(tc-getAR)" c-client + emake AR="$(tc-getAR)" +} + +src_install() { + if use onlyalpine ; then + dobin alpine/alpine + doman doc/man1/alpine.1 + else + emake -j1 DESTDIR="${D}" install + doman doc/man1/*.1 + fi + dodoc NOTICE README* + dodoc doc/brochure.txt + dodoc -r doc/tech-notes/ + newdoc "${S}/doc/mailcap.unx" mailcap.unx.sample + newdoc "${S}/doc/mime.types" mime.types.sample + docompress -x /usr/share/doc/${PF}/mailcap.unx.sample /usr/share/doc/${PF}/mime.types.sample +} + +pkg_postinst() { + optfeature "Spell checking" app-text/hunspell app-text/aspell +} diff --git a/mail-client/alpine/files/10_alpine_1.10_spooldir.patch b/mail-client/alpine/files/10_alpine_1.10_spooldir.patch new file mode 100644 index 000000000000..52eef10440b5 --- /dev/null +++ b/mail-client/alpine/files/10_alpine_1.10_spooldir.patch @@ -0,0 +1,167 @@ +Description: Update the spooldir from /usr/spool to /var/spool. +Forwarded: not-needed + +--- + alpine/pine-use.c | 2 +- + doc/man1/alpine.1 | 2 +- + doc/tech-notes/config.html | 2 +- + doc/tech-notes/tech-notes.txt | 2 +- + imap/docs/imaprc.txt | 10 +++++----- + imap/docs/locking.txt | 6 +++--- + imap/src/osdep/unix/Makefile | 6 +++--- + pith/conf.c | 4 ++-- + 8 files changed, 17 insertions(+), 17 deletions(-) + +--- a/imap/docs/imaprc.txt 2022-06-09 01:10:39.303756744 -0400 ++++ b/imap/docs/imaprc.txt 2022-06-09 01:10:39.243756955 -0400 +@@ -168,8 +168,8 @@ + Sets the directory in which the user's data can be found. A user's + folders can be found in a subdirectory of the black box directory + named with the user's username. For example, if the blackbox +- directory is /usr/spool/folders/, user jones' data can be found +- in /usr/spool/folders/jones/. The user's black-box directory is ++ directory is /var/spool/folders/, user jones' data can be found ++ in /var/spool/folders/jones/. The user's black-box directory is + the location of folders, .mminit, .imaprc, .newsrc, and all other + files used by c-client; internally, it sets c-client's idea of the + user's ``home directory'', overriding /etc/passwd. +@@ -411,14 +411,14 @@ + If non-zero, a warning message is given if an attempt to create a + lock file fails. Otherwise, EACCES is treated as a "silent failure", + and it proceeds without trying to use the lock file. This is for +- the benefit of users on systems with paranoid /usr/spool/mail +- protections which don't let users create /usr/spool/mail/$(USER).lock ++ the benefit of users on systems with paranoid /var/spool/mail ++ protections which don't let users create /var/spool/mail/$(USER).lock + files; these unfortunate users would be harassed with a flood of + error messages otherwise. The problem is that on SVR4, if EACCES + remains disabled and fcntl() locking is also disabled, then there is + no locking at all which is doubleplus-ungood. + +- If the site is paranoid on /usr/spool/mail protections AND if there ++ If the site is paranoid on /var/spool/mail protections AND if there + is no fcntl() locking (SVR4) or usable flock() locking (e.g. NFS), + then there is no way to win. Find a different system to use. + +--- a/imap/docs/locking.txt 2022-06-09 01:10:39.303756744 -0400 ++++ b/imap/docs/locking.txt 2022-06-09 01:10:39.287756801 -0400 +@@ -255,7 +255,7 @@ + timeout for this lock, after which it is broken on the presumption + that it is a stale lock. If it can not create the .lock file due to + an EACCES (protection failure) error, it once silently proceeded +-without this lock; this was for systems which protect /usr/spool/mail ++without this lock; this was for systems which protect /var/spool/mail + from unprivileged processes creating files. Today, c-client reports + an error unless it is built otherwise. The purpose of this lock is to + prevent against unfavorable interactions with mail delivery. +@@ -278,7 +278,7 @@ + + Mail delivery daemons use lock (1), (2), or both. Lock (1) works + over NFS; lock (2) is the only one that works on sites that protect +-/usr/spool/mail against unprivileged file creation. Prudent mail ++/var/spool/mail against unprivileged file creation. Prudent mail + delivery daemons use both forms of locking, and of course so does + c-client. + +@@ -335,7 +335,7 @@ + the mail file is NFS-mounted. + + What this means is that there is *no* locking protection at all +-in the case of a client using an NFS-mounted /usr/spool/mail that does ++in the case of a client using an NFS-mounted /var/spool/mail that does + not permit file creation by unprivileged programs. It is impossible, + under these circumstances, for an unprivileged program to do anything + about it. Worse, if EACCES errors on .lock file creation are no-op'ed +--- a/alpine/pine-use.c 2022-06-09 01:10:39.303756744 -0400 ++++ b/alpine/pine-use.c 2022-06-09 01:10:39.287756801 -0400 +@@ -20,7 +20,7 @@ + #include <sys/stat.h> + + #ifndef MAILSPOOLPCTS +-#define MAILSPOOLPCTS "/usr/spool/mail/%s" ++#define MAILSPOOLPCTS "/var/spool/mail/%s" + /* #define MAILSPOOLPCTS "/usr/mail/%s" */ + #endif + +--- a/doc/man1/alpine.1 2022-06-09 01:10:39.303756744 -0400 ++++ b/doc/man1/alpine.1 2022-06-09 01:10:39.287756801 -0400 +@@ -318,7 +318,7 @@ + .if n .ta 2.8i + .if t .ta 2.1i + +-/usr/spool/mail/xxxx Default folder for incoming mail. ++/var/spool/mail/xxxx Default folder for incoming mail. + .br + ~/mail Default directory for mail folders. + .br +--- a/doc/tech-notes/config.html 2022-06-09 01:10:39.303756744 -0400 ++++ b/doc/tech-notes/config.html 2022-06-09 01:10:39.291756786 -0400 +@@ -2326,7 +2326,7 @@ + + <DD> This option tells <EM>Alpine</EM> where to look for the "news spool" for + newsgroups when accessing news locally, rather than via NNTP. The default +-path is usually <CODE>/usr/spool/news</CODE>. <P> ++path is usually <CODE>/var/spool/news</CODE>. <P> + + <DT> <A NAME="newsrc-path"><EM>newsrc-path</EM></A> + +--- a/doc/tech-notes/tech-notes.txt 2022-06-09 01:10:39.303756744 -0400 ++++ b/doc/tech-notes/tech-notes.txt 2022-06-09 01:10:39.295756772 -0400 +@@ -2905,7 +2905,7 @@ + _news-spool-directory_ + This option tells _Alpine_ where to look for the "news spool" + for newsgroups when accessing news locally, rather than via +- NNTP. The default path is usually /usr/spool/news. ++ NNTP. The default path is usually /var/spool/news. + _newsrc-path_ + This option overrides the default name _Alpine_ uses for your + "newsrc" news status and subscription file. If set, _Alpine_ +--- a/imap/src/osdep/unix/Makefile 2022-06-09 01:10:39.303756744 -0400 ++++ b/imap/src/osdep/unix/Makefile 2022-06-09 01:10:39.295756772 -0400 +@@ -99,7 +99,7 @@ + SIGTYPE=bsd + CRXTYPE=std + ACTIVEFILE=/usr/lib/news/active +-SPOOLDIR=/usr/spool ++SPOOLDIR=/var/spool + MAILSPOOL=$(SPOOLDIR)/mail + NEWSSPOOL=$(SPOOLDIR)/news + RSHPATH=/usr/ucb/rsh +@@ -234,7 +234,7 @@ + asv: # Altos SVR4 + $(BUILD) `$(CAT) SPECIALS` OS=$@ \ + SIGTYPE=sv4 LOGINPW=old \ +- ACTIVEFILE=/usr/spool/news/active \ ++ ACTIVEFILE=/var/spool/news/active \ + RSHPATH=/usr/bin/rcmd \ + BASECFLAGS="-Dconst= -DSIGSTOP=SIGKILL" \ + BASELDFLAGS="-lsocket -lrpc -lgen -lcrypt -lxenix" \ +@@ -371,7 +371,7 @@ + gas: # GCC Altos SVR4 + $(BUILD) `$(CAT) SPECIALS` OS=asv \ + SIGTYPE=sv4 LOGINPW=old \ +- ACTIVEFILE=/usr/spool/news/active \ ++ ACTIVEFILE=/var/spool/news/active \ + RSHPATH=/usr/bin/rcmd \ + BASECFLAGS="-g -O -DALTOS_SYSTEM_V -DSIGSTOP=SIGKILL" \ + BASELDFLAGS="-lsocket -lrpc -lgen -lcrypt -lxenix" \ +--- a/pith/conf.c 2022-06-09 01:10:39.303756744 -0400 ++++ b/pith/conf.c 2022-06-09 01:10:39.299756758 -0400 +@@ -137,7 +137,7 @@ + + CONF_TXT_T cf_text_wp_columns[] = "Web Alpine preferred width for message display in characters"; + +-CONF_TXT_T cf_text_inbox_path[] = "Path of (local or remote) INBOX, e.g. ={mail.somewhere.edu}inbox\n# Normal Unix default is the local INBOX (usually /usr/spool/mail/$USER)."; ++CONF_TXT_T cf_text_inbox_path[] = "Path of (local or remote) INBOX, e.g. ={mail.somewhere.edu}inbox\n# Normal Unix default is the local INBOX (usually /var/spool/mail/$USER)."; + + CONF_TXT_T cf_text_incoming_folders[] = "List of incoming msg folders besides INBOX, e.g. ={host2}inbox, {host3}inbox\n# Syntax: optnl-label {optnl-imap-host-name}folder-path"; + +@@ -357,7 +357,7 @@ + + CONF_TXT_T cf_text_news_active[] = "Path and filename of news configuration's active file.\n# The default is typically \"/usr/lib/news/active\"."; + +-CONF_TXT_T cf_text_news_spooldir[] = "Directory containing system's news data.\n# The default is typically \"/usr/spool/news\""; ++CONF_TXT_T cf_text_news_spooldir[] = "Directory containing system's news data.\n# The default is typically \"/var/spool/news\""; + + CONF_TXT_T cf_text_upload_cmd[] = "Path and filename of the program used to upload text from your terminal\n# emulator's into Alpine's composer."; + diff --git a/mail-client/alpine/files/10_config2etc.patch b/mail-client/alpine/files/10_config2etc.patch new file mode 100644 index 000000000000..438e3e0560d4 --- /dev/null +++ b/mail-client/alpine/files/10_config2etc.patch @@ -0,0 +1,54 @@ +Description: Updates code and manpage to move pine.conf from /usr/local/lib to /etc. +Forwarded: not-needed + +--- + doc/man1/alpine.1 | 6 +++--- + pith/filter.c | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +--- a/pith/filter.c 2022-06-09 01:10:33.467777255 -0400 ++++ b/pith/filter.c 2022-06-09 01:10:33.415777438 -0400 +@@ -3144,7 +3144,7 @@ + #endif + + #ifndef SYSTEM_PINE_INFO_PATH +-#define SYSTEM_PINE_INFO_PATH "/usr/local/lib/pine.info" ++#define SYSTEM_PINE_INFO_PATH "/etc/pine.info" + #endif + #define CHTML_VAR_EXPAND(S) (!strcmp(S, "PINE_INFO_PATH") \ + ? SYSTEM_PINE_INFO_PATH : S) +@@ -7771,7 +7771,7 @@ + } + else if(!strcmp(s, "PINE_CONF_PATH")){ + #if defined(_WINDOWS) || !defined(SYSTEM_PINERC) +- p = "/usr/local/lib/pine.conf"; ++ p = "/etc/pine.conf"; + #else + p = SYSTEM_PINERC; + #endif +@@ -7780,7 +7780,7 @@ + #ifdef SYSTEM_PINERC_FIXED + p = SYSTEM_PINERC_FIXED; + #else +- p = "/usr/local/lib/pine.conf.fixed"; ++ p = "/etc/pine.conf.fixed"; + #endif + } + else if(!strcmp(s, "PINE_INFO_PATH")){ +--- a/doc/man1/alpine.1 2022-06-09 01:10:33.467777255 -0400 ++++ b/doc/man1/alpine.1 2022-06-09 01:10:33.415777438 -0400 +@@ -342,11 +342,11 @@ + .br + /etc/mime.types System-wide file ext. to MIME type mapping + .br +-/usr/local/lib/pine.info Local pointer to system administrator. ++/etc/pine.info Local pointer to system administrator. + .br +-/usr/local/lib/pine.conf System-wide configuration file. ++/etc/pine.conf System-wide configuration file. + .br +-/usr/local/lib/pine.conf.fixed Non-overridable configuration file. ++/etc/pine.conf.fixed Non-overridable configuration file. + .br + ~/.alpine-smime/ca Directory that contains Certificate Authority files. + .br diff --git a/mail-client/alpine/files/alpine-2.26-fix-clang16-build-no-chappa.patch b/mail-client/alpine/files/alpine-2.26-fix-clang16-build-no-chappa.patch new file mode 100644 index 000000000000..f167c87c64ad --- /dev/null +++ b/mail-client/alpine/files/alpine-2.26-fix-clang16-build-no-chappa.patch @@ -0,0 +1,165 @@ +Bug: https://bugs.gentoo.org/883271 +--- a/alpine/adrbkcmd.c ++++ b/alpine/adrbkcmd.c +@@ -81,7 +81,7 @@ int ab_export(struct pine *, long, int, int); + VCARD_INFO_S *prepare_abe_for_vcard(struct pine *, AdrBk_Entry *, int); + void write_single_tab_entry(gf_io_t, VCARD_INFO_S *); + int percent_done_copying(void); +-int cmp_action_list(const qsort_t *, const qsort_t *); ++int cmp_action_list(const void *, const void *); + void set_act_list_member(ACTION_LIST_S *, a_c_arg_t, PerAddrBook *, PerAddrBook *, char *); + void convert_pinerc_to_remote(struct pine *, char *); + +@@ -5187,7 +5187,7 @@ percent_done_copying(void) + } + + int +-cmp_action_list(const qsort_t *a1, const qsort_t *a2) ++cmp_action_list(const void *a1, const void *a2) + { + ACTION_LIST_S *x = (ACTION_LIST_S *)a1; + ACTION_LIST_S *y = (ACTION_LIST_S *)a2; +--- a/pico/browse.c ++++ b/pico/browse.c +@@ -1920,7 +1920,7 @@ getfcells(char *dname, int fb_flags) + /* + * sort files case independently + */ +- qsort((qsort_t *)filtnames, (size_t)nentries, sizeof(char *), sstrcasecmp); ++ qsort((qsort_t *)filtnames, (size_t)nentries, sizeof(char *), (void *)sstrcasecmp); + + /* + * this is so we use absolute path names for stats. +--- a/pith/adrbklib.c ++++ b/pith/adrbklib.c +@@ -84,7 +84,7 @@ int cmp_ae_by_nick_lists_last(const qsort_t *,const qsort_t *); + int cmp_cntr_by_nick_lists_last(const qsort_t *, const qsort_t *); + int cmp_ae_by_nick(const qsort_t *, const qsort_t *); + int cmp_cntr_by_nick(const qsort_t *, const qsort_t *); +-int cmp_addr(const qsort_t *, const qsort_t *); ++int cmp_addr(const void *, const void *); + void sort_addr_list(char **); + int build_abook_datastruct(AdrBk *, char *, size_t); + AdrBk_Entry *init_ae(AdrBk *, AdrBk_Entry *, char *); +@@ -4671,7 +4671,7 @@ cmp_cntr_by_nick(const qsort_t *a, const qsort_t *b) + * For sorting a simple list of pointers to addresses (skip initial quotes) + */ + int +-cmp_addr(const qsort_t *a1, const qsort_t *a2) ++cmp_addr(const void *a1, const void *a2) + { + char *x = *(char **)a1, *y = *(char **)a2; + char *r, *s; +@@ -4762,14 +4762,14 @@ adrbk_sort(AdrBk *ab, a_c_arg_t current_entry_num, adrbk_cntr_t *new_entry_num, + qsort((qsort_t *)sort_array, + (size_t)count, + sizeof(adrbk_cntr_t), +- (ab->sort_rule == AB_SORT_RULE_FULL_LISTS) ? +- cmp_cntr_by_full_lists_last : +- (ab->sort_rule == AB_SORT_RULE_FULL) ? +- cmp_cntr_by_full : +- (ab->sort_rule == AB_SORT_RULE_NICK_LISTS) ? +- cmp_cntr_by_nick_lists_last : +- /* (ab->sort_rule == AB_SORT_RULE_NICK) */ +- cmp_cntr_by_nick); ++ (void *)((ab->sort_rule == AB_SORT_RULE_FULL_LISTS) ? ++ cmp_cntr_by_full_lists_last : ++ (ab->sort_rule == AB_SORT_RULE_FULL) ? ++ cmp_cntr_by_full : ++ (ab->sort_rule == AB_SORT_RULE_NICK_LISTS) ? ++ cmp_cntr_by_nick_lists_last : ++ /* (ab->sort_rule == AB_SORT_RULE_NICK) */ ++ cmp_cntr_by_nick)); + } + + dprint((9, "- adrbk_sort: done with first sort -\n")); +--- a/pith/folder.c ++++ b/pith/folder.c +@@ -1939,11 +1939,11 @@ resort_folder_list(FLIST *flist) + { + if(flist && folder_total(flist) > 1 && flist->folders) + qsort(flist->folders, folder_total(flist), sizeof(flist->folders[0]), +- (ps_global->fld_sort_rule == FLD_SORT_ALPHA_DIR_FIRST) +- ? compare_folders_dir_alpha_qsort +- : (ps_global->fld_sort_rule == FLD_SORT_ALPHA_DIR_LAST) +- ? compare_folders_alpha_dir_qsort +- : compare_folders_alpha_qsort); ++ (void *)((ps_global->fld_sort_rule == FLD_SORT_ALPHA_DIR_FIRST) ++ ? compare_folders_dir_alpha_qsort ++ : (ps_global->fld_sort_rule == FLD_SORT_ALPHA_DIR_LAST) ++ ? compare_folders_alpha_dir_qsort ++ : compare_folders_alpha_qsort)); + } + + +--- a/pith/init.c ++++ b/pith/init.c +@@ -28,7 +28,7 @@ + /* + * Internal prototypes + */ +-int compare_sm_files(const qsort_t *, const qsort_t *); ++int compare_sm_files(const void *, const void *); + + + +@@ -327,7 +327,7 @@ init_save_defaults(void) + in above format. + ----*/ + int +-compare_sm_files(const qsort_t *aa, const qsort_t *bb) ++compare_sm_files(const void *aa, const void *bb) + { + struct sm_folder *a = (struct sm_folder *)aa, + *b = (struct sm_folder *)bb; +--- a/pith/sort.c ++++ b/pith/sort.c +@@ -41,7 +41,7 @@ void sort_sort_callback(MAILSTREAM *, unsigned long *, unsigned long); + int percent_sorted(void); + int pine_compare_long(const qsort_t *, const qsort_t *); + int pine_compare_long_rev(const qsort_t *, const qsort_t *); +-int pine_compare_scores(const qsort_t *, const qsort_t *); ++int pine_compare_scores(const void *, const void *); + void build_score_array(MAILSTREAM *, MSGNO_S *); + void free_score_array(void); + +@@ -162,7 +162,7 @@ sort_folder(MAILSTREAM *stream, MSGNO_S *msgmap, SortOrder new_sort, + */ + qsort(msgmap->sort+1, (size_t) mn_get_total(msgmap), + sizeof(long), +- new_rev ? pine_compare_long_rev : pine_compare_long); ++ (void *)(new_rev ? pine_compare_long_rev : pine_compare_long)); + } + else if(mn_get_total(msgmap) > 0L){ + if(new_rev){ +@@ -672,7 +672,7 @@ free_score_array(void) + Compare scores + ----*/ + int +-pine_compare_scores(const qsort_t *a, const qsort_t *b) ++pine_compare_scores(const void *a, const void *b) + { + long *mess_a = (long *)a, *mess_b = (long *)b, mdiff; + long sdiff; +--- a/pith/takeaddr.c ++++ b/pith/takeaddr.c +@@ -1377,7 +1377,7 @@ process_vcard_atts(MAILSTREAM *stream, long int msgno, + + + int +-cmp_swoop_list(const qsort_t *a1, const qsort_t *a2) ++cmp_swoop_list(const void *a1, const void *a2) + { + SWOOP_S *x = (SWOOP_S *)a1; + SWOOP_S *y = (SWOOP_S *)a2; +--- a/pith/takeaddr.h ++++ b/pith/takeaddr.h +@@ -98,7 +98,7 @@ int convert_ta_to_lines(TA_S *, LINES_TO_TAKE **); + LINES_TO_TAKE *new_ltline(LINES_TO_TAKE **); + int add_addresses_to_talist(struct pine *, long, char *, TA_S **, ADDRESS *, int); + int process_vcard_atts(MAILSTREAM *, long, BODY *, BODY *, char *, TA_S **); +-int cmp_swoop_list(const qsort_t *, const qsort_t *); ++int cmp_swoop_list(const void *, const void *); + int vcard_to_ta(char *, char *, char *, char *, char *, char *, TA_S **); + char *getaltcharset(char *, char **, char **, int *); + void switch_to_last_comma_first(char *, char *, size_t); diff --git a/mail-client/alpine/files/alpine-2.26-fix-clang16-build.patch b/mail-client/alpine/files/alpine-2.26-fix-clang16-build.patch new file mode 100644 index 000000000000..7d3a83e462db --- /dev/null +++ b/mail-client/alpine/files/alpine-2.26-fix-clang16-build.patch @@ -0,0 +1,185 @@ +Bug: https://bugs.gentoo.org/883271 +--- a/alpine/adrbkcmd.c ++++ b/alpine/adrbkcmd.c +@@ -81,7 +81,7 @@ int ab_export(struct pine *, long, int, int); + VCARD_INFO_S *prepare_abe_for_vcard(struct pine *, AdrBk_Entry *, int); + void write_single_tab_entry(gf_io_t, VCARD_INFO_S *); + int percent_done_copying(void); +-int cmp_action_list(const qsort_t *, const qsort_t *); ++int cmp_action_list(const void *, const void *); + void set_act_list_member(ACTION_LIST_S *, a_c_arg_t, PerAddrBook *, PerAddrBook *, char *); + void convert_pinerc_to_remote(struct pine *, char *); + +@@ -5187,7 +5187,7 @@ percent_done_copying(void) + } + + int +-cmp_action_list(const qsort_t *a1, const qsort_t *a2) ++cmp_action_list(const void *a1, const void *a2) + { + ACTION_LIST_S *x = (ACTION_LIST_S *)a1; + ACTION_LIST_S *y = (ACTION_LIST_S *)a2; +--- a/pico/browse.c ++++ b/pico/browse.c +@@ -1920,7 +1920,7 @@ getfcells(char *dname, int fb_flags) + /* + * sort files case independently + */ +- qsort((qsort_t *)filtnames, (size_t)nentries, sizeof(char *), sstrcasecmp); ++ qsort((qsort_t *)filtnames, (size_t)nentries, sizeof(char *), (void *)sstrcasecmp); + + /* + * this is so we use absolute path names for stats. +--- a/pith/adrbklib.c ++++ b/pith/adrbklib.c +@@ -84,7 +84,7 @@ int cmp_ae_by_nick_lists_last(const qsort_t *,const qsort_t *); + int cmp_cntr_by_nick_lists_last(const qsort_t *, const qsort_t *); + int cmp_ae_by_nick(const qsort_t *, const qsort_t *); + int cmp_cntr_by_nick(const qsort_t *, const qsort_t *); +-int cmp_addr(const qsort_t *, const qsort_t *); ++int cmp_addr(const void *, const void *); + void sort_addr_list(char **); + int build_abook_datastruct(AdrBk *, char *, size_t); + AdrBk_Entry *init_ae(AdrBk *, AdrBk_Entry *, char *); +@@ -4671,7 +4671,7 @@ cmp_cntr_by_nick(const qsort_t *a, const qsort_t *b) + * For sorting a simple list of pointers to addresses (skip initial quotes) + */ + int +-cmp_addr(const qsort_t *a1, const qsort_t *a2) ++cmp_addr(const void *a1, const void *a2) + { + char *x = *(char **)a1, *y = *(char **)a2; + char *r, *s; +@@ -4762,14 +4762,14 @@ adrbk_sort(AdrBk *ab, a_c_arg_t current_entry_num, adrbk_cntr_t *new_entry_num, + qsort((qsort_t *)sort_array, + (size_t)count, + sizeof(adrbk_cntr_t), +- (ab->sort_rule == AB_SORT_RULE_FULL_LISTS) ? +- cmp_cntr_by_full_lists_last : +- (ab->sort_rule == AB_SORT_RULE_FULL) ? +- cmp_cntr_by_full : +- (ab->sort_rule == AB_SORT_RULE_NICK_LISTS) ? +- cmp_cntr_by_nick_lists_last : +- /* (ab->sort_rule == AB_SORT_RULE_NICK) */ +- cmp_cntr_by_nick); ++ (void *)((ab->sort_rule == AB_SORT_RULE_FULL_LISTS) ? ++ cmp_cntr_by_full_lists_last : ++ (ab->sort_rule == AB_SORT_RULE_FULL) ? ++ cmp_cntr_by_full : ++ (ab->sort_rule == AB_SORT_RULE_NICK_LISTS) ? ++ cmp_cntr_by_nick_lists_last : ++ /* (ab->sort_rule == AB_SORT_RULE_NICK) */ ++ cmp_cntr_by_nick)); + } + + dprint((9, "- adrbk_sort: done with first sort -\n")); +--- a/pith/folder.c ++++ b/pith/folder.c +@@ -1939,11 +1939,11 @@ resort_folder_list(FLIST *flist) + { + if(flist && folder_total(flist) > 1 && flist->folders) + qsort(flist->folders, folder_total(flist), sizeof(flist->folders[0]), +- (ps_global->fld_sort_rule == FLD_SORT_ALPHA_DIR_FIRST) +- ? compare_folders_dir_alpha_qsort +- : (ps_global->fld_sort_rule == FLD_SORT_ALPHA_DIR_LAST) +- ? compare_folders_alpha_dir_qsort +- : compare_folders_alpha_qsort); ++ (void *)((ps_global->fld_sort_rule == FLD_SORT_ALPHA_DIR_FIRST) ++ ? compare_folders_dir_alpha_qsort ++ : (ps_global->fld_sort_rule == FLD_SORT_ALPHA_DIR_LAST) ++ ? compare_folders_alpha_dir_qsort ++ : compare_folders_alpha_qsort)); + } + + +--- a/pith/init.c ++++ b/pith/init.c +@@ -28,7 +28,7 @@ + /* + * Internal prototypes + */ +-int compare_sm_files(const qsort_t *, const qsort_t *); ++int compare_sm_files(const void *, const void *); + + + +@@ -327,7 +327,7 @@ init_save_defaults(void) + in above format. + ----*/ + int +-compare_sm_files(const qsort_t *aa, const qsort_t *bb) ++compare_sm_files(const void *aa, const void *bb) + { + struct sm_folder *a = (struct sm_folder *)aa, + *b = (struct sm_folder *)bb; +--- a/pith/sort.c ++++ b/pith/sort.c +@@ -41,7 +41,7 @@ void sort_sort_callback(MAILSTREAM *, unsigned long *, unsigned long); + int percent_sorted(void); + int pine_compare_long(const qsort_t *, const qsort_t *); + int pine_compare_long_rev(const qsort_t *, const qsort_t *); +-int pine_compare_scores(const qsort_t *, const qsort_t *); ++int pine_compare_scores(const void *, const void *); + void build_score_array(MAILSTREAM *, MSGNO_S *); + void free_score_array(void); + +@@ -162,7 +162,7 @@ sort_folder(MAILSTREAM *stream, MSGNO_S *msgmap, SortOrder new_sort, + */ + qsort(msgmap->sort+1, (size_t) mn_get_total(msgmap), + sizeof(long), +- new_rev ? pine_compare_long_rev : pine_compare_long); ++ (void *)(new_rev ? pine_compare_long_rev : pine_compare_long)); + } + else if(mn_get_total(msgmap) > 0L){ + if(new_rev){ +@@ -672,7 +672,7 @@ free_score_array(void) + Compare scores + ----*/ + int +-pine_compare_scores(const qsort_t *a, const qsort_t *b) ++pine_compare_scores(const void *a, const void *b) + { + long *mess_a = (long *)a, *mess_b = (long *)b, mdiff; + long sdiff; +--- a/pith/takeaddr.c ++++ b/pith/takeaddr.c +@@ -1377,7 +1377,7 @@ process_vcard_atts(MAILSTREAM *stream, long int msgno, + + + int +-cmp_swoop_list(const qsort_t *a1, const qsort_t *a2) ++cmp_swoop_list(const void *a1, const void *a2) + { + SWOOP_S *x = (SWOOP_S *)a1; + SWOOP_S *y = (SWOOP_S *)a2; +--- a/pith/takeaddr.h ++++ b/pith/takeaddr.h +@@ -98,7 +98,7 @@ int convert_ta_to_lines(TA_S *, LINES_TO_TAKE **); + LINES_TO_TAKE *new_ltline(LINES_TO_TAKE **); + int add_addresses_to_talist(struct pine *, long, char *, TA_S **, ADDRESS *, int); + int process_vcard_atts(MAILSTREAM *, long, BODY *, BODY *, char *, TA_S **); +-int cmp_swoop_list(const qsort_t *, const qsort_t *); ++int cmp_swoop_list(const void *, const void *); + int vcard_to_ta(char *, char *, char *, char *, char *, char *, TA_S **); + char *getaltcharset(char *, char **, char **, int *); + void switch_to_last_comma_first(char *, char *, size_t); +--- a/pith/thread.c ++++ b/pith/thread.c +@@ -45,7 +45,7 @@ THREADNODE *sort_threads_and_collapse(THREADNODE *); + THREADNODE *insert_tree_in_place(THREADNODE *, THREADNODE *); + unsigned long branch_greatest_num(THREADNODE *, int); + long calculate_visible_threads(MAILSTREAM *); +-int pine_compare_size_thread(const qsort_t *, const qsort_t *); ++int pine_compare_size_thread(const void *, const void *); + + + PINETHRD_S * +@@ -1892,7 +1892,7 @@ get_length_branch(MAILSTREAM *stream, long rawno) + return branchp ? (count ? count : 1L) : 0L; + } + +-int pine_compare_size_thread(const qsort_t *a, const qsort_t *b) ++int pine_compare_size_thread(const void *a, const void *b) + { + SIZETHREAD_T *s = (SIZETHREAD_T *) a, *t = (SIZETHREAD_T *) b; + diff --git a/mail-client/alpine/files/patch-imap_src_osdep_unix_ssl_unix_c b/mail-client/alpine/files/patch-imap_src_osdep_unix_ssl_unix_c new file mode 100644 index 000000000000..660dfb8b12d7 --- /dev/null +++ b/mail-client/alpine/files/patch-imap_src_osdep_unix_ssl_unix_c @@ -0,0 +1,47 @@ +* some popular mail services enforce SNI for TLSv1.3 clients, so send it +* retry SSL_write on blocking socket if we're told to do so. + +Index: imap/src/osdep/unix/ssl_unix.c +--- imap/src/osdep/unix/ssl_unix.c.orig ++++ imap/src/osdep/unix/ssl_unix.c +@@ -391,6 +391,7 @@ static char *ssl_start_work (SSLSTREAM *stream,char *h + { + BIO *bio; + X509 *cert; ++ int ssl_err; + unsigned long sl,tl; + int minv, maxv; + long masklow, maskhigh; +@@ -465,7 +466,13 @@ static char *ssl_start_work (SSLSTREAM *stream,char *h + SSL_set_connect_state (stream->con); + if (SSL_in_init (stream->con)) SSL_total_renegotiations (stream->con); + /* now negotiate SSL */ +- if (SSL_write (stream->con,"",0) < 0) ++ do { ++ ssl_err = SSL_write (stream->con,"",0); ++ } while (ssl_err < 0 && ++ ((SSL_get_error(stream->con, ssl_err) == SSL_ERROR_SYSCALL && errno == EINTR) || ++ SSL_get_error(stream->con, ssl_err) == SSL_ERROR_WANT_READ || ++ SSL_get_error(stream->con, ssl_err) == SSL_ERROR_WANT_WRITE)); ++ if (ssl_err < 0) + return ssl_last_error ? ssl_last_error : "SSL negotiation failed"; + /* need to validate host names? */ + cert = SSL_get_peer_certificate (stream->con); +@@ -530,7 +537,7 @@ static char *ssl_validate_cert (X509 *cert,char *host) + /* make sure have a certificate */ + if (!cert) return "No certificate from server"; + /* Method 1: locate CN */ +-#ifndef OPENSSL_1_1_0 ++#if !defined(OPENSSL_1_1_0) && !defined(LIBRESSL_VERSION_NUMBER) + if (cert->name == NIL) + ret = "No name in certificate"; + else if ((s = strstr (cert->name,"/CN=")) != NIL) { +@@ -579,7 +586,7 @@ static char *ssl_validate_cert (X509 *cert,char *host) + } + + if (ret == NIL +-#ifndef OPENSSL_1_1_0 ++#if !defined(OPENSSL_1_1_0) && !defined(LIBRESSL_VERSION_NUMBER) + && !cert->name + #endif /* OPENSSL_1_1_0 */ + && !X509_get_subject_name(cert)) diff --git a/mail-client/alpine/files/ssl_unix.patch b/mail-client/alpine/files/ssl_unix.patch new file mode 100644 index 000000000000..515034e2ef3f --- /dev/null +++ b/mail-client/alpine/files/ssl_unix.patch @@ -0,0 +1,47 @@ +* some popular mail services enforce SNI for TLSv1.3 clients, so send it +* retry SSL_write on blocking socket if we're told to do so. + +Index: imap/src/osdep/unix/ssl_unix.c +--- imap/src/osdep/unix/ssl_unix.c.orig ++++ imap/src/osdep/unix/ssl_unix.c +@@ -391,6 +391,7 @@ static char *ssl_start_work (SSLSTREAM *stream,char *h + { + BIO *bio; + X509 *cert; ++ int ssl_err; + unsigned long sl,tl; + int minv, maxv; + int masklow, maskhigh; +@@ -465,7 +466,13 @@ static char *ssl_start_work (SSLSTREAM *stream,char *h + SSL_set_connect_state (stream->con); + if (SSL_in_init (stream->con)) SSL_total_renegotiations (stream->con); + /* now negotiate SSL */ +- if (SSL_write (stream->con,"",0) < 0) ++ do { ++ ssl_err = SSL_write (stream->con,"",0); ++ } while (ssl_err < 0 && ++ ((SSL_get_error(stream->con, ssl_err) == SSL_ERROR_SYSCALL && errno == EINTR) || ++ SSL_get_error(stream->con, ssl_err) == SSL_ERROR_WANT_READ || ++ SSL_get_error(stream->con, ssl_err) == SSL_ERROR_WANT_WRITE)); ++ if (ssl_err < 0) + return ssl_last_error ? ssl_last_error : "SSL negotiation failed"; + /* need to validate host names? */ + cert = SSL_get_peer_certificate (stream->con); +@@ -530,7 +537,7 @@ static char *ssl_validate_cert (X509 *cert,char *host) + /* make sure have a certificate */ + if (!cert) return "No certificate from server"; + /* Method 1: locate CN */ +-#ifndef OPENSSL_1_1_0 ++#if !defined(OPENSSL_1_1_0) && !defined(LIBRESSL_VERSION_NUMBER) + if (cert->name == NIL) + ret = "No name in certificate"; + else if ((s = strstr (cert->name,"/CN=")) != NIL) { +@@ -579,7 +586,7 @@ static char *ssl_validate_cert (X509 *cert,char *host) + } + + if (ret == NIL +-#ifndef OPENSSL_1_1_0 ++#if !defined(OPENSSL_1_1_0) && !defined(LIBRESSL_VERSION_NUMBER) + && !cert->name + #endif /* OPENSSL_1_1_0 */ + && !X509_get_subject_name(cert)) diff --git a/mail-client/alpine/metadata.xml b/mail-client/alpine/metadata.xml new file mode 100644 index 000000000000..4eb94b4c9506 --- /dev/null +++ b/mail-client/alpine/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>dev@liguros.net</email> + <name>Development</name> + </maintainer> + <maintainer type="person"> + <email>gentoo.2019@r123.de</email> + <name>Robert Siebeck</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:alpine_project:alpine</remote-id> + </upstream> + <use> + <flag name="chappa">enhance Alpine by applying Eduardo Chappa's patches</flag> + <flag name="onlyalpine">installs only the alpine binary, so it does not collied with pico and/or pine</flag> + <flag name="passfile">Adds support for caching passwords into a file between sessions</flag> + <flag name="smime">Enable support for S/MIME</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/balsa/Manifest b/mail-client/balsa/Manifest new file mode 100644 index 000000000000..5435846c1c6d --- /dev/null +++ b/mail-client/balsa/Manifest @@ -0,0 +1,2 @@ +DIST balsa-2.6.4.tar.xz 3710272 BLAKE2B 67a3462ca6bc75431a6a3f6a54feb53577111355d749e777a328b881d431856a8090e9c7beea128ee466a9b7aee01a4178b5a273541f0ffdd776a144546fc48e SHA512 7c1526e03de29e19448f0a13847dcd7138d3292221ea16f20d09bf169cf18e69df24dd76726e710470d4507e5cc4e236e1889d4c421610ecd1589a9e2338d264 +DIST balsa-2.6.5.tar.gz 6240373 BLAKE2B 2f751bcf891a174ff0c637ee3acb87f142c2676da2fdbc6468a3134f644504807c84d18ed355a57cc6c3a2c8cb94df9738c2441e6eee01706d015a801f08df3f SHA512 42a0f5808da05aadb0cf4bd26a4e217a183223329c1500cbfbec991333aca034fda5b90c809015dad386cfb457de8355e7d4d66614ba42612468ebe85e0ac440 diff --git a/mail-client/balsa/balsa-2.6.4-r2.ebuild b/mail-client/balsa/balsa-2.6.4-r2.ebuild new file mode 100644 index 000000000000..664913a063e2 --- /dev/null +++ b/mail-client/balsa/balsa-2.6.4-r2.ebuild @@ -0,0 +1,114 @@ +# Copyright 2021-2024 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit gnome2-utils meson xdg + +DESCRIPTION="Email client for GNOME" +HOMEPAGE="http://pawsa.fedorapeople.org/balsa/" +SRC_URI="http://pawsa.fedorapeople.org/${PN}/${P}.tar.xz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~x86" + +IUSE="gnome keyring kerberos ldap rubrica sqlite systray webkit xface" + +# TODO: internal spell checking via enchant-2 instead of gtkspell/gspell? +DEPEND=" + >=dev-libs/glib-2.48.0:2 + >=x11-libs/gtk+-3.24.0:3 + >=dev-libs/gmime-3.2.6:3.0 + >=net-libs/gnutls-3.0:= + dev-libs/fribidi + >=dev-libs/libical-2.0.0:= + webkit? ( + >=net-libs/webkit-gtk-2.38.0:4.1 + >=dev-db/sqlite-3.24 + app-text/html2text + ) + >=app-crypt/gpgme-1.13.0:= + sqlite? ( >=dev-db/sqlite-3.24:= ) + ldap? ( net-nds/openldap:= ) + rubrica? ( dev-libs/libxml2:2 ) + kerberos? ( app-crypt/mit-krb5 ) + xface? ( >=media-libs/compface-1.5.1:= ) + gnome? ( x11-libs/gtksourceview:4 ) + || ( + media-libs/libcanberra-gtk3 + media-libs/libcanberra[gtk3(-)] + ) + keyring? ( app-crypt/libsecret ) + >=app-text/gspell-1.6:0= + + net-mail/mailbase + x11-themes/hicolor-icon-theme + x11-themes/adwaita-icon-theme + dev-libs/openssl:0= + + systray? ( x11-libs/xapp ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-util/gtk-update-icon-cache + dev-util/intltool + dev-util/itstool + virtual/pkgconfig + sys-devel/gettext + dev-libs/libxml2:2 +" + +DOCS="AUTHORS ChangeLog HACKING NEWS TODO docs/*" + +PATCHES=( + "${FILESDIR}"/${P}-fix-build-error-if-html-support-is-disabled.patch + "${FILESDIR}"/${P}-depend-on-webkit2gtk-4.1-if-available.patch +) + +src_prepare() { + default + # we don't need the package to update the icon cache. We do it ourselves in xdg_pkg_postinst + sed -i 's/if gtk_update_icon_cache_program.found()/if false/' images/meson.build || die +} + +src_configure() { + local emesonargs=( + $(meson_use gnome gnome-desktop) + -Dflock=false + -Dfcntl=true + $(meson_use sqlite autocrypt) + $(meson_use systray) + -Dcanberra=true + $(meson_use xface compface) + $(meson_use kerberos gss) + $(meson_use gnome gtksourceview) + -Dspell-checker=gspell + $(meson_use ldap) + -Dmacosx-desktop=false + $(meson_use rubrica) + -Dosmo=false + $(meson_use sqlite) + $(meson_use keyring libsecret) + -Dgcr=false + -Dmore-warnings=true + -Dhelp-files=false + -Dlibnetclient-docs=false + -Dlibnetclient-test=false + ) + if use webkit; then + emesonargs+=(-Dhtml-widget=webkit2) + else + emesonargs+=(-Dhtml-widget=no) + fi + meson_src_configure +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/mail-client/balsa/balsa-2.6.5.ebuild b/mail-client/balsa/balsa-2.6.5.ebuild new file mode 100644 index 000000000000..509ca6afb361 --- /dev/null +++ b/mail-client/balsa/balsa-2.6.5.ebuild @@ -0,0 +1,116 @@ +# Copyright 2021-2025 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit gnome2-utils meson xdg + +DESCRIPTION="Email client for GNOME" +HOMEPAGE="http://pawsa.fedorapeople.org/balsa/" +#SRC_URI="http://pawsa.fedorapeople.org/${PN}/${P}.tar.xz" +SRC_URI="https://gitlab.gnome.org/GNOME/balsa/-/archive/2.6.5/balsa-2.6.5.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~x86" + +IUSE="gnome keyring kerberos ldap rubrica sqlite systray webkit xface" + +# TODO: internal spell checking via enchant-2 instead of gtkspell/gspell? +DEPEND=" + >=dev-libs/glib-2.48.0:2 + >=x11-libs/gtk+-3.24.0:3 + >=dev-libs/gmime-3.2.6:3.0 + >=net-libs/gnutls-3.0:= + dev-libs/fribidi + >=dev-libs/libical-2.0.0:= + webkit? ( + >=net-libs/webkit-gtk-2.38.0:4.1 + >=dev-db/sqlite-3.24 + app-text/html2text + ) + >=app-crypt/gpgme-1.13.0:= + sqlite? ( >=dev-db/sqlite-3.24:= ) + ldap? ( net-nds/openldap:= ) + rubrica? ( dev-libs/libxml2:2 ) + kerberos? ( app-crypt/mit-krb5 ) + xface? ( >=media-libs/compface-1.5.1:= ) + gnome? ( x11-libs/gtksourceview:4 ) + || ( + media-libs/libcanberra-gtk3 + media-libs/libcanberra[gtk3(-)] + ) + keyring? ( app-crypt/libsecret ) + >=app-text/gspell-1.6:0= + + net-mail/mailbase + x11-themes/hicolor-icon-theme + x11-themes/adwaita-icon-theme + dev-libs/openssl:0= + + systray? ( x11-libs/xapp ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-util/gtk-update-icon-cache + dev-util/intltool + dev-util/itstool + virtual/pkgconfig + sys-devel/gettext + dev-libs/libxml2:2 +" + +DOCS="AUTHORS ChangeLog HACKING NEWS TODO docs/*" + +# "${FILESDIR}"/${P}-fix-build-error-if-html-support-is-disabled.patch +#PATCHES=( +# "${FILESDIR}"/${P}-depend-on-webkit2gtk-4.1-if-available.patch +#) + +src_prepare() { + default + # we don't need the package to update the icon cache. We do it ourselves in xdg_pkg_postinst + sed -i 's/if gtk_update_icon_cache_program.found()/if false/' images/meson.build || die +} + +src_configure() { + local emesonargs=( + $(meson_use gnome gnome-desktop) + -Dflock=false + -Dfcntl=true + $(meson_use sqlite autocrypt) + $(meson_use systray) + -Dcanberra=true + $(meson_use xface compface) + $(meson_use kerberos gss) + $(meson_use gnome gtksourceview) + -Dspell-checker=gspell + $(meson_use ldap) + -Dosmo=false + $(meson_use keyring libsecret) + -Dgcr=false + -Dmore-warnings=true + -Dhelp-files=false + -Dlibnetclient-docs=false + -Dlibnetclient-test=false + ) + # -Dmacosx-desktop=false + # $(meson_use rubrica) + # $(meson_use sqlite) + + if use webkit; then + emesonargs+=(-Dhtml-widget=webkit2) + else + emesonargs+=(-Dhtml-widget=no) + fi + meson_src_configure +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/mail-client/balsa/files/balsa-2.6.4-depend-on-webkit2gtk-4.1-if-available.patch b/mail-client/balsa/files/balsa-2.6.4-depend-on-webkit2gtk-4.1-if-available.patch new file mode 100644 index 000000000000..ea5283cfd996 --- /dev/null +++ b/mail-client/balsa/files/balsa-2.6.4-depend-on-webkit2gtk-4.1-if-available.patch @@ -0,0 +1,35 @@ +From aa81a24021f3b48a7f207ef7049c0e8f25207661 Mon Sep 17 00:00:00 2001 +From: Peter Bloomfield <PeterBloomfield@bellsouth.net> +Date: Sun, 2 Oct 2022 15:17:29 -0400 +Subject: [PATCH] meson.build: Depend on webkit2gtk-4.1 if available + +Build against webkit2gtk-4.1 if available, falling back to webkit2gtk-4.0. + +webkit2gtk-4.1 has the same API as webkit2gtk-4.0, so no code changes +are needed, but it links against libsoup-3.0 instead of libsoup-2.4. + +See https://discourse.gnome.org/t/removing-libsoup-2-for-gnome-45/10846 +for some discussion. +--- + meson.build | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 801f619c7..bee3040f6 100644 +--- a/meson.build ++++ b/meson.build +@@ -169,7 +169,10 @@ libnetclient_deps = [glib_dep, + # HTML widget + # + if html_widget == 'webkit2' +- html_dep = dependency('webkit2gtk-4.0', version : '>= 2.28.0') ++ html_dep = dependency('webkit2gtk-4.1', required : false) ++ if not html_dep.found() ++ html_dep = dependency('webkit2gtk-4.0', version : '>= 2.28.0') ++ endif + htmlpref_dep = dependency('sqlite3', version : '>= 3.24.0') + balsa_web_extensions = join_paths(get_option('prefix'), get_option('libdir'), 'balsa') + add_project_arguments('-DBALSA_WEB_EXTENSIONS="' + balsa_web_extensions + '"', language : 'c') +-- +GitLab + diff --git a/mail-client/balsa/files/balsa-2.6.4-fix-build-error-if-html-support-is-disabled.patch b/mail-client/balsa/files/balsa-2.6.4-fix-build-error-if-html-support-is-disabled.patch new file mode 100644 index 000000000000..16ca2a890e04 --- /dev/null +++ b/mail-client/balsa/files/balsa-2.6.4-fix-build-error-if-html-support-is-disabled.patch @@ -0,0 +1,71 @@ +From 23aef3f0e0fb68921448007b4e361b47a4eec2b6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Albrecht=20Dre=C3=9F?= <albrecht.dress@netcologne.de> +Date: Thu, 22 Sep 2022 19:53:08 +0200 +Subject: [PATCH] fix build error if HTML support is disabled +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Thanks to Bruce Dubbs from linuxfromscratch.org for reporting this +issue. + +libbalsa/body.c: mask out HTML selection table if HTML support is +disabled +libbalsa/body.c: fix macros if HTML support is disabled + +Signed-off-by: Albrecht Dreß <albrecht.dress@netcologne.de> +--- + libbalsa/body.c | 4 ++++ + libbalsa/body.h | 4 ++-- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/libbalsa/body.c b/libbalsa/body.c +index e300ae969..25d35fe77 100644 +--- a/libbalsa/body.c ++++ b/libbalsa/body.c +@@ -65,6 +65,7 @@ libbalsa_message_body_new(LibBalsaMessage * message) + return body; + } + ++#ifdef HAVE_HTML_WIDGET + static void + body_weak_notify(gpointer data, + GObject *key) +@@ -81,6 +82,7 @@ selection_table_foreach(gpointer key, + { + g_object_weak_unref(key, body_weak_notify, user_data); + } ++#endif /* HAVE_HTML_WIDGET */ + + void + libbalsa_message_body_free(LibBalsaMessageBody * body) +@@ -111,10 +113,12 @@ libbalsa_message_body_free(LibBalsaMessageBody * body) + if (body->mime_part) + g_object_unref(body->mime_part); + ++#ifdef HAVE_HTML_WIDGET + if (body->selection_table != NULL) { + g_hash_table_foreach(body->selection_table, selection_table_foreach, body); + g_hash_table_destroy(body->selection_table); + } ++#endif /* HAVE_HTML_WIDGET */ + + g_free(body); + } +diff --git a/libbalsa/body.h b/libbalsa/body.h +index 2650df728..139810018 100644 +--- a/libbalsa/body.h ++++ b/libbalsa/body.h +@@ -155,8 +155,8 @@ void libbalsa_message_body_set_mp_alt_selection(LibBalsaMessageBody *body, + LibBalsaMpAltSelection libbalsa_message_body_get_mp_alt_selection(LibBalsaMessageBody *body, + gpointer key); + #else +-#define libbalsa_message_body_set_mp_alt_selection(x) +-#define libbalsa_message_body_get_mp_alt_selection(x) LIBBALSA_MP_ALT_AUTO ++#define libbalsa_message_body_set_mp_alt_selection(x, y) ++#define libbalsa_message_body_get_mp_alt_selection(x, y) LIBBALSA_MP_ALT_AUTO + #endif /*HAVE_HTML_WIDGET*/ + + guint libbalsa_message_body_protect_mode(const LibBalsaMessageBody * body); +-- +GitLab diff --git a/mail-client/balsa/metadata.xml b/mail-client/balsa/metadata.xml new file mode 100644 index 000000000000..78a3fc67a99e --- /dev/null +++ b/mail-client/balsa/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>dev@liguros.net</email> + <name>Development</name> + </maintainer> + <maintainer type="project"> + <email>gnome@gentoo.org</email> + <name>Gentoo GNOME Desktop</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:gnome:balsa</remote-id> + </upstream> + <use> + <flag name="rubrica">Adds support for rubrica addressbook</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/betterbird-bin/Manifest b/mail-client/betterbird-bin/Manifest new file mode 100644 index 000000000000..4079cd8048ce --- /dev/null +++ b/mail-client/betterbird-bin/Manifest @@ -0,0 +1 @@ +DIST betterbird-140.2.1esr-bb10.en-US.linux-x86_64.tar.xz 70739980 BLAKE2B d99a72db879483eaff62733f31e1dd495bf59993b77a56dafee1b1fe7ddb926f8f6f420d97f62b8a8d72af1b0f6289b37d087c055fa5a2a54c2279d98f2b794d SHA512 233b05c7ab84edc95fce92ac0514664037c2914b0300c4ff0f33f7a2a3461524e6791b0278102db2b9d1eabdb224876555d1c813013f55a733009fd232c7b1ab diff --git a/mail-client/betterbird-bin/betterbird-bin-140.2.1.ebuild b/mail-client/betterbird-bin/betterbird-bin-140.2.1.ebuild new file mode 100644 index 000000000000..bfc05dd3ba0e --- /dev/null +++ b/mail-client/betterbird-bin/betterbird-bin-140.2.1.ebuild @@ -0,0 +1,68 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop xdg + +DESCRIPTION="Betterbird is a fine-tuned version of Mozilla Thunderbird." +HOMEPAGE="https://github.com/Betterbird/thunderbird-patches/ https://betterbird.eu/" +SRC_URI="https://www.betterbird.eu/downloads/LinuxArchive/betterbird-${PV}esr-bb10.en-US.linux-x86_64.tar.xz" + +S="${WORKDIR}" +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="-* ~amd64" + +RDEPEND=" + app-accessibility/at-spi2-core + dev-libs/dbus-glib + dev-libs/glib + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + sys-apps/dbus + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+ + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXtst + x11-libs/libxcb + x11-libs/pango +" + +QA_PREBUILT="*" + +src_install() { + insinto /opt/ + doins -r betterbird + + dosym ../../opt/betterbird/betterbird-bin /usr/bin/betterbird-bin + domenu "${FILESDIR}"/betterbird-bin.desktop + local x + for x in 16 32 48 64 128 256; do + newicon -s ${x} betterbird/chrome/icons/default/default${x}.png betterbird.png + done + + fperms +x /opt/betterbird/betterbird-bin + fperms +x /opt/betterbird/glxtest + fperms +x /opt/betterbird/vaapitest +} + +pkg_postinst() { + xdg_pkg_postinst + + elog "Language pack XPIs need to be downloaded and installed manually." + elog "Please see the link below for further information." + elog "" + elog "\thttps://betterbird.eu/downloads/index.php" +} diff --git a/mail-client/betterbird-bin/files/betterbird-bin.desktop b/mail-client/betterbird-bin/files/betterbird-bin.desktop new file mode 100755 index 000000000000..552738a2fd4f --- /dev/null +++ b/mail-client/betterbird-bin/files/betterbird-bin.desktop @@ -0,0 +1,181 @@ +[Desktop Entry] +Version=1.0 +Encoding=UTF-8 +Exec=betterbird-bin %u +Terminal=false +Type=Application +Icon=betterbird +Categories=Network;Email; +MimeType=message/rfc822;x-scheme-handler/mailto;application/x-xpinstall;application/x-extension-ics;text/calendar;text/vcard;text/x-vcard;x-scheme-handler/webcal;x-scheme-handler/webcals;x-scheme-handler/mid; +StartupNotify=true +StartupWMClass=betterbird +Actions=ComposeMessage;OpenAddressBook; +Name=Betterbird +Name[ast]=Veceru de corréu Betterbird +Name[ca]=Client de correu Betterbird +Name[cs]=Poštovní klient Betterbird +Name[da]=Betterbird - e-post/nyhedsgruppe +Name[de]=Betterbird-E-Mail und -Nachrichten +Name[el]=Ηλεκτρονική αλληλογραφία Betterbird +Name[es_ES]=Cliente de correo Betterbird +Name[es_AR]=Cliente de correo Betterbird +Name[fi]=Betterbird-sähköposti +Name[fr]=Messagerie Betterbird +Name[gl]=Cliente de correo Betterbird +Name[he]=Betterbird דוא״ל/חדשות +Name[hr]=Betterbird e-pošta/novosti +Name[hu]=Betterbird levelezőkliens +Name[it]=Email Betterbird +Name[ja]=Betterbird 電子メールクライアント +Name[ko]=Betterbird +Name[nl]=Betterbird e-mail/nieuws +Name[pl]=Klient poczty Betterbird +Name[pt_BR]=Cliente de E-mail Betterbird +Name[ru]=Почтовый клиент Betterbird +Name[sk]=Betterbird - poštový klient +Name[sv]=E-postklienten Betterbird +Name[uk]=Поштова програма Betterbird +Name[vi]=Trình điện thư Betterbird +Name[zh_CN]=Betterbird 邮件/新闻 +Name[zh_TW]=Betterbird 郵件 +Comment=Send and receive mail with Betterbird +Comment[ast]=Lleer y escribir corréu electrónicu +Comment[ca]=Llegiu i escriviu correu +Comment[cs]=Čtení a psaní pošty +Comment[da]=Skriv/læs e-post/nyhedsgruppe med Betterbird +Comment[de]=E-Mails und Nachrichten mit Betterbird lesen und schreiben +Comment[el]=Διαβάστε και γράψτε γράμματα με το Betterbird +Comment[es_ES]=Lea y escriba correos y noticias con Betterbird +Comment[es_AR]=Lea y escriba correos y noticias con Betterbird +Comment[fi]=Lue ja kirjoita sähköposteja +Comment[fr]=Lire et écrire des courriels +Comment[gl]=Lea e escriba correo electrónico +Comment[he]=קריאה/כתיבה של דוא״ל/חדשות באמצעות Betterbird +Comment[hr]=Čitajte/šaljite e-poštu s Betterbird +Comment[hu]=Levelek írása és olvasása a Betterbirddel +Comment[it]=Per leggere e scrivere email +Comment[ja]=メールの読み書き +Comment[ko]=Betterbird 메일/뉴스 읽기 및 쓰기 클라이언트 +Comment[nl]=E-mail/nieuws lezen en schrijven met Betterbird +Comment[pl]=Czytanie i wysyłanie e-maili +Comment[pt_BR]=Leia e escreva suas mensagens +Comment[ru]=Читайте и пишите письма +Comment[sk]=Čítajte a píšte poštu pomocou programu Betterbird +Comment[sv]=Läs och skriv e-post +Comment[uk]=Читання та написання листів +Comment[vi]=Đọc và soạn thư điện tử +Comment[zh_CN]=阅读邮件或新闻 +Comment[zh_TW]=以 Betterbird 讀寫郵件或新聞 +GenericName=Mail Client +GenericName[ast]=Client de correu +GenericName[ca]=Client de correu +GenericName[cs]=Poštovní klient +GenericName[da]=E-postklient +GenericName[de]=E-Mail-Anwendung +GenericName[el]=Λογισμικό αλληλογραφίας +GenericName[es_ES]=Cliente de correo +GenericName[es_AR]=Cliente de correo +GenericName[fi]=Sähköpostiohjelma +GenericName[fr]=Client de messagerie +GenericName[gl]=Cliente de correo electrónico +GenericName[he]=לקוח דוא״ל +GenericName[hr]=Klijent e-pošte +GenericName[hu]=Levelezőkliens +GenericName[it]=Client email +GenericName[ja]=電子メールクライアント +GenericName[ko]=메일 클라이언트 +GenericName[nl]=E-mailprogramma +GenericName[pl]=Klient poczty +GenericName[pt_BR]=Cliente de E-mail +GenericName[ru]=Почтовый клиент +GenericName[sk]=Poštový klient +GenericName[sv]=E-postklienten +GenericName[uk]=Поштова програма +GenericName[vi]=Phần mềm khách quản lý thư điện tử +GenericName[zh_CN]=邮件新闻客户端 +GenericName[zh_TW]=郵件用戶端 +Keywords=Email;E-mail;Newsgroup;Feed;RSS +Keywords[ast]=Corréu;Corréu-e;Noticies;Discusiones;Mensaxes;Canales;RSS +Keywords[ca]=Correu;Email;E-mail;Mailing;Llistes;Notícies;RSS +Keywords[cs]=Email;E-mail;Pošta;Elektronická pošta;Diskusní skupiny;Čtečka;RSS +Keywords[da]=Email;E-mail;Epost;E-post;E-brev;Newsgroup;Nyhedsgruppe;Nyhedskilde;Usenet;Feed;RSS +Keywords[de]=Mail;E-Mail;Newsgroup;Nachrichten;Feed;RSS;Post;News;Usenet;online;lesen;schreiben +Keywords[el]=Email;E-mail;Newsgroup;Feed;RSS;ημαιλ;Αλληλογραφία;Ροή;ΡΣΣ;Συζητήσεις;Γράμματα +Keywords[es_ES]=Email;Correo electrónico;Noticias;Discusiones;Mensajes;Canales;RSS +Keywords[es_AR]=Email;Correo electrónico;Noticias;Discusiones;Mensajes;Canales;RSS +Keywords[fi]=Mail;E-Mail;Email;Newsgroup;Feed;RSS;posti;sähköposti;maili;meili;Usenet;uutisryhmät;syöte +Keywords[fr]=Mails;Mels;E-Mails;Emails;Courriels;Courriers;Newsgroup;Feed;RSS;Poster;Betterbird;Lire;Écrire +Keywords[he]=דוא"ל;דוא״ל;מייל;אי-מייל;אימייל;הודעות;מוזילה;תאנדרבירד;ת׳אנדרבירד;ת'אנדרבירד;ת׳אנדרברד;ת'אנדרברד;דואל; +Keywords[hr]=email;e-mail;e-pošta;pošta;RSS +Keywords[hu]=Email;E-mail;Levél;Levelezés;Hírcsoport;Feed;Hírforrás;RSS +Keywords[it]=Email;Mail;Posta;Newsgroup;Feed;RSS +Keywords[ja]=Eメール;イーメール;mail;e-mail;email;メール;電子メール;ニュースグループ;ネットニュース;RSS;フィードリーダー;書く;読む +Keywords[nl]=Email;E-mail;Newsgroup;Feed;RSS;Nieuwsgroep;Post +Keywords[ru]=Email;E-mail;Newsgroup;Feed;RSS;почта;письма;новости;фиды +Keywords[sk]=Email;E-mail;Elektronická pošta;Diskusné skupiny;Čítačka kanálov;RSS +Keywords[uk]=Email;E-mail;Newsgroup;Feed;RSS;пошта;новини;подачі;стрічка +Keywords[vi]=Mail;E-Mail;Email;Newsgroup;Feed;RSS;Thư điện tử;Gửi thư +Keywords[zh_CN]=Mail;E-Mail;Email;Newsgroup;Feed;RSS;电子;邮件;新闻;Betterbird;雷鸟;电邮;邮箱;阅读器; + +[Desktop Action ComposeMessage] +Name=Write new message +Name[ast]=Redactar mensaxe nuevu +Name[ca]=Escriu un missatge nou +Name[cs]=Napsat novou zprávu +Name[da]=Skriv en ny meddelelse +Name[de]=Neue Nachricht verfassen +Name[el]=Σύνταξη νέου μηνύματος +Name[es_AR]=Escribir un nuevo mensaje +Name[es_ES]=Redactar nuevo mensaje +Name[fi]=Kirjoita uusi viesti +Name[fr]=Rédiger un nouveau message +Name[gl]=Escribir unha nova mensaxe +Name[he]=כתיבת הודעה חדשה +Name[hr]=Piši novu poruku +Name[hu]=Új üzenet írása +Name[it]=Scrivi nuovo messaggio +Name[ja]=新しいメッセージを作成する +Name[ko]=새 메시지 작성 +Name[nl]=Nieuw bericht aanmaken +Name[pl]=Nowa wiadomość +Name[pt_BR]=Nova mensagem +Name[ru]=Создать новое сообщение +Name[sk]=Nová e-mailová správa +Name[sv]=Skriv ett nytt meddelande +Name[uk]=Написати нового листа +Name[vi]=Viết thư mới +Name[zh_CN]=编写新消息 +Name[zh_TW]=寫一封新訊息 +Exec=betterbird-bin -compose + +[Desktop Action OpenAddressBook] +Name=Open address book +Name[ast]=Abrir llibreta de direiciones +Name[ca]=Obre la llibreta d'adreces +Name[cs]=Otevřít Adresář +Name[da]=Åbn adressebog +Name[de]=Adressbuch öffnen +Name[el]=Άνοιγμα ευρετηρίου διευθύνσεων +Name[es_AR]=Abrir libreta de direcciones +Name[es_ES]=Abrir libreta de direcciones +Name[fi]=Avaa osoitekirja +Name[fr]=Ouvrir un carnet d'adresses +Name[gl]=Abrir a axenda de enderezos +Name[he]=פתיחת ספר כתובות +Name[hr]=Otvori adresar +Name[hu]=Címjegyzék megnyitása +Name[it]=Apri rubrica +Name[ja]=アドレス帳を開く +Name[ko]=주소록 열기 +Name[nl]=Adresboek openen +Name[pl]=Książka adresowa +Name[pt_BR]=Catálogo de endereços +Name[ru]=Открыть адресную книгу +Name[sk]=Otvoriť adresár +Name[sv]=Öppna adressboken +Name[uk]=Відкрити адресну книгу +Name[vi]=Mở sổ địa chỉ +Name[zh_CN]=打开通讯录 +Name[zh_TW]=開啟通訊錄 +Exec=betterbird-bin -addressbook + diff --git a/mail-client/betterbird-bin/metadata.xml b/mail-client/betterbird-bin/metadata.xml new file mode 100644 index 000000000000..17341e1a8ee2 --- /dev/null +++ b/mail-client/betterbird-bin/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>justin026@protonmail.com</email> + <name>Justin</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/bower/Manifest b/mail-client/bower/Manifest new file mode 100644 index 000000000000..b5e5a6e0550c --- /dev/null +++ b/mail-client/bower/Manifest @@ -0,0 +1 @@ +DIST bower-1.0.tar.gz 291416 BLAKE2B 344533608ce33ce3dc011916045297d36f17b6c51e22261e831e2063bebf0cc73d5d464cc65edc92528384e97a3a8d338212f2371d84a08bb76d3aaa3f5a9a35 SHA512 79bbd9218bd31bc2a8f1bc82b83a6cb21fbd8788cf269e24a98c43e8320f6522b4c04e2563082f81697746e00d006de33d47c96473ddc119cfb9661818774dc4 diff --git a/mail-client/bower/bower-1.0.ebuild b/mail-client/bower/bower-1.0.ebuild new file mode 100644 index 000000000000..afda41aae481 --- /dev/null +++ b/mail-client/bower/bower-1.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multiprocessing + +DESCRIPTION="Curses terminal client for the Notmuch email system" +HOMEPAGE="https://github.com/wangp/bower" +SRC_URI="https://github.com/wangp/bower/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="amd64" + +COMMON_DEPEND="app-crypt/gpgme:= + sys-libs/ncurses:0=" +DEPEND="${COMMON_DEPEND} + dev-lang/mercury" +RDEPEND="${COMMON_DEPEND} + net-mail/notmuch + sys-apps/coreutils" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + sed -e "s/-lncursesw -lpanelw/$(pkg-config --libs ncursesw panelw)/" \ + -i src/Mercury.options || die +} + +src_compile() { + emake PARALLEL="--jobs $(makeopts_jobs) --no-strip --very-verbose" +} + +src_install() { + dobin bower + dodoc AUTHORS NEWS README.md bower.conf.sample +} diff --git a/mail-client/bower/metadata.xml b/mail-client/bower/metadata.xml new file mode 100644 index 000000000000..8b5b48a6433e --- /dev/null +++ b/mail-client/bower/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription> + Bower is a curses frontend for the Notmuch (https://notmuchmail.org) + email system, written in Mercury. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/claws-mail/Manifest b/mail-client/claws-mail/Manifest new file mode 100644 index 000000000000..8e005cb03ff0 --- /dev/null +++ b/mail-client/claws-mail/Manifest @@ -0,0 +1,3 @@ +DIST claws-mail-3.21.0.tar.xz 6848648 BLAKE2B 9b2c89b5b9105add54db7b55f082e965645b67ca361edb9cdb7fdc3793146332acb678f06a493b0668c6a7d36a70d471d25948b0d14d6f61b22423057014a67f SHA512 59078bdb2d0314c63d4c63fdf493b0484c731523a2a099dd29816b14586f6ef038e36f794284d60deb45fe22b4c29bd239da49cc3b94549884742ef64d2fdcae +DIST claws-mail-4.3.1.tar.xz 6782236 BLAKE2B e946d5462ef5455d6bd90aefb65d5ad95a558cbda2a403e3be2494c3d012bd2d9c476c6f869100870c7258d982f86569b9475f8913ef89f1b9806a7a7e1405df SHA512 1ecd34c9d4b529dbad42febdd873a1cb06c965fbfd9c0677b20b13ccfed7dae23602bdcf63285ff267a55c4b07a5565d9e8c60622b849e1ece1b9e3046995fa9 +DIST claws-mail-4.4.0.tar.xz 6723204 BLAKE2B 3da47fa019b25d29ed5cd5112c6bfeb5e73ff03f16d72e9ecbf514a0ad6d56a692f0ced36794b09a86bfb8dd971dd81e5e06406f561415733d8ebf82e1eb990a SHA512 533eafed1041402555efc0361e1e2b31b5b73c70cb031fc8a4e369afecb4653890bc7e10fc99ae2cf0c7107691230560fd47ca04f5ce11411db2d25a2f815978 diff --git a/mail-client/claws-mail/claws-mail-3.21.0-r2.ebuild b/mail-client/claws-mail/claws-mail-3.21.0-r2.ebuild new file mode 100644 index 000000000000..a09a84167503 --- /dev/null +++ b/mail-client/claws-mail/claws-mail-3.21.0-r2.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit autotools desktop python-any-r1 xdg + +DESCRIPTION="An email client (and news reader) based on GTK+" +HOMEPAGE="https://www.claws-mail.org/" + +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.claws-mail.org/readonly/claws.git" +else + SRC_URI="https://www.claws-mail.org/download.php?file=releases/${P}.tar.xz" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" +fi + +LICENSE="GPL-3" +SLOT="0" + +IUSE="archive bogofilter calendar clamav dbus debug doc +gnutls +imap ldap +libnotify litehtml networkmanager nls nntp +notification pdf perl +pgp rss session sieve smime spamassassin spam-report spell startup-notification svg valgrind xface" +REQUIRED_USE=" + libnotify? ( notification ) + networkmanager? ( dbus ) + smime? ( pgp ) +" + +COMMONDEPEND=" + dev-libs/nettle:= + net-mail/ytnef + virtual/zlib:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2[jpeg] + x11-libs/gtk+:2 + x11-libs/libX11 + x11-libs/pango + archive? ( + app-arch/libarchive + >=net-misc/curl-7.9.7 + ) + bogofilter? ( mail-filter/bogofilter ) + calendar? ( + >=dev-libs/libical-2.0.0:= + >=net-misc/curl-7.9.7 + ) + dbus? ( + >=dev-libs/dbus-glib-0.60 + sys-apps/dbus + ) + gnutls? ( >=net-libs/gnutls-3.0 ) + imap? ( >=net-libs/libetpan-0.57 ) + ldap? ( >=net-nds/openldap-2.0.7:= ) + litehtml? ( + >=dev-libs/glib-2.36:2 + >=dev-libs/gumbo-0.10:= + net-misc/curl + media-libs/fontconfig + ) + nls? ( >=sys-devel/gettext-0.18 ) + nntp? ( >=net-libs/libetpan-0.57 ) + notification? ( + dev-libs/glib:2 + libnotify? ( x11-libs/libnotify ) + ) + pdf? ( app-text/poppler[cairo] ) + pgp? ( >=app-crypt/gpgme-1.0.0:= ) + session? ( + x11-libs/libICE + x11-libs/libSM + ) + smime? ( >=app-crypt/gpgme-1.0.0:= ) + spam-report? ( >=net-misc/curl-7.9.7 ) + spell? ( >=app-text/enchant-2.0.0:2= ) + startup-notification? ( x11-libs/startup-notification ) + svg? ( >=gnome-base/librsvg-2.40.5 ) + valgrind? ( dev-debug/valgrind ) +" + +DEPEND="${COMMONDEPEND} + xface? ( >=media-libs/compface-1.4 ) +" +BDEPEND=" + ${PYTHON_DEPS} + app-arch/xz-utils + virtual/pkgconfig +" +RDEPEND="${COMMONDEPEND} + app-misc/mime-types + x11-misc/shared-mime-info + clamav? ( app-antivirus/clamav ) + networkmanager? ( net-misc/networkmanager ) + pdf? ( app-text/ghostscript-gpl ) + perl? ( dev-lang/perl:= ) + rss? ( + dev-libs/libxml2:= + net-misc/curl + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.17.5-enchant-2_default.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # Don't use libsoup-gnome (bug #565924) + export HAVE_LIBSOUP_GNOME=no + + local myeconfargs=( + --disable-bsfilter-plugin + --disable-dillo-plugin + --disable-fancy-plugin + --disable-generic-umpc + --disable-jpilot #735118 + --enable-acpi_notifier-plugin + --enable-address_keeper-plugin + --enable-alternate-addressbook + --enable-att_remover-plugin + --enable-attachwarner-plugin + --enable-fetchinfo-plugin + --enable-ipv6 + --enable-mailmbox-plugin + --enable-newmail-plugin + --enable-tnef_parse-plugin + --with-password-encryption=$(usex gnutls gnutls old) + $(use_enable archive archive-plugin) + $(use_enable bogofilter bogofilter-plugin) + $(use_enable calendar vcalendar-plugin) + $(use_enable clamav clamd-plugin) + $(use_enable dbus) + $(use_enable debug crash-dialog) + $(use_enable doc manual) + $(use_enable gnutls) + $(use_enable ldap) + $(use_enable litehtml litehtml_viewer-plugin) + $(use_enable networkmanager) + $(use_enable nls) + $(use_enable notification notification-plugin) + $(use_enable pdf pdf_viewer-plugin) + $(use_enable perl perl-plugin) + $(use_enable pgp pgpcore-plugin) + $(use_enable pgp pgpinline-plugin) + $(use_enable pgp pgpmime-plugin) + --disable-python-plugin + $(use_enable rss rssyl-plugin) + $(use_enable session libsm) + $(use_enable sieve managesieve-plugin) + $(use_enable smime smime-plugin) + $(use_enable spam-report spam_report-plugin) + $(use_enable spamassassin spamassassin-plugin) + $(use_enable spell enchant) + $(use_enable startup-notification) + $(use_enable svg) + $(use_enable valgrind valgrind) + $(use_enable xface compface) + ) + + # libetpan is needed if user wants nntp or imap functionality + if use imap || use nntp ; then + myeconfargs+=( --enable-libetpan ) + else + myeconfargs+=( --disable-libetpan ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +src_install() { + local DOCS=( AUTHORS ChangeLog* INSTALL* NEWS README* ) + default + + # Makefile install claws-mail.png in /usr/share/icons/hicolor/48x48/apps + # => also install it in /usr/share/pixmaps for other desktop envs + # => also install higher resolution icons in /usr/share/icons/hicolor/... + insinto /usr/share/pixmaps + doins ${PN}.png + local size + for size in 64 128 ; do + newicon -s ${size} ${PN}-${size}x${size}.png ${PN}.png + done + + docinto tools + dodoc tools/README* + + domenu ${PN}.desktop + + einfo "Installing extra tools" + cd "${S}"/tools || die + exeinto /usr/$(get_libdir)/${PN}/tools + doexe *.pl *.py *.conf *.sh + doexe tb2claws-mail update-po uudec uuooffice + + # kill useless files + find "${ED}"/usr/$(get_libdir)/${PN}/plugins/ \ + \( -name "*.a" -o -name "*.la" \) -delete || die +} + +pkg_postinst() { + ewarn "When upgrading from version <3.18 please re-load any plugin you use" + xdg_pkg_postinst +} diff --git a/mail-client/claws-mail/claws-mail-4.3.1-r2.ebuild b/mail-client/claws-mail/claws-mail-4.3.1-r2.ebuild new file mode 100644 index 000000000000..9dd9d632c1cc --- /dev/null +++ b/mail-client/claws-mail/claws-mail-4.3.1-r2.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit desktop python-single-r1 xdg + +DESCRIPTION="An email client (and news reader) based on GTK+" +HOMEPAGE="https://www.claws-mail.org/" + +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.claws-mail.org/readonly/claws.git" +else + SRC_URI="https://www.claws-mail.org/download.php?file=releases/${P}.tar.xz" + KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86" +fi + +LICENSE="GPL-3" +SLOT="0" + +IUSE="archive bogofilter calendar clamav dbus debug doc +gnutls +imap ldap litehtml networkmanager nls nntp +notification +oauth pdf perl +pgp python rss session sieve smime spamassassin spam-report spell startup-notification svg valgrind webkit xface" +REQUIRED_USE=" + networkmanager? ( dbus ) + oauth? ( gnutls ) + python? ( ${PYTHON_REQUIRED_USE} ) + smime? ( pgp ) +" + +# the three libraries are automagic so we pull them all +# https://www.claws-mail.org/bugzilla/show_bug.cgi?id=4870 +# https://bugs.gentoo.org/952993 +NOTIFICATIONDEPEND=" + notification? ( + dev-libs/libayatana-appindicator + media-libs/libcanberra-gtk3 + x11-libs/libnotify + ) +" + +COMMONDEPEND="${NOTIFICATIONDEPEND} + >=dev-libs/glib-2.50:2 + dev-libs/nettle:= + net-mail/ytnef + virtual/zlib:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2[jpeg] + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/pango + archive? ( + app-arch/libarchive + >=net-misc/curl-7.9.7 + ) + bogofilter? ( mail-filter/bogofilter ) + calendar? ( + dev-lang/perl:= + >=dev-libs/libical-2.0.0:= + >=net-misc/curl-7.9.7 + ) + dbus? ( + >=dev-libs/dbus-glib-0.60 + sys-apps/dbus + ) + gnutls? ( >=net-libs/gnutls-3.0 ) + imap? ( >=net-libs/libetpan-0.57 ) + ldap? ( >=net-nds/openldap-2.0.7:= ) + litehtml? ( + >=dev-libs/gumbo-0.10:= + net-misc/curl + media-libs/fontconfig + ) + nls? ( >=sys-devel/gettext-0.18 ) + nntp? ( >=net-libs/libetpan-0.57 ) + perl? ( + dev-lang/perl:= + virtual/libcrypt:= + ) + pdf? ( app-text/poppler[cairo] ) + pgp? ( >=app-crypt/gpgme-1.0.0:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[cairo,${PYTHON_USEDEP}] + ') + ) + rss? ( + dev-libs/libxml2:= + net-misc/curl + ) + session? ( + x11-libs/libICE + x11-libs/libSM + ) + smime? ( >=app-crypt/gpgme-1.0.0:= ) + spam-report? ( >=net-misc/curl-7.9.7 ) + spell? ( >=app-text/enchant-2.0.0:2= ) + startup-notification? ( x11-libs/startup-notification ) + svg? ( >=gnome-base/librsvg-2.40.5 ) + valgrind? ( dev-debug/valgrind ) + webkit? ( net-libs/webkit-gtk:4.1 ) +" + +DEPEND="${COMMONDEPEND} + xface? ( >=media-libs/compface-1.4 ) +" +BDEPEND=" + ${PYTHON_DEPS} + app-arch/xz-utils + virtual/pkgconfig + doc? ( app-text/docbook-sgml-utils ) +" +RDEPEND="${COMMONDEPEND} + app-misc/mime-types + x11-misc/shared-mime-info + clamav? ( app-antivirus/clamav ) + networkmanager? ( net-misc/networkmanager ) + pdf? ( app-text/ghostscript-gpl ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.17.5-enchant-2_default.patch" + "${FILESDIR}/${PN}-4.1.1-fix_lto.patch" + +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + local myeconfargs=( + --disable-bsfilter-plugin + --disable-dillo-plugin + --disable-generic-umpc + --disable-jpilot #735118 + --enable-acpi_notifier-plugin + --enable-address_keeper-plugin + --enable-alternate-addressbook + --enable-att_remover-plugin + --enable-attachwarner-plugin + --enable-fetchinfo-plugin + --enable-ipv6 + --enable-mailmbox-plugin + --enable-newmail-plugin + --enable-tnef_parse-plugin + --with-password-encryption=$(usex gnutls gnutls old) + $(use_enable archive archive-plugin) + $(use_enable bogofilter bogofilter-plugin) + $(use_enable calendar vcalendar-plugin) + $(use_enable clamav clamd-plugin) + $(use_enable dbus) + $(use_enable debug crash-dialog) + $(use_enable debug more-addressbook-debug) + $(use_enable debug more-ldap-debug) + $(use_enable debug more-archive-debug) + $(use_enable doc manual) + $(use_enable gnutls) + $(use_enable ldap) + $(use_enable litehtml litehtml_viewer-plugin) + $(use_enable networkmanager) + $(use_enable nls) + $(use_enable notification notification-plugin) + $(use_enable oauth oauth2) + $(use_enable pdf pdf_viewer-plugin) + $(use_enable perl perl-plugin) + $(use_enable pgp pgpcore-plugin) + $(use_enable pgp pgpinline-plugin) + $(use_enable pgp pgpmime-plugin) + $(use_enable python python-plugin) + $(use_enable rss rssyl-plugin) + $(use_enable session libsm) + $(use_enable sieve managesieve-plugin) + $(use_enable smime smime-plugin) + $(use_enable spam-report spam_report-plugin) + $(use_enable spamassassin spamassassin-plugin) + $(use_enable spell enchant) + $(use_enable startup-notification) + $(use_enable svg) + $(use_enable valgrind valgrind) + $(use_enable webkit fancy-plugin) + $(use_enable xface compface) + ) + + # libetpan is needed if user wants nntp or imap functionality + if use imap || use nntp ; then + myeconfargs+=( --enable-libetpan ) + else + myeconfargs+=( --disable-libetpan ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +src_install() { + local DOCS=( AUTHORS ChangeLog* INSTALL* NEWS README* ) + default + + # Makefile install claws-mail.png in /usr/share/icons/hicolor/48x48/apps + # => also install it in /usr/share/pixmaps for other desktop envs + # => also install higher resolution icons in /usr/share/icons/hicolor/... + insinto /usr/share/pixmaps + doins ${PN}.png + local size + for size in 64 128 ; do + newicon -s ${size} ${PN}-${size}x${size}.png ${PN}.png + done + + docinto tools + dodoc tools/README* + + domenu ${PN}.desktop + + einfo "Installing extra tools" + cd "${S}"/tools || die + exeinto /usr/$(get_libdir)/${PN}/tools + doexe *.pl *.py *.conf *.sh + doexe tb2claws-mail update-po uudec uuooffice + + # kill useless files + find "${ED}"/usr/$(get_libdir)/${PN}/plugins/ \ + \( -name "*.a" -o -name "*.la" \) -delete || die +} + +pkg_postinst() { + ewarn "When upgrading from version 3.x please re-load any plugin you use" + xdg_pkg_postinst +} diff --git a/mail-client/claws-mail/claws-mail-4.4.0.ebuild b/mail-client/claws-mail/claws-mail-4.4.0.ebuild new file mode 100644 index 000000000000..1a5f06f4a314 --- /dev/null +++ b/mail-client/claws-mail/claws-mail-4.4.0.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit desktop python-single-r1 xdg + +DESCRIPTION="An email client (and news reader) based on GTK+" +HOMEPAGE="https://www.claws-mail.org/" + +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.claws-mail.org/readonly/claws.git" +else + SRC_URI="https://www.claws-mail.org/download.php?file=releases/${P}.tar.xz" + KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86" +fi + +LICENSE="GPL-3" +SLOT="0" + +IUSE="archive bogofilter calendar clamav dbus debug doc +gnutls +imap ldap litehtml networkmanager nls nntp +notification +oauth pdf perl +pgp python rss session sieve smime spamassassin spam-report spell startup-notification svg valgrind webkit xface" +REQUIRED_USE=" + networkmanager? ( dbus ) + oauth? ( gnutls ) + python? ( ${PYTHON_REQUIRED_USE} ) + smime? ( pgp ) +" + +# the three libraries are automagic so we pull them all +# https://www.claws-mail.org/bugzilla/show_bug.cgi?id=4870 +# https://bugs.gentoo.org/952993 +NOTIFICATIONDEPEND=" + notification? ( + dev-libs/libayatana-appindicator + media-libs/libcanberra-gtk3 + x11-libs/libnotify + ) +" + +COMMONDEPEND="${NOTIFICATIONDEPEND} + >=dev-libs/glib-2.50:2 + dev-libs/nettle:= + net-mail/ytnef + virtual/zlib:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2[jpeg] + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/pango + archive? ( + app-arch/libarchive + >=net-misc/curl-7.9.7 + ) + bogofilter? ( mail-filter/bogofilter ) + calendar? ( + dev-lang/perl:= + >=dev-libs/libical-2.0.0:= + >=net-misc/curl-7.9.7 + ) + dbus? ( + >=dev-libs/dbus-glib-0.60 + sys-apps/dbus + ) + gnutls? ( >=net-libs/gnutls-3.4.0 ) + imap? ( >=net-libs/libetpan-1.9.4 ) + ldap? ( >=net-nds/openldap-2.0.7:= ) + litehtml? ( + >=dev-libs/gumbo-0.10:= + net-misc/curl + media-libs/fontconfig + ) + nls? ( >=sys-devel/gettext-0.18 ) + nntp? ( >=net-libs/libetpan-0.57 ) + perl? ( + dev-lang/perl:= + virtual/libcrypt:= + ) + pdf? ( app-text/poppler[cairo] ) + pgp? ( >=app-crypt/gpgme-1.0.0:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[cairo,${PYTHON_USEDEP}] + ') + ) + rss? ( + dev-libs/libxml2:= + net-misc/curl + ) + session? ( + x11-libs/libICE + x11-libs/libSM + ) + smime? ( >=app-crypt/gpgme-1.0.0:= ) + spam-report? ( >=net-misc/curl-7.9.7 ) + spell? ( >=app-text/enchant-2.0.0:2= ) + startup-notification? ( x11-libs/startup-notification ) + svg? ( >=gnome-base/librsvg-2.40.5 ) + valgrind? ( dev-debug/valgrind ) + webkit? ( net-libs/webkit-gtk:4.1 ) +" + +DEPEND="${COMMONDEPEND} + xface? ( >=media-libs/compface-1.4 ) +" +BDEPEND=" + ${PYTHON_DEPS} + app-arch/xz-utils + virtual/pkgconfig + doc? ( app-text/docbook-sgml-utils ) +" +RDEPEND="${COMMONDEPEND} + app-misc/mime-types + x11-misc/shared-mime-info + clamav? ( app-antivirus/clamav ) + networkmanager? ( net-misc/networkmanager ) + pdf? ( app-text/ghostscript-gpl ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.17.5-enchant-2_default.patch" + "${FILESDIR}/${PN}-4.1.1-fix_lto.patch" + +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + local myeconfargs=( + --disable-bsfilter-plugin + --disable-dillo-plugin + --disable-generic-umpc + --disable-jpilot #735118 + --enable-acpi_notifier-plugin + --enable-address_keeper-plugin + --enable-alternate-addressbook + --enable-att_remover-plugin + --enable-attachwarner-plugin + --enable-fetchinfo-plugin + --enable-ipv6 + --enable-mailmbox-plugin + --enable-newmail-plugin + --enable-tnef_parse-plugin + --with-password-encryption=$(usex gnutls gnutls old) + $(use_enable archive archive-plugin) + $(use_enable bogofilter bogofilter-plugin) + $(use_enable calendar vcalendar-plugin) + $(use_enable clamav clamd-plugin) + $(use_enable dbus) + $(use_enable debug crash-dialog) + $(use_enable debug more-addressbook-debug) + $(use_enable debug more-ldap-debug) + $(use_enable debug more-archive-debug) + $(use_enable doc manual) + $(use_enable gnutls) + $(use_enable ldap) + $(use_enable litehtml litehtml_viewer-plugin) + $(use_enable networkmanager) + $(use_enable nls) + $(use_enable notification notification-plugin) + $(use_enable oauth oauth2) + $(use_enable pdf pdf_viewer-plugin) + $(use_enable perl perl-plugin) + $(use_enable pgp pgpcore-plugin) + $(use_enable pgp pgpinline-plugin) + $(use_enable pgp pgpmime-plugin) + $(use_enable python python-plugin) + $(use_enable rss rssyl-plugin) + $(use_enable session libsm) + $(use_enable sieve managesieve-plugin) + $(use_enable smime smime-plugin) + $(use_enable spam-report spam_report-plugin) + $(use_enable spamassassin spamassassin-plugin) + $(use_enable spell enchant) + $(use_enable startup-notification) + $(use_enable svg) + $(use_enable valgrind valgrind) + $(use_enable webkit fancy-plugin) + $(use_enable xface compface) + ) + + # libetpan is needed if user wants nntp or imap functionality + if use imap || use nntp ; then + myeconfargs+=( --enable-libetpan ) + else + myeconfargs+=( --disable-libetpan ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +src_install() { + local DOCS=( AUTHORS ChangeLog* INSTALL* NEWS README* ) + default + + # Makefile install claws-mail.png in /usr/share/icons/hicolor/48x48/apps + # => also install it in /usr/share/pixmaps for other desktop envs + # => also install higher resolution icons in /usr/share/icons/hicolor/... + insinto /usr/share/pixmaps + doins ${PN}.png + local size + for size in 64 128 ; do + newicon -s ${size} ${PN}-${size}x${size}.png ${PN}.png + done + + docinto tools + dodoc tools/README* + + domenu ${PN}.desktop + + einfo "Installing extra tools" + cd "${S}"/tools || die + exeinto /usr/$(get_libdir)/${PN}/tools + doexe *.pl *.py *.conf *.sh + doexe tb2claws-mail update-po uudec uuooffice + + # kill useless files + find "${ED}"/usr/$(get_libdir)/${PN}/plugins/ \ + \( -name "*.a" -o -name "*.la" \) -delete || die +} + +pkg_postinst() { + ewarn "When upgrading from version 3.x please re-load any plugin you use" + xdg_pkg_postinst +} diff --git a/mail-client/claws-mail/claws-mail-9999.ebuild b/mail-client/claws-mail/claws-mail-9999.ebuild new file mode 100644 index 000000000000..6e9bb10953bf --- /dev/null +++ b/mail-client/claws-mail/claws-mail-9999.ebuild @@ -0,0 +1,234 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit autotools desktop python-single-r1 xdg + +DESCRIPTION="An email client (and news reader) based on GTK+" +HOMEPAGE="https://www.claws-mail.org/" + +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.claws-mail.org/readonly/claws.git" +else + SRC_URI="https://www.claws-mail.org/download.php?file=releases/${P}.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="GPL-3" +SLOT="0" + +IUSE="archive bogofilter calendar clamav dbus debug doc +gnutls +imap ldap litehtml networkmanager nls nntp +notification +oauth pdf perl +pgp python rss session sieve smime spamassassin spam-report spell startup-notification svg valgrind webkit xface" +REQUIRED_USE=" + networkmanager? ( dbus ) + oauth? ( gnutls ) + python? ( ${PYTHON_REQUIRED_USE} ) + smime? ( pgp ) +" + +# the three libraries are automagic so we pull them all +# https://www.claws-mail.org/bugzilla/show_bug.cgi?id=4870 +# https://bugs.gentoo.org/952993 +NOTIFICATIONDEPEND=" + notification? ( + dev-libs/libayatana-appindicator + media-libs/libcanberra-gtk3 + x11-libs/libnotify + ) +" + +COMMONDEPEND="${NOTIFICATIONDEPEND} + >=dev-libs/glib-2.50:2 + dev-libs/nettle:= + net-mail/ytnef + virtual/zlib:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2[jpeg] + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/pango + archive? ( + app-arch/libarchive + >=net-misc/curl-7.9.7 + ) + bogofilter? ( mail-filter/bogofilter ) + calendar? ( + dev-lang/perl:= + >=dev-libs/libical-2.0.0:= + >=net-misc/curl-7.9.7 + ) + dbus? ( + >=dev-libs/dbus-glib-0.60 + sys-apps/dbus + ) + gnutls? ( >=net-libs/gnutls-3.4.0 ) + imap? ( >=net-libs/libetpan-1.9.4 ) + ldap? ( >=net-nds/openldap-2.0.7:= ) + litehtml? ( + >=dev-libs/gumbo-0.10:= + net-misc/curl + media-libs/fontconfig + ) + nls? ( >=sys-devel/gettext-0.18 ) + nntp? ( >=net-libs/libetpan-0.57 ) + perl? ( + dev-lang/perl:= + virtual/libcrypt:= + ) + pdf? ( app-text/poppler[cairo] ) + pgp? ( >=app-crypt/gpgme-1.0.0:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[cairo,${PYTHON_USEDEP}] + ') + ) + rss? ( + dev-libs/libxml2:= + net-misc/curl + ) + session? ( + x11-libs/libICE + x11-libs/libSM + ) + smime? ( >=app-crypt/gpgme-1.0.0:= ) + spam-report? ( >=net-misc/curl-7.9.7 ) + spell? ( >=app-text/enchant-2.0.0:2= ) + startup-notification? ( x11-libs/startup-notification ) + svg? ( >=gnome-base/librsvg-2.40.5 ) + valgrind? ( dev-debug/valgrind ) + webkit? ( net-libs/webkit-gtk:4.1 ) +" + +DEPEND="${COMMONDEPEND} + xface? ( >=media-libs/compface-1.4 ) +" +BDEPEND=" + ${PYTHON_DEPS} + app-arch/xz-utils + virtual/pkgconfig + doc? ( app-text/docbook-sgml-utils ) +" +RDEPEND="${COMMONDEPEND} + app-misc/mime-types + x11-misc/shared-mime-info + clamav? ( app-antivirus/clamav ) + networkmanager? ( net-misc/networkmanager ) + pdf? ( app-text/ghostscript-gpl ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.17.5-enchant-2_default.patch" + "${FILESDIR}/${PN}-4.1.1-fix_lto.patch" +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + --disable-bsfilter-plugin + --disable-dillo-plugin + --disable-generic-umpc + --disable-jpilot #735118 + --enable-acpi_notifier-plugin + --enable-address_keeper-plugin + --enable-alternate-addressbook + --enable-att_remover-plugin + --enable-attachwarner-plugin + --enable-fetchinfo-plugin + --enable-ipv6 + --enable-mailmbox-plugin + --enable-newmail-plugin + --enable-tnef_parse-plugin + --with-password-encryption=$(usex gnutls gnutls old) + $(use_enable archive archive-plugin) + $(use_enable bogofilter bogofilter-plugin) + $(use_enable calendar vcalendar-plugin) + $(use_enable clamav clamd-plugin) + $(use_enable dbus) + $(use_enable debug crash-dialog) + $(use_enable debug more-addressbook-debug) + $(use_enable debug more-ldap-debug) + $(use_enable debug more-archive-debug) + $(use_enable doc manual) + $(use_enable gnutls) + $(use_enable ldap) + $(use_enable litehtml litehtml_viewer-plugin) + $(use_enable networkmanager) + $(use_enable nls) + $(use_enable notification notification-plugin) + $(use_enable oauth oauth2) + $(use_enable pdf pdf_viewer-plugin) + $(use_enable perl perl-plugin) + $(use_enable pgp pgpcore-plugin) + $(use_enable pgp pgpinline-plugin) + $(use_enable pgp pgpmime-plugin) + $(use_enable python python-plugin) + $(use_enable rss rssyl-plugin) + $(use_enable session libsm) + $(use_enable sieve managesieve-plugin) + $(use_enable smime smime-plugin) + $(use_enable spam-report spam_report-plugin) + $(use_enable spamassassin spamassassin-plugin) + $(use_enable spell enchant) + $(use_enable startup-notification) + $(use_enable svg) + $(use_enable valgrind valgrind) + $(use_enable webkit fancy-plugin) + $(use_enable xface compface) + ) + + # libetpan is needed if user wants nntp or imap functionality + if use imap || use nntp ; then + myeconfargs+=( --enable-libetpan ) + else + myeconfargs+=( --disable-libetpan ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +src_install() { + local DOCS=( AUTHORS ChangeLog* INSTALL* NEWS README* ) + default + + # Makefile install claws-mail.png in /usr/share/icons/hicolor/48x48/apps + # => also install it in /usr/share/pixmaps for other desktop envs + # => also install higher resolution icons in /usr/share/icons/hicolor/... + insinto /usr/share/pixmaps + doins ${PN}.png + local size + for size in 64 128 ; do + newicon -s ${size} ${PN}-${size}x${size}.png ${PN}.png + done + + docinto tools + dodoc tools/README* + + domenu ${PN}.desktop + + einfo "Installing extra tools" + cd "${S}"/tools || die + exeinto /usr/$(get_libdir)/${PN}/tools + doexe *.pl *.py *.conf *.sh + doexe tb2claws-mail update-po uudec uuooffice + + # kill useless files + find "${ED}"/usr/$(get_libdir)/${PN}/plugins/ \ + \( -name "*.a" -o -name "*.la" \) -delete || die +} + +pkg_postinst() { + ewarn "When upgrading from version 3.x please re-load any plugin you use" + xdg_pkg_postinst +} diff --git a/mail-client/claws-mail/files/claws-mail-3.17.5-enchant-2_default.patch b/mail-client/claws-mail/files/claws-mail-3.17.5-enchant-2_default.patch new file mode 100644 index 000000000000..c9c9bd444e02 --- /dev/null +++ b/mail-client/claws-mail/files/claws-mail-3.17.5-enchant-2_default.patch @@ -0,0 +1,46 @@ +From 826770e2dae8646a613dbe07685be68b4dc83b62 Mon Sep 17 00:00:00 2001 +From: Lars Wendler <polynomial-c@gentoo.org> +Date: Mon, 9 Mar 2020 15:21:55 +0100 +Subject: [PATCH] Only check for enchant-2 + +Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> +--- + configure.ac | 18 +++++------------- + 1 file changed, 5 insertions(+), 13 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 8ab413657..e1159d45e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -591,23 +591,15 @@ dnl enchant is used for spell checking + AC_MSG_CHECKING([whether to use enchant]) + AC_MSG_RESULT($enable_enchant) + if test $enable_enchant = yes; then +- PKG_CHECK_MODULES(ENCHANT, enchant >= 1.4.0, ++ PKG_CHECK_MODULES(ENCHANT, enchant-2 >= 2.0.0, + [ +- AC_DEFINE(USE_ENCHANT, 1, enchant) +- echo "Building with enchant" ++ AC_DEFINE(USE_ENCHANT, 1, enchant-2) ++ echo "Building with enchant-2" + enable_enchant=yes + ], + [ +- PKG_CHECK_MODULES(ENCHANT, enchant-2 >= 2.0.0, +- [ +- AC_DEFINE(USE_ENCHANT, 1, enchant-2) +- echo "Building with enchant-2" +- enable_enchant=yes +- ], +- [ +- echo "Building without enchant-notification" +- enable_enchant=no +- ]) ++ echo "Building without enchant-notification" ++ enable_enchant=no + ]) + AC_SUBST(ENCHANT_CFLAGS) + AC_SUBST(ENCHANT_LIBS) +-- +2.25.1 + diff --git a/mail-client/claws-mail/files/claws-mail-4.1.1-fix_lto.patch b/mail-client/claws-mail/files/claws-mail-4.1.1-fix_lto.patch new file mode 100644 index 000000000000..10fc79868dcc --- /dev/null +++ b/mail-client/claws-mail/files/claws-mail-4.1.1-fix_lto.patch @@ -0,0 +1,10 @@ +diff -Naur claws-mail-4.1.1.orig/src/common/utils.h claws-mail-4.1.1/src/common/utils.h +--- claws-mail-4.1.1.orig/src/common/utils.h 2022-05-06 12:11:04.000000000 +0200 ++++ claws-mail-4.1.1/src/common/utils.h 2022-11-18 15:52:41.647794172 +0100 +@@ -24,6 +24,7 @@ + #define __UTILS_H__ + + #ifdef HAVE_CONFIG_H ++# include "config.h" + #include "claws-features.h" + #endif diff --git a/mail-client/claws-mail/metadata.xml b/mail-client/claws-mail/metadata.xml new file mode 100644 index 000000000000..b701e08ed4c1 --- /dev/null +++ b/mail-client/claws-mail/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>voyageur@gentoo.org</email> + <name>Bernard Cafarelli</name> + </maintainer> + <use> + <flag name="archive">Enable archiving plugin</flag> + <flag name="bogofilter">Build <pkg>mail-filter/bogofilter</pkg> plugin</flag> + <flag name="libnotify">Enable notification on the desktop in connection with USE=notification</flag> + <flag name="litehtml">Enable <pkg>dev-libs/gumbo</pkg> html viewer plugin</flag> + <flag name="notification">Notification for new mail in different ways</flag> + <flag name="oauth">Enable OAuth2 authentication support</flag> + <flag name="pgp">Enable PGP support</flag> + <flag name="python">Enable plugin for Python scripting</flag> + <flag name="sieve">Build plugin for sieve filter support</flag> + <flag name="smime">Build plugin for S/MIME support</flag> + <flag name="spam-report">Enable plugin for spam reporting to various services</flag> + <flag name="spamassassin">Build <pkg>mail-filter/spamassassin</pkg> plugin</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:claws-mail:claws-mail</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/clawsker/Manifest b/mail-client/clawsker/Manifest new file mode 100644 index 000000000000..2f57b8d52aa8 --- /dev/null +++ b/mail-client/clawsker/Manifest @@ -0,0 +1,2 @@ +DIST clawsker-1.4.0.tar.xz 192680 BLAKE2B c29bb485f508635fd20e50d4d134b13b8656aa7096208174f043d3df21e9d5734b6bb332ac8809ec6b9f1bf8e9e6712dc04dc774e9fc10a0134895b458215cc9 SHA512 a704da011dfef08a0b143d709788a8dce2fcf94fa7873a4a25fe9a65d41ebfac2be76a9bd9e6fffe3d3435c300cd9b8e7c26e8c86e4442c94e73d4d6e2651792 +DIST clawsker-1.4.1.tar.xz 193520 BLAKE2B 2fef9318f034bba1856657a4c6c384eb1fa149654e88f63f20d1f4c8b2d02839427fc72f620c7abb7c16f604506e088523a0337f1f265e5b53a83403fb758552 SHA512 8d3863870a73e39269834d1e23da6d7224f199fc25d65a25d4aed307e1a1cf5b3ec1fb5380fcf919e18f210010b6e6955a727cbd92fc01e137b13224875400f8 diff --git a/mail-client/clawsker/clawsker-1.4.0.ebuild b/mail-client/clawsker/clawsker-1.4.0.ebuild new file mode 100644 index 000000000000..15b693a319ff --- /dev/null +++ b/mail-client/clawsker/clawsker-1.4.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit xdg + +DESCRIPTION="Applet to edit Claws Mail's hidden preferences" +HOMEPAGE="https://www.claws-mail.org/clawsker.php" +SRC_URI="https://www.claws-mail.org/tools/${P}.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-lang/perl + dev-perl/Gtk3 + dev-perl/Locale-gettext + >=dev-perl/File-Which-1.210 + mail-client/claws-mail +" +BDEPEND="test? ( + dev-perl/Test-Exception + dev-perl/Test-Perl-Critic + dev-perl/Test-Output )" + +PATCHES=( + # TODO: add Test::NeedsDisplay Perl package and remove this patch (bug #841707) + "${FILESDIR}/${PN}-remove-get_screen_height-test.patch" +) + +src_install() { + emake install DESTDIR="${D}" PREFIX=/usr +} diff --git a/mail-client/clawsker/clawsker-1.4.1.ebuild b/mail-client/clawsker/clawsker-1.4.1.ebuild new file mode 100644 index 000000000000..15b693a319ff --- /dev/null +++ b/mail-client/clawsker/clawsker-1.4.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit xdg + +DESCRIPTION="Applet to edit Claws Mail's hidden preferences" +HOMEPAGE="https://www.claws-mail.org/clawsker.php" +SRC_URI="https://www.claws-mail.org/tools/${P}.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-lang/perl + dev-perl/Gtk3 + dev-perl/Locale-gettext + >=dev-perl/File-Which-1.210 + mail-client/claws-mail +" +BDEPEND="test? ( + dev-perl/Test-Exception + dev-perl/Test-Perl-Critic + dev-perl/Test-Output )" + +PATCHES=( + # TODO: add Test::NeedsDisplay Perl package and remove this patch (bug #841707) + "${FILESDIR}/${PN}-remove-get_screen_height-test.patch" +) + +src_install() { + emake install DESTDIR="${D}" PREFIX=/usr +} diff --git a/mail-client/clawsker/files/clawsker-remove-get_screen_height-test.patch b/mail-client/clawsker/files/clawsker-remove-get_screen_height-test.patch new file mode 100644 index 000000000000..137699cdeb02 --- /dev/null +++ b/mail-client/clawsker/files/clawsker-remove-get_screen_height-test.patch @@ -0,0 +1,23 @@ +deleted file mode 100644 +--- a/t/get_screen_height.t ++++ /dev/null +@@ -1,19 +0,0 @@ +-use 5.010_000; +-use strict; +-use utf8; +-use Test::NeedsDisplay; +-use Test::More tests => 3; +-use Gtk3; +- +-require_ok ('Clawsker'); +- +-use Clawsker; +- +-Gtk3->init; +- +-ok ( defined &Clawsker::get_screen_height, 'has function' ); +- +-my $height = Clawsker::get_screen_height(); +- +-ok ( $height > 0, "has $height pixels" ); +- diff --git a/mail-client/clawsker/metadata.xml b/mail-client/clawsker/metadata.xml new file mode 100644 index 000000000000..e7778ddc74c3 --- /dev/null +++ b/mail-client/clawsker/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>voyageur@gentoo.org</email> + <name>Bernard Cafarelli</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/evolution/Manifest b/mail-client/evolution/Manifest new file mode 100644 index 000000000000..70c4107d48cd --- /dev/null +++ b/mail-client/evolution/Manifest @@ -0,0 +1,4 @@ +DIST evolution-3.56.2.tar.xz 13784172 BLAKE2B 6072b8000f6847d02669763c9d40b334af38e7761c2367510b5ed9a3f5ee12b61225072216380ccdae488d6095101839898a9ebb44bc19f79dcecef7b389c0d9 SHA512 ccfd0c4d8edd5efe2f94bac47459fb9b9b3020f8b1d3bb71057c5600f8ec764b18cd0bb451a37d5ee0e0f68e48873478e8714e919beeab8609754cc9d25dcdef +DIST evolution-3.58.3.tar.xz 13878984 BLAKE2B 3627b752299f95ccdaf07e9f2eea0df2913b1c70637aec777e978d8099116fdb9b66e11b0f35ca65d7b2f93ec2214e24d577254dc935b555a4f1f51992bfb216 SHA512 fdf53f7d0446dfe9a170ab0e9726361f3b5e3bea7322b57c7142af9aa034aa158d6db8bfc2c24169ccf40d521c42570535b4c0d9dde96c417d7c65ff8dc5c43b +DIST evolution-3.60.1.tar.xz 14146200 BLAKE2B c76109be97a8a53487dd2d7d3ce1ec83911061d1c0bc6b3a0a0c164c0661e65c1be72adf09d309b41dca32b545f36560e7e87122239922576ee84cd2f70ef369 SHA512 b9e2757ad66e7a7cda3488aa49536c7b32a1f5a777436c60028dfcf4c8fc38d13d7fdd255c3b7248db3d0fd2687ba5066aa2ce50d027622ebf1e370b9bd7aeb8 +DIST evolution-3.60.2.tar.xz 14150996 BLAKE2B 240b9eb3e8af0224fc9670e2184d97e57eead300bfeb7b374436104dc4cd3bb4e860bd351c63829b82168f581bb7fb57227d2bea49b9dcb08dd302c1ae8db90d SHA512 38666313d36cb12ab56f8f32488e7d1eddc34c4148b1c4d7099f44940ef225099bbfbf31b97be225f0d648f899f177550bb5bb3e055bc42d8d96e45d3100167a diff --git a/mail-client/evolution/evolution-3.56.2-r1.ebuild b/mail-client/evolution/evolution-3.56.2-r1.ebuild new file mode 100644 index 000000000000..0f14d41aecc1 --- /dev/null +++ b/mail-client/evolution/evolution-3.56.2-r1.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake gnome2 readme.gentoo-r1 + +DESCRIPTION="Integrated mail, addressbook and calendaring functionality" +HOMEPAGE="https://gitlab.gnome.org/GNOME/evolution/-/wikis/home https://gitlab.gnome.org/GNOME/evolution" + +# Note: explicitly "|| ( LGPL-2 LGPL-3 )", not "LGPL-2+". +LICENSE="|| ( LGPL-2 LGPL-3 ) CC-BY-SA-3.0 FDL-1.3+ OPENLDAP" +SLOT="2.0" + +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" + +IUSE="archive +bogofilter geolocation gtk-doc highlight ldap libnotify selinux sound spamassassin spell ssl +weather ytnef" + +# glade-3 support is for maintainers only per configure.ac +# pst is not mature enough and changes API/ABI frequently +# dconf explicitly needed for backup plugin +# gnome-desktop support is optional with --enable-gnome-desktop +# automagic libunity dep +# >=gspell-1.8 to ensure it uses enchant:2 like webkit-gtk +DEPEND=" + >=app-crypt/libsecret-0.5 + >=app-text/enchant-2.2.0:2 + >=dev-db/sqlite-3.7.17:3 + >=dev-libs/glib-2.70:2[dbus] + >=dev-libs/libxml2-2.7.3:2= + >=gnome-base/gnome-desktop-2.91.3:3= + >=gnome-base/gsettings-desktop-schemas-2.91.92 + >=gnome-extra/evolution-data-server-${PV}:=[gtk,sound?,weather?] + >=net-libs/libsoup-3.0:3.0 + >=net-libs/webkit-gtk-2.38.0:4.1[spell?] + >=x11-libs/cairo-1.9.15[glib] + >=x11-libs/gdk-pixbuf-2.24:2 + >=x11-libs/gtk+-3.22:3 + >=x11-misc/shared-mime-info-0.22 + + app-text/cmark:= + >=app-text/iso-codes-0.49 + >=app-accessibility/at-spi2-core-2.46.0:2 + + gnome-base/dconf + + archive? ( >=app-arch/gnome-autoar-0.1.1[gtk] ) + bogofilter? ( mail-filter/bogofilter ) + geolocation? ( + >=media-libs/libchamplain-0.12.21:0.12[gtk] + >=media-libs/clutter-1.0.0:1.0 + >=media-libs/clutter-gtk-0.90:1.0 + >=sci-geosciences/geocode-glib-3.26.3:2 ) + ldap? ( >=net-nds/openldap-2:= ) + libnotify? ( >=x11-libs/libnotify-0.7 ) + sound? ( + || ( + media-libs/libcanberra-gtk3 + >=media-libs/libcanberra-0.25[gtk3(-)] + ) + ) + spamassassin? ( mail-filter/spamassassin ) + spell? ( >=app-text/gspell-1.8:= ) + ssl? ( + >=dev-libs/nspr-4.6.1 + >=dev-libs/nss-3.11 + ) + weather? ( + >=dev-libs/libgweather-4.2.0:4= + >=sci-geosciences/geocode-glib-3.26.3:2 + ) + ytnef? ( net-mail/ytnef ) +" +RDEPEND="${DEPEND} + highlight? ( app-text/highlight ) + selinux? ( sec-policy/selinux-evolution ) +" +BDEPEND=" + app-text/docbook-xml-dtd:4.1.2 + >=dev-util/gdbus-codegen-2.80.5-r1 + dev-util/glib-utils + dev-util/itstool + gtk-doc? ( dev-util/gtk-doc + app-text/docbook-xml-dtd:4.3 ) + >=dev-util/intltool-0.40.0 + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS="To change the default browser if you are not using GNOME, edit +~/.local/share/applications/mimeapps.list so it includes the +following content: + +[Default Applications] +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop + +(replace firefox.desktop with the name of the appropriate .desktop +file from /usr/share/applications if you use a different browser)." + +# global scope PATCHES or DOCS array mustn't be used due to double default_src_prepare +# call; if needed, set them after cmake_src_prepare call, if that works + +src_prepare() { + # libnotify is automagically detected, but a quick and easy way to + # force-disable it is to delete the "yes it's there" variable from + # CMakeLists.txt. + use libnotify || sed '/HAVE_LIBNOTIFY/d' -i CMakeLists.txt || die + + cmake_src_prepare + gnome2_src_prepare +} + +src_configure() { + # Use NSS/NSPR only if 'ssl' is enabled. + local mycmakeargs=( + -DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc + -DENABLE_SCHEMAS_COMPILE=OFF + -DENABLE_GTK_DOC=$(usex gtk-doc) + -DWITH_OPENLDAP=$(usex ldap) + -DENABLE_SMIME=$(usex ssl) + -DENABLE_GNOME_DESKTOP=ON + -DWITH_ENCHANT_VERSION=2 + -DENABLE_CANBERRA=$(usex sound) + -DENABLE_AUTOAR=$(usex archive) + -DWITH_HELP=ON + -DENABLE_YTNEF=OFF + -DWITH_BOGOFILTER=$(usex bogofilter) + -DWITH_SPAMASSASSIN=$(usex spamassassin) + -DENABLE_GSPELL=$(usex spell) + -DENABLE_TEXT_HIGHLIGHT=$(usex highlight) + -DENABLE_WEATHER=$(usex weather) + -DENABLE_CONTACT_MAPS=$(usex geolocation) + -DENABLE_YTNEF=$(usex ytnef) + -DENABLE_PST_IMPORT=OFF + -DWITH_GLADE_CATALOG=OFF + -DENABLE_MARKDOWN=ON + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +src_test() { + cmake_src_test +} + +src_install() { + cmake_src_install + readme.gentoo_create_doc +} + +pkg_postinst() { + gnome2_pkg_postinst + readme.gentoo_print_elog +} diff --git a/mail-client/evolution/evolution-3.58.3.ebuild b/mail-client/evolution/evolution-3.58.3.ebuild new file mode 100644 index 000000000000..a61f075b5b09 --- /dev/null +++ b/mail-client/evolution/evolution-3.58.3.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake gnome2 readme.gentoo-r1 + +DESCRIPTION="Integrated mail, addressbook and calendaring functionality" +HOMEPAGE="https://gitlab.gnome.org/GNOME/evolution/-/wikis/home https://gitlab.gnome.org/GNOME/evolution" + +# Note: explicitly "|| ( LGPL-2 LGPL-3 )", not "LGPL-2+". +LICENSE="|| ( LGPL-2 LGPL-3 ) CC-BY-SA-3.0 FDL-1.3+ OPENLDAP" +SLOT="2.0" + +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86" + +IUSE="archive +bogofilter geolocation gtk-doc highlight ldap libnotify selinux sound spamassassin spell ssl +weather ytnef" + +# glade-3 support is for maintainers only per configure.ac +# pst is not mature enough and changes API/ABI frequently +# dconf explicitly needed for backup plugin +# gnome-desktop support is optional with --enable-gnome-desktop +# automagic libunity dep +# >=gspell-1.8 to ensure it uses enchant:2 like webkit-gtk +DEPEND=" + >=app-crypt/libsecret-0.5 + >=app-text/enchant-2.2.0:2 + >=dev-db/sqlite-3.7.17:3 + >=dev-libs/glib-2.70:2[dbus] + >=dev-libs/libxml2-2.7.3:2= + >=gnome-base/gnome-desktop-2.91.3:3= + >=gnome-base/gsettings-desktop-schemas-2.91.92 + >=gnome-extra/evolution-data-server-${PV}:=[gtk,sound?,weather?] + >=net-libs/libsoup-3.0:3.0 + >=net-libs/webkit-gtk-2.40.0:4.1[spell?] + >=x11-libs/cairo-1.9.15[glib] + >=x11-libs/gdk-pixbuf-2.24:2 + >=x11-libs/gtk+-3.22:3 + >=x11-misc/shared-mime-info-0.22 + + app-text/cmark:= + >=app-text/iso-codes-0.49 + >=app-accessibility/at-spi2-core-2.46.0:2 + + gnome-base/dconf + + archive? ( >=app-arch/gnome-autoar-0.1.1[gtk] ) + bogofilter? ( mail-filter/bogofilter ) + geolocation? ( + >=media-libs/libchamplain-0.12.21:0.12[gtk] + >=media-libs/clutter-1.0.0:1.0 + >=media-libs/clutter-gtk-0.90:1.0 + >=sci-geosciences/geocode-glib-3.26.3:2 ) + ldap? ( >=net-nds/openldap-2:= ) + libnotify? ( >=x11-libs/libnotify-0.7 ) + sound? ( + || ( + media-libs/libcanberra-gtk3 + >=media-libs/libcanberra-0.25[gtk3(-)] + ) + ) + spamassassin? ( mail-filter/spamassassin ) + spell? ( >=app-text/gspell-1.8:= ) + ssl? ( + >=dev-libs/nspr-4.6.1 + >=dev-libs/nss-3.11 + ) + weather? ( + >=dev-libs/libgweather-4.2.0:4= + >=sci-geosciences/geocode-glib-3.26.3:2 + ) + ytnef? ( net-mail/ytnef ) +" +RDEPEND="${DEPEND} + highlight? ( app-text/highlight ) + selinux? ( sec-policy/selinux-evolution ) +" +BDEPEND=" + app-text/docbook-xml-dtd:4.1.2 + >=dev-util/gdbus-codegen-2.80.5-r1 + dev-util/glib-utils + dev-util/itstool + gtk-doc? ( dev-util/gtk-doc + app-text/docbook-xml-dtd:4.3 ) + >=dev-util/intltool-0.40.0 + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS="To change the default browser if you are not using GNOME, edit +~/.local/share/applications/mimeapps.list so it includes the +following content: + +[Default Applications] +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop + +(replace firefox.desktop with the name of the appropriate .desktop +file from /usr/share/applications if you use a different browser)." + +# global scope PATCHES or DOCS array mustn't be used due to double default_src_prepare +# call; if needed, set them after cmake_src_prepare call, if that works + +src_prepare() { + cmake_src_prepare + gnome2_src_prepare +} + +src_configure() { + # Use NSS/NSPR only if 'ssl' is enabled. + local mycmakeargs=( + -DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc + -DENABLE_SCHEMAS_COMPILE=OFF + -DENABLE_GTK_DOC=$(usex gtk-doc) + -DWITH_OPENLDAP=$(usex ldap) + -DENABLE_SMIME=$(usex ssl) + -DENABLE_GNOME_DESKTOP=ON + -DWITH_ENCHANT_VERSION=2 + -DENABLE_CANBERRA=$(usex sound) + -DENABLE_AUTOAR=$(usex archive) + -DWITH_HELP=ON + -DENABLE_YTNEF=OFF + -DWITH_BOGOFILTER=$(usex bogofilter) + -DWITH_SPAMASSASSIN=$(usex spamassassin) + -DENABLE_GSPELL=$(usex spell) + -DENABLE_TEXT_HIGHLIGHT=$(usex highlight) + -DENABLE_WEATHER=$(usex weather) + -DENABLE_CONTACT_MAPS=$(usex geolocation) + -DENABLE_YTNEF=$(usex ytnef) + -DENABLE_PST_IMPORT=OFF + -DWITH_GLADE_CATALOG=OFF + -DENABLE_MARKDOWN=ON + -DENABLE_LIBNOTIFY=$(usex libnotify) + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +src_test() { + cmake_src_test +} + +src_install() { + cmake_src_install + readme.gentoo_create_doc +} + +pkg_postinst() { + gnome2_pkg_postinst + readme.gentoo_print_elog +} diff --git a/mail-client/evolution/evolution-3.60.1.ebuild b/mail-client/evolution/evolution-3.60.1.ebuild new file mode 100644 index 000000000000..4a4c81081ad8 --- /dev/null +++ b/mail-client/evolution/evolution-3.60.1.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake gnome2 readme.gentoo-r1 + +DESCRIPTION="Integrated mail, addressbook and calendaring functionality" +HOMEPAGE="https://gitlab.gnome.org/GNOME/evolution/-/wikis/home https://gitlab.gnome.org/GNOME/evolution" + +# Note: explicitly "|| ( LGPL-2 LGPL-3 )", not "LGPL-2+". +LICENSE="|| ( LGPL-2 LGPL-3 ) CC-BY-SA-3.0 FDL-1.3+ OPENLDAP" +SLOT="2.0" + +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + +IUSE="archive +bogofilter geolocation gtk-doc highlight ldap libnotify selinux sound spamassassin spell ssl +weather ytnef" + +# glade-3 support is for maintainers only per configure.ac +# pst is not mature enough and changes API/ABI frequently +# dconf explicitly needed for backup plugin +# gnome-desktop support is optional with --enable-gnome-desktop +# automagic libunity dep +# >=gspell-1.8 to ensure it uses enchant:2 like webkit-gtk +DEPEND=" + >=app-crypt/libsecret-0.5 + >=app-text/enchant-2.2.0:2 + >=dev-db/sqlite-3.7.17:3 + >=dev-libs/glib-2.70:2[dbus] + >=dev-libs/libxml2-2.7.3:2= + >=gnome-base/gnome-desktop-2.91.3:3= + >=gnome-base/gsettings-desktop-schemas-2.91.92 + >=gnome-extra/evolution-data-server-${PV}:=[gtk,sound?,weather?] + >=net-libs/libsoup-3.0:3.0 + >=net-libs/webkit-gtk-2.40.0:4.1[spell?] + >=x11-libs/cairo-1.9.15[glib] + >=x11-libs/gdk-pixbuf-2.24:2 + >=x11-libs/gtk+-3.22:3 + >=x11-misc/shared-mime-info-0.22 + + app-text/cmark:= + >=app-text/iso-codes-0.49 + >=app-accessibility/at-spi2-core-2.46.0:2 + + gnome-base/dconf + + archive? ( >=app-arch/gnome-autoar-0.1.1 ) + bogofilter? ( mail-filter/bogofilter ) + geolocation? ( + >=media-libs/libchamplain-0.12.21:0.12[gtk] + >=media-libs/clutter-1.0.0:1.0 + >=media-libs/clutter-gtk-0.90:1.0 + >=sci-geosciences/geocode-glib-3.26.3:2 ) + ldap? ( >=net-nds/openldap-2:= ) + libnotify? ( >=x11-libs/libnotify-0.7 ) + sound? ( + || ( + media-libs/libcanberra-gtk3 + >=media-libs/libcanberra-0.25[gtk3(-)] + ) + ) + spamassassin? ( mail-filter/spamassassin ) + spell? ( >=app-text/gspell-1.8:= ) + ssl? ( + >=dev-libs/nspr-4.6.1 + >=dev-libs/nss-3.11 + ) + weather? ( + >=dev-libs/libgweather-4.2.0:4= + >=sci-geosciences/geocode-glib-3.26.3:2 + ) + ytnef? ( net-mail/ytnef ) +" +RDEPEND="${DEPEND} + highlight? ( app-text/highlight ) + selinux? ( sec-policy/selinux-evolution ) +" +BDEPEND=" + app-text/docbook-xml-dtd:4.1.2 + >=dev-util/gdbus-codegen-2.80.5-r1 + dev-util/glib-utils + dev-util/itstool + gtk-doc? ( dev-util/gtk-doc + app-text/docbook-xml-dtd:4.3 ) + >=dev-util/intltool-0.40.0 + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS="To change the default browser if you are not using GNOME, edit +~/.local/share/applications/mimeapps.list so it includes the +following content: + +[Default Applications] +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop + +(replace firefox.desktop with the name of the appropriate .desktop +file from /usr/share/applications if you use a different browser)." + +# global scope PATCHES or DOCS array mustn't be used due to double default_src_prepare +# call; if needed, set them after cmake_src_prepare call, if that works + +src_prepare() { + cmake_src_prepare + gnome2_src_prepare +} + +src_configure() { + # Use NSS/NSPR only if 'ssl' is enabled. + local mycmakeargs=( + -DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc + -DENABLE_SCHEMAS_COMPILE=OFF + -DENABLE_GTK_DOC=$(usex gtk-doc) + -DWITH_OPENLDAP=$(usex ldap) + -DENABLE_SMIME=$(usex ssl) + -DENABLE_GNOME_DESKTOP=ON + -DWITH_ENCHANT_VERSION=2 + -DENABLE_CANBERRA=$(usex sound) + -DENABLE_AUTOAR=$(usex archive) + -DWITH_HELP=ON + -DENABLE_YTNEF=OFF + -DWITH_BOGOFILTER=$(usex bogofilter) + -DWITH_SPAMASSASSIN=$(usex spamassassin) + -DENABLE_GSPELL=$(usex spell) + -DENABLE_TEXT_HIGHLIGHT=$(usex highlight) + -DENABLE_WEATHER=$(usex weather) + -DENABLE_CONTACT_MAPS=$(usex geolocation) + -DENABLE_YTNEF=$(usex ytnef) + -DENABLE_PST_IMPORT=OFF + -DWITH_GLADE_CATALOG=OFF + -DENABLE_MARKDOWN=ON + -DENABLE_LIBNOTIFY=$(usex libnotify) + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +src_test() { + cmake_src_test +} + +src_install() { + cmake_src_install + readme.gentoo_create_doc +} + +pkg_postinst() { + gnome2_pkg_postinst + readme.gentoo_print_elog +} diff --git a/mail-client/evolution/evolution-3.60.2.ebuild b/mail-client/evolution/evolution-3.60.2.ebuild new file mode 100644 index 000000000000..bab2274caffe --- /dev/null +++ b/mail-client/evolution/evolution-3.60.2.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake gnome2 greadme + +DESCRIPTION="Integrated mail, addressbook and calendaring functionality" +HOMEPAGE="https://gitlab.gnome.org/GNOME/evolution/-/wikis/home https://gitlab.gnome.org/GNOME/evolution" + +# Note: explicitly "|| ( LGPL-2 LGPL-3 )", not "LGPL-2+". +LICENSE="|| ( LGPL-2 LGPL-3 ) CC-BY-SA-3.0 FDL-1.3+ OPENLDAP" + +SLOT="2.0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="archive +bogofilter geolocation gtk-doc highlight ldap libnotify selinux sound spamassassin spell ssl +weather ytnef" + +# glade-3 support is for maintainers only per configure.ac +# pst is not mature enough and changes API/ABI frequently +# dconf explicitly needed for backup plugin +# gnome-desktop support is optional with --enable-gnome-desktop +# automagic libunity dep +# >=gspell-1.8 to ensure it uses enchant:2 like webkit-gtk +DEPEND=" + >=app-crypt/libsecret-0.5 + >=app-text/enchant-2.2.0:2 + >=dev-db/sqlite-3.7.17:3 + >=dev-libs/glib-2.70:2[dbus] + >=dev-libs/libxml2-2.7.3:2= + >=gnome-base/gnome-desktop-2.91.3:3= + >=gnome-base/gsettings-desktop-schemas-2.91.92 + >=gnome-extra/evolution-data-server-${PV}:=[gtk,sound?,weather?] + >=net-libs/libsoup-3.0:3.0 + >=net-libs/webkit-gtk-2.40.0:4.1[spell?] + >=x11-libs/cairo-1.9.15[glib] + >=x11-libs/gdk-pixbuf-2.24:2 + >=x11-libs/gtk+-3.22:3 + >=x11-misc/shared-mime-info-0.22 + + app-text/cmark:= + >=app-text/iso-codes-0.49 + >=app-accessibility/at-spi2-core-2.46.0:2 + + gnome-base/dconf + + archive? ( >=app-arch/gnome-autoar-0.1.1 ) + bogofilter? ( mail-filter/bogofilter ) + geolocation? ( + >=media-libs/libchamplain-0.12.21:0.12[gtk] + >=media-libs/clutter-1.0.0:1.0 + >=media-libs/clutter-gtk-0.90:1.0 + >=sci-geosciences/geocode-glib-3.26.3:2 ) + ldap? ( >=net-nds/openldap-2:= ) + libnotify? ( >=x11-libs/libnotify-0.7 ) + sound? ( + || ( + media-libs/libcanberra-gtk3 + >=media-libs/libcanberra-0.25[gtk3(-)] + ) + ) + spamassassin? ( mail-filter/spamassassin ) + spell? ( >=app-text/gspell-1.8:= ) + ssl? ( + >=dev-libs/nspr-4.6.1 + >=dev-libs/nss-3.11 + ) + weather? ( + >=dev-libs/libgweather-4.2.0:4= + >=sci-geosciences/geocode-glib-3.26.3:2 + ) + ytnef? ( net-mail/ytnef ) +" +RDEPEND="${DEPEND} + highlight? ( app-text/highlight ) + selinux? ( sec-policy/selinux-evolution ) +" +BDEPEND=" + app-text/docbook-xml-dtd:4.1.2 + >=dev-util/gdbus-codegen-2.80.5-r1 + dev-util/glib-utils + dev-util/itstool + gtk-doc? ( + dev-util/gtk-doc + app-text/docbook-xml-dtd:4.3 + ) + >=dev-util/intltool-0.40.0 + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +# global scope PATCHES or DOCS array mustn't be used due to double default_src_prepare +# call; if needed, set them after cmake_src_prepare call, if that works +src_prepare() { + cmake_src_prepare + gnome2_src_prepare +} + +src_configure() { + # Use NSS/NSPR only if 'ssl' is enabled. + local mycmakeargs=( + -DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc + -DENABLE_SCHEMAS_COMPILE=OFF + -DENABLE_GTK_DOC=$(usex gtk-doc) + -DWITH_OPENLDAP=$(usex ldap) + -DENABLE_SMIME=$(usex ssl) + -DENABLE_GNOME_DESKTOP=ON + -DWITH_ENCHANT_VERSION=2 + -DENABLE_CANBERRA=$(usex sound) + -DENABLE_AUTOAR=$(usex archive) + -DWITH_HELP=ON + -DENABLE_YTNEF=OFF + -DWITH_BOGOFILTER=$(usex bogofilter) + -DWITH_SPAMASSASSIN=$(usex spamassassin) + -DENABLE_GSPELL=$(usex spell) + -DENABLE_TEXT_HIGHLIGHT=$(usex highlight) + -DENABLE_WEATHER=$(usex weather) + -DENABLE_CONTACT_MAPS=$(usex geolocation) + -DENABLE_YTNEF=$(usex ytnef) + -DENABLE_PST_IMPORT=OFF + -DWITH_GLADE_CATALOG=OFF + -DENABLE_MARKDOWN=ON + -DENABLE_LIBNOTIFY=$(usex libnotify) + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +src_test() { + cmake_src_test +} + +src_install() { + cmake_src_install + greadme_stdin <<-EOF + To change the default browser if you are not using GNOME, edit + ~/.local/share/applications/mimeapps.list so it includes the + following content: + + [Default Applications] + x-scheme-handler/http=firefox.desktop + x-scheme-handler/https=firefox.desktop + + (replace firefox.desktop with the name of the appropriate .desktop + file from /usr/share/applications if you use a different browser). +EOF +} + +pkg_preinst() { + gnome2_pkg_preinst + greadme_pkg_preinst +} + +pkg_postinst() { + gnome2_pkg_postinst + greadme_pkg_postinst +} diff --git a/mail-client/evolution/metadata.xml b/mail-client/evolution/metadata.xml new file mode 100644 index 000000000000..05883a9cb878 --- /dev/null +++ b/mail-client/evolution/metadata.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>gnome@gentoo.org</email> + <name>Gentoo GNOME Desktop</name> + </maintainer> + <use> + <flag name="archive">Enable archives support in attachments via <pkg>app-arch/gnome-autoar</pkg> + </flag> + <flag name="bogofilter">Build <pkg>mail-filter/bogofilter</pkg> plugin</flag> + <flag name="geolocation">Enable support for displaying contacts on a map inside evolution using <pkg>media-libs/libchamplain</pkg> + </flag> + <flag name="highlight">Enable text highlighting plugin</flag> + <flag name="ldap">Enable support for fetching contacts from an LDAP or Active Directory server using <pkg>net-nds/openldap</pkg> + </flag> + <flag name="libnotify">Enable desktop notifications through <pkg>x11-libs/libnotify</pkg> + </flag> + <flag name="spamassassin">Build <pkg>mail-filter/spamassassin</pkg> plugin</flag> + <flag name="sound">Enable sound notifications using <pkg>media-libs/libcanberra-gtk3</pkg> + </flag> + <flag name="weather">Enable optional weather calendar support</flag> + <flag name="ytnef">Enable optional TNEF attachments parser support using <pkg>net-mail/ytnef</pkg> + </flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:gnome:evolution</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/geary/Manifest b/mail-client/geary/Manifest new file mode 100644 index 000000000000..9464b6dc384f --- /dev/null +++ b/mail-client/geary/Manifest @@ -0,0 +1 @@ +DIST geary-46.0.tar.xz 2489980 BLAKE2B 830ab145e7fc84107ae8d712b021180fb564dff382f4e38df3a7f55dc0a0a6257414694d3a90c50ac71a4fe7c6867659453b4db3af3a0a908d8f66b28bfd24a5 SHA512 1a9758763c918bd6cb527cb1bbf77ff22c41bd076ae9d1bb0118d328b2b443c0e1106f9a17d517d73102ce7d6b5a42cfa5d51a4cace5c0d0b43262056876845d diff --git a/mail-client/geary/geary-46.0-r1.ebuild b/mail-client/geary/geary-46.0-r1.ebuild new file mode 100644 index 000000000000..86309fcdb049 --- /dev/null +++ b/mail-client/geary/geary-46.0-r1.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome.org gnome2-utils meson vala virtualx xdg + +DESCRIPTION="A lightweight, easy-to-use, feature-rich email client" +HOMEPAGE="https://gitlab.gnome.org/GNOME/geary" + +LICENSE="LGPL-2.1+ CC-BY-3.0 CC-BY-SA-3.0" # code is LGPL-2.1+, CC licenses for some icons +SLOT="0" +KEYWORDS="amd64 arm64 x86" +IUSE="test ytnef" +RESTRICT="!test? ( test )" + +# >=gspell-1.7 dep to ensure all libraries used use enchant:2 +DEPEND=" + >=dev-libs/glib-2.68:2 + >=x11-libs/gtk+-3.24.24:3 + >=net-libs/webkit-gtk-2.38:4.1= + >=dev-libs/gmime-3.2.4:3.0 + >=dev-db/sqlite-3.24:3 + + x11-libs/cairo[glib] + app-text/enchant:2 + >=dev-libs/folks-0.11:0= + >=app-crypt/gcr-3.10.1:0= + >=dev-libs/libgee-0.8.5:0.8= + net-libs/gnome-online-accounts + media-libs/gsound + >=app-text/gspell-1.7:= + >=dev-libs/icu-60:= + app-text/iso-codes + >=dev-libs/json-glib-1.0 + >=gui-libs/libhandy-1.2.1:1= + >=dev-libs/libpeas-1.24.0:0 + >=app-crypt/libsecret-0.11 + net-libs/libsoup:3.0 + dev-libs/snowball-stemmer:= + >=dev-libs/libxml2-2.7.8:2= + ytnef? ( >=net-mail/ytnef-1.9.3 ) +" +RDEPEND="${DEPEND} + gnome-base/gsettings-desktop-schemas +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-libs/appstream-glib-0.7.10 + dev-libs/libxml2 + dev-util/itstool + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + test? ( net-libs/gnutls[tools] ) + + $(vala_depend) + x11-libs/gtk+:3[introspection] + net-libs/webkit-gtk:4.1[introspection] + dev-libs/gmime:3.0[vala] + app-crypt/gcr:0[introspection,vala] + dev-libs/libgee:0.8[introspection] + media-libs/gsound[vala] + app-text/gspell[vala] + gui-libs/libhandy:1[vala] + app-crypt/libsecret[introspection,vala] + net-libs/libsoup:3.0[introspection,vala] +" + +src_prepare() { + vala_setup + gnome2_environment_reset + default +} + +src_configure() { + local emesonargs=( + -Dprofile=release + -Drevno="${PR}" + -Dvaladoc=disabled + -Dcontractor=disabled + -Dlibunwind=disabled + $(meson_feature ytnef tnef) + ) + + meson_src_configure +} + +src_test() { + virtx meson_src_test +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/mail-client/geary/geary-46.0-r2.ebuild b/mail-client/geary/geary-46.0-r2.ebuild new file mode 100644 index 000000000000..a40ff3389115 --- /dev/null +++ b/mail-client/geary/geary-46.0-r2.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome.org gnome2-utils meson vala virtualx xdg + +DESCRIPTION="A lightweight, easy-to-use, feature-rich email client" +HOMEPAGE="https://gitlab.gnome.org/GNOME/geary" + +LICENSE="LGPL-2.1+ CC-BY-3.0 CC-BY-SA-3.0" # code is LGPL-2.1+, CC licenses for some icons +SLOT="0" +KEYWORDS="~amd64 ~arm64 x86" +IUSE="test ytnef" +RESTRICT="!test? ( test )" + +# >=gspell-1.7 dep to ensure all libraries used use enchant:2 +DEPEND=" + >=dev-libs/glib-2.68:2 + >=x11-libs/gtk+-3.24.24:3 + >=net-libs/webkit-gtk-2.38:4.1= + >=dev-libs/gmime-3.2.4:3.0 + >=dev-db/sqlite-3.24:3 + + x11-libs/cairo[glib] + >=app-text/enchant-2.1:2 + >=dev-libs/folks-0.11:0= + >=app-crypt/gcr-3.10.1:0=[vala] + >=dev-libs/libgee-0.8.5:0.8= + net-libs/gnome-online-accounts[vala] + media-libs/gsound + >=app-text/gspell-1.7:= + >=dev-libs/icu-60:= + app-text/iso-codes + >=dev-libs/json-glib-1.0 + >=gui-libs/libhandy-1.2.1:1=[vala] + >=dev-libs/libpeas-1.24.0:0= + >=app-crypt/libsecret-0.11 + net-libs/libsoup:3.0 + dev-libs/snowball-stemmer:= + >=dev-libs/libxml2-2.7.8:2= + ytnef? ( >=net-mail/ytnef-1.9.3 ) +" +RDEPEND="${DEPEND} + gnome-base/gsettings-desktop-schemas +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-libs/appstream-glib-0.7.10 + dev-util/itstool + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + test? ( net-libs/gnutls[tools] ) + + $(vala_depend) + x11-libs/gtk+:3[introspection] + >=net-libs/webkit-gtk-2.30:4.1[introspection] + dev-libs/gmime:3.0[vala] + >=app-crypt/gcr-3.10:0[introspection,vala] + >=dev-libs/libgee-0.8.5:0.8[introspection] + media-libs/gsound[vala] + app-text/gspell[vala] + gui-libs/libhandy:1[vala] + app-crypt/libsecret[introspection,vala] + net-libs/libsoup:3.0[introspection,vala] +" + +src_prepare() { + vala_setup + gnome2_environment_reset + default +} + +src_configure() { + local emesonargs=( + -Dprofile=release + -Drevno="${PR}" + -Dvaladoc=disabled + -Dcontractor=disabled + -Dlibunwind=disabled + $(meson_feature ytnef tnef) + ) + + meson_src_configure +} + +src_test() { + virtx meson_src_test +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/mail-client/geary/metadata.xml b/mail-client/geary/metadata.xml new file mode 100644 index 000000000000..4443c1f2f4a9 --- /dev/null +++ b/mail-client/geary/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>gnome@gentoo.org</email> + <name>Gentoo GNOME Desktop</name> + </maintainer> + <use> + <flag name="ytnef">Enable optional TNEF attachments parser support using <pkg>net-mail/ytnef</pkg> + </flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:gnome:geary</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/hap/Manifest b/mail-client/hap/Manifest new file mode 100644 index 000000000000..47f68d01d65f --- /dev/null +++ b/mail-client/hap/Manifest @@ -0,0 +1 @@ +DIST hap-3.7.tar 194560 BLAKE2B bf043963ccc0407de0f989ee0d3a4342520603c02fd53d875e41890bfe961ee8d05e355862a00c3be687228d6a69be6c2817d231871e6d26b9c4b500d925cc0d SHA512 3a42b8ae5d4c96812190e0551df289ad748c11f93d7632de1698437246723fd159a3f1a0b6f06c925b31ce8e389b73bc0b3a68f978570ae5d9f283d1651fa42b diff --git a/mail-client/hap/files/hap-3.7-ncurses.patch b/mail-client/hap/files/hap-3.7-ncurses.patch new file mode 100644 index 000000000000..3bd3efa3a1e4 --- /dev/null +++ b/mail-client/hap/files/hap-3.7-ncurses.patch @@ -0,0 +1,14 @@ +--- a/configure.in 1996-07-17 00:50:03.000000000 +0300 ++++ b/configure.in 2013-03-06 15:09:29.579148360 +0200 +@@ -6,8 +6,9 @@ + AC_PROG_INSTALL + + dnl Checks for libraries. +-dnl Replace `main' with a function in -ltermcap: +-AC_CHECK_LIB(termcap, tputs) ++dnl Replace `main' with a function in -lncurses or -ltinfo ++AC_CHECK_LIB(ncurses, tputs,, ++ [AC_CHECK_LIB(tinfo, tputs)]) + + dnl Checks for header files. + AC_CHECK_HEADERS(sgtty.h unistd.h libc.h termcap.h strings.h string.h dirent.h sys/ioctl.h) diff --git a/mail-client/hap/hap-3.7-r1.ebuild b/mail-client/hap/hap-3.7-r1.ebuild new file mode 100644 index 000000000000..db2b4ce3e91d --- /dev/null +++ b/mail-client/hap/hap-3.7-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="A terminal mail notification program (replacement for biff)" +HOMEPAGE="http://www.transbay.net/~enf/sw.html" +SRC_URI="http://www.transbay.net/~enf/${P}.tar" + +DEPEND="sys-libs/ncurses:0=" +RDEPEND="${DEPEND}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc x86" + +S="${WORKDIR}/${PN}" + +src_prepare() { + # Fix configure to use ncurses instead of termcap (bug #103105) + eapply "${FILESDIR}/${P}-ncurses.patch" + + # Fix Makefile.in to use our CFLAGS and LDFLAGS + sed -i -e "s/^CFLAGS=-O/CFLAGS=${CFLAGS}/" \ + -e "s/^LDFLAGS=.*/LDFLAGS=${LDFLAGS}/" Makefile.in || die + + # Rebuild the compilation framework + default + eautoreconf +} + +src_install() { + dobin hap + doman hap.1 + dodoc README HISTORY +} diff --git a/mail-client/hap/metadata.xml b/mail-client/hap/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/mail-client/hap/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/mailspring-bin/Manifest b/mail-client/mailspring-bin/Manifest new file mode 100644 index 000000000000..61798a6e124b --- /dev/null +++ b/mail-client/mailspring-bin/Manifest @@ -0,0 +1,4 @@ +DIST mailspring-1.19.1-amd64.deb 140368484 BLAKE2B 214d42d01604c6d843d788d41bdc5d0c30722546b081941ac1734cd0f60a630290024a2f492a929fe49fae8befa39012338b0d3a1bf8fefcb491c117f3d97628 SHA512 b016a8bd18bee82d59a6ea10ac688c1b84266bde10becfdfdcb2b0af357a5f5acc235cf98413a239d467bab3fbda62d80873df2b6fc260b77601616d626feaf1 +DIST mailspring-1.19.1-arm64.deb 138714700 BLAKE2B 8abd920849905f65bf9aef869c2d4278764d36d03de41dfff3726039948759a818939c246d4aa0c559d6209f66048a648f2cc134e661cce1e40619d6a1d51439 SHA512 3d418de99c947b403c02b7772eba223b3016e265bc6eac09fb23b9453d2565f0c5ac7766d163b9c3d54794fcc0f9f8a89644c4b867514722cb5f6f23e480e0a9 +DIST mailspring-1.21.1-amd64.deb 136872398 BLAKE2B 63add84ec3db27b5b80f7ad975adea9fd19ad4c2e01502db5af5fbbaac748ce11a831d09fc09b3f496146aeb894895eadca4078f7edb6cbad36e164352175def SHA512 6deeb8224104258a685113b857c36f4582d9cd095616212d603555ef549a4c05b594cdfbfc873b5c9f7eaf23b4b71f1309934a1ae94649ec087623b255a0addb +DIST mailspring-1.21.1-arm64.deb 135319496 BLAKE2B 473852733f4c1d4e4205c8840d378f8f715a5218ef4f613a963fc390819f1d9843070c05c3e7c15789502b07c03c41f28513d59602f5f70f9a600bbfbe30efa6 SHA512 e763bd52746f656686ade6afed5365a60ff4988880f45fcf0c6e9c9701d3bd508887e75f2de09b1e9d9cca23bac9c7608a88fe86bf73b34189e8fd29fc3860cb diff --git a/mail-client/mailspring-bin/mailspring-bin-1.19.1.ebuild b/mail-client/mailspring-bin/mailspring-bin-1.19.1.ebuild new file mode 100644 index 000000000000..65775f3244a0 --- /dev/null +++ b/mail-client/mailspring-bin/mailspring-bin-1.19.1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit unpacker xdg + +DESCRIPTION="A beautiful, fast and fully open source mail client for Mac, Windows and Linux" +HOMEPAGE="https://getmailspring.com/" +SRC_URI=" + amd64? ( https://github.com/Foundry376/Mailspring/releases/download/${PV}/mailspring-${PV}-amd64.deb ) + arm64? ( https://github.com/Foundry376/Mailspring/releases/download/${PV}/mailspring-${PV}-arm64.deb ) +" +S="${WORKDIR}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="+wayland" + +RDEPEND=" + app-accessibility/at-spi2-core:2 + app-crypt/mit-krb5 + app-text/htmltidy + dev-build/libtool + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + dev-libs/openssl + gnome-base/gvfs + media-libs/alsa-lib + media-libs/mesa + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/db:5.3 + x11-libs/cairo + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/pango + x11-misc/xdg-utils +" + +QA_PREBUILT="*" + +src_unpack(){ + unpack_deb ${A} +} + +src_prepare(){ + default + if use wayland; then + sed -i "s|Exec=mailspring %U|Exec=mailspring --ozone-platform-hint=auto --enable-wayland-ime %U|g" \ + "${S}/usr/share/applications/Mailspring.desktop" || die + fi + + mv "${S}/usr/share/doc/mailspring" "${S}/usr/share/doc/${PF}" || die + mv "${S}/usr/share/appdata" "${S}/usr/share/metainfo" || die +} + +src_install(){ + cp -R "${S}"/* "${D}" || die "Installing binary files failed" +} diff --git a/mail-client/mailspring-bin/mailspring-bin-1.21.1.ebuild b/mail-client/mailspring-bin/mailspring-bin-1.21.1.ebuild new file mode 100644 index 000000000000..a40c3bc5d6b4 --- /dev/null +++ b/mail-client/mailspring-bin/mailspring-bin-1.21.1.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit unpacker xdg + +DESCRIPTION="A beautiful, fast and fully open source mail client for Mac, Windows and Linux" +HOMEPAGE="https://getmailspring.com/" +SRC_URI=" + amd64? ( https://github.com/Foundry376/Mailspring/releases/download/${PV}/mailspring-${PV}-amd64.deb ) + arm64? ( https://github.com/Foundry376/Mailspring/releases/download/${PV}/mailspring-${PV}-arm64.deb ) +" +S="${WORKDIR}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="+wayland" + +RDEPEND=" + app-accessibility/at-spi2-core:2 + app-crypt/mit-krb5 + dev-build/libtool + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + dev-libs/openssl + gnome-base/gvfs + media-libs/alsa-lib + media-libs/mesa + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/db:5.3 + x11-libs/cairo + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/pango + x11-misc/xdg-utils +" + +QA_PREBUILT="*" + +src_unpack(){ + unpack_deb ${A} +} + +src_prepare(){ + default + if use wayland; then + sed -i "s|Exec=mailspring %U|Exec=mailspring --ozone-platform-hint=auto --enable-wayland-ime %U|g" \ + "${S}/usr/share/applications/Mailspring.desktop" || die + fi + + mv "${S}/usr/share/doc/mailspring" "${S}/usr/share/doc/${PF}" || die +} + +src_install(){ + cp -R "${S}"/* "${D}" || die "Installing binary files failed" +} diff --git a/mail-client/mailspring-bin/metadata.xml b/mail-client/mailspring-bin/metadata.xml new file mode 100644 index 000000000000..e7a1873a4a86 --- /dev/null +++ b/mail-client/mailspring-bin/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>Adel Kara Slimane</name> + <email>adel.ks@zegrapher.com</email> + </maintainer> + <use> + <flag name="wayland">Run in wayland mode under wayland sessions, x11/xwayland otherwise (x11 sessions are unaffected).</flag> + </use> + <upstream> + <maintainer> + <name>Ben Gotow</name> + <email>ben@foundry376.com</email> + </maintainer> + <bugs-to>https://community.getmailspring.com/</bugs-to> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/mailx-support/Manifest b/mail-client/mailx-support/Manifest new file mode 100644 index 000000000000..c1613c51f9bb --- /dev/null +++ b/mail-client/mailx-support/Manifest @@ -0,0 +1 @@ +DIST mailx-support-20060102.tar.bz2 8822 BLAKE2B aee5141916f3d59f730e52f5e80fc465e7a3d961ff38e5e3d3feead4b772682c999925b7d900e2d3f87d178a6730994c2e0ec3d1625b5794bed5945a219aef81 SHA512 a4bd84253fcb5a97119e75290dfda01004115c3eb5898bb792c75f7b01c7e48fa1189b9ec4ed195c404196893af8b9390062f2f258da68889b464b53aa0ecbc2 diff --git a/mail-client/mailx-support/files/mailx-support-20060102-add-sys_file_h.patch b/mail-client/mailx-support/files/mailx-support-20060102-add-sys_file_h.patch new file mode 100644 index 000000000000..b3b871b43a51 --- /dev/null +++ b/mail-client/mailx-support/files/mailx-support-20060102-add-sys_file_h.patch @@ -0,0 +1,9 @@ +diff -Naur mailx-support-20060102.orig/open_with_exlock.c mailx-support-20060102/open_with_exlock.c +--- mailx-support-20060102.orig/open_with_exlock.c 2003-06-09 19:01:08.000000000 +0000 ++++ mailx-support-20060102/open_with_exlock.c 2014-04-01 12:17:31.830213927 +0000 +@@ -1,4 +1,5 @@ + #include <fcntl.h> ++#include <sys/file.h> + + int open_with_exlock(const char *path, int flags, mode_t mode) + { diff --git a/mail-client/mailx-support/files/mailx-support-20060102-respect-ldflags.patch b/mail-client/mailx-support/files/mailx-support-20060102-respect-ldflags.patch new file mode 100644 index 000000000000..42aa56948c7a --- /dev/null +++ b/mail-client/mailx-support/files/mailx-support-20060102-respect-ldflags.patch @@ -0,0 +1,18 @@ +Index: mailx-support-20060102/Makefile +=================================================================== +--- mailx-support-20060102.orig/Makefile ++++ mailx-support-20060102/Makefile +@@ -17,10 +17,10 @@ clean: + ${RM} -f ${PRODUCTS} *.o + + mail.local: mail.local.o locking.o open_with_exlock.o +- ${CC} ${CFLAGS} -o $@ $^ ++ ${CC} ${LDFLAGS} ${CFLAGS} -o $@ $^ + + lockspool: lockspool.o locking.o open_with_exlock.o +- ${CC} ${CFLAGS} -o $@ $^ ++ ${CC} ${LDFLAGS} ${BINDNOW_FLAGS} ${CFLAGS} -o $@ $^ + + .c.o: + ${CC} ${CFLAGS} -c -o $@ $^ + diff --git a/mail-client/mailx-support/mailx-support-20060102-r3.ebuild b/mail-client/mailx-support/mailx-support-20060102-r3.ebuild new file mode 100644 index 000000000000..94cbb9ee3768 --- /dev/null +++ b/mail-client/mailx-support/mailx-support-20060102-r3.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Provides lockspool utility" +HOMEPAGE="http://www.openbsd.org/" +SRC_URI="mirror://gentoo/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + +PATCHES=( + "${FILESDIR}"/${P}-respect-ldflags.patch + "${FILESDIR}"/${P}-add-sys_file_h.patch +) + +RDEPEND="!mail-mta/opensmtpd" + +src_prepare() { + default + + # This code should only be ran with Gentoo Prefix profiles + if use prefix; then + ebegin "Allowing unprivileged install" + sed -i -e "s|-g 0 -o 0||g" Makefile + eend $? + fi +} + +src_compile() { + emake CC="$(tc-getCC)" BINDNOW_FLAGS="" +} + +src_install() { + emake prefix="${ED}/usr" install +} diff --git a/mail-client/mailx-support/metadata.xml b/mail-client/mailx-support/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/mail-client/mailx-support/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/mailx/Manifest b/mail-client/mailx/Manifest new file mode 100644 index 000000000000..7e6e1d632c74 --- /dev/null +++ b/mail-client/mailx/Manifest @@ -0,0 +1,2 @@ +DIST bsd-mailx_8.1.2-0.20220412cvs-1.debian.tar.xz 49564 BLAKE2B 4df1fa6be15b811e2a23f059b52a961849818f9defeb5671ec01f6ca9604998d7bf6e182edfc54c9b06b2b0c6e8cb1c270ca1758e2ca9a2aa6758ea41cd05014 SHA512 8794d8a41ec86012f4e74509f489afa8dcb624a17a6bc779024b2bb6eed8a7a86826785601bd295147641cd26f4288ec73aa8c3a2451b35b41fbc682f91c157f +DIST bsd-mailx_8.1.2-0.20220412cvs.orig.tar.xz 79616 BLAKE2B 436a312125f36067e5c126cb1e5bc91d8b4675c22ee827a822b14fb1f5ca23b7a43cd58ca14602929bb6c0cb48701ef6101ad2ed07ea9b7e9239c25edf73346e SHA512 acee80e49fbac85dfaa48d885dd310a056a1418c6e3b02ee9f30441a34c104b134fb7c47cac91a1b2359d3d3cba0cf026d9cdf51f659b8c172100d7f98156203 diff --git a/mail-client/mailx/files/mailx-8.1.2-20180807-musl-CCEQ.patch b/mail-client/mailx/files/mailx-8.1.2-20180807-musl-CCEQ.patch new file mode 100644 index 000000000000..d04ddd789e3a --- /dev/null +++ b/mail-client/mailx/files/mailx-8.1.2-20180807-musl-CCEQ.patch @@ -0,0 +1,17 @@ +https://bugs.gentoo.org/719512 + +Tiny definition copied from /usr/include/termios.h. +--- a/tty.c ++++ b/tty.c +@@ -57,6 +57,10 @@ + size_t cursor; + }; + ++#ifndef CCEQ ++#define CCEQ(val, c) ((c) == (val) && (val) != _POSIX_VDISABLE) ++#endif ++ + static void tty_flush(struct tty *); + static int tty_getc(struct tty *); + static int tty_insert(struct tty *, int, int); + diff --git a/mail-client/mailx/files/mailx-8.1.2.20050715-offsetof.patch b/mail-client/mailx/files/mailx-8.1.2.20050715-offsetof.patch new file mode 100644 index 000000000000..37c8bbedbe38 --- /dev/null +++ b/mail-client/mailx/files/mailx-8.1.2.20050715-offsetof.patch @@ -0,0 +1,33 @@ +--- a/def.h ++++ b/def.h +@@ -107,7 +107,7 @@ + * Given a file address, determine the block number it represents. + */ + #define blockof(off) ((int) ((off) / 4096)) +-#define offsetof(off) ((int) ((off) % 4096)) ++#define offsetofmailx(off) ((int) ((off) % 4096)) + #define positionof(block, offset) ((off_t)(block) * 4096 + (offset)) + + /* +--- a/edit.c ++++ b/edit.c +@@ -133,7 +133,7 @@ + (void)fseek(otf, 0L, SEEK_END); + size = ftell(otf); + mp->m_block = blockof(size); +- mp->m_offset = offsetof(size); ++ mp->m_offset = offsetofmailx(size); + mp->m_size = fsize(fp); + mp->m_lines = 0; + mp->m_flag |= MODIFY; +--- a/fio.c ++++ b/fio.c +@@ -139,7 +139,7 @@ + this.m_size = 0; + this.m_lines = 0; + this.m_block = blockof(offset); +- this.m_offset = offsetof(offset); ++ this.m_offset = offsetofmailx(offset); + inhead = 1; + } else if (linebuf[0] == 0) { + inhead = 0; diff --git a/mail-client/mailx/mailx-8.1.2.20220412.ebuild b/mail-client/mailx/mailx-8.1.2.20220412.ebuild new file mode 100644 index 000000000000..e8e4fc33913a --- /dev/null +++ b/mail-client/mailx/mailx-8.1.2.20220412.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DP="bsd-${PN}_${PV%.*}-0.${PV##*.}cvs" +DPT="${DP}.orig.tar.xz" +DPP="${DP}-1.debian.tar.xz" + +DESCRIPTION="The $ mail program, which is used to send mail via shell scripts" +HOMEPAGE="https://www.debian.org/" +SRC_URI=" + http://http.debian.net/debian/pool/main/b/bsd-${PN}/${DPT} + http://http.debian.net/debian/pool/main/b/bsd-${PN}/${DPP} +" +S="${WORKDIR}/${DP/_/-}.orig" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + +DEPEND=" + >=net-libs/liblockfile-1.03 + dev-libs/libbsd + virtual/mta + || ( mail-client/mailx-support mail-mta/opensmtpd )" +RDEPEND="${DEPEND} + !net-mail/mailutils" + +PATCHES=( + "${WORKDIR}"/debian/patches + "${FILESDIR}"/${PN}-8.1.2.20050715-offsetof.patch + "${FILESDIR}"/${PN}-8.1.2-20180807-musl-CCEQ.patch +) + +src_compile() { + emake CC="$(tc-getCC)" EXTRAFLAGS="${CFLAGS}" +} + +src_install() { + dobin mail + + doman mail.1 + + dosym mail /usr/bin/Mail + dosym mail /usr/bin/mailx + dosym mail.1 /usr/share/man/man1/Mail.1 + + insinto /usr/share/mailx/ + doins misc/mail.help misc/mail.tildehelp + insinto /etc + doins misc/mail.rc +} diff --git a/mail-client/mailx/metadata.xml b/mail-client/mailx/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/mail-client/mailx/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/metadata.xml b/mail-client/metadata.xml new file mode 100644 index 000000000000..b069bb8fbd0c --- /dev/null +++ b/mail-client/metadata.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<catmetadata> + <longdescription lang="en"> + The mail-client category contains email clients. + </longdescription> + <longdescription lang="de"> + Die Kategorie mail-client enthält Email-Clients. + </longdescription> + <longdescription lang="es"> + La categoría mail-client contiene clientes de correo electrónico. + </longdescription> + <longdescription lang="ja"> + mail-clientカテゴリーにはメールクライアントが含まれています。 + </longdescription> + <longdescription lang="nl"> + De mail-client categorie bevat email-clients. + </longdescription> + <longdescription lang="sk"> + Kategória mail-client obsahuje klientské programy pre elektronickú poštu. + </longdescription> + <longdescription lang="vi"> + Nhóm mail-client chứa các ứng dụng đọc email. + </longdescription> + <longdescription lang="it"> + La categoria mail-client contiene client per la posta elettronica. + </longdescription> + <longdescription lang="pt"> + A categoria mail-client contém clientes de correio eletrônico. + </longdescription> + <longdescription lang="pl"> + Kategoria mail-client zawiera programy pocztowe. + </longdescription> +</catmetadata> diff --git a/mail-client/mutt-wizard/Manifest b/mail-client/mutt-wizard/Manifest new file mode 100644 index 000000000000..d8c5b9e977c6 --- /dev/null +++ b/mail-client/mutt-wizard/Manifest @@ -0,0 +1 @@ +DIST mutt-wizard-3.3.1.tar.gz 34813 BLAKE2B 8f900700349441fb1d80e16697c2310d4a9319d8abb655657306bced8826b3a31b31e89146eef89610c18ff3eae39462a43670148336de527ffd7434c78d6ce2 SHA512 be41917935e21f8d2fe1eac4efcd832484c8cc93d8c6b6891c679615f8d5309b8450d2fe64e85742bae5e9fd8ef069be5764a667feccece25d2e775961e6c58c diff --git a/mail-client/mutt-wizard/metadata.xml b/mail-client/mutt-wizard/metadata.xml new file mode 100644 index 000000000000..8f3b56051e51 --- /dev/null +++ b/mail-client/mutt-wizard/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription> + A system for automatically configuring neomutt and isync with a simple + interface and safe passwords. Support for multiple domains and automatic + offline email sync. Integrable with a lot of other utilities for additional + functionality for managing emails. + </longdescription> + <stabilize-allarches /> + <maintainer type="person" proxied="yes"> + <email>efe.izbudak@metu.edu.tr</email> + <name>Efe İzbudak</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/mutt-wizard/mutt-wizard-3.3.1.ebuild b/mail-client/mutt-wizard/mutt-wizard-3.3.1.ebuild new file mode 100644 index 000000000000..b4e331a66b84 --- /dev/null +++ b/mail-client/mutt-wizard/mutt-wizard-3.3.1.ebuild @@ -0,0 +1,46 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit optfeature + +DESCRIPTION="A system for automatically configuring neomutt and isync" +HOMEPAGE="https://github.com/LukeSmithxyz/mutt-wizard" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/LukeSmithxyz/mutt-wizard.git" +else + SRC_URI="https://github.com/LukeSmithxyz/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 arm arm64 x86" +fi + +LICENSE="GPL-3" +SLOT="0" + +RDEPEND=" + app-admin/pass + mail-client/neomutt[notmuch,sasl] + mail-mta/msmtp + net-mail/isync[ssl] +" + +# needed because there is no 'all' target defined in MAKEFILE +src_compile() { + return 0; +} + +src_install() { + emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" install + einstalldocs +} + +pkg_postinst() { + optfeature "enable viewing html mails" www-client/lynx + optfeature "enable periodic syncing of mails" virtual/cron + optfeature "enable viewing of simple images" media-gfx/imagemagick + optfeature "enable notifications when syncing using mailsync" x11-libs/libnotify + optfeature "enable command line address book" app-misc/abook + optfeature "enable use of gpg for signing and verifying" app-crypt/gnupg +} diff --git a/mail-client/mutt-wizard/mutt-wizard-9999.ebuild b/mail-client/mutt-wizard/mutt-wizard-9999.ebuild new file mode 100644 index 000000000000..a22384dc1b7c --- /dev/null +++ b/mail-client/mutt-wizard/mutt-wizard-9999.ebuild @@ -0,0 +1,46 @@ +# Copyright 2019-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit optfeature + +DESCRIPTION="A system for automatically configuring neomutt and isync" +HOMEPAGE="https://github.com/LukeSmithxyz/mutt-wizard" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/LukeSmithxyz/mutt-wizard.git" +else + SRC_URI="https://github.com/LukeSmithxyz/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0" + +RDEPEND=" + app-admin/pass + mail-client/neomutt[notmuch,sasl] + mail-mta/msmtp + net-mail/isync[ssl] +" + +# needed because there is no 'all' target defined in MAKEFILE +src_compile() { + return 0; +} + +src_install() { + emake PREFIX="/usr" DESTDIR="${D}" install + einstalldocs +} + +pkg_postinst() { + optfeature "enable viewing html mails" www-client/lynx + optfeature "enable periodic syncing of mails" virtual/cron + optfeature "enable viewing of simple images" media-gfx/imagemagick + optfeature "enable notifications when syncing using mailsync" x11-libs/libnotify + optfeature "enable command line address book" app-misc/abook + optfeature "enable use of gpg for signing and verifying" app-crypt/gnupg +} diff --git a/mail-client/mutt/Manifest b/mail-client/mutt/Manifest new file mode 100644 index 000000000000..7aea55bb9471 --- /dev/null +++ b/mail-client/mutt/Manifest @@ -0,0 +1,2 @@ +DIST mutt-2.3.2.tar.gz 5570204 BLAKE2B 2f256d98e81be88f60543411dd6ebb9f3c640b73503de097acffc5bbcf39c63221dc9c1357288a48af5e9aa1f69b9068698f376f7884d5bd974d717206086376 SHA512 78d7bcce1466bc7e188c579c00df0f308ea73b3f574b6fdecd399dc5f361ced971a6cecb09877b689a15aac8d02271b13d1f61e0d3197d79b6a348e6bf04f3ea +DIST mutt-gentoo-2.3.2-patches-r0.tar.xz 22360 BLAKE2B da82417e3e229abdd916bb7797bedb7e9f541530507a954a1e344e7174d3b570e5ae6232ad79d5f852621e775d6fce6c2364a954a9dfec5129f09ba2d6460109 SHA512 13a97bfbae25d4243e83a6d6e6e032c96d55d82887b8c1d4b35310219cffdd4be6be0a81e38512077baac29295244a32cce2a361652f63b001cf8a28ad03ed9e diff --git a/mail-client/mutt/files/Muttrc b/mail-client/mutt/files/Muttrc new file mode 100644 index 000000000000..6f0d63e3b527 --- /dev/null +++ b/mail-client/mutt/files/Muttrc @@ -0,0 +1,19 @@ +# Some minimal Mutt settings, Gentoo-style. These reflect the Gentoo +# predilection for maildir folders. +# +# Please don't add settings to this file to change other user +# preferences (such as colors), since those can be hard for a user to +# undo if their preference doesn't match yours! For example, it is +# *impossible* currently in mutt to remove color settings from objects +# other than the index. + +set mbox_type=Maildir +set folder=~/.maildir +set spoolfile=~/.maildir/ +set record=~/.maildir-sent/ +set move=no + +# Maybe we shouldn't set index_format here, but this is a recommended +# one for maildir-style folders. + +set index_format="%4C %Z %{%b %d} %-16.16L %s" diff --git a/mail-client/mutt/files/Muttrc.mbox b/mail-client/mutt/files/Muttrc.mbox new file mode 100644 index 000000000000..1382a374ea68 --- /dev/null +++ b/mail-client/mutt/files/Muttrc.mbox @@ -0,0 +1,9 @@ +# Some minimal Mutt settings, Gentoo-style. Since mutt was installed +# with USE=mbox, this file doesn't have any changes from the default +# mutt settings, making it very minimal indeed... +# +# Please don't add settings to this file to change other user +# preferences (such as colors), since those can be hard for a user to +# undo if their preference doesn't match yours! For example, it is +# *impossible* currently in mutt to remove color settings from objects +# other than the index. diff --git a/mail-client/mutt/metadata.xml b/mail-client/mutt/metadata.xml new file mode 100644 index 000000000000..3f78da0f3fee --- /dev/null +++ b/mail-client/mutt/metadata.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>grobian@gentoo.org</email> + </maintainer> + <use> + <flag name="autocrypt">Enable autocrypt.org support</flag> + <flag name="berkdb">Enable <pkg>sys-libs/db</pkg> database backend + for header caching</flag> + <flag name="gdbm">Enable <pkg>sys-libs/gdbm</pkg> database backend + for header caching</flag> + <flag name="gsasl">Use GNU SASL via <pkg>net-misc/gsasl</pkg> instead + of Cyrus SASL (requires USE=sasl)</flag> + <flag name="hcache">Enable header cache, one database backend needs + to be enabled</flag> + <flag name="lmdb">Enable <pkg>dev-db/lmdb</pkg> database backend for + header caching</flag> + <flag name="pop">Enable support for POP3 mailboxes</flag> + <flag name="smtp">Enable support for direct SMTP delivery</flag> + <flag name="tokyocabinet">Enable <pkg>dev-db/tokyocabinet</pkg> + database backend for header caching</flag> + <flag name="gpgme">Build gpgme backend to support S/MIME, PGP/MIME and + traditional/inline PGP</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:mutt:mutt</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/mutt/mutt-2.3.2.ebuild b/mail-client/mutt/mutt-2.3.2.ebuild new file mode 100644 index 000000000000..323d60cedb08 --- /dev/null +++ b/mail-client/mutt/mutt-2.3.2.ebuild @@ -0,0 +1,269 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit autotools branding + +PATCHREV="r0" +PATCHSET="gentoo-${PVR}/${PATCHREV}" + +DESCRIPTION="A small but very powerful text-based mail client" +HOMEPAGE="http://www.mutt.org/" +MUTT_G_PATCHES="mutt-gentoo-${PV}-patches-${PATCHREV}.tar.xz" +SRC_URI="http://ftp.mutt.org/pub/mutt/${P}.tar.gz + https://bitbucket.org/${PN}/${PN}/downloads/${P}.tar.gz + https://dev.gentoo.org/~grobian/distfiles/${MUTT_G_PATCHES}" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="autocrypt berkdb debug doc gdbm gnutls gpgme gsasl +hcache idn +imap kerberos +lmdb mbox nls pop qdbm +sasl selinux slang +smtp +ssl tokyocabinet vanilla prefix" +# hcache: allow multiple, bug #607360 +REQUIRED_USE=" + gsasl? ( sasl ) + hcache? ( || ( berkdb gdbm lmdb qdbm tokyocabinet ) ) + imap? ( ssl ) + pop? ( ssl ) + smtp? ( ssl sasl ) + sasl? ( || ( imap pop smtp ) ) + kerberos? ( || ( imap pop smtp ) ) + autocrypt? ( gpgme )" +# yes, we overdepend on the backend impls here, hopefully one day we can +# have REQUIRED_USE do what it is made for again. bug #607360 +CDEPEND=" + app-misc/mime-types + virtual/libiconv + + berkdb? ( >=sys-libs/db-4:= ) + gdbm? ( sys-libs/gdbm ) + lmdb? ( dev-db/lmdb:= ) + qdbm? ( dev-db/qdbm ) + tokyocabinet? ( dev-db/tokyocabinet ) + + ssl? ( + gnutls? ( >=net-libs/gnutls-1.0.17:= ) + !gnutls? ( >=dev-libs/openssl-0.9.6:0= ) + ) + + nls? ( virtual/libintl ) + sasl? ( + gsasl? ( >=net-misc/gsasl-2.0.0 ) + !gsasl? ( >=dev-libs/cyrus-sasl-2 ) + ) + kerberos? ( virtual/krb5 ) + idn? ( net-dns/libidn2 ) + gpgme? ( >=app-crypt/gpgme-0.9.0:= ) + autocrypt? ( >=dev-db/sqlite-3 ) + slang? ( sys-libs/slang ) + !slang? ( >=sys-libs/ncurses-5.2:0= ) +" +DEPEND="${CDEPEND} + net-mail/mailbase + doc? ( + dev-libs/libxml2 + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + || ( www-client/lynx www-client/w3m www-client/elinks ) + )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-mutt ) +" + +src_prepare() { + local PATCHDIR="${WORKDIR}"/mutt-gentoo-${PV}-patches-${PATCHREV} + + if use !vanilla ; then + # apply patches + local patches=( + patches-mutt + bugs-gentoo + features-common + features-extra + gentoo + ) + local patchset p + for patchset in "${patches[@]}" ; do + [[ -d "${PATCHDIR}/${patchset}" ]] || continue + einfo "Patches for ${PATCHSET} patchset ${patchset}" + for p in "${PATCHDIR}/${patchset}"/*.patch ; do + eapply "${p}" || die + done + done + # add some explanation as to why not to go upstream + sed -i \ + -e '/ReachingUs = N_(/aThis release of Mutt is heavily enriched with patches.\\nFor this reason, any bugs are better reported at '"${BRANDING_OS_BUG_REPORT_URL}"'\\nor re-emerge with USE=vanilla and try to reproduce your problem.\\n\\' \ + main.c || die "Failed to add bug instructions" + fi + + # allow user patches + eapply_user + + # patch version string for bug reports + local patchset= + use vanilla || patchset=", ${PATCHSET}" + sed -i -e 's|"Mutt %s (%s)"|"Mutt %s (%s'"${patchset}"')"|' \ + muttlib.c || die "failed patching in Gentoo version" + + # bug 864753: avoid warning about missing tools, currently the order + # is lynx, w3m, elinks, so remove lynx or w3m when not installed, + # elinks should be there via dep. + if use doc ; then + if ! has_version www-client/lynx ; then + sed -i -e '/lynx/d' doc/Makefile.am || die + fi + if ! has_version www-client/w3m ; then + sed -i -e '/w3m/d' doc/Makefile.am || die + fi + fi + + # many patches touch the buildsystem, we always need this + AT_M4DIR="m4" eautoreconf + + # the configure script contains some "cleverness" whether or not to setgid + # the dotlock program, resulting in bugs like #278332 + sed -i -e 's/@DOTLOCK_GROUP@//' Makefile.in || die "sed failed" +} + +src_configure() { + local myconf=( + # signing and encryption + $(use_enable autocrypt) $(use_with autocrypt sqlite3) + --disable-pgp + --disable-smime + $(use_enable gpgme) + + # features + $(use_enable debug) + $(use_enable doc) + $(use_enable nls) + + # protocols + $(use_enable imap) + $(use_enable pop) + $(use_enable smtp) + + $(use ssl && use gnutls && echo --with-gnutls --without-ssl) + $(use ssl && use !gnutls && echo --without-gnutls --with-ssl ) + $(use !ssl && echo --without-gnutls --without-ssl) + + $(use sasl && use gsasl && echo --with-gsasl --without-sasl) + $(use sasl && use !gsasl && echo --without-gsasl --with-sasl ) + $(use !sasl && echo --without-gsasl --without-sasl) + + $(use_with idn idn2) --without-idn # avoid automagic libidn dep + $(use_with kerberos gss) + "$(use slang && echo --with-slang="${EPREFIX}"/usr || echo a=b)" + "$(use_with !slang curses "${EPREFIX}"/usr)" + + "--enable-compressed" + "--enable-external-dotlock" + "--enable-iconv" + "--enable-nfs-fix" + "--enable-sidebar" + "--sysconfdir=${EPREFIX}/etc/${PN}" + "--with-docdir=${EPREFIX}/usr/share/doc/${PN}-${PVR}" + "--without-bundled-regex" # use the implementation from libc + "--with-exec-shell=${EPREFIX}/bin/sh" + ) + + # note: REQUIRED_USE should have selected only one of these, but for + # bug #607360 we're forced to allow multiple. For that reason, this + # list is ordered to preference, and only the first is taken. + local hcaches=( + "lmdb" + "qdbm" + "tokyocabinet" + "gdbm" + "berkdb:bdb" + ) + local ucache hcache lcache + for hcache in "${hcaches[@]}" ; do + if use ${hcache%%:*} ; then + ucache=${hcache} + break + fi + done + if [[ -n ${ucache} ]] ; then + myconf+=( "--enable-hcache" ) + else + myconf+=( "--disable-hcache" ) + fi + for hcache in "${hcaches[@]}" ; do + [[ ${hcache} == ${ucache} ]] \ + && myconf+=( "--with-${hcache#*:}" ) \ + || myconf+=( "--without-${hcache#*:}" ) + done + + if use mbox; then + myconf+=( "--with-mailpath=${EPREFIX}/var/spool/mail" ) + else + myconf+=( "--with-homespool=Maildir" ) + fi + + econf "${myconf[@]}" +} + +src_install() { + emake DESTDIR="${D}" install + insinto /etc/${PN} + if use mbox; then + newins "${FILESDIR}"/Muttrc.mbox Muttrc + else + doins "${FILESDIR}"/Muttrc + fi + + # include attachment settings, it's mandatory and shouldn't harm + # when not being referenced (index_format using %X) + { + echo + echo "# mandatory attachments settings, not setting these is a BUG!" + echo "# see https://marc.info/?l=mutt-dev&m=158347284923517&w=2" + grep '^attachments' "${ED}"/etc/${PN}/Muttrc.dist + } >> "${ED}"/etc/${PN}/Muttrc + + # add setting to actually enable gpgme usage + if use gpgme || use autocrypt ; then + { + echo + echo "# this setting enables the gpgme backend (via USE=gpgme)" + # https is broken due to a certificate mismatch :( + echo "# see http://www.mutt.org/doc/manual/#crypt-use-gpgme" + echo "set crypt_use_gpgme = yes" + } >> "${ED}"/etc/${PN}/Muttrc + fi + + # similar for autocrypt + if use autocrypt ; then + { + echo + echo "# enables autocrypt (via USE=autocrypt)" + echo "# see http://www.mutt.org/doc/manual/#autocryptdoc" + echo "set autocrypt = yes" + } >> "${ED}"/etc/${PN}/Muttrc + fi + + # A newer file is provided by app-misc/mime-types. So we link it. + rm "${ED}"/etc/${PN}/mime.types + dosym ../mime.types /etc/${PN}/mime.types + + # nuke manpages that should be provided by an MTA, bug #177605 + rm "${ED}"/usr/share/man/man5/{mbox,mmdf}.5 \ + || ewarn "failed to remove files, please file a bug" + + if use !prefix ; then + fowners root:mail /usr/bin/mutt_dotlock + fperms g+s /usr/bin/mutt_dotlock + fi + + dodoc COPYRIGHT ChangeLog NEWS OPS* PATCHES README* TODO VERSION +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "If you are new to mutt you may want to take a look at" + elog "the Gentoo QuickStart Guide to Mutt E-Mail:" + elog " https://wiki.gentoo.org/wiki/Mutt" + echo + fi +} diff --git a/mail-client/neomutt/Manifest b/mail-client/neomutt/Manifest new file mode 100644 index 000000000000..8e14ec163307 --- /dev/null +++ b/mail-client/neomutt/Manifest @@ -0,0 +1,3 @@ +DIST neomutt-20260406.tar.gz 4197623 BLAKE2B 82d78e01ef386ce0489d65b460be8294225f573aaeacec61c8cd5abc4a65d803e88273b18215fff84dd16068f78c4234b658966cb0f8f07993f1e4b475be5145 SHA512 80d11ba54216e381852edd0f602d303ec3323691d2d5a73d557a63e11d0c8dfb72736a2febd17eebcedec9f4ce241517d4179127755168a176bfffb9fc7c578f +DIST neomutt-20260504.tar.gz 4200095 BLAKE2B 2825c89b5a2ec11d96010d4412196c52404d7d90be7d1416be1ce7f1f6b345cc2400fa11db7eab7282494506a180cc923db5fb1246ae0e85d2aea6fc74875546 SHA512 ba8276f1d7daa88c620fe9b5daa8f1dde0865d5a39c0d16d8e2a4144a457fdddeda75d977ce2b5ec040f6de824db3caf327af93a0674775ecc0febba975a998f +DIST neomutt-test-files-8629adab700a75c54e8e28bf05ad092503a98f75.tar.gz 3673 BLAKE2B 50354f19aedc5fc07d59ecb5b38fa65de16119bc0929f47014bd35dab4d3a4e5953c8b35670f3440003cf0cbccc2d0d2b3a869dc929cdc3cd60b02790270fb54 SHA512 3d4962210bc558234d818801dcaa7851a0aef011c96d91c054af535186ffda42059fc61fb148c48e1b076999fe3159b31589a69a29ed1897f8928f52fcc157d3 diff --git a/mail-client/neomutt/metadata.xml b/mail-client/neomutt/metadata.xml new file mode 100644 index 000000000000..8219027c6083 --- /dev/null +++ b/mail-client/neomutt/metadata.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>dev@liguros.net</email> + <name>Development</name> + </maintainer> + <maintainer type="person"> + <email>nicolasbock@gentoo.org</email> + <name>Nicolas Bock</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:neomutt:neomutt</remote-id> + </upstream> + <use> + <flag name="autocrypt">Enable autocrypt.org support</flag> + <flag name="berkdb">Enable BDB (Berkley DB) backend for header caching</flag> + <flag name="gdbm">Enable GDBM (GNU dbm) backend for header caching</flag> + <flag name="kyotocabinet">Enable Kyoto Cabinet database backend for header caching</flag> + <flag name="lmdb">Enable LMDB (Lightning Memory-Mapped Database) backend for header caching</flag> + <flag name="notmuch">Enable support for <pkg>net-mail/notmuch</pkg> + </flag> + <flag name="qdbm">Enable QDBM (Quicker Database Manager) database backend for header caching</flag> + <flag name="tokyocabinet">Enable Tokyo Cabinet database backend for header caching</flag> + <flag name="pgp-classic">Build classic-pgp backend to support PGP/MIME and traditional/inline PGP</flag> + <flag name="gpgme">Build gpgme backend to support S/MIME, PGP/MIME and traditional/inline PGP</flag> + <flag name="smime-classic">Build classic-smime backend to support S/MIME</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/neomutt/neomutt-20260406.ebuild b/mail-client/neomutt/neomutt-20260406.ebuild new file mode 100644 index 000000000000..596f35ee221f --- /dev/null +++ b/mail-client/neomutt/neomutt-20260406.ebuild @@ -0,0 +1,165 @@ +# Copyright 2021-2026 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit toolchain-funcs + +KEYWORDS="amd64 ~ppc64 ~s390 x86" +TEST_FILES_COMMIT=8629adab700a75c54e8e28bf05ad092503a98f75 +SRC_URI=" + https://github.com/neomutt/neomutt/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + test? ( https://github.com/neomutt/neomutt-test-files/archive/${TEST_FILES_COMMIT}.tar.gz -> neomutt-test-files-${TEST_FILES_COMMIT}.tar.gz ) +" + +DESCRIPTION="A small but very powerful text-based mail client" +HOMEPAGE="https://neomutt.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="autocrypt berkdb doc gdbm gnutls gpgme idn kerberos kyotocabinet + lmdb lz4 nls notmuch pgp-classic qdbm sasl selinux smime-classic + ssl tokyocabinet test zlib zstd" +REQUIRED_USE=" + autocrypt? ( gpgme )" + +CDEPEND=" + app-misc/mime-types + berkdb? ( + || ( + sys-libs/db:5.3 + sys-libs/db:4.8 + ) + ) + gdbm? ( sys-libs/gdbm:= ) + kyotocabinet? ( dev-db/kyotocabinet ) + lmdb? ( dev-db/lmdb:= ) + nls? ( virtual/libintl ) + qdbm? ( dev-db/qdbm ) + tokyocabinet? ( dev-db/tokyocabinet ) + gnutls? ( >=net-libs/gnutls-1.0.17:= ) + gpgme? ( >=app-crypt/gpgme-1.13.1:= ) + autocrypt? ( >=dev-db/sqlite-3 ) + idn? ( net-dns/libidn2:= ) + kerberos? ( virtual/krb5 ) + notmuch? ( net-mail/notmuch:= ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ssl? ( + >=dev-libs/openssl-1.0.2u:0= + + ) + lz4? ( app-arch/lz4 ) + zlib? ( sys-libs/zlib ) + zstd? ( app-arch/zstd ) +" +DEPEND="${CDEPEND} + dev-lang/tcl:= + net-mail/mailbase + doc? ( + dev-libs/libxml2 + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + || ( + www-client/lynx + www-client/w3m + www-client/elinks + ) + ) +" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-mutt ) +" + +RESTRICT="!test? ( test )" + +src_prepare() { + # fix typo found right after release: + # https://github.com/neomutt/neomutt/commit/cddbd189aab68f1978ef0e361217514ec94321b3 + sed -i 's/-smine/-smime/' "${S}"/smime/Makefile.autosetup + sed -i 's/-smine/-smime/' "${S}"/Makefile + + default +} + +src_configure() { + local myconf=( + "$(usex doc --full-doc --disable-doc)" + "$(use_enable nls)" + "$(use_enable notmuch)" + + "$(use_enable autocrypt)" + "$(use_enable gpgme)" + "$(use_enable pgp-classic pgp)" + "$(use_enable smime-classic smime)" + + # Database backends. + "$(use_enable berkdb bdb)" + "$(use_enable gdbm)" + "$(use_enable kyotocabinet)" + "$(use_enable qdbm)" + "$(use_enable tokyocabinet)" + + # Header compression. + "$(use_enable lz4)" + "$(use_enable zlib)" + "$(use_enable zstd)" + + --disable-idn + "$(use_enable idn idn2)" + "$(use_enable kerberos gss)" + "$(use_enable lmdb)" + "$(use_enable sasl)" + "--sysconfdir=${EPREFIX}/etc/${PN}" + "$(use_enable ssl)" + "$(use_enable gnutls)" + + "$(usex test --testing --disable-testing)" + ) + + econf CCACHE=none CC_FOR_BUILD="$(tc-getCC)" "${myconf[@]}" +} + +src_test() { + local test_dir="$(readlink --canonicalize "${S}"/../neomutt-test-files-${TEST_FILES_COMMIT})" + pushd ${test_dir} || die "Could not cd into test_dir" + NEOMUTT_TEST_DIR="${test_dir}" ./setup.sh \ + || die "Failed to run the setup.sh script" + popd || die "Could not cd back" + NEOMUTT_TEST_DIR="${test_dir}" emake test +} + +src_install() { + emake DESTDIR="${D}" install + + # A man-page is always handy, so fake one - here neomuttrc.5 (neomutt.1 + # already exists) + if use !doc; then + sed -n \ + -e '/^\(CC_FOR_BUILD\|CFLAGS_FOR_BUILD\)\s*=/p' \ + -e '/^\(EXTRA_CFLAGS_FOR_BUILD\|LDFLAGS_FOR_BUILD\)\s*=/p' \ + -e '/^\(EXEEXT\|SRCDIR\)\s*=/p' \ + Makefile > docs/Makefile.fakedoc || die + sed -n \ + -e '/^MAKEDOC_CPP\s*=/,/^\s*$/p' \ + -e '/^docs\/\(makedoc$(EXEEXT)\|neomutt\.1\|neomuttrc\.5\)\s*:/,/^\s*$/p' \ + docs/Makefile.autosetup >> docs/Makefile.fakedoc || die + emake -f docs/Makefile.fakedoc docs/neomutt.1 + emake -f docs/Makefile.fakedoc docs/neomuttrc.5 + doman docs/neomutt.1 docs/neomuttrc.5 + fi + + dodoc LICENSE* ChangeLog* README* +} + +pkg_postinst() { + if use gpgme && ( use pgp-classic || use smime-classic ); then + ewarn " Note that gpgme (old gpg) includes both pgp and smime" + ewarn " support. You can probably remove pgp-classic (old crypt)" + ewarn " and smime-classic (old smime) from your USE-flags and" + ewarn " only enable gpgme." + fi + + if use autocrypt && ! use idn; then + ewarn " It is highly recommended that NeoMutt be also configured" + ewarn " with idn when autocrypt is enabled." + fi +} diff --git a/mail-client/neomutt/neomutt-20260504.ebuild b/mail-client/neomutt/neomutt-20260504.ebuild new file mode 100644 index 000000000000..596f35ee221f --- /dev/null +++ b/mail-client/neomutt/neomutt-20260504.ebuild @@ -0,0 +1,165 @@ +# Copyright 2021-2026 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit toolchain-funcs + +KEYWORDS="amd64 ~ppc64 ~s390 x86" +TEST_FILES_COMMIT=8629adab700a75c54e8e28bf05ad092503a98f75 +SRC_URI=" + https://github.com/neomutt/neomutt/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + test? ( https://github.com/neomutt/neomutt-test-files/archive/${TEST_FILES_COMMIT}.tar.gz -> neomutt-test-files-${TEST_FILES_COMMIT}.tar.gz ) +" + +DESCRIPTION="A small but very powerful text-based mail client" +HOMEPAGE="https://neomutt.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="autocrypt berkdb doc gdbm gnutls gpgme idn kerberos kyotocabinet + lmdb lz4 nls notmuch pgp-classic qdbm sasl selinux smime-classic + ssl tokyocabinet test zlib zstd" +REQUIRED_USE=" + autocrypt? ( gpgme )" + +CDEPEND=" + app-misc/mime-types + berkdb? ( + || ( + sys-libs/db:5.3 + sys-libs/db:4.8 + ) + ) + gdbm? ( sys-libs/gdbm:= ) + kyotocabinet? ( dev-db/kyotocabinet ) + lmdb? ( dev-db/lmdb:= ) + nls? ( virtual/libintl ) + qdbm? ( dev-db/qdbm ) + tokyocabinet? ( dev-db/tokyocabinet ) + gnutls? ( >=net-libs/gnutls-1.0.17:= ) + gpgme? ( >=app-crypt/gpgme-1.13.1:= ) + autocrypt? ( >=dev-db/sqlite-3 ) + idn? ( net-dns/libidn2:= ) + kerberos? ( virtual/krb5 ) + notmuch? ( net-mail/notmuch:= ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ssl? ( + >=dev-libs/openssl-1.0.2u:0= + + ) + lz4? ( app-arch/lz4 ) + zlib? ( sys-libs/zlib ) + zstd? ( app-arch/zstd ) +" +DEPEND="${CDEPEND} + dev-lang/tcl:= + net-mail/mailbase + doc? ( + dev-libs/libxml2 + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + || ( + www-client/lynx + www-client/w3m + www-client/elinks + ) + ) +" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-mutt ) +" + +RESTRICT="!test? ( test )" + +src_prepare() { + # fix typo found right after release: + # https://github.com/neomutt/neomutt/commit/cddbd189aab68f1978ef0e361217514ec94321b3 + sed -i 's/-smine/-smime/' "${S}"/smime/Makefile.autosetup + sed -i 's/-smine/-smime/' "${S}"/Makefile + + default +} + +src_configure() { + local myconf=( + "$(usex doc --full-doc --disable-doc)" + "$(use_enable nls)" + "$(use_enable notmuch)" + + "$(use_enable autocrypt)" + "$(use_enable gpgme)" + "$(use_enable pgp-classic pgp)" + "$(use_enable smime-classic smime)" + + # Database backends. + "$(use_enable berkdb bdb)" + "$(use_enable gdbm)" + "$(use_enable kyotocabinet)" + "$(use_enable qdbm)" + "$(use_enable tokyocabinet)" + + # Header compression. + "$(use_enable lz4)" + "$(use_enable zlib)" + "$(use_enable zstd)" + + --disable-idn + "$(use_enable idn idn2)" + "$(use_enable kerberos gss)" + "$(use_enable lmdb)" + "$(use_enable sasl)" + "--sysconfdir=${EPREFIX}/etc/${PN}" + "$(use_enable ssl)" + "$(use_enable gnutls)" + + "$(usex test --testing --disable-testing)" + ) + + econf CCACHE=none CC_FOR_BUILD="$(tc-getCC)" "${myconf[@]}" +} + +src_test() { + local test_dir="$(readlink --canonicalize "${S}"/../neomutt-test-files-${TEST_FILES_COMMIT})" + pushd ${test_dir} || die "Could not cd into test_dir" + NEOMUTT_TEST_DIR="${test_dir}" ./setup.sh \ + || die "Failed to run the setup.sh script" + popd || die "Could not cd back" + NEOMUTT_TEST_DIR="${test_dir}" emake test +} + +src_install() { + emake DESTDIR="${D}" install + + # A man-page is always handy, so fake one - here neomuttrc.5 (neomutt.1 + # already exists) + if use !doc; then + sed -n \ + -e '/^\(CC_FOR_BUILD\|CFLAGS_FOR_BUILD\)\s*=/p' \ + -e '/^\(EXTRA_CFLAGS_FOR_BUILD\|LDFLAGS_FOR_BUILD\)\s*=/p' \ + -e '/^\(EXEEXT\|SRCDIR\)\s*=/p' \ + Makefile > docs/Makefile.fakedoc || die + sed -n \ + -e '/^MAKEDOC_CPP\s*=/,/^\s*$/p' \ + -e '/^docs\/\(makedoc$(EXEEXT)\|neomutt\.1\|neomuttrc\.5\)\s*:/,/^\s*$/p' \ + docs/Makefile.autosetup >> docs/Makefile.fakedoc || die + emake -f docs/Makefile.fakedoc docs/neomutt.1 + emake -f docs/Makefile.fakedoc docs/neomuttrc.5 + doman docs/neomutt.1 docs/neomuttrc.5 + fi + + dodoc LICENSE* ChangeLog* README* +} + +pkg_postinst() { + if use gpgme && ( use pgp-classic || use smime-classic ); then + ewarn " Note that gpgme (old gpg) includes both pgp and smime" + ewarn " support. You can probably remove pgp-classic (old crypt)" + ewarn " and smime-classic (old smime) from your USE-flags and" + ewarn " only enable gpgme." + fi + + if use autocrypt && ! use idn; then + ewarn " It is highly recommended that NeoMutt be also configured" + ewarn " with idn when autocrypt is enabled." + fi +} diff --git a/mail-client/nmh/Manifest b/mail-client/nmh/Manifest new file mode 100644 index 000000000000..e858cb166575 --- /dev/null +++ b/mail-client/nmh/Manifest @@ -0,0 +1,2 @@ +DIST nmh-1.8.tar.gz 1513206 BLAKE2B fe6195270d2e4e333830fa59823a05deea6e75cdd985a645160adad03a280079d1690e2117d4c58dfd3c52cf1de2765ca2024f9854006b1c3b9b57df19f07f08 SHA512 12fc28d6a11da9e5a7d0ec1ca2811906ccdecdace94c06e17825d0029f6fbd1e5e1b81e82fe991ba1b7f8f045c2b60007473de0e2387e96d19262e94f0cafbf6 +DIST nmh-54c9b8ee126b284c25b8ae3c7e600638fda2cb06.tar.gz 7997285 BLAKE2B 5fe5cbe58fd6301b3c75bb37e7ef133c38d23b0e7f21039dd73d70f135a7cd553a6bf65967cfaf6a9f1e1baaa6c58bb1cb3e94a071a0f27f49737674a37fcb81 SHA512 1fbe46e58a8b6e9385bac421affb245a459fad835e0c591687a54ff7c9f621afb153df0574c351e392a8ddb82b76c48bfed8b33aafa2e333d442eca06ecc5938 diff --git a/mail-client/nmh/files/nmh-1.3-db5.patch b/mail-client/nmh/files/nmh-1.3-db5.patch new file mode 100644 index 000000000000..473e2b609aeb --- /dev/null +++ b/mail-client/nmh/files/nmh-1.3-db5.patch @@ -0,0 +1,17 @@ +diff --git a/uip/slocal.c b/uip/slocal.c +index 9697d84..d38a020 100644 +--- a/uip/slocal.c ++++ b/uip/slocal.c +@@ -46,6 +46,12 @@ + extern int initgroups(char*, int); + #endif + ++/* This define is needed for Berkeley db v5 and above to ++ * make the header file expose the 'historical' ndbm APIs. ++ * We define it unconditionally because this is simple and ++ * harmless. ++ */ ++#define HAVE_DBM + /* This define is needed for Berkeley db v2 and above to + * make the header file expose the 'historical' ndbm APIs. + * We define it unconditionally because this is simple and diff --git a/mail-client/nmh/files/nmh-1.3-inc-login.patch b/mail-client/nmh/files/nmh-1.3-inc-login.patch new file mode 100644 index 000000000000..631a03f3e35a --- /dev/null +++ b/mail-client/nmh/files/nmh-1.3-inc-login.patch @@ -0,0 +1,27 @@ +diff --git a/uip/inc.c b/uip/inc.c +index cf12ab8..b8384cd 100644 +--- a/uip/inc.c ++++ b/uip/inc.c +@@ -496,8 +496,7 @@ main (int argc, char **argv) + * a POP server? + */ + if (inc_type == INC_POP) { +- if (user == NULL) +- user = getusername (); ++ + if ( strcmp( POPSERVICE, "kpop" ) == 0 ) { + kpop = 1; + } +@@ -506,6 +505,12 @@ main (int argc, char **argv) + else + ruserpass (host, &user, &pass); + ++ /* ++ * Do this _after_ ruserpass, otherwise the login field will be unusable ++ */ ++ if (user == NULL) ++ user = getusername (); ++ + /* + * initialize POP connection + */ diff --git a/mail-client/nmh/files/nmh-1.3-install.patch b/mail-client/nmh/files/nmh-1.3-install.patch new file mode 100644 index 000000000000..25dc321fd180 --- /dev/null +++ b/mail-client/nmh/files/nmh-1.3-install.patch @@ -0,0 +1,12 @@ +diff --git a/uip/Makefile.in b/uip/Makefile.in +index b3c6717..5ed34f8 100644 +--- a/uip/Makefile.in ++++ b/uip/Makefile.in +@@ -267,7 +267,6 @@ install-lcmds: + rm -f $(DESTDIR)$(bindir)/folders + rm -f $(DESTDIR)$(bindir)/prev + rm -f $(DESTDIR)$(bindir)/next +- rm -f $(DESTDIR)$(libdir)/install-mh + $(LN) $(DESTDIR)$(bindir)/flist $(DESTDIR)$(bindir)/flists + $(LN) $(DESTDIR)$(bindir)/folder $(DESTDIR)$(bindir)/folders + $(LN) $(DESTDIR)$(bindir)/show $(DESTDIR)$(bindir)/prev diff --git a/mail-client/nmh/files/nmh-1.3-m_getfld.patch b/mail-client/nmh/files/nmh-1.3-m_getfld.patch new file mode 100644 index 000000000000..6e0104c3d4c9 --- /dev/null +++ b/mail-client/nmh/files/nmh-1.3-m_getfld.patch @@ -0,0 +1,29 @@ +diff --git a/sbr/m_getfld.c b/sbr/m_getfld.c +index caf9519..13c2c3d 100644 +--- a/sbr/m_getfld.c ++++ b/sbr/m_getfld.c +@@ -731,18 +731,18 @@ matchc(int patln, char *pat, int strln, char *str) + register char *ep = pat + patln; + register char pc = *pat++; + +- for(;;) { +- while (pc != *str++) +- if (str > es) +- return 0; ++ for(;str <= es; str++) { ++ if (pc != *str) ++ continue; + if (str > es+1) + return 0; +- sp = str; pp = pat; ++ sp = str+1; pp = pat; + while (pp < ep && *sp++ == *pp) + pp++; + if (pp >= ep) +- return ((unsigned char *)--str); ++ return ((unsigned char *)str); + } ++ return 0; + } + + diff --git a/mail-client/nmh/files/nmh-1.3-parallelmake.patch b/mail-client/nmh/files/nmh-1.3-parallelmake.patch new file mode 100644 index 000000000000..1ac2415e9845 --- /dev/null +++ b/mail-client/nmh/files/nmh-1.3-parallelmake.patch @@ -0,0 +1,99 @@ +diff --git a/etc/Makefile.in b/etc/Makefile.in +index f1412b1..9af408d 100644 +--- a/etc/Makefile.in ++++ b/etc/Makefile.in +@@ -86,13 +86,13 @@ sendfiles: $(srcdir)/sendfiles.in Makefile + install: install-bin-files install-etc-files + + install-bin-files: +- $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir) ++ mkdir -p $(DESTDIR)$(bindir) + for script in $(GENERATED_BIN_FILES); do \ + $(INSTALL_SCRIPT) $$script $(DESTDIR)$(bindir)/$$script; \ + done + + install-etc-files: +- $(top_srcdir)/mkinstalldirs $(DESTDIR)$(etcdir) ++ mkdir -p $(DESTDIR)$(etcdir) + INSTALL_FILES="$(GENERATED_ETC_FILES)"; \ + for file in $(STATIC_FILES); do \ + INSTALL_FILES="$$INSTALL_FILES $(srcdir)/$$file"; \ +diff --git a/man/Makefile.in b/man/Makefile.in +index 2ac26f3..7c613bf 100644 +--- a/man/Makefile.in ++++ b/man/Makefile.in +@@ -130,14 +130,14 @@ install: install-man1 install-man5 install-man8 + + # install the man pages in man1 + install-man1: +- $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man$(manext1) ++ mkdir -p $(DESTDIR)$(mandir)/man$(manext1) + for file in $(MAN1); do \ + $(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/man$(manext1) ; \ + done + + # install the man pages in man5 + install-man5: +- $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man$(manext5) ++ mkdir -p $(DESTDIR)$(mandir)/man$(manext5) + for file in $(MAN5); do \ + $(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/man$(manext5) ; \ + done +@@ -148,7 +148,7 @@ install-man5: + + # install the man pages in man8 + install-man8: +- $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man$(manext8) ++ mkdir -p $(DESTDIR)$(mandir)/man$(manext8) + for file in $(MAN8); do \ + $(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/man$(manext8) ; \ + done +diff --git a/mts/Makefile.in b/mts/Makefile.in +index f739e30..f606fef 100644 +--- a/mts/Makefile.in ++++ b/mts/Makefile.in +@@ -43,7 +43,7 @@ SUBDIRS = smtp + + all: all-recursive libmts.a + +-all-recursive: ++all-recursive $(OBJS): + for subdir in $(SUBDIRS); do \ + (cd $$subdir && $(MAKE) $(MAKEDEFS) all) || exit 1; \ + done +diff --git a/uip/Makefile.in b/uip/Makefile.in +index 5ed34f8..c9239b1 100644 +--- a/uip/Makefile.in ++++ b/uip/Makefile.in +@@ -256,13 +256,13 @@ install: install-cmds install-misc install-lcmds install-scmds + + # install commands + install-cmds: +- $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir) ++ mkdir -p $(DESTDIR)$(bindir) + for cmd in $(CMDS); do \ + $(INSTALL_PROGRAM) $$cmd $(DESTDIR)$(bindir)/$$cmd; \ + done + + # install links +-install-lcmds: ++install-lcmds: install-cmds + rm -f $(DESTDIR)$(bindir)/flists + rm -f $(DESTDIR)$(bindir)/folders + rm -f $(DESTDIR)$(bindir)/prev +@@ -274,13 +274,13 @@ install-lcmds: + + # install misc support binaries + install-misc: +- $(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir) ++ mkdir -p $(DESTDIR)$(libdir) + for misc in $(MISC); do \ + $(INSTALL_PROGRAM) $$misc $(DESTDIR)$(libdir)/$$misc; \ + done + + # install commands with special installation needs (thus no $(SCMDS) use here) +-install-scmds: ++install-scmds: install-cmds + if test x$(SETGID_MAIL) != x; then \ + $(INSTALL_PROGRAM) -g $(MAIL_SPOOL_GRP) -m 2755 inc $(DESTDIR)$(bindir)/$$cmd; \ + else \ diff --git a/mail-client/nmh/files/nmh-1.6-m_getfld.patch b/mail-client/nmh/files/nmh-1.6-m_getfld.patch new file mode 100644 index 000000000000..36f207796646 --- /dev/null +++ b/mail-client/nmh/files/nmh-1.6-m_getfld.patch @@ -0,0 +1,25 @@ +--- nmh-1.6/sbr/m_getfld.c ++++ nmh-1.6/sbr/m_getfld.c +@@ -919,16 +919,16 @@ + register char *ep = pat + patln; + register char pc = *pat++; + +- for(;;) { +- while (pc != *str++) +- if (str > es) +- return 0; ++ for(; str <= es; str++) { ++ if (pc != *str) ++ continue; + if (str > es+1) + return 0; +- sp = str; pp = pat; ++ sp = str+1; pp = pat; + while (pp < ep && *sp++ == *pp) + pp++; + if (pp >= ep) +- return --str; ++ return ((unsigned char *)str); + } ++ return 0; + } diff --git a/mail-client/nmh/metadata.xml b/mail-client/nmh/metadata.xml new file mode 100644 index 000000000000..ea67fbee44fe --- /dev/null +++ b/mail-client/nmh/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>in-gentoo@baka.org</email> + <name>Seth Robertson</name> + <description>Maintainer</description> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> +</longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/nmh/nmh-1.7.1-r1.ebuild b/mail-client/nmh/nmh-1.7.1-r1.ebuild new file mode 100644 index 000000000000..4ac170f32228 --- /dev/null +++ b/mail-client/nmh/nmh-1.7.1-r1.ebuild @@ -0,0 +1,73 @@ +# Copyright 2022 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit autotools + +DESCRIPTION="New MH mail reader" +HOMEPAGE="http://www.nongnu.org/nmh/" +GIT_COMMIT="54c9b8ee126b284c25b8ae3c7e600638fda2cb06" +SRC_URI="http://git.savannah.gnu.org/cgit/nmh.git/snapshot/${PN}-${GIT_COMMIT}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="gdbm readline sasl ssl" + +DEPEND=" + gdbm? ( sys-libs/gdbm ) + !gdbm? ( sys-libs/db:= ) + >=sys-libs/ncurses-5.2:0= + net-libs/liblockfile + readline? ( sys-libs/readline:0= ) + sasl? ( dev-libs/cyrus-sasl ) + ssl? ( + dev-libs/openssl:0= + + ) + !!media-gfx/pixie + !!sys-apps/pick + !!sci-mathematics/snns +" +RDEPEND=" + ${DEPEND} + virtual/editor + virtual/pager +" + +DOCS=( DATE MACHINES README ) +S=${WORKDIR}/${PN}-${GIT_COMMIT} + +PATCHES=( + "${FILESDIR}"/${PN}-1.3-db5.patch +) + +src_prepare() { + eautoreconf + default +} + +src_configure() { + local myconf=( + --prefix="${EPREFIX}"/usr + --libdir="${EPREFIX}"/usr/$(get_libdir)/nmh + --mandir="${EPREFIX}"/usr/share/man + --sysconfdir="${EPREFIX}"/etc/nmh + $(use_with sasl cyrus-sasl) + $(use_with ssl tls) + $(use_with readline) + ) + + # have gdbm use flag actually control which version of db in use + if use gdbm; then + myconf+=( --with-ndbmheader=gdbm/ndbm.h --with-ndbm=gdbm_compat ) + else + if has_version ">=sys-libs/db-2"; then + myconf+=( --with-ndbmheader=db.h --with-ndbm=db ) + else + myconf+=( --with-ndbmheader=db1/ndbm.h --with-ndbm=db1 ) + fi + fi + + econf "${myconf[@]}" +} diff --git a/mail-client/nmh/nmh-1.8.ebuild b/mail-client/nmh/nmh-1.8.ebuild new file mode 100644 index 000000000000..e1c32d5589c1 --- /dev/null +++ b/mail-client/nmh/nmh-1.8.ebuild @@ -0,0 +1,71 @@ +# Copyright 2022-2024 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit autotools + +DESCRIPTION="New MH mail reader" +HOMEPAGE="http://www.nongnu.org/nmh/" +SRC_URI="https://download-mirror.savannah.gnu.org/releases/nmh/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="gdbm readline sasl ssl" + +DEPEND=" + gdbm? ( sys-libs/gdbm ) + !gdbm? ( sys-libs/db:= ) + >=sys-libs/ncurses-5.2:0= + net-libs/liblockfile + readline? ( sys-libs/readline:0= ) + sasl? ( dev-libs/cyrus-sasl ) + ssl? ( + dev-libs/openssl:0= + + ) + !!media-gfx/pixie + !!sys-apps/pick + !!sci-mathematics/snns +" +RDEPEND=" + ${DEPEND} + virtual/editor + virtual/pager +" + +DOCS=( DATE MACHINES README ) + +PATCHES=( + "${FILESDIR}"/${PN}-1.3-db5.patch +) + +src_prepare() { + eautoreconf + default +} + +src_configure() { + local myconf=( + --prefix="${EPREFIX}"/usr + --libdir="${EPREFIX}"/usr/$(get_libdir)/nmh + --mandir="${EPREFIX}"/usr/share/man + --sysconfdir="${EPREFIX}"/etc/nmh + $(use_with sasl cyrus-sasl) + $(use_with ssl tls) + $(use_with readline) + ) + + # have gdbm use flag actually control which version of db in use + if use gdbm; then + myconf+=( --with-ndbmheader=gdbm/ndbm.h --with-ndbm=gdbm_compat ) + else + if has_version ">=sys-libs/db-2"; then + myconf+=( --with-ndbmheader=db.h --with-ndbm=db ) + else + myconf+=( --with-ndbmheader=db1/ndbm.h --with-ndbm=db1 ) + fi + fi + + econf "${myconf[@]}" +} diff --git a/mail-client/proton-mail-bin/Manifest b/mail-client/proton-mail-bin/Manifest new file mode 100644 index 000000000000..bb0d55bf8fa5 --- /dev/null +++ b/mail-client/proton-mail-bin/Manifest @@ -0,0 +1,2 @@ +DIST ProtonMail-desktop-beta.rpm 89856549 BLAKE2B 653dc02199cb09e2023fafe8be38afd3291e34e69869bd4717bbb01f39d25086da8d8995b66a3479a2b7d6b09ad1b0f1e9fc73ee52a3a3ef7d4d2989e745bad2 SHA512 8e02ad7e2a02d0bd49a112e93b404154ff16bddcfbac27979d9dfbcf0660a28481f2656ff93d031215dc2a5cdd6fb060abfad8f13cc00a41bb3db4d22ccf7fc8 +DIST proton-mail-bin-1.12.1.rpm 91598337 BLAKE2B 183960c8c12a0e49cc5e80e5c89cbd7474666fe55c46753f187ad2caf64fbc7d9e381f09bb1e9490e5a168def15332e3cd07992378a002007123e845457c9a60 SHA512 1e7d572859e3452e208f6ae3f6e5eac7d6bbb4cb014b36f6c7a7b0b0a7bd916d7c8562775d806536729f18762bf16600a3dc050b46ca1c0733addf6ac55a311c diff --git a/mail-client/proton-mail-bin/metadata.xml b/mail-client/proton-mail-bin/metadata.xml new file mode 100644 index 000000000000..5f33304011d5 --- /dev/null +++ b/mail-client/proton-mail-bin/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/proton-mail-bin/proton-mail-bin-1.11.0-r1.ebuild b/mail-client/proton-mail-bin/proton-mail-bin-1.11.0-r1.ebuild new file mode 100644 index 000000000000..f407cb79ad46 --- /dev/null +++ b/mail-client/proton-mail-bin/proton-mail-bin-1.11.0-r1.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop rpm xdg-utils + +MY_PN="${PN%-bin}" + +DESCRIPTION="Beta Client for Proton Mail" +HOMEPAGE="https://proton.me/mail" +SRC_URI="https://proton.me/download/mail/linux/${PV}/ProtonMail-desktop-beta.rpm" +S="${WORKDIR}" + +# https://github.com/NixOS/nixpkgs/pull/296127#discussion_r1528184212 +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="-* ~amd64" + +RDEPEND=" + app-accessibility/at-spi2-core:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/mesa + net-print/cups + sys-apps/dbus + x11-libs/cairo + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/pango +" + +QA_PREBUILT="opt/proton-mail/*" + +src_install() { + into /opt + cp -r "${S}"/usr/lib/* "${D}"/opt/proton-mail || die "Failed to copy files to destination directory" + + dosym "../../opt/proton-mail/Proton Mail Beta" "/usr/bin/proton-mail" + + insinto /usr/share + doins -r "${S}/usr/share/pixmaps" + doins -r "${S}/usr/share/applications" + + local desktopentryargs=( + --eapi9 "${MY_PN}" + --args "--ozone-platform-hint=auto %U" + --name "Proton Mail" + --comment "Proton official desktop application for Proton Mail and Proton Calendar" + --icon "${MY_PN}" + --entry "GenericName=Proton Mail" + --entry "StartupNotify=true" + --entry "MimeType=x-scheme-handler/mailto;" + --force + ) + make_desktop_entry "${desktopentryargs[@]}" +} + +pkg_postinst() { + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/mail-client/proton-mail-bin/proton-mail-bin-1.12.1.ebuild b/mail-client/proton-mail-bin/proton-mail-bin-1.12.1.ebuild new file mode 100644 index 000000000000..0171fbf71ecb --- /dev/null +++ b/mail-client/proton-mail-bin/proton-mail-bin-1.12.1.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop rpm xdg-utils + +MY_PN="${PN%-bin}" + +DESCRIPTION="Beta Client for Proton Mail" +HOMEPAGE="https://proton.me/mail" +SRC_URI="https://proton.me/download/mail/linux/${PV}/ProtonMail-desktop-beta.rpm -> ${P}.rpm" +S="${WORKDIR}" + +# https://github.com/NixOS/nixpkgs/pull/296127#discussion_r1528184212 +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="-* ~amd64" + +RDEPEND=" + app-accessibility/at-spi2-core:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/mesa + net-print/cups + sys-apps/dbus + x11-libs/cairo + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/pango + virtual/udev +" + +QA_PREBUILT="opt/proton-mail/*" + +src_install() { + into /opt + cp -r "${S}"/usr/lib/* "${D}"/opt/proton-mail || die "Failed to copy files to destination directory" + + dosym "../../opt/proton-mail/Proton Mail Beta" "/usr/bin/proton-mail" + + insinto /usr/share + doins -r "${S}/usr/share/pixmaps" + doins -r "${S}/usr/share/applications" + + local desktopentryargs=( + --eapi9 "${MY_PN}" + --args "--ozone-platform-hint=auto %U" + --name "Proton Mail" + --comment "Proton official desktop application for Proton Mail and Proton Calendar" + --icon "${MY_PN}" + --entry "GenericName=Proton Mail" + --entry "StartupNotify=true" + --entry "MimeType=x-scheme-handler/mailto;" + --force + ) + make_desktop_entry "${desktopentryargs[@]}" +} + +pkg_postinst() { + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/mail-client/roundcube/Manifest b/mail-client/roundcube/Manifest new file mode 100644 index 000000000000..efa55576e6ed --- /dev/null +++ b/mail-client/roundcube/Manifest @@ -0,0 +1,3 @@ +DIST roundcubemail-1.6.11-complete.tar.gz 5839956 BLAKE2B 1f032ac60ef0671560227b1c6f60c4b6beb6289a84aa0f4159aba9f5a25f77633bebfcfb5718a4eb082998c084fae52dbe13a747df87e269cc49a4419c03caed SHA512 842d6b0f9bfdb0661de798fb83ccfbf202583214cf478fb7092529785f31b9aa8d7a1fcd63c1d6b967e396e1e2a7750669e238d112875befb3f017b6034acacc +DIST roundcubemail-1.6.16-complete.tar.gz 5879804 BLAKE2B b3637daf83d063c0a9922d150006bee2dc434f15f342f1fcf671423e42a358185a94cc2e99dee41be46ab84dea18b6a66688ce2b0d9b89fc0e0d29df05f09dbe SHA512 08481d09413ed71fbd31580141821a68f66d4e73bba23e630a7bb3bc0dc878af2b5172051e3f9be7beff09f5625d5443f235913ff4d87ae729f5efeb49923be3 +DIST roundcubemail-1.7.1-complete.tar.gz 6335172 BLAKE2B 8ea89ec13dbafc48fc7fe90daf2fa2e9f8fd1f2a6d9e1dc3cedb3c85f9ca743e3751a75a3024d2228664453abff78d79e250981827ff4f1f3abc625de510d416 SHA512 b56ad5e033303701232cf8784fe31ec390cfd32950b41480a9283e10f11927e27117393c51b9d5e31d31fe04d334aac46c786c1b40d26ce5a4bd66d5b567803f diff --git a/mail-client/roundcube/files/POST-UPGRADE_complete.txt b/mail-client/roundcube/files/POST-UPGRADE_complete.txt new file mode 100644 index 000000000000..ef4585f6038a --- /dev/null +++ b/mail-client/roundcube/files/POST-UPGRADE_complete.txt @@ -0,0 +1,19 @@ +Post-Upgrade Activities +----------------------- +1. Check .htaccess settings (some php settings could become required) +2. If you're using the built-in addressbook, run indexing script: + ./bin/indexcontacts.sh. +3. When upgrading from version older than 0.6-beta you should make sure your + folder settings contain a namespace prefix if necessary. For example Courier + users should add "INBOX." prefix to folder names in main configuration file. +4. Check system requirements in INSTALL file. +5. Update your database and configurations by running: + ./bin/update.sh + +SQLite database upgrade +----------------------- +Versions older than 0.9 were supporting SQLite v2 only. Newer versions require +database in v3 format. The best what you can do is to convert database file +to the new format using command line tools: + +sqlite OLD.DB .dump | sqlite3 NEW.DB diff --git a/mail-client/roundcube/metadata.xml b/mail-client/roundcube/metadata.xml new file mode 100644 index 000000000000..1b48c9e572b7 --- /dev/null +++ b/mail-client/roundcube/metadata.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>titanofold@gentoo.org</email> + <name>Aaron W. Swenson</name> + </maintainer> + <maintainer type="person"> + <email>candrews@gentoo.org</email> + <name>Craig Andrews</name> + </maintainer> + <maintainer type="project"> + <email>web-apps@gentoo.org</email> + <name>Gentoo Webapps</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/roundcube/roundcubemail/issues</bugs-to> + <changelog>https://github.com/roundcube/roundcubemail/releases</changelog> + <doc>https://roundcube.net/news/</doc> + <remote-id type="cpe">cpe:/a:roundcube:roundcube</remote-id> + </upstream> + <use> + <flag name="change-password"> + Allow users to change passwords through Roundcube + </flag> + <flag name="enigma"> + Add dependencies to support server-side GnuPG signing + and/or encryption through the enigma plugin + </flag> + <flag name="fileinfo"> + Use the <pkg>dev-lang/php</pkg> fileinfo extension to guess the + mime_type of attachments + </flag> + </use> + <stabilize-allarches /> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/roundcube/roundcube-1.6.11.ebuild b/mail-client/roundcube/roundcube-1.6.11.ebuild new file mode 100644 index 000000000000..2f78d4d1cf9c --- /dev/null +++ b/mail-client/roundcube/roundcube-1.6.11.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit webapp + +MY_PN=${PN}mail +MY_PV=${PV/_/-} +MY_P=${MY_PN}-${MY_PV} + +DESCRIPTION="Browser-based multilingual IMAP client with an application-like user interface" +HOMEPAGE="https://roundcube.net" + +# roundcube is GPL-licensed, the rest of the licenses here are +# for bundled PEAR components, googiespell and utf8.class.php +LICENSE="GPL-3 BSD PHP-2.02 PHP-3 MIT public-domain" + +IUSE="change-password enigma exif fileinfo ldap mysql postgres sqlite ssl spell zip" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +# this function only sets DEPEND so we need to include that in RDEPEND +need_httpd_cgi + +RDEPEND=" + ${DEPEND} + >=dev-lang/php-7.4.0[exif?,fileinfo?,filter,gd,iconv,intl,json(+),ldap?,pdo,postgres?,session,sqlite?,ssl?,unicode,xml,zip?] + virtual/httpd-php + change-password? ( + dev-lang/php[sockets] + ) + enigma? ( + app-crypt/gnupg + ) + mysql? ( + || ( + dev-lang/php[mysql] + dev-lang/php[mysqli] + ) + ) + spell? ( dev-lang/php[curl,spell] ) +" + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/roundcube/roundcubemail" + EGIT_BRANCH="master" + BDEPEND="${BDEPEND} + app-arch/unzip + dev-php/composer + net-misc/curl" +else + SRC_URI="https://github.com/${PN}/${MY_PN}/releases/download/${MY_PV}/${MY_P}-complete.tar.gz" + S="${WORKDIR}/${MY_P}" + KEYWORDS="amd64 arm ~hppa ppc ppc64 ~sparc x86" +fi + +src_unpack() { + if [[ "${PV}" == *9999* ]]; then + git-r3_src_unpack + pushd "${S}" > /dev/null || die + rm Makefile || die + mv composer.json-dist composer.json || die + composer install --no-dev || die + ./bin/install-jsdeps.sh || die + popd > /dev/null || die + else + default + fi +} + +src_install() { + webapp_src_preinst + + dodoc CHANGELOG.md INSTALL README.md UPGRADING SECURITY.md + + insinto "${MY_HTDOCSDIR}" + doins -r [[:lower:]]* SQL + doins .htaccess + + webapp_serverowned "${MY_HTDOCSDIR}"/logs + webapp_serverowned "${MY_HTDOCSDIR}"/temp + + webapp_configfile "${MY_HTDOCSDIR}"/config/defaults.inc.php + webapp_postupgrade_txt en "${FILESDIR}/POST-UPGRADE_complete.txt" + + webapp_src_install +} + +pkg_postinst() { + webapp_pkg_postinst + + if [[ -n ${REPLACING_VERSIONS} ]]; then + elog "You can review the post-upgrade instructions at:" + elog "${EROOT}/usr/share/webapps/${PN}/${PV}/postupgrade-en.txt" + fi +} diff --git a/mail-client/roundcube/roundcube-1.6.16.ebuild b/mail-client/roundcube/roundcube-1.6.16.ebuild new file mode 100644 index 000000000000..04a095a54a4d --- /dev/null +++ b/mail-client/roundcube/roundcube-1.6.16.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit webapp + +MY_PN=${PN}mail +MY_PV=${PV/_/-} +MY_P=${MY_PN}-${MY_PV} + +DESCRIPTION="Browser-based multilingual IMAP client with an application-like user interface" +HOMEPAGE="https://roundcube.net" + +# roundcube is GPL-licensed, the rest of the licenses here are +# for bundled PEAR components, googiespell and utf8.class.php +LICENSE="GPL-3 BSD PHP-2.02 PHP-3 MIT public-domain" + +IUSE="change-password enigma exif fileinfo ldap mysql postgres sqlite ssl spell zip" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +# this function only sets DEPEND so we need to include that in RDEPEND +need_httpd_cgi + +RDEPEND=" + ${DEPEND} + >=dev-lang/php-7.4.0[exif?,fileinfo?,filter,gd,iconv,intl,json(+),ldap?,pdo,postgres?,session,sqlite?,ssl?,unicode,xml,zip?] + virtual/httpd-php + change-password? ( + dev-lang/php[sockets] + ) + enigma? ( + app-crypt/gnupg + ) + mysql? ( + || ( + dev-lang/php[mysql] + dev-lang/php[mysqli] + ) + ) + spell? ( dev-lang/php[curl,spell] ) +" + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/roundcube/roundcubemail" + EGIT_BRANCH="master" + BDEPEND="${BDEPEND} + app-arch/unzip + dev-php/composer + net-misc/curl" +else + SRC_URI="https://github.com/${PN}/${MY_PN}/releases/download/${MY_PV}/${MY_P}-complete.tar.gz" + S="${WORKDIR}/${MY_P}" + KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86" +fi + +src_unpack() { + if [[ "${PV}" == *9999* ]]; then + git-r3_src_unpack + pushd "${S}" > /dev/null || die + rm Makefile || die + mv composer.json-dist composer.json || die + composer install --no-dev || die + ./bin/install-jsdeps.sh || die + popd > /dev/null || die + else + default + fi +} + +src_install() { + webapp_src_preinst + + dodoc CHANGELOG.md INSTALL README.md UPGRADING SECURITY.md + + insinto "${MY_HTDOCSDIR}" + doins -r [[:lower:]]* SQL + doins .htaccess + + webapp_serverowned "${MY_HTDOCSDIR}"/logs + webapp_serverowned "${MY_HTDOCSDIR}"/temp + + webapp_configfile "${MY_HTDOCSDIR}"/config/defaults.inc.php + webapp_postupgrade_txt en "${FILESDIR}/POST-UPGRADE_complete.txt" + + webapp_src_install +} + +pkg_postinst() { + webapp_pkg_postinst + + if [[ -n ${REPLACING_VERSIONS} ]]; then + elog "You can review the post-upgrade instructions at:" + elog "${EROOT}/usr/share/webapps/${PN}/${PV}/postupgrade-en.txt" + fi +} diff --git a/mail-client/roundcube/roundcube-1.7.1.ebuild b/mail-client/roundcube/roundcube-1.7.1.ebuild new file mode 100644 index 000000000000..32bf7470b7f6 --- /dev/null +++ b/mail-client/roundcube/roundcube-1.7.1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit webapp + +MY_PN=${PN}mail +MY_PV=${PV/_/-} +MY_P=${MY_PN}-${MY_PV} + +DESCRIPTION="A browser-based multilingual IMAP client with an application-like user interface" +HOMEPAGE="https://roundcube.net" + +# roundcube is GPL-licensed, the rest of the licenses here are +# for bundled PEAR components, googiespell and utf8.class.php +LICENSE="GPL-3 BSD PHP-2.02 PHP-3 MIT public-domain" + +IUSE="change-password enigma exif fileinfo ldap mysql postgres sqlite ssl spell zip" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +# this function only sets DEPEND so we need to include that in RDEPEND +need_httpd_cgi + +RDEPEND=" + ${DEPEND} + >=dev-lang/php-8.1.0[exif?,fileinfo?,filter,gd,iconv,intl,json(+),ldap?,pdo,postgres?,session,sqlite?,ssl?,unicode,xml,zip?] + virtual/httpd-php + change-password? ( + dev-lang/php[sockets] + ) + enigma? ( + app-alternatives/gpg + ) + mysql? ( + || ( + dev-lang/php[mysql] + dev-lang/php[mysqli] + ) + ) + spell? ( dev-lang/php[curl,spell] ) +" + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/roundcube/roundcubemail" + EGIT_BRANCH="master" + BDEPEND="${BDEPEND} + app-arch/unzip + dev-php/composer + net-misc/curl" +else + SRC_URI="https://github.com/${PN}/${MY_PN}/releases/download/${MY_PV}/${MY_P}-complete.tar.gz" + S="${WORKDIR}/${MY_P}" + KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86" +fi + +src_unpack() { + if [[ "${PV}" == *9999* ]]; then + git-r3_src_unpack + pushd "${S}" > /dev/null || die + mv composer.json-dist composer.json || die + composer install --no-dev || die + ./bin/install-jsdeps.sh || die + popd > /dev/null || die + else + default + fi + rm "${S}"/Makefile || die +} + +src_install() { + webapp_src_preinst + + dodoc CHANGELOG.md README.md + + insinto "${MY_HTDOCSDIR}" + doins -r [[:lower:]]* SQL + + webapp_serverowned "${MY_HTDOCSDIR}"/logs + webapp_serverowned "${MY_HTDOCSDIR}"/temp + + webapp_configfile "${MY_HTDOCSDIR}"/config/defaults.inc.php + webapp_postupgrade_txt en "${FILESDIR}/POST-UPGRADE_complete.txt" + + webapp_src_install +} + +pkg_postinst() { + webapp_pkg_postinst + + if [[ -n ${REPLACING_VERSIONS} ]]; then + elog "You can review the post-upgrade instructions at:" + elog "${EROOT}/usr/share/webapps/${PN}/${PV}/postupgrade-en.txt" + fi +} diff --git a/mail-client/roundcube/roundcube-9999.ebuild b/mail-client/roundcube/roundcube-9999.ebuild new file mode 100644 index 000000000000..2f3992e8a5d3 --- /dev/null +++ b/mail-client/roundcube/roundcube-9999.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit webapp + +MY_PN=${PN}mail +MY_PV=${PV/_/-} +MY_P=${MY_PN}-${MY_PV} + +DESCRIPTION="Browser-based multilingual IMAP client with an application-like user interface" +HOMEPAGE="https://roundcube.net" + +# roundcube is GPL-licensed, the rest of the licenses here are +# for bundled PEAR components, googiespell and utf8.class.php +LICENSE="GPL-3 BSD PHP-2.02 PHP-3 MIT public-domain" + +IUSE="change-password enigma exif fileinfo ldap mysql postgres sqlite ssl spell zip" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +# this function only sets DEPEND so we need to include that in RDEPEND +need_httpd_cgi + +RDEPEND=" + ${DEPEND} + >=dev-lang/php-8.0[exif?,fileinfo?,filter,gd,iconv,intl,json(+),ldap?,pdo,postgres?,session,sqlite?,ssl?,unicode,xml,zip?] + virtual/httpd-php + change-password? ( + dev-lang/php[sockets] + ) + enigma? ( + app-alternatives/gpg + ) + mysql? ( + || ( + dev-lang/php[mysql] + dev-lang/php[mysqli] + ) + ) + spell? ( dev-lang/php[curl,spell] ) +" + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/roundcube/roundcubemail" + EGIT_BRANCH="master" + BDEPEND="${BDEPEND} + app-arch/unzip + dev-php/composer + net-misc/curl" +else + SRC_URI="https://github.com/${PN}/${MY_PN}/releases/download/${MY_PV}/${MY_P}-complete.tar.gz" + S="${WORKDIR}/${MY_P}" + KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86" +fi + +src_unpack() { + if [[ "${PV}" == *9999* ]]; then + git-r3_src_unpack + pushd "${S}" > /dev/null || die + rm Makefile || die + mv composer.json-dist composer.json || die + composer install --no-dev || die + ./bin/install-jsdeps.sh || die + popd > /dev/null || die + else + default + fi +} + +src_install() { + webapp_src_preinst + + dodoc CHANGELOG.md INSTALL README.md UPGRADING SECURITY.md + + insinto "${MY_HTDOCSDIR}" + doins -r [[:lower:]]* SQL + doins .htaccess + + webapp_serverowned "${MY_HTDOCSDIR}"/logs + webapp_serverowned "${MY_HTDOCSDIR}"/temp + + webapp_configfile "${MY_HTDOCSDIR}"/config/defaults.inc.php + webapp_postupgrade_txt en "${FILESDIR}/POST-UPGRADE_complete.txt" + + webapp_src_install +} + +pkg_postinst() { + webapp_pkg_postinst + + if [[ -n ${REPLACING_VERSIONS} ]]; then + elog "You can review the post-upgrade instructions at:" + elog "${EROOT}/usr/share/webapps/${PN}/${PV}/postupgrade-en.txt" + fi +} diff --git a/mail-client/s-nail/Manifest b/mail-client/s-nail/Manifest new file mode 100644 index 000000000000..a3cf165436f1 --- /dev/null +++ b/mail-client/s-nail/Manifest @@ -0,0 +1,2 @@ +DIST s-nail-14.9.24.tar.xz 803100 BLAKE2B 4d82c747ff082a1a13d8832eb2bf1e96f05d6b3cf61c77a67bc061b1971032b41d8f5fe5520b96b9b74bc4d0661a4a9ef0f8f93b5e7b9eef66906b78260cef2f SHA512 03f6a6f446391b6f91ed3c8875c3e7fdfac9d4e77ea1d52a7e98aa84cfd0edae137d5b9afba3bdc9a31ab67cee5237930b74b42ae3acb54aee4758553a4f1df2 +DIST s-nail-14.9.25.tar.xz 804608 BLAKE2B a1839395318296f0869dd37927bed62d26efa1c0a1ec27fc34e9b951940f56f8ad5802b52f9af2d564c6b99c1e5add3f13e5ed6bd0f13a5cd8cddd29acae4894 SHA512 a0fdcc6af0bbf0611f3e6e20ad81e2a44a0e610d896a3227d2ebf83e78e28faa9414edb79978c88ad396fe804717a5df55728c5a54b0432dca95769ad667950e diff --git a/mail-client/s-nail/metadata.xml b/mail-client/s-nail/metadata.xml new file mode 100644 index 000000000000..dbe0cb4f1e00 --- /dev/null +++ b/mail-client/s-nail/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <use> + <flag name="net"> + Enable support for network protocols (POP, IMAP and SMTP). If you + only need to send mail with the local Transport Agent, disabling + this will get you support for only /usr/sbin/sendmail call. + </flag> + <flag name="ssl"> + If network is enabled, this adds support for S/MIME and + SSL/TLS-powered protocols through <pkg>dev-libs/openssl</pkg>. + </flag> + <flag name="kerberos"> + If network is enabled, this adds support for GSSAPI login on IMAP + through <pkg>virtual/krb5</pkg>. + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/s-nail/s-nail-14.9.24.ebuild b/mail-client/s-nail/s-nail-14.9.24.ebuild new file mode 100644 index 000000000000..8131b6e7dc0b --- /dev/null +++ b/mail-client/s-nail/s-nail-14.9.24.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs flag-o-matic + +HOMEPAGE="https://www.sdaoden.eu/code.html" +DESCRIPTION="Enhanced mailx-compatible mail client based on Heirloom mailx (nail)" +LICENSE="BSD BSD-4 ISC RSA" + +SRC_URI="https://ftp.sdaoden.eu/${P}.tar.xz" +SLOT="0" +KEYWORDS="amd64 ~loong ~ppc64 ~riscv ~x86" +IUSE="idn kerberos net +split-usr ssl" + +RDEPEND=" + sys-libs/ncurses:0= + virtual/libiconv + idn? ( net-dns/libidn2 ) + net? ( + ssl? ( dev-libs/openssl:0= ) + kerberos? ( virtual/krb5 ) + ) + !mail-client/mailx + !net-mail/mailutils + !mail-client/nail +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-arch/xz-utils[extra-filters(+)] + app-alternatives/awk +" + +src_configure() { + has_cflag() { + local x var="CFLAGS[*]" + for x in ${!var} ; do + [[ ${x} == $1 ]] && return 0 + done + return 1 + } + + # Fails to build without replace Bug 860357 + replace-flags -O[0gs] -O1 + # A valid -O option is necessary Bug 888613 + has_cflag -O* || append-cflags -O1 + append-cflags -std=c99 + local confopts=( + CC="$(tc-getCC)" + strip=/bin/true + OPT_AUTOCC=no + VAL_PREFIX="${EPREFIX}"/usr + VAL_SYSCONFDIR="${EPREFIX}"/etc + VAL_MTA="${EPREFIX}/usr/sbin/sendmail" + VAL_MAIL='/var/spool/mail' + VAL_PAGER=less + $(usex idn VAL_IDNA=idn2 OPT_IDNA=no) + VERBOSE=1 + ) + + if use net; then + confopts+=( OPT_TLS=$(usex ssl require no) + OPT_GSSAPI=$(usex kerberos require no) + ) + else + confopts+=( OPT_NET=no ) + fi + + tc-is-cross-compiler && confopts+=( OPT_CROSS_BUILD=yes ) + + # Cannot use emake or bad options saved Bug 879065 + make "${confopts[@]}" config || die +} + +src_compile() { + emake build +} + +src_install() { + # Use /usr/sbin/sendmail by default and provide an example + cat <<- EOSMTP >> nail.rc + + # Use the local sendmail (/usr/sbin/sendmail) binary by default. + # (Uncomment the following line to use a SMTP server) + #set smtp=localhost + + # Ask for CC: list too. + set askcc + EOSMTP + + emake DESTDIR="${D}" install + + dodoc INSTALL NEWS README THANKS + + if use split-usr ; then + dodir /bin + dosym ../usr/bin/mailx /bin/mail + fi + dosym s-nail /usr/bin/mailx + dosym mailx /usr/bin/mail + dosym mailx /usr/bin/Mail + + dosym s-nail.1 /usr/share/man/man1/mailx.1 + dosym mailx.1 /usr/share/man/man1/mail.1 + dosym mailx.1 /usr/share/man/man1/Mail.1 +} diff --git a/mail-client/s-nail/s-nail-14.9.25.ebuild b/mail-client/s-nail/s-nail-14.9.25.ebuild new file mode 100644 index 000000000000..cb7af164979c --- /dev/null +++ b/mail-client/s-nail/s-nail-14.9.25.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs flag-o-matic + +DESCRIPTION="Enhanced mailx-compatible mail client based on Heirloom mailx (nail)" +HOMEPAGE="https://www.sdaoden.eu/code.html" +SRC_URI="https://ftp.sdaoden.eu/${P}.tar.xz" + +LICENSE="BSD BSD-4 ISC RSA" +SLOT="0" +KEYWORDS="amd64 ~loong ~ppc64 ~riscv ~x86" +IUSE="idn kerberos net +split-usr ssl" + +RDEPEND=" + sys-libs/ncurses:0= + virtual/libiconv + idn? ( net-dns/libidn2 ) + net? ( + ssl? ( dev-libs/openssl:0= ) + kerberos? ( virtual/krb5 ) + ) + !mail-client/mailx + !net-mail/mailutils +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-arch/xz-utils[extra-filters(+)] + app-alternatives/awk +" + +src_configure() { + has_cflag() { + local x var="CFLAGS[*]" + for x in ${!var} ; do + [[ ${x} == $1 ]] && return 0 + done + return 1 + } + + # Fails to build without replace Bug 860357 + replace-flags -O[0gs] -O1 + # A valid -O option is necessary Bug 888613 + has_cflag -O* || append-cflags -O1 + append-cflags -std=c99 + local confopts=( + CC="$(tc-getCC)" + strip=/bin/true + OPT_AUTOCC=no + VAL_PREFIX="${EPREFIX}"/usr + VAL_SYSCONFDIR="${EPREFIX}"/etc + VAL_MTA="${EPREFIX}/usr/sbin/sendmail" + VAL_MAIL='/var/spool/mail' + VAL_PAGER=less + $(usex idn VAL_IDNA=idn2 OPT_IDNA=no) + VERBOSE=1 + ) + + if use net; then + confopts+=( OPT_TLS=$(usex ssl require no) + OPT_GSSAPI=$(usex kerberos require no) + ) + else + confopts+=( OPT_NET=no ) + fi + + tc-is-cross-compiler && confopts+=( OPT_CROSS_BUILD=yes ) + + # Cannot use emake or bad options saved Bug 879065 + make "${confopts[@]}" config || die +} + +src_compile() { + emake build +} + +src_install() { + # Use /usr/sbin/sendmail by default and provide an example + cat <<- EOSMTP >> nail.rc + + # Use the local sendmail (/usr/sbin/sendmail) binary by default. + # (Uncomment the following line to use a SMTP server) + #set smtp=localhost + + # Ask for CC: list too. + set askcc + EOSMTP + + emake DESTDIR="${D}" install + + dodoc INSTALL NEWS README THANKS + + if use split-usr ; then + dodir /bin + dosym ../usr/bin/mailx /bin/mail + fi + dosym s-nail /usr/bin/mailx + dosym mailx /usr/bin/mail + dosym mailx /usr/bin/Mail + + dosym s-nail.1 /usr/share/man/man1/mailx.1 + dosym mailx.1 /usr/share/man/man1/mail.1 + dosym mailx.1 /usr/share/man/man1/Mail.1 +} diff --git a/mail-client/thunderbird-bin/Manifest b/mail-client/thunderbird-bin/Manifest new file mode 100644 index 000000000000..3e5db30c866f --- /dev/null +++ b/mail-client/thunderbird-bin/Manifest @@ -0,0 +1,459 @@ +DIST thunderbird-140.10.1esr-af.xpi 316220 BLAKE2B d0acacea20766a989edaae596a28bad59559f9dd4a72ebbd0e6d2fcaa912d30fb5a7deb40a6efc49ffb2d2f652b4015d8c099b70e3a61cc289d88a2880c9c8ce SHA512 0b864dceb467f361c71920fff528a322acf91b9b5f6f1d5eeaf953252502f152e88e7aeb8ecc055154700f94953780c85688a7d318f4077023a784d389d3f59f +DIST thunderbird-140.10.1esr-ar.xpi 436197 BLAKE2B e36bcd647e84bee5016bdfe265ebeab340cfe1e20463378b3637916f68b3869b3243cb8b32c201c69fe4ac645a7692dcb08c6fa83362a189b60b463d65b291f9 SHA512 c72254fdbca186c306d6a03fc8c44ef2b53e77ba81449130d8305e04a1aca0cb4b3b35a299132c1b25f9754eea316c698e7e18a2f4515956b048d6cbb77e5f04 +DIST thunderbird-140.10.1esr-ast.xpi 340600 BLAKE2B b1b90fc1a0726e959d4ba48fc23ab9a64e2155981cdb769d10e4d34433ce8f287600e1eca23b23d4daf2fba76d79bf2aef4c28f4290be8741c9156926632ba74 SHA512 e4a7fcd8b43e59f07a64ad72df02725fea9e75eb0cbceb46c4b384e650335a58ab0f36eb0f289a5ede71fd511c57115dfe806748009db7e984e700826969b6f7 +DIST thunderbird-140.10.1esr-be.xpi 522095 BLAKE2B b5efa43cfee7200d662f5f679c58bbdf663eebc01754f5652c47760abfe4533a9e58f0ebc2457142c5c59a8b40df517a8dbbca117558b64d37c82a50a8d1a551 SHA512 41251fd8a63e18a630becb90e8307066c8a3967ceb625b0bac5ebb6085460ce527c9e225e0b8dd17e41ac8a861f4cc3b799955a89a03000393763d5908c6c7e3 +DIST thunderbird-140.10.1esr-bg.xpi 539807 BLAKE2B 9e8f92187fa74d2e36ad8cfe28b40a484dd5aa85285dbf56a43a58377a8f09460cddedac6cccafdefec2c5ad269bf3675a17f71c6a9e432e5369f4fadac4f8fe SHA512 deb914e43786ee2e7abb473c7620f5ffc1337298fe9a99b496ea6a1a1cb990bf73388ff02d5ed0173d1aa1d998a20c3d172b698dd820e5032e66bff91b8d0681 +DIST thunderbird-140.10.1esr-br.xpi 402749 BLAKE2B 45161cb38a7e69148e78962c18c4af12190a8b129acc6ade548c99f433e115484a18e9a1dfb93c5b31396f9d811fe756cfe9fec34534dd96e1520190001aec72 SHA512 d3c8bf30fa81e4a2891319a6eca19798924836c5328c8cf535cba201c4b6265f03dbd4ca05a3df960ecf4d3a65dda052acef9e8668c369a35d16f31869fd663a +DIST thunderbird-140.10.1esr-ca.xpi 440673 BLAKE2B bdaa668e90f8ff29d4479e29e5fee5de1d994547a0d7a922a7a337fc2dfca0fd549c2f4de9ae3100df4c1e03db4a94345d44b9d475d6d04462d3a065c06a49b4 SHA512 f0572cf4b761cafa7cf7fb7b2db8fdf55910d63a30b9d1e42a5430fa76dc9c41c9a75ee6f9e62a46358871be57f84b3681765c62cf28ca5e84ecfcb3d71bd2a8 +DIST thunderbird-140.10.1esr-cak.xpi 418023 BLAKE2B 9c8b15d5030b579e111cf81bab8110144d971abebf54c2a319efe640c031e172e8c31bde31f7af3e7ad510a909ec31685ad2752f6b3cba556971f5d6bd635f62 SHA512 042b95dfa8937e4641052ff1b06d9df8ee701ae0a116d3ea4f510483603a97bc07dc471ac09ba6d34bb6a557c51fe93b0f1e9c1827ec1a5b804b86d9e95d1409 +DIST thunderbird-140.10.1esr-cs.xpi 519563 BLAKE2B 48bbdf8b10a805039ee065bff4f7190f6fe9f4c7dd503db456c61351c12f411a1407faba6616e3107f9f062b562a29ca061665ea204de63a704aa37c67cf09ff SHA512 76e17e84bd282540c17596af4eafd86277ed467ec0e4b1411d25dcb8420b4b303474790f170202540c4a7c4eb47a7de4c5f429cbcf28da5574c979432d3baec4 +DIST thunderbird-140.10.1esr-cy.xpi 487652 BLAKE2B 90fd127881a7f1f0efad78f9e36c37f2bb74292ab5addae1e89d743767cb1540426e8cc0a1e330da56d0e0cbbff3244d438c51a51191d45f7c0d3a2d7338fa0e SHA512 980e239d9fe12b682f7c5df434af54a78139bf047f88be3fde9a83c575bf482066e88500e2bbfeee32181e8174aa33c6fd59ab9b6108b254bd126758eebcb538 +DIST thunderbird-140.10.1esr-da.xpi 476624 BLAKE2B ab123fe4c150279b6afa2b7d3ec1b1433e7e987085e5d22829f8100f8b0afe1731fcd02b89f569d5cca862a5258604c04c636225b107931bf2d9d3aa3893d93e SHA512 4bb9da910811a281e030488189eeaaf6698165a4e55855af79a3a36008ddaafd7a1cdf3cf02ec63f2b44ece6c37b5ea15971c213af976ee37bb91fa21e88ae28 +DIST thunderbird-140.10.1esr-de.xpi 504708 BLAKE2B 80baddec0281f6ba4419018e24717bc11df5514f07203d1409bee3cf923f502ec5161845e047095137eec4ab48eceee9ba367fe356b888aef81f42e4d2a5ec80 SHA512 feef08a3d20552268e80ce2d7d088a88687ef8d83edbbbf157a78979e14419065439f8bd918a0179f2a599f5829cca392ade4ca74a2731a08ace31908383ba78 +DIST thunderbird-140.10.1esr-dsb.xpi 517789 BLAKE2B 585fe0fe10b8e6105b0e546de0db4a721d00471eb3901fbecd39b09d453f8c83ab86fd8b13d982c45e89ccb394f625e9e03cb300024224dbe438a73578a79d6e SHA512 aeda29fe12c6f8f4d9377a0c2aabf01c28e5e6b1d8195fda1270517172b0e73e513ea6e05751d1baf5da64ed427438826804632731d01117342d8ce18128bcdd +DIST thunderbird-140.10.1esr-el.xpi 609040 BLAKE2B 47abc60cd617f20ac160d17cd20678c06dc2d73aaa7b3003fa116ed489bde5a4370f2652c92bc37584c2a756748df5356c28847eff84dddd49f345d904168b9e SHA512 51c9c27f25f0e2eae8c361560a0d260824df18c44d8383b03f71c11bea2ca73b146a7bb5bca52e7e0af6bcc07a9042701aba4057f6b62d8c19b269179d061ca0 +DIST thunderbird-140.10.1esr-en-CA.xpi 452240 BLAKE2B 861c92a0c0f951f555a44fd9c07922551a71900dd75c883869c8749decfaf4858174add6443d6ede68d6078fa44d5752e34efc98ed222bc752726c303a0bf361 SHA512 087a3afeec80061f27421e4e110405b6ce8763737bd07662bde4c8e21b32af6daa9d563732b0a0e4249f100e388f0e7db247607b235ed460646b465f878779dd +DIST thunderbird-140.10.1esr-en-GB.xpi 452069 BLAKE2B 50d7fa4dd269e08c0e2b802b70c08a1faa09bb1e67f2b9260e8f63d21acb9b02119a9262533de7f435a632fae6d34cdfc4b5a81cdacfcf4bdd48d0d018c44ff0 SHA512 4ade7068fee77975c417a9dfa4ecd8de0b93e12e8ea5f97125680b11602c0c0eacbd89898fbd5a2b258972e2ebf456c27222b041117ceb10b1edc3707eb21d7c +DIST thunderbird-140.10.1esr-es-AR.xpi 495267 BLAKE2B 431d141231236dc4c2a990564cfcd847426b0fc67127538dc3467b9f4a2a679ea6b365385602271e5c27dd4646bef1a371a691d7262953d82cd320ae0e81f9ac SHA512 aac8e861447c7156b4a4021a6126a5408333182a523956a01b94ca6ee2d939946fd7c06abc604a35ce9e9a997359bb7fa8c1cca68e258a5962a024437b20c277 +DIST thunderbird-140.10.1esr-es-ES.xpi 497286 BLAKE2B 13083e615920fe06549f92ba9634e096ade7ca91f26bc09f5cfdc9cc49df5c0fe09c963ed31fa400a0ad15d7f2e122e6343a812330b48111ed7d6228fdc650cc SHA512 0c34d6f5d3714cd5851043fb6112767e10de72d56cab606e7864d97625b84ea0541de7202fa4053647005c17af09e7d0fb04ac788455b478650329c27caba9a6 +DIST thunderbird-140.10.1esr-es-MX.xpi 490827 BLAKE2B e0479fbd71711a9952ed3a6479ae11a2701b81cfa07579742519f43728882afa9792c75e01f467880e255eec9a98a1bf4240354e88dc85b5d9d3743133766b8b SHA512 601e16a635b75d0136ac4d7302d488e83c2602675cc683770fc71274165a9bc63f7ef909245a09ff851f96f244647b952122cb391c4676778fe0cdc2566c429e +DIST thunderbird-140.10.1esr-et.xpi 443619 BLAKE2B 7492dde85fa8c5b3fe7d515168e9a865dd4da7dff706f9664272feab72f8eb42e4e27b9a7269161c393cc6b306a7752c11ed8287136f729c13a1ec4e299ad932 SHA512 f0000504e2c942a05c6e4eff2c68376a7a1672e1287caa1658a648ef6b2e62f4a1353b2e597eaf68eff4cbf707c3f077cad92280efac8657f6c09f155b74e447 +DIST thunderbird-140.10.1esr-eu.xpi 473924 BLAKE2B b3d4b32de0e773f8de96aca04d4b5de4269b49ec5eddd4312acb7c6e126d50061a0c12d16b2998f56094a8d66054658a8bb6b0f88ae2e600391b8c95c38f27c0 SHA512 2a1ac81a4701639ccd1250836ca731011c0bada61d2e62b55a699987c04bbcc85ecc2f2ade1b097cf0c26b40f4513aab40f3816b360ab9de8c5ab0d07abd059f +DIST thunderbird-140.10.1esr-fi.xpi 475620 BLAKE2B b9d82867d2704bba2012c2d0e5ac689781337986584316757e5ba4b3dd6396fac6f095d18ae69a69e70b8acc0a3bb00f3c053b4d1663b67faea686771f450d33 SHA512 3a840682cf9b851fc677870da77a442226a67bbd4a8c0cb8a4ce7c3b0ea0bd64e9b8cc4069b854586b0c3302eeba595d3b5a42c4f660d0bc05d23bf930bfa111 +DIST thunderbird-140.10.1esr-fr.xpi 508318 BLAKE2B a8b1b62c69e9222cb5260e77ebfa8328a9ae6415450680c4d742e4858d6954d0e405ea4db482cb850655274ffb209a592080185f7c6f8c381c952014f38236bf SHA512 6ad939b1a1d10d0b978c79d1d30fa36d24df72607fceeeb7a4e1b041b05582e487e16436c66047a3ed1b9695c5271d49d1f8ae416c54aa49e03fc445540e32e8 +DIST thunderbird-140.10.1esr-fy-NL.xpi 490684 BLAKE2B ee1a8e07c06048a60f30492860a5e74666c415f77523602391710f902cd86cec1483419373a6bff964d2ced3ab5e6229ffc9eeb361259b6aab7ab44a2154aad9 SHA512 6382a59a0d893b3462cd6accd40c4dabd138707c9c44d8d41dd386ab533cfe072847605358bbcd1f12b9c52fea0cadcf7aae9e1e8ba0fe6ae4de2702d7b8a540 +DIST thunderbird-140.10.1esr-ga-IE.xpi 376747 BLAKE2B a6aa53f6dea59008f83ca736e9913b1cfe071ef1a818967902be9ab8ec226effd1cfd4d328e2c2dcad46481e5ee8a97c637c09c9b7f3ec2b4008de2d36c8848e SHA512 0e9e429bb8276450ef2a18adf8111bae66f548dea5332b422140fec6b2cffc942f5d6f65ff41e9556201631964d8f2ad3e724ffae5b148d9a2708bd3fa54d180 +DIST thunderbird-140.10.1esr-gd.xpi 461974 BLAKE2B f70afeb3a0a67c3d38972b2f573690024e57874fc10950319f786af7b3a9360bda97e91b9cdc57b8c1518f025de1a9bc5b321e5b91de91a2129942b6b2055d96 SHA512 17f3acba462212a76f0416e5568f309ca8a068fad1733cde355fcc5877840cc2412b453fdf6cd568f671216427a5cdf38b134212836d0e8018e637d3f2a88d31 +DIST thunderbird-140.10.1esr-gl.xpi 489347 BLAKE2B 65d327a8bb7bb9e70eade6617028192897e0744fa2a756673efe0da8b7013bceef50ddcf8404c894300e931124fd520134e1bf46f7db71ff60bae0bebe87dfcd SHA512 f8334a7ab839534d93e1a4397c4b3601b1d5ed2c96fa386311cd032d6389e4d8903b088282cf542084a7399b4f9b6662dd43c7643e26546a7333d807912db305 +DIST thunderbird-140.10.1esr-he.xpi 444207 BLAKE2B 4c36b341402a3e1ba188f0683a031ea906881fbcfe087f0d1c991875c1ca8a329b3ed4e52e7d3ac8c88f279b9e499c4d525a7bc3ad53b29c615facc4a8c89cb0 SHA512 31d19ba774578948c385f30fc9a4dad0b82c243db29a04a3fcece6cf5c173345069e179d80f2f87131e8885d7859bb27664fce149f44cfd04efa1b3e57c06311 +DIST thunderbird-140.10.1esr-hr.xpi 471058 BLAKE2B dddc54deb4f5c4ac0d172f289ab9a696efefd7926b69a95d9818037972c06b90bba824cdfc24c18da28c6eee8b30b407a87477cf89b314d65d06ae9c34baf598 SHA512 05a193a52433f1311be05f161875fe7dd14d98899f12ac58df452d0ab73ade1714d347e86e8cd93814328cfb8ef7016ea60c74713653d03131da465586d33546 +DIST thunderbird-140.10.1esr-hsb.xpi 514954 BLAKE2B 49619f9ca7575a026e842165865dcf8d01665b29c984e2fa265c8b540b7558122d8b0070b69d2ee4b8dded894bdfe001861abe8f0e3c15e9dcd201d17310e889 SHA512 c128e1a00f2fe573957c0476861c6a75cfa861978e35f3c8059bcdc6bf3542c672aa387f79e3f5bb6dace2c32511e7f0b77d43e9c68079c6efd547c96d95d625 +DIST thunderbird-140.10.1esr-hu.xpi 517545 BLAKE2B dc4687a21c0cef6e7c6c62975a68b20c99dfe0908ca76694bf1e1d0de31e3343544f9274f689b6e373a4141237e0c440262b34a45d2c1ef81139305d0df0f8db SHA512 d482a3009a0216fb84c4f02d8d9556a8c2491298d9c838f80424318d5c2019c8e5e63fc96c82e595b747fb25a0e3b615cdb258594e7e0804b52bc4501172afb5 +DIST thunderbird-140.10.1esr-id.xpi 467005 BLAKE2B c2d1021c2a904902c9976a25be289b1927d6a008df518a478fd3918d43ca14e8c6b8106189253c5e8ae9bc3c1b3ac33034396a011f7bbc118a14b03450dd0920 SHA512 a64805c3c3bfd18dfe88ff16653f4e28422ff1a116f9d3e3afb82f1c2513c8537ab02db4cbb4f6178beb00b5843c8047f0247bbffceb0c6166d2fb41448a7ac4 +DIST thunderbird-140.10.1esr-is.xpi 482740 BLAKE2B 4671d26a887cca603b73dc625bdf9f54b8b281c66c8b2f538efda076405630f724c4fcc2c24ad1887c8e1cb269991923c24b78d33fda9b124bf67065f643aa28 SHA512 fc36c94c5cfaa58e649de1b0e49305c6a71dab0b0cf7c34b86be7f6eff55ddbab9ebb88e3ed2c9e2f1b9f933caf304c92195d46212a77e706cb03d103d533b82 +DIST thunderbird-140.10.1esr-it.xpi 488528 BLAKE2B cae804c49ce2bccf61994b10c96dfe6244a18a8d82412454e625db79956eea3e3de2bf09143ed5123e78c898fff30ec09cdc2102cd31d2f3eaf9464e7064a923 SHA512 37d068f6e38552889f2175251cf733599ec60523ed7bf7b6ad01b54717c41b95bc4200069372c6bb2ddfc4b9c47ee1de9926e1ef103b79a2309c12e43a264633 +DIST thunderbird-140.10.1esr-ja.xpi 539184 BLAKE2B 6f9ff7aabcf054e8091a8295b4f704a49d0d65849e5a4c9e8e60f8399a8338d99ea22abed853fe6d1822b14a4b552eaee65aaa4a88fd015abb0ba5fdb6caea2c SHA512 7e6ae6b3cff5d33d9c596d7db172a6618d81b41e9a536b6d1116f1e70cf384e22c57318fe4aeb63395c5531cee86a265d1940767a614ce972839713586239f90 +DIST thunderbird-140.10.1esr-ka.xpi 554795 BLAKE2B b7ec92031883eede7767d5efee94e46ab79ad50c6ef0d19a657e59d68b5f784f62bd80421e1196a6c4f02b05edf15ef6f603916136e0b7f3d8a5c21c0cbed288 SHA512 59957b0d855e525eeae465411f4ff4fe46513e11c2f32b1de1abe1bd0578b7ff428537a8b86fdd622d1609051996c17686ea118cb2a09ee836ae067e7346d351 +DIST thunderbird-140.10.1esr-kab.xpi 470498 BLAKE2B b7058503977a2e0de5dba6b0590b3bd1531bdbac9822af58d3b4b2e15ac97871783c34f3861084290924758bccb11413142f851478a753f137bc0d1967d246f9 SHA512 510da2f84269e80487dd3338e9ff7dcd8cc5d457edaec74e09a2e39708ede3e89aaa5815c09834404e700cda5886dec2942b8a6a9ac9d8cde7ad13aeb7422396 +DIST thunderbird-140.10.1esr-kk.xpi 573885 BLAKE2B 7c43f8bc6bb970668348937bec36837a5844333acd51375649290edfb1aa8f8d72757f252285aad9ad8a7059c9bf96bfb8b39cb7a1839bd4199977612b3f5b8f SHA512 584e83eb5490c5aa1b1eec6a291a6046e73e13fe2e0501f26436839a043732f25ed725f6e2487269967621e2594c04a52653490596230fd566ba144304971596 +DIST thunderbird-140.10.1esr-ko.xpi 515593 BLAKE2B 6a29eaeef697b8c8c4b27537fb72e39721ad603c0187cc1c924eb32a9a17e291274c8e669e2c764310208fd28f3a26db157c87c8bdb325ab31d6612c3149e730 SHA512 b63d7f60faedb6e0a842ad4baf469301c93201495ec159cd39fe076774fa5e509668699cb6a5bbcec80eeba3d754c94b71a971d113cdfe97205c23a5040b3a03 +DIST thunderbird-140.10.1esr-lt.xpi 453437 BLAKE2B df741185c67212fad023630c3c8f7020b246929fe4f2a369c0237bba30e47a2e076a63a4d7d29872d0abac994b86f9936287b4e20376de46f74e6df943f7f26d SHA512 b8ceec7c9dc303e322deb8ac4feca9613efcaafc348cdb34e15ab520486c0207883d1430cacc2a97f7ef9f81873d87dd8cb755d041a820d32aff6b48225ec87f +DIST thunderbird-140.10.1esr-lv.xpi 392816 BLAKE2B c5a60d311fb6e17b10743a3112749803888cfcf30c3c412f04cfc32da03e610e6e182c78e23d64bbc037f38d5c03778164d468b475bcbadaff5cb9e910a5cde2 SHA512 13e8382bad9c0aaa86f0274162737845509f1431f77bfec18044a7f731f0c46be4f3b884746c49255c35eabaf21022fd6b11dea602689a16f4fe6ae40840dcfe +DIST thunderbird-140.10.1esr-ms.xpi 352180 BLAKE2B 0b37654d09297f7799fba2e4ecd1a05105e07cb835f55e590f5ed902d736a7cd42cd62e90c416f56166903d059a71e8ddeccc02682280876ee29e3176b08194f SHA512 13a8f991be051984c5536533ca5f196866777ba9da97ace55b1b9b425926df8fe890ec2db66ad928c45024cdf93f1d0242b136b634e2cce41e0859674b10793a +DIST thunderbird-140.10.1esr-nb-NO.xpi 476124 BLAKE2B 774619509d4a31de6df3ce49db10b37f029c7b5a28abce34e6c149acc53e23232c4f8aaf2998dd913b70c7a634482acd653997d7adf74b7919a4a2b32fa07d6a SHA512 b15ba760886856b6573ff3ae9e7a80565f2c7384b53c166d05d91810fb412bebde5118a4c171b9cd2826cbe5b3243cfa89492d7ba83f067c34a78daeeecc1404 +DIST thunderbird-140.10.1esr-nl.xpi 482119 BLAKE2B b4a20f18ed49ec23e0db4087750255252f2ab37d12d32ee068d486f351fac0e065a70db86ade6b456d7804ac93d63b672ca4ff0a3cfc6fcb81e06c2b3959f671 SHA512 16e6e653c80bce5f404b936fc80882b60621f67147b142ec8d67ed91ad7014976d0e50ef641c77b122184c52cb23161d56b2e7e84b98155bb9fbc69115d455bf +DIST thunderbird-140.10.1esr-nn-NO.xpi 479761 BLAKE2B 9b20bc91dcf2e7277873d94a876a3057262be4f7b314e3cce9457c2cad1458ac0cd27a2f98fd9480c26a687ce96ab3a10e341d956f977d11028db289c5f6b0dc SHA512 3a6d92cec6be3023247218c53f5254321ec2c5af586935d15512fc49b5ab387f6a7aeb89686ed7c21876d357e155d24231d9c8586fb270dd473988a2ba5d37b2 +DIST thunderbird-140.10.1esr-pa-IN.xpi 435733 BLAKE2B 06e2b496bb27499d45352ccf0e1e4b88125fd01a87d8eeb8933c1927f01542fe54847fb2548e01475d0df3eeb75408fc73441ab7f80ee0aad877e312a070357e SHA512 2657b9f07da44bb479df87c65b5aa3e8ca0568f1715df5c657c782eb4e031f9eb55a94cd31528ccb94bb625af6a68723d0b1eab9a27a27047e521d158ab1f1a7 +DIST thunderbird-140.10.1esr-pl.xpi 515613 BLAKE2B d55705bbb3efbff9dc3154dc5829cfbe8c0622f9a6a09766bf641fe82905cf5fe608817280e7ecffa0b91902abf238b6eecd1a72354cf2ee476716b3d88d7407 SHA512 6ac83db6fff426ce45873f6c94e30f6b13bb1796b5874dbafd9d5360155a1ab7ee2f1b5db3c6978b023331b6f41dba6a184177495426d363b9d0960ec949b9c6 +DIST thunderbird-140.10.1esr-pt-BR.xpi 490166 BLAKE2B 1f8751c15e8dd9c386db1c037def86aba0beffbc5b0e426df04f32c6048174f659765d189829f015556aad5bdc29e39efc200f6f0f7ab056d11146ad7ae4fb76 SHA512 83287f21778f946d782e6e73dce2ed1c461a9063b595505e658b8bdaa3e3198cafbe10990dc412455f0ee9a2605f42816010f371a9b0f065aeec621c643ea29b +DIST thunderbird-140.10.1esr-pt-PT.xpi 494210 BLAKE2B cf1984fd454f55150ec8464f1f4e967e38bdeb698ed1fdf654d970fb2fdb13cfcff9d13c8616deb2d39a5ae92dbe48abe048faac320d065bce17c24807ee916a SHA512 ee6c3b39ff7f4973227e9397b9f6dbaa51a797fe2f3fb12a5818f2b93bbf79dec92ebc70eef4daee5cf2c3d0dc7bd9e4c614581f9be7119495411f2707f1bdbb +DIST thunderbird-140.10.1esr-rm.xpi 487883 BLAKE2B a57ad427ce1943afa99363b038e47146391624923077d71937d271f8af1c842a1e28527c38e23c609547cd08da7492ef3a6adbebe8271db15211507b8ad399b0 SHA512 dd775ab0fef9fe33fb30923735307e077398c78e1dfcdc626b74b39a509335e1d3814f547f33915f75b21663eb920fb8026e16af4c00819b392bdc26d0d45367 +DIST thunderbird-140.10.1esr-ro.xpi 501096 BLAKE2B 38d7451dba128ac0b99fc483db0f5e3d6ed36d467b4ee68ee527ccc9f8b93065b7c9086076e67c933ba81a04111c220a7f2d9a1a9695a6eedba89ca18d33486a SHA512 2366ef5aba43c6f8fc36a38ca262be1813de8a461838fe8d4d1e7abd26adb8c1bd9650bed24c06def96ad69f6f9c97ecb966b402213ad01595aebefee6cceaf6 +DIST thunderbird-140.10.1esr-ru.xpi 593344 BLAKE2B 7f0c73333df66254fe24d3e458c6d490dac4b81a2081fdbf835f55288ca0c86e4ed0384baeec5db6d5128393f3b26ffc3b8c4da487956cd6735defccfbcc2878 SHA512 c742dc4a79b53f7308c15b779f96c66bcf68de778c61b9e3c5772878c5baa687410955b92cd0cf47d9ed6b898452583da7b6e429e3a458e70cd6b8d04070a2ef +DIST thunderbird-140.10.1esr-sk.xpi 519392 BLAKE2B 945dab15a77ea3480a88dcbdc4d1a2659bec92ca9950fb8ad3f8655f70b46694af0aa47793d77461dcef94c640b9806241577fa0d416b0b887db54f82d40bfff SHA512 c0a33f147505bb8c2710247d8bb65c3f2bde20703cb20fea404747d59e4c8c1134d67384fedae6ae394fc7a80cde160db39bbf989353d19b607faf5518c4dc43 +DIST thunderbird-140.10.1esr-sl.xpi 485964 BLAKE2B ebc314930b9f327f4fb35241d20309cd242d5866d978f5fb7af2500a3b76deb98faf1dee2657ac7f294ab2d31d05af5fda0064af4d6385abc04d0345055b753e SHA512 59732b2e94719b588fdcfddfca2214cb1018eff79cc89dc4b656262be31ca11bb53a10c82210a48f224b947a04053ea31509484b41c98ae54ef1f53b78c96aea +DIST thunderbird-140.10.1esr-sq.xpi 506278 BLAKE2B 5b19b15dbe5bdbb643492a855ac271f6b9a33a3903bb4be95ee98d8800683b9f09d90d905a50f28663a39c1d282eea954cc48800e58c2de206f2bdfc9b3373d7 SHA512 151ed537462edcbe046ed3b3c311c2aab912ca2f4316e7b018daee1fd2afc3210e9d0b6685b46fc03f7ecbbdc083fb9c70b844a1d22d4487af7bfc324e667ee7 +DIST thunderbird-140.10.1esr-sr.xpi 533251 BLAKE2B d5e489e59fb9c50765b584fe2acfb3f7db1228e68043b29d91aa7c70e081248384342046a8899437098719b9f05ccb481ee052ea6bd41b6b9fe81f71f61b716e SHA512 1ac592de6a33032c9aed92e6afb8d42c3efc2875b75484181c902b8d3c2ef57186757227d89f99ae49191d51253fc9cab0afd2fae2964a7faeecb09cfd1c15ff +DIST thunderbird-140.10.1esr-sv-SE.xpi 484421 BLAKE2B 7e979f5ab3da4b2a29e89e0a7f38d731dc1cc2c547a47a6cdb311dad20a93fbdb65c78bdd9b1ad7ab16180b270f0fc165778e80e789009e339dd0d855404f3aa SHA512 d2bf1f970ef2b9defa56e0cc34c45ca2e371038a1ce14483b0ef7b1667a61cab805226b98aecd3b398feed896ad2c17de94d174336922e7f735f8d734e232d15 +DIST thunderbird-140.10.1esr-th.xpi 569105 BLAKE2B cae932b215a8402257136a52ea83ddbc7783cfdc2c747a65c6c38e3ebc5f943b3e8ee549dc1447799d21c2fb5954ef55c4a5d247f2cc3ffa4669b59387fc505b SHA512 bd36a3ebb3474c71448bbd1d6a4b3ad79b039c5ce8b35a6153ad44982676ba626067bca77d31922dacddfc0715c6756964a4d6fea6d771698f3202fc2d6cf1e2 +DIST thunderbird-140.10.1esr-tr.xpi 496305 BLAKE2B 8e18787246a4895da5fab3af9bedc47e0dc9873c3b55306044942d8c2b8a83a44ba1f788ddde899ac8ee2b60e38efd85fe2fd091d584f10828c19d4150385514 SHA512 a5f4a38b0adc306a44a3937d1c5d12f19fe88b11a193a8ec69d34d5086dc087a2d68010b6d781fa8d82cf8be4f0f6189f11d91779163db03a20d0cf156d390c6 +DIST thunderbird-140.10.1esr-uk.xpi 582153 BLAKE2B e90e6408aa1323d4574a7e1e1db6194baa201621f0357af78ec3b0634d46bcc486d77c8b53c7108cd34a57fdb0bf73d251d9c3666f6b3e46daec2ba429a94ab1 SHA512 b1b3356d116d86bfadef2a67719d9c7e64090ce32ae3eb7abf49acdf5bb5bc6ff993c76c424d03fd3c848bd1f9225b6d2f71e483145c9cddd24665d3d64b3c1d +DIST thunderbird-140.10.1esr-uz.xpi 355267 BLAKE2B 81ffb0d98c3cb50635a00abc29caf5c711c412080cc8aa290f0f280fc5cf118c96b724792c8cc4fd0764fa96dac9c4c8742c8dc50f1870dcdebb6e9ee919ae4f SHA512 501f9322e07acc402e135431f820336e3f45e8fce57771031ea2ad2c9af6728eb979696f337660c59b24b8c11dac7671ff47d47110cbfd812de7b8d3d8a01a2a +DIST thunderbird-140.10.1esr-vi.xpi 518886 BLAKE2B fb20d521cb4d792229d607a9b33a5d6b600fbf7afe4d079a123d8b70822044c180494552a8927a18bc792b98e02d0caaf5b1ac95f9dec6cd60752f719e9bfff4 SHA512 8a76491bf44b2d00439edef8f2e5788f3c931baf31e6c596adb0ac0586d04c9640da648dbf40786c716562c2d6b617b646927d2cf5299da133cd71ccc1998133 +DIST thunderbird-140.10.1esr-zh-CN.xpi 507847 BLAKE2B 3bb3f2015b2eb914a91c49cbf541dac8122ad2a474d9d73e3dfa96f19be7cd7cfb656eeecddb6f2d0f64f55d5060cdb88d849bf7a5ea79e1d0c1ca2c40740675 SHA512 4129ffc0d98e31dfc797a2bbcde6b1a28cf6d05354081cc7af00b063ac1cdc722dd845ec08b11d24a780d83e0896ff0ea569751c4c39ffc6cd344dc016cad16b +DIST thunderbird-140.10.1esr-zh-TW.xpi 511432 BLAKE2B cb49e6065873ccbfa1982d7cfa286c414f42eaa33b93af0c3b90d0e305907bc25ec1d27a4fb7a93f1bf3507ee6f7e4702b6df7c5ab8fd9e8404f1b82c50fabf1 SHA512 f89a75e6feff4e3d53fc5e7e169ffc84f91981e8f986418ca25b54094665f220db7fcdd3e715be0b8efc0befd7502998cbc166678b54df4af526d23fb1ede27c +DIST thunderbird-140.10.2esr-af.xpi 316219 BLAKE2B e3010340386066c375013b7350ba9a58e670fe2458876e4ca1a697ca8c0cb9fc570354107749911329e7306b1f7048a0111d5bd4de6572b765e952475f586384 SHA512 8eef1b5b00f94d4a459e2394aa9e5ee7d3e98709dfe4ee2a4039505d7d3142e05ca260f11f00a27bb2329ccc12a6ca9c7fb8dac415460b167478fabed705bb5f +DIST thunderbird-140.10.2esr-ar.xpi 436197 BLAKE2B cd31c10dde31f0454b2736f26337a1134b86612e2492d451478d126edffb2d250ec5a1d0dcddeea8ab018a1de083b27f4e68c3c543c6229e779c2d0e8d9c20f1 SHA512 f2a94a12382cf7288f968c2bc202c00d8117e076d6c3be3e2571f3efdd95e9d468149c7872d59ff2505cf6cbe9b75211cb35face79341b75d3d07bae690ce67b +DIST thunderbird-140.10.2esr-ast.xpi 340598 BLAKE2B c091d3325f35a213eb0a34687e522ac8ed8eda64ba73c8e1b46a020c4afa9a9615ada22d9ed1942c2bb2f04a9b1b88b0b78ae5ab97810d59ac3b3363424e8fdf SHA512 4b0c075433194deea63fb7e78f46677303642fca556bf1eb0c1bccdce6c2df0c493fb62728423d8c08905a46fd9b5fa315fd926870624c70591e0056ec6605f2 +DIST thunderbird-140.10.2esr-be.xpi 522093 BLAKE2B d6c9f24665eead26dba1c85ce1318e646adeb350680b29e797bb0395c65d4274a178a55a98d0c1dacf13f313384bc6c533654636b35cf59fee9bfb7a3872f7df SHA512 43bab326741f6731c6ee1fd251ce2bac27bc5fef4cddc2c12c4f978f6b2be60b0c0ae5aac71b9172e146178da6a0bc73fef78dd04924b28b51ff5c5bae250a18 +DIST thunderbird-140.10.2esr-bg.xpi 539805 BLAKE2B 9bae241e26451deacf0768ee7ee812ef999e72d25087b7a2d937ac5a5a3ef1893333dfdf760a451f5c4bc1790500ae441c2a9213e9c83745cc614ac101217cd2 SHA512 c35141540771c1a4bf2070e38c2e3556ff109a9c6e6da60c9a870335428d274c1d6065d6d69583c9fc996415498781253a6840157b0f33317af2176dddd3380b +DIST thunderbird-140.10.2esr-br.xpi 402746 BLAKE2B 90f95bc25ce4603d86799e86189a0017cf5f62a1b5254235edb969680c77796afe8dfc564242e4f4a2981d6c383877e288667c79b09fecaebabc840a266735e2 SHA512 9aafb75c717e622a421b9ddb1b7ee4a646f03bd861755b7a81624a859e011262736478ee253cc70ec49fb985ffe103dae226a932313e52b911cf53512fdab384 +DIST thunderbird-140.10.2esr-ca.xpi 440671 BLAKE2B d8ca01049602d5e898decbad4cb4eab00c1e5286007b49a4767c9efbf44f2aa5416e4ea3c2e8883bfa887c877e87f720100f7cf88f6001b194eaba6983c6e06d SHA512 2040824662550c45f4967fbcad73fd1e290d84aed85188d98b32a07eaa19467eb1706e5f1021a88fa3fc88cf7eaff186e4490f6c7b33344204b08f495a10e318 +DIST thunderbird-140.10.2esr-cak.xpi 418022 BLAKE2B 809015bcb5d5e956a86035fea807ea64b20844fac00406194a806d9d28a186cc67d497d856cbf6b40859f173af3e77509da70509a651a339c5cad93d87677758 SHA512 f8154b4b22bddc50f60ab8092729b5266155dffcbdcf36d09dc4bd10e0ed4e23bae5d0cfc1b4be1af9c973eec7a0724245019e88697d662e5051e61e5ae83e18 +DIST thunderbird-140.10.2esr-cs.xpi 519561 BLAKE2B 4d71fa61d2f5f40e120e5006a6739450b3a68a37f6a150ac8d8a04e5fedc8285fb4ebc958189e841081548211d0c7079c8c454533354f6af3e2c9e0979103679 SHA512 b9bba08c515195afb1d0da016da93436949643825bf1c1c3f0e15d0e3c5e753d15ac40a077535714e0958ae4d6ed104b2ba4817ea99bb57c9be228e02387c885 +DIST thunderbird-140.10.2esr-cy.xpi 487650 BLAKE2B 2acddc0e71dc1ce37afe6b723fd463a43866311f295b9b816b4c5e25137cff0edb7c3e7a8d22da8e17b65b69991e4142112067aeb397a5cd1cd306bf39840d81 SHA512 1d44b2fe8cb817de29c7b81d1a36ccbe6c5b0a156994bff24cb8124dcb8902c4bda48f280852850bf56d051d28a7b2f4c2212cd4db24c4b2f1c3b6b110baff2b +DIST thunderbird-140.10.2esr-da.xpi 476623 BLAKE2B 3dea9ad15ba162576dd54ab86156b13f126a86962f9a00e79fd941ea904a658f623c22a8c2b0031f55fb1c0e05ce6997a7f7978ebbefb25c1bb48f66cf6a320e SHA512 fc155ad56ee75985d2d1368e22c50cbde25e5080d026826a1c171d66ccad25924ed671dc1078ee9938fd67afdf44a398d7368e91f387936c15a0e0a968b31f65 +DIST thunderbird-140.10.2esr-de.xpi 504707 BLAKE2B 5260bf02b7328a11bf136eb321ca9817a481f37140eaac15bf4c4aaaf6ad6d632ea2d4f93eaaa32edc431a6e534b2d6ec4202e156f674635fccb5eadaf60cd89 SHA512 7358d2147614bf05cb6fb9bd47ca4f97f178572b3059d2f417d94e0fb51d89dfec0cce11ef020979e739340c48770f543e707687f10346e091a68de1b0545129 +DIST thunderbird-140.10.2esr-dsb.xpi 517788 BLAKE2B ae41ae807f1ddae5be2570fccd976b7d7e2fe16437a9e49a8afd2fe51ca6795515cd74c050d1652dc302de5e86bce2b0c20f03fe9a59906602a95970f6d7c76b SHA512 49086518d4939a80c838a33fc582a68226fc2123d5c6d44ac245b45681ee7bdf9b5988d4621200c80a88ff16cba23e7b1df57c56745dc30e2e2735ee607324a2 +DIST thunderbird-140.10.2esr-el.xpi 609039 BLAKE2B 25946061f891b4a92de1a6769d0cc71daa985005531d2d5880adad9946e23945401e21cbe585f535a733ef1127ecee05e5d91a2da45a1a879f16adb6be22bfe8 SHA512 cd33e1548b8fecf8a87d183cadd456b3f65198d68c91f03dd312b8a76cfbd418cad725475f6ee0154d8ac0a2f195e191369a640c46f37346fb8858e875d8f441 +DIST thunderbird-140.10.2esr-en-CA.xpi 452239 BLAKE2B b64a1f171c83407eda754df839fede45de3eceb62176e12f09165da4d86084b85b3707566bfaa290a377229755e26f4f429c1b20e6a62372be2b25e79cab1f0e SHA512 3aac043828c75ff85e26300a644d34a458456258113b724ccafd62db46b080f0b77fd1bff671dfa435066302a97eebba39e73531e795bae9477a875b9cd32203 +DIST thunderbird-140.10.2esr-en-GB.xpi 452068 BLAKE2B 178343bdb20efb114884e8e021b52659eef31f43248bfd9c183921cbc3b62f2f0d3b1a61707ea40ff2d9a5bdab54122e63e7f340540185b0b018c7b3d763fca7 SHA512 768bdc283b209206e357722b9166a4c3d1fc6be925cc113aac362f12bc8076b919c39e4daa70565f954edef54272da4a2c0428f481376d384abd55288ee1ecbc +DIST thunderbird-140.10.2esr-es-AR.xpi 495265 BLAKE2B 53c27e8065be078f3a1c8831c9434870e997ffc7d5ddb66b8588da5bf7b86f08792f8901b7f42df76a8c81a3f5abe8ab39ba090fbfab04868c5468c8165b06ee SHA512 3979136af9cf7aac5b0625a6b964689f6e39db9c62d63d43417beec5447d394814d663d2b4c1c33f4333a6e7312e2c2d38ea717e05d741881c0adeb16d21317b +DIST thunderbird-140.10.2esr-es-ES.xpi 497284 BLAKE2B 02bed8a3c53d2fb3115163790635e83af83f3b29e4800c6ff1b9f4b5511eb6f62a20f2a791d60f4d499ee89aeddaccd8d34ae7f97b9a393fa3eceebf2aefb557 SHA512 4bb80ee6aff7f8b73bb4af6d85ce8100e715956962d9d10cdac5e4eef4cda97dc80fe7afac27d0e186ec9792a277b7785e93eb86f597ac496ce04da52d37e69a +DIST thunderbird-140.10.2esr-es-MX.xpi 490826 BLAKE2B b671f0f9e26a49b095863b3a9f4b0c8a0cff3c9fa8c4c468313deede10e8794c6a9b60d534a1d8e1590ced7f95d10766893842f8ee21b2687685fb6640f583a4 SHA512 a7caf23ad7c1da0b1212130df051279f4fb022db0624b7912e3ad3d7c79a63e707cd29372a7e398f33b03bf533974b84428ce1a5e9d79a072a1a31955b604aaf +DIST thunderbird-140.10.2esr-et.xpi 443618 BLAKE2B e37009f262f87e08f02f1f5fae4adc33c82b3056ab506bfe1f70ce8f352ca7e74bc5cd03bb93ad95319bd1298ea17ab2e24c3b8362c64eb9c88f65cbec93b901 SHA512 3c4b4429d7e9ea472f402ae862361aeab9e4b112d830df6c910912185072cc0fa3876d4a61b7841aa61b08cc3972b859c0ba2d26d8557ca546369d43f533b147 +DIST thunderbird-140.10.2esr-eu.xpi 473923 BLAKE2B 2a818bbb3f5752ada2bb7357de286fe277555d0172171f0ea40abdf4c9ca8c404694014638ab56762acd38ebd3ac67ec6a9ecc8db2600ad513c3b4a974125ed9 SHA512 b31ecff62601f06c08c8309efa0ea41a23739282c154de6c7df6547d0c27f18881ef17e9fc943d1d82491f0c587c1876f6b8258f8cedccee7761e285d87801c5 +DIST thunderbird-140.10.2esr-fi.xpi 475618 BLAKE2B f9743371ce671f5f790b2c41a293e2da89a8bb091d9fa275791e09f0b26c52a52b17ab687627db012b1d6622ab27a5784e7b769e59a52376416c009978159caa SHA512 c11893c506a2cccda4eace76d175469e286ccb6e3b664a3fc064702d330669f416e14e57272aa93cd3d241dac9c0ad435a9e37067465654d4126db5757c55c69 +DIST thunderbird-140.10.2esr-fr.xpi 508316 BLAKE2B 2f2e13579ab33c034801315fabbd1bd023c238fb75e4887191a417661c200752d16d3d9cb24eac4e1915037795f17739bc508d8da6f2560e146dad5ed13b891e SHA512 63f4b679146cd6f5003713a8479f730897d1daab8b54f5190740ee7a6efc4f3b686d1cd5dd00dced5d7625461d10107a328edb6e1d1ad508b14b5363064da534 +DIST thunderbird-140.10.2esr-fy-NL.xpi 490684 BLAKE2B a06457d4f507bc6c6fa0aea84a308c9b1b636ea0241fc01f513ecf66b86a8a4324c871c1cf311bc5eb31112db5290b79ae9d7d7a1aa145ba6d702d0cb4d987f0 SHA512 20cc188bc00bd55ca0d8e9f072cf8f46ced18eec0f57962f7756c9cc672ebfc2a1d4351e993dd38da732ef86c5b7b2df0d7f584ec98ba8c3c45d37e75e9b8636 +DIST thunderbird-140.10.2esr-ga-IE.xpi 376746 BLAKE2B 34f788078ecc59af5cab86da1a1de2e7c27f6b27cf4d0ed5063a6336b88179eb26d0f472cf9170a463c45f279823bb18290d999f2ee17c6ffba6e118b20a7e41 SHA512 c2d4585d721109524d6561e666e36ef2db022b98d1e46f7da9b61b939f705066751ba65f4a9240fc21e5e515dac37691e1536f918ddf5b14b525f0cd28aa37d2 +DIST thunderbird-140.10.2esr-gd.xpi 461973 BLAKE2B 720dbf82b14e1d25be31d3fde20c16924b5a23a2906131a3e657d92d621dfc727d9c7700a1e78ba22ee5ce7c7f339410c2dc70773e2fdbbeb79729fe84591b05 SHA512 8ff965bd4c400bb4fe0df484da12fbb72c912bf2ec83da407b3ba08005a677c4a44e2008184a60089a749536247feeef52353b7c7e39210bd02eafca9712b4e3 +DIST thunderbird-140.10.2esr-gl.xpi 489343 BLAKE2B e8ece9707d0e5f38a9e6cd9bee8afed4f70fc4021d7d8576d84eeaaa48962c04cc602f8910072f53a56aadc0f2ab5cf4d38f08c375346637ab7b6b5ad5a2c0c3 SHA512 375e186678e736c17a4e14e044102011502ac9e17840c3241519b2e71cd5316727137419020487a1d21dee4c9c059e9e5e73fb280dc7c9b542681f09013625b7 +DIST thunderbird-140.10.2esr-he.xpi 444205 BLAKE2B 02b855dd3fdacbe3fd86e7d80cdfd6ec99a4c630fb189d5f9424e953506ece34b6e5cc449e5b48b31bad787fa1dc6e7edc64995221ebf7cff258393d335117e2 SHA512 82c092cb408fb4aa19da4626daa7ebd1748db38ba557f733fe51612a5fce0dc208e1a9f5c2cd83b13f0c3dd3efdc2fcccdf8ca9ad6aec223ebb67cb4108eb952 +DIST thunderbird-140.10.2esr-hr.xpi 471056 BLAKE2B b53e0eb51e32de3720f8ec1879ff8d3e80e0e806f9aab7f77883fee966f175c608ade06923b170de5bdeaeb271c56d565aadd79a26ff01d213aaaafba0bc6876 SHA512 059e3bf86ff60e5565a469df2176a2e568858827b0e1d047ab51da1b706490a05aa80cfc14a8ce4e42116f572e68da65d6a4ce3049da58c11c36ec6cc8f4cb60 +DIST thunderbird-140.10.2esr-hsb.xpi 514953 BLAKE2B 4d543b53b258097a214e9ca2e42de0701551150398d74f4c4238415f7c70563cdd5b19226f6bc2e95b53c88bdc69c8b7d5d53925365c3e345edd6eaf54f659f2 SHA512 9fa8d5649af1850d028e072092b11e9801be583d1ef7f3cc1fb029de733cbae2a9b4b735dc910dcf244323a8453a1611f9803ce370c4028be946e0e53606fc32 +DIST thunderbird-140.10.2esr-hu.xpi 517544 BLAKE2B 986dd8efad7acd6dadb6e08d345d1bfabe6411250bce0444775729a492b24e75fee2c0e993ba38cd654f66ecfb1546a1e9f3719fa5c38d5536f5302035020290 SHA512 24d8087e99eaf27e834b5f3d3a711a480c0fca65caad0790139d78690b7b6446b64884b05011528901b7cdf24ca7660930b664bccf36eafd5042cadf8a9348e1 +DIST thunderbird-140.10.2esr-id.xpi 467003 BLAKE2B 6e26115a3cecb45665003fb3296213ca07f731bc5c38160b7d30eac327292f252ff93584f402b1692947f5c754fe0709b411f34fb628809bd0822d78f9c70383 SHA512 5ff29a0ec8f26186d057bdb7d341af4f6f4c0496e0d37a31b34f876c3ba5cf553ebf3cd5c570d4718cf0abee22ea763c96ec02db3132bfa9d8512f7f930d6627 +DIST thunderbird-140.10.2esr-is.xpi 482738 BLAKE2B 867f17906716cc1fbe4933e94a94686e1236664eceffdc82c450d46cc6fc1eb9c71dc4431cc09379452bc08b42534aa428d7ab5c921cd95c41c2090bbbb4e4f5 SHA512 9ac4d56c2d206886a832f6a8556088c5b7c01dc1fc1b03b32bdc7d8b9e5b2b53c9ac40963126de569134f393555195cefd77da608cfa5839c7a2ae99acdb729b +DIST thunderbird-140.10.2esr-it.xpi 488527 BLAKE2B d900715e22544987dfeb96183f5e7abf4ad4bafe231ae640d6f43dfdb76e080311aed406bf727a29dd10142f2c38761be4c6944a4c9d18d5fa556d5038c2147b SHA512 4d322998336beea5f4d8f38cad4c8ca4b7a1b6b9b38e205b0b172b7873d34ad8fbe0950b78562a7cfea520a01d55ea74abd613fa3a280396580af34537806ac2 +DIST thunderbird-140.10.2esr-ja.xpi 539186 BLAKE2B 0a835e86686bb70a44e9ddc9c0c8cca99e8789a4728bcb2d0d822a44de18daf03809ffe41ed71867a910df5cd757a396a82ef57312361369a2a5424ae6b9827b SHA512 3a615d1cf004db84f9af518ea6a945d5b9f16713c54428daf0c191b0fb827e8e681fb0deb707f75c83444c92ba76b8c100d165871b0281c5c5f67ab700d79a0e +DIST thunderbird-140.10.2esr-ka.xpi 554794 BLAKE2B 22c844e4d9a8a438a8fbc69ef68a86045ed385515d088531424dd3357167855d1f7ad0a9011b7cfea211a46755c51e1f1f4eefee5498f49abfc9cd4763a06fbd SHA512 6367b90b9f5ef6f648ad7c9e76c747c3be67fbc5c73011a44ad67ad2baf52db87e6f97db381d3f4490d1957f424a4913044b95fc823e38e09f75d672889907b0 +DIST thunderbird-140.10.2esr-kab.xpi 470497 BLAKE2B 62953c0085ba115011656f26741fc0d603f6169b680c32db3f046e644886ffbd87383db9730cf36246369fdab7d510d2ca195f4c478b1c9d0fa22c14dd8278cf SHA512 d07a89248855cc1e6928912e43769cab1c7661c7b2af661042154fa0fb19193cd73ef22447840e676fe65111b23a99e739056da9653e99825435beee86fe0c76 +DIST thunderbird-140.10.2esr-kk.xpi 573884 BLAKE2B a04fcd48012fd61f3585d14a071d1b202c2503e878a60d43dcd055c3998c7ab81af232a60105f8dbb42d1331bc052f6d714f7cf99218ea67cd744b3a867f28f7 SHA512 7116650621449ddb4152cbbc46149a594870c1d433d369382ffbc4772e328501cb0ccd029fb895f4430ce81318f4fa7b9a4977981bae55606a5974b90ca0d755 +DIST thunderbird-140.10.2esr-ko.xpi 515590 BLAKE2B acacaacc363ad67ed11fc3fcaa43d2eb42ca3e5d180698d1546d42f17b480478dea5e853a630ce980b5be14f914c2f5dd2a0f201ffb3386e12da87d41aa24de1 SHA512 c7bd98da09c0b54386472b2e3266b6fd30d82877f58151cbdb5cfdb5474bcb2bcf5792ddc31e985c4eb70be5b536161675dc1145361b2cfd1c78e0d6e32d4b24 +DIST thunderbird-140.10.2esr-lt.xpi 453436 BLAKE2B febca8fd17771878902be258c34fb803bc40b357a48a09ab4814328fd2170b75cea8d20bd80a5588b2f37075d88467be9424ad4eb1cddc0bdfffb04cb1b4e205 SHA512 4a7938223475c8a58531f7d992961aba567d6804cac8eea07eb0964b36e75cae085048448aa16a1d025b3ee652cf2eea2543a745eb9be0878b0c3e6beb665aee +DIST thunderbird-140.10.2esr-lv.xpi 392815 BLAKE2B c80ccd232b2c94fd4075cefeb39fd2a38a0800e09d4d49a538d88a86a8e3e2e52102875941d6b215b9e9cebe2264cac1d1bb4bfabbe21f2d9a0aea8f33607862 SHA512 1fd893e64373fd40a5fd2ffc7170abf8c5b375ad1ff72610e067090260d3a5c0e572d0c587e47d09be502488d272c6b3f66543da2bbd383b73cb2cf1885725fa +DIST thunderbird-140.10.2esr-ms.xpi 352180 BLAKE2B 8d8249ba3b48f456746d5513efff8504c40d325de8e5e016d29eac83e5731698d9deef82e21cbe87c1f33774e96e3ca45be48832e944e1545edc26b92b55ec59 SHA512 c7f3effccc6d28ed4d5eecdd36c62293e18ec84371eaf395396cd4577dded81fdd7d215aaa0e0185097cfab3e022c4877f970ee529ac1d5ff976b4af8d0c97c2 +DIST thunderbird-140.10.2esr-nb-NO.xpi 476123 BLAKE2B 7d496733a5bae1b1413a2975f46fa922175d0f7bbf68b90c30cc2074157960bd6bb4ef0fc40478752e0a02feed5574c334f40345a5bd5336164908b24e468ce4 SHA512 660e59907f1c53588be831e5d0b4d9a9b0d8d526a737081b60aa670bcde06c0b58282c4dd6036a079712276f4c8cb3039e119fd833d2cec1c6766d12d20f9de5 +DIST thunderbird-140.10.2esr-nl.xpi 482118 BLAKE2B 2c580c38bde5631123c6422a3af1f25023a539b8a55fd7b2fbbba9ce938026423b3e9e65ac8148a3f1f1466d78238ca773c6871a2448c6e4911694df4d52c1a9 SHA512 f1b445d5eeaf255036e6e64c3c30a7ee8620c076c127696922b4007f6987a2ea4b4ced1e6b22a41c16cba73e0d0ebd155a2ab5abcefa520b70c3838d89fbd52b +DIST thunderbird-140.10.2esr-nn-NO.xpi 479761 BLAKE2B 372567124e9c0ba7120719be62c93ac781d73bc8ad8cd7e099da289dd84f6315a14a46b6face56b8209950b5ad8ffac606886e632633e3db2f075bb0db913315 SHA512 a62f7c42a64438ea18e4469b885a8b6ce5ba3773be169aa5b215bb1def0c627f1cfc89d48c127253c0b5c68de003986f9a5106aff242bb3e3b9197cf3863e787 +DIST thunderbird-140.10.2esr-pa-IN.xpi 435731 BLAKE2B 7f28485267f10dbf6a9b6483b4f0adf7656f1438528ee2f58ca47dd38b7a0caeceda80889870fd0d5793d8db9bfff3d41170e964740b8ea7251bfd13e89f7e81 SHA512 7501a887197000e71950e071093efc5cb95d46f943b0ec393f1342e53eb0d74bff559b99d42e7d0106228fc0554d6e9336381af25038bfd161855efdd9ecf9ed +DIST thunderbird-140.10.2esr-pl.xpi 515612 BLAKE2B e1d28bdffbaa4eb0408ffde78b856b72194c3b2829ccce74a8fdf23cd8a48fa6e27b43697a80f980634345f77c25189d0e6d454672ac3886720a7781c27d72c0 SHA512 ea819563ee01c63c9d60b0a86970fc710effca26e018cf368ed78475646ce37eba340e1bccd9f12b269541f0955615ae7c3af3ea81dc18ff8e9991588dea4b32 +DIST thunderbird-140.10.2esr-pt-BR.xpi 490166 BLAKE2B e4d31efdd68d187ae8d927b211992de72cd9aaa0997ef84b41c1080d27ae31e55f06bbac71b40e66bafd2898198450d07ea8e7675b86bab24b420f77a55419a0 SHA512 8be632a8c53d60cd8a8eca397a959b787494d332e3e29b3863ac07d93b5c3ca60660f3fd7da46fc93c0ab9956a219f3e44a78c225d02e2b2af8ec71c968d2294 +DIST thunderbird-140.10.2esr-pt-PT.xpi 494210 BLAKE2B b91008378b41bf9882710d70bfcc396d245b490b66c93dfb3fd589809dab52a9db48ca6ae938e345a22990600402366bc44b6658e8bd86279e533c3d1f954290 SHA512 a4190198ff34afde4b564834fd43bede137a71fa22bf1f80446f598d12ceb438f2ba84e9d528e8c10037773970ccfe09f6d04f25a709e053d6bb2f1aa79e4043 +DIST thunderbird-140.10.2esr-rm.xpi 487883 BLAKE2B b400b3eed713a6bd623507cebf7f41b48da4a7ba3f16ee22ba6a37166136b78b95c0434c47364d02a7d99be4c2217797578d2cbb6afbc1e74375a35889bbc0ea SHA512 c5a8cb2e1d9ac65a364154ee7eb2a68e3dfed88f7d078e75929d3851a70f3cfbbdf114da5034612ad584bd6977226d54df9955580f63d259e8b45b54e19fd088 +DIST thunderbird-140.10.2esr-ro.xpi 501095 BLAKE2B 66d4f22f6fb6ac89f963c5b677cd3aceacf1edfd5ec5db3f9b5a946813983c906e794b3b0d643cd83c3f504f5bde9818aaadd12e49f6fa17092f0acfd8ed10f0 SHA512 4e5e044f433823798fe0be430651c5fa09257377a0422e3b3ee8b3d46cd369a09ca7ad6c833858070b1e2d8efc7d5b1cf29d0a8de9f74722667a2a3a30e43111 +DIST thunderbird-140.10.2esr-ru.xpi 593344 BLAKE2B d86efffb839a46e83b467d45f06042b295263c2ceae96e0e84ffee773ddea0281b638d3a1bbaa2ff3f3d7d0d82de1a5f57efb99598384b0ebe38d117c42333de SHA512 76b3cc3c9f93c1dd18fa5ac5234d3bdf362e1ae32f30a366aebf5da00b218ffe0f03c9cf7b430035c66dee3acd8bd94e9d57e63c41db5792434bde228d38e2b6 +DIST thunderbird-140.10.2esr-sk.xpi 519390 BLAKE2B 3ed9003e6f5aaec0de266ea5eeb71474a3237bfa5bdffa99540b75882390a5aca869f37f0bd4baf4a1734da5610771ce54b299fcba231f13435eafdbe0feb424 SHA512 2d736380702d7f61fcaf4c6bf258b6ec17b9a09b06ff257369974deb55f14877912b9e56d60170e0ea70bf021c982895a21c1a6fb6e0a015393c31742bc1df61 +DIST thunderbird-140.10.2esr-sl.xpi 485964 BLAKE2B 94e30891c79b066089d57aad462a0d5130adf6cd0c592d2a0a4b03c45e1c4f56905774eea740992b0a88bb73aed95580fa57ecfa9004ac2ec52b64faa602fb49 SHA512 9314f4e5efb2a4569521ec8202f5dbf63f5d6201083ed83a037ad59e4b3e25ffc18f757f1dfdda2f3c1b07b19e51d1feafe7167e649ac4bd16586cc7c7ed7f0c +DIST thunderbird-140.10.2esr-sq.xpi 506278 BLAKE2B 28ad34c1b8e7d3d3c0c831518116b2f5bb865724c1e502715b4dec88130bb6f579896a0afd5e0c4bc2d776805d455005b3795f63dcfb9f1aef688ebb0edf3cf0 SHA512 87b21df4e95181e3e9766070653fdc8db7bd47fce760e1b340e6b67824b698a3cf79894cb11871b7855ecaeb34745238eaefca70f54a0cdac75269493e784653 +DIST thunderbird-140.10.2esr-sr.xpi 533249 BLAKE2B e5e3673b8af401d10a19a031339e7d34563b6962f0f436e4bcd1ecceb0c2a07ac5458c0f083fed50ad625d5fbc7dbff703a8dd5f3d5dac851083127b997b0b51 SHA512 6c6473b00ea02b4d1b863ddc57c74c62e0e73d537546be3737fe17c3d98cc03b40ff973109df031c84854a103104defaa37c26fd6d07d85784d7c17e76de0572 +DIST thunderbird-140.10.2esr-sv-SE.xpi 484420 BLAKE2B df6fb560450e4b94eeafba768f6eed3189abf083f97103a93079aa270ae3ef36fc2a63bb958c7230f0f7ddbd0a3b939955dea89e7fd92951bbd2e9b79892ee86 SHA512 c8cd324cf493d0d23daa9479dac6b05c4ea6f30a69243d9bbd1284cbeb96132be41cd669c044c417b5bbbe3bfa91e49793eda7acff655cf9f5182bc5cf269951 +DIST thunderbird-140.10.2esr-th.xpi 569103 BLAKE2B 9acc16ecd567aaa909ed4801e17881fad4c8c8fdc0ff9c56bd7800039dd32f447197da98562a7fd0dc19701d57c9e50d8961817eb073f6cc78c439c42d7b78fe SHA512 27626325b72b4c4c8768e1f05a11c65542f5dd954c752c0662972e89ab94393dc01a04801b9f65e0330beb5f03691a68fd3c597acaaaefd232f244427e8c2522 +DIST thunderbird-140.10.2esr-tr.xpi 496303 BLAKE2B 4ba1489c6006ced7187b8bd523c50b6bccd2d70a8cf902c516b8c119df92add84cc11dec77da0d5c61ea40680a52838302ec4ef0dac97cc230b93ed8e99a03e3 SHA512 ccd5c22a34f757d2ec4d564dd8dd132838e3460a3ba32a23909437354ac03723da2129c995d2c7dd8f2365c150e5a010010a0e260e522152d3d9c3ee7ace864f +DIST thunderbird-140.10.2esr-uk.xpi 582151 BLAKE2B 15c942c76158ae20544d9c5301d0d7b324ce382056400416e13c9158cfd13501deeb8a2099dfd6665e28c2b3f106d2e65d70f95f50c7a4d5c6added85c8f9b49 SHA512 e116de9b0f73b5c5379386ef0dd24422c671307fa41b8d2f477c0567cf0386510042ba1b17a4279c7bb3ce7d6f7816a5db6d18a5d19bee9c30dae5fca8681bf8 +DIST thunderbird-140.10.2esr-uz.xpi 355267 BLAKE2B 85aa9c19e8335eeb052a95bdefd5c287bf29abc7ffc99c433412e35d9210d770f3706f9024b283211d8126c07755b272d810601814dca6d92aad93345db81273 SHA512 cb29741e4626d22cd52abe10bb8762e4f90fea10b5b02484106be44d01ae3c4b0721944af3b05d76c4803ceb43260e9c8709469b6199ff5ec35fb03a213694db +DIST thunderbird-140.10.2esr-vi.xpi 518884 BLAKE2B 6aa3db98b22eb05ff4b711b860480d4b88122f27572736d4c7c7163cafe12c33159303725a9d06d14902bcce4a93a9c48d4441809c2e6d55c094adf7998c7469 SHA512 cc2388168f377d9ef17654b0faeae866a617139e863e9017a85909cbc6565593a9bef55d8a6530bcddac1467ad6a14fc589e3999803587a1f6d0901bb7064eb7 +DIST thunderbird-140.10.2esr-zh-CN.xpi 507846 BLAKE2B 25c09eb3094bf4fd7c08ebd1793850016e686e69df4ae77ac455d0e90d30fa3b1b05ff2ce08e3f57b280cc715a4b6d72b237db7f7259cc19ee900aa5c9021d29 SHA512 bbcee47143ba149a586cf562cdb40a08f9a520d3ea0f7df87792496f66081e95c5e3d98ae9e2667922b552ff42a547816ab8f544812ec6603d9171cbf487c175 +DIST thunderbird-140.10.2esr-zh-TW.xpi 511431 BLAKE2B 636d736d1905922d6f3fe0ab3db0d201604c07187fbabfde4e41e21b6fdc62662f5ea2c75f7e6f7a295840b264763298eabfd166043f06f8a1ad3421e5a4bec3 SHA512 ce0535ba87ca27b908d182f6c57719ce8e62447a5721b481ec92811d11e6c7643ab2b64a07eb05c85695dac63ccd56a3b69f5aa2b258c45aeb44d5d54ffcd98a +DIST thunderbird-140.11.0esr-af.xpi 316219 BLAKE2B 304fe15532bcecf26d5b3202849168723ba5744ea5150000b7dd07d6ec8185f71a952cc37a5be1b964f717b9f34e69671bf09cd5670d84c81360cb3618f10d03 SHA512 bb098dff309b1638d104bf4de1540e56c55135325a115d504d6796af8277b7f7e730b1fbf3617c6e92484f9b6adb2d22179352e96b0fcd1fb4927c09f1315b25 +DIST thunderbird-140.11.0esr-ar.xpi 436198 BLAKE2B 4cd51e332d46beb995b90843b4785d201b1c813e726a066bc659ce93cf4f97401d00dded13f2e5e911f072706d5bc1affeca73f76bb00b3ca36dcdafde571715 SHA512 d4b2d655d3483b7972dd4d8afb2c9e5090e94ba67ebd0fa35b92d2af1b61697826e0ea095e6e1e02b5f1060ad40195ea744ff54c3e550f8ed4bdd00c979ca586 +DIST thunderbird-140.11.0esr-ast.xpi 340599 BLAKE2B ed6f9f62b123436d8755b1799053bfeb27d13cca8b0104221391a6d4d56ad044614f5fc50b40e9b7226a500431d9b99449e016f6a82c811568e1bb74155070e4 SHA512 54a6c3f0a6e856c9a120968a5c04dd75177e2403f52ba403317934b877b6e9408ee505de5baf6e5d54ad1677ca025aafee1ad927c663edb3700b6c8bba5fe103 +DIST thunderbird-140.11.0esr-be.xpi 522094 BLAKE2B 4e505e26100f37c8872118db41b5f2897c28e1ee4f8f3937ce8c6ec1a3624555186edee6df860442d2a5fc8197746989ecca4352b5110c2a622a0bb52db565ef SHA512 12108e1ce4df1172bf56d710bca55243e73bcbc129248fdb4c46a9393782d0011cbc0ef3c7b7a947428986b29254afd64d9ac762f2ab259f4f811d1b21e13f35 +DIST thunderbird-140.11.0esr-bg.xpi 539807 BLAKE2B ee4e6a3c30ea05eba2fa6ff1b599e64d0b2dbbc16ad4b036beb8e6c812062a311d2d8b28b692332a53afa4d627e646e27de1b89b918d6b0c51bd2e08bd5c416b SHA512 d11af8cde7cc55a31c944889d814081c42753b4b7a2c75f15add76e97781bfc39bbfdef60795412b772098b719ed8572576f15b40409fe5aab35d4f53e2f39ea +DIST thunderbird-140.11.0esr-br.xpi 402749 BLAKE2B 021449b0604299605bd70ae4c31fb011da62b577614fb9d6d3a55a7b8b52c2d20338ab240855a7bd6a2190d37b4aa5341f8f84490e450a0eb7c12ce7a1898ed3 SHA512 5c88d743120978681c7f1c31b2ad3bab81601a02782db8c39ab68bc2f44d4017884c63bb05764ccbbbcb2bb8e2bb1f9822f6d4f3000e4172cf481367f9d16cd0 +DIST thunderbird-140.11.0esr-ca.xpi 440672 BLAKE2B 36476c83f02f56cd6583f825676034d0a4527c8c30eaa4aad88fd2f24fce7c1271c6d9455caf500fee666fee406211d0559e8687d6273408b681513936ec357d SHA512 f21cb3d7c1a6741461e21aae30e7e6d13237149d3227638a9a2ea0a0ee2e6e9aa865ffa00c0ab8c7f1f0fcd757498eed4405f8ad28fac701dcbb4a315da0c860 +DIST thunderbird-140.11.0esr-cak.xpi 418023 BLAKE2B 6fb5a5f102aeadeabb8c06cc32905a76fa661b5ecb846e07d2a6a8663d9104dd4d23a84faa22a60ebb3c0220d3739a371aeed3432cf9c06d8f982e042fe72545 SHA512 0e36dd6d55549c628af7b84add31674dfae51d8c4458ee0c80d9793429b3d31d372835ce62ed2aea3c575b710f915d34877bf592e73b777632c6bc04b170432f +DIST thunderbird-140.11.0esr-cs.xpi 519564 BLAKE2B 29b02ee6e3ae96b5d6c9df4eaf3d8aed0d52fbb1de330f1e21c00c58714064791f5308eb96de605a00c4da9bf1f90cf088612130c012d2140b914be6df90d5b5 SHA512 ffb150be23d27d5d2ae818d4511c3d43f2f4838cd2a141386467e4aebcecf37e2ddd8e2d8c861d67c2f12744186ade6f8e00b886b5e441203c10a2590cca8567 +DIST thunderbird-140.11.0esr-cy.xpi 487653 BLAKE2B b6cf8658c37f9552080a822198b5fbaf304b1c3e108dc733dce7daaebb3f298fc024a0ce5b99b6ce9140abf63e248968a8579473cbbe25f54908e9b8a4b250b5 SHA512 84b95c0c530d8ac1a32dc55760407793acee95f1ea6f035099b0c1d880f639ee9d41ba34a8966c684d2c766d69b069f676b24bd5e4042ebaffa5bbd6c5d103c2 +DIST thunderbird-140.11.0esr-da.xpi 476625 BLAKE2B 8c89f21df2da58ddb9b1a153b6a95cd765287126f4a33fbf3cb68ab104e6788489a4c4bc99a4d79d91b69cbc3a08dd3a6297441d4481addac53c48c8f5ad96c0 SHA512 2f56db6bc30d4b909622bb009c933226dcd7cf453361e8ba7cd60fced6859d27e46c8478840b5762a1fbcc71a35213cf676b9420c07726782780f90c7d429578 +DIST thunderbird-140.11.0esr-de.xpi 504709 BLAKE2B 5265a11d1baaa3fc6c1df34820f9f9b1d2c7b10606b8615ed7542222e03a2a40248178d47f873d130ff2b6e52efca01221edec70d22a06d96d2319486212ae4a SHA512 56f682cb74c4cdbfe464667ed1fb4b0ec4c412d727087f12d82ce6b91ef4d9e95e9a14196d2a84e26513e5ceafea18ef06a642dfcbc445afaff49151bbb49645 +DIST thunderbird-140.11.0esr-dsb.xpi 517789 BLAKE2B 78970cea3501d9428a98092b04cf8ac339a917697abcad451071ad78f8cc6f78e4d8b4a71398ae833c88b85c5dc4a77a7a3868bfbb1b44409adcd60e67bf9b1f SHA512 6f6932f2e1e7b73d5df58fd7aff03df3e822d65ef3daa9ac80c146fdd2bb148f92291d367452fd337f6e82e2abb3f2d5a6ceffd59006d0ce630d4d4d8a9d3811 +DIST thunderbird-140.11.0esr-el.xpi 609040 BLAKE2B ad9b099476b3e6f146469fa2969ed630b9e8ff5fc89a9d0733f3dfc85d7bf058344cec25265f9eebac435539b5677da87465b798c0c9fb96c937a4b1b99359a7 SHA512 2abe714d5286e44ad34455271d0d665aa175231b951175c0e3d3d2cec19d22e12d012c30eaa7ed5299afaffa0942a2b5ef073b3e9f63a96c010eecdc593db686 +DIST thunderbird-140.11.0esr-en-CA.xpi 452241 BLAKE2B 5c008cd20965312537368cb1f94ede8cb3328f32809d39144f7f434a394edf5f05357bafcb31465a9da012dafc0a43899ec523b87d3388deec1959d39d56bc25 SHA512 c8b7f77618e14fdfe95d71d81fa117f6c75dad40bf226d8bf2951c2479123906a5590d7cc217d4bad73f92cbd68ca51198b5181747d5eb0b23a7ddf0eab0de1c +DIST thunderbird-140.11.0esr-en-GB.xpi 452070 BLAKE2B bb6d1b3de12d73a9d2781a1186c59f13ee9a7a4ff835f001cef9afc14ef62c0ca17eb31e9a05af46676e9c0d92e1aa781be0c85960b87f2de15b9f594502ae3e SHA512 7d610aeb65082126441f9a895e07bfe5f969bd43c294217195298c76aa5ef1d053d900eb3ae7000d0f90a072e8eb755386bedea17cce65fedbd7f8fd551e76f5 +DIST thunderbird-140.11.0esr-es-AR.xpi 495267 BLAKE2B 69d1ebe2c7dcb29f544f25b97ddb96d29cf6c43e9f923dcf8aee27a0028596277ca1fc1716826610da59b9cf44b07b431f267e94e5ae9bd4f8ac699a29745ba2 SHA512 dbdae9f3b47b0474747b768e8baaf145d3c93fcb974f4f0861360e4c23e2d289d6645c5c54386b859935d298fe40284e76c212e7b27d4eb91165549f7b68595b +DIST thunderbird-140.11.0esr-es-ES.xpi 497285 BLAKE2B cf8d08121daa2c0c3e111a8b435e8dcaf8e13bc4cb33849652d8e6f0df884d24a7588161c28baf362ad3ec44552137a26e698386fe2caa95822a5a1f9170b353 SHA512 6025faa24fbcbe857c153419614843c99c16ad713bd0a875e0baab9cc7555a051e9f5afbf40b9a50fd474a9c70e7d4c55e2c1cc232b5c469349d9f65f9698dac +DIST thunderbird-140.11.0esr-es-MX.xpi 490827 BLAKE2B b77fbe6426a5b0a8a9cdd0789f723a465893d0b1b80c6b2fd580eea4203e25ef7cceaf295d2d863aacf535ccee45d4d88b4260089f22f7d47f3b6e57dcae4df7 SHA512 637ade6960a8cc3f8e219c431c8cc0fdbca67400619f5ecd800188ad9d5dd8fdc8e3aec75646502bc6ba87d0c2296101fa11e5cac220c63f4b9af9de0e717399 +DIST thunderbird-140.11.0esr-et.xpi 443620 BLAKE2B d6ddba90f68a302a69a177f28d1979b9db68c3234a5d9f0da530812ba7e6f1bed9f2cc9c01092d37c908c29e9614754bf9af02cfff4f1de81e51b17835a5fde1 SHA512 3c38a00b903be9d5cc78187a10890cf9689b1ec7b668b53ff8d0b61b43c8f9099d9b02ed5a6c30a5bfcedf2c6d7fc0c153ff50a26ace9f84c7c3254eee63ac06 +DIST thunderbird-140.11.0esr-eu.xpi 473924 BLAKE2B 238d4c1793a654709a253990e053458586df228ea0ed7dab463716568defefafdbb8d96761476fb03b523ab4879999ae42ea01a4357c0da259ea0492a7999c49 SHA512 96694a8c3f0dac1ddbbfdd0405f4be38cb51058d809a6a9530da332090f2df9d315a69207edf23c4b2661495a44c7cb62d8dfb5faab2999f6396074de3237471 +DIST thunderbird-140.11.0esr-fi.xpi 475621 BLAKE2B 6bb960584ec7e53be8b3508ad12523112de5ec47c5053679d6fd586709936132efad886e074c0754bbfdb64c2d022dd22f2740f90db48f963b809d14ebbb3b9b SHA512 35920ace77af0ce9a42c381f89eba4b5339399484815b335b56c3695784213983917ec93bc854c55f558d786e044522e9c6bbec76fc2be9a408e38079245ad61 +DIST thunderbird-140.11.0esr-fr.xpi 508318 BLAKE2B fa549017fb01b3c21c7bdf89859054c2627a2b30fc35f708b9f4d8a65b26b6d50e22fd0135e7ee67d6206882ac53bd820285999aa58b7572e09c2148fe4cc631 SHA512 ea5dc33e32bdb5e2fab0d719a2d23844d42e62cd36054d9c6064f350368933afb23794fdf891d239fb0ba744c42f6073a6c27fc992414d0b1dbcfd4fad9d8086 +DIST thunderbird-140.11.0esr-fy-NL.xpi 490685 BLAKE2B faf544cdd853920071a0e20cda6eea2a8c317ff0ce4467704fad7cf9414dac29a671600c8779e246e806fabf036c371ca637131dc5b040b89f3cbf1240ee25fd SHA512 f381c996422de04b54b988f1bbe917ac11b8bc9ebe5f1d358de5f54640c9c041ba8c6abf694078490a28d31d6337b8c0f8c6b0dc0fafa493dbf92ad8d55f9f28 +DIST thunderbird-140.11.0esr-ga-IE.xpi 376747 BLAKE2B bbc327d97a88403610e7561800505b478d6416fac3dad5521205077695e0fdd799f95504079f3a46a814082a2877ec21805ef57966b565abd63134b03cdd7051 SHA512 704c9b14a7cf00692931610149d86adb458bffe224c77dddc91ac064956686073d8cac909ca35f9cbeb08c78f4b4526f32c4bd4030255c67f86935173a90fda8 +DIST thunderbird-140.11.0esr-gd.xpi 461976 BLAKE2B 7c118c11f3bf9cbfa36736709f6599fe34c1c80ea9ade3b4ff3edafdb152e711b41b0bb08feca16d7662e71fa3d8acdda641dd24c1ba53565c450ede0df6571a SHA512 8d23914068364091a17a3d9312a149cb70f67d1e5f0de572bbb1b6b7fdf734556b8d864b96839604a41c28a25b99e60c692bb74fc5879145a6c4e88e2f381e65 +DIST thunderbird-140.11.0esr-gl.xpi 489347 BLAKE2B 1d676d59510093fda8b0192e9be9ba2909b1c384327b448a67772f93c8719feed04091c3b3ac4ebceaf45bb7915e89e9125a7deecf2d6041f9fe760ceccaa7b2 SHA512 071033f9ef6425016fe8f8f292b1e4cccc78ff4c77d18107a6cf5b972b940e57555c16675bcfb03f863220f5711ae45a753830ef49ba4c4c2c25f16e7dc1c541 +DIST thunderbird-140.11.0esr-he.xpi 444207 BLAKE2B 558e24730c02e8bfc4274b9391c50c6a856a3492141e40ba6ddfa17c68db207e75b832c6f2aa0855299542eb889610d3fad230e72beab7fc9ac3ceb91429278b SHA512 c65cd54b15b7b6fbc03435ac9855fe3dd3e9b53acd14d90d88a21ee6ab8c824e2a6ca23a908902e377cb361898242b90b9bbcb99e11e056096d543667621418e +DIST thunderbird-140.11.0esr-hr.xpi 471058 BLAKE2B 2a9b80b05c15356f8ef84a38e5806120efb7289b9b6fb9967f28675760d65fa62d77ae25fc5d962d019fdafdc1152b022c680b209651503d97225ec84ec9e08e SHA512 1a66ea1e0f258e1d43d27b12be97a9fb10cb7c0ef06cad055a7c35d7f6f24c12b2056f630c3f1d1e11ddc6c4d6fbb5f73adfb2648c9303375e44ebd9063cb6de +DIST thunderbird-140.11.0esr-hsb.xpi 514954 BLAKE2B e67cb49d786e3040130139e8d1941da4327a07649b62484f5fcb961db3f017b97227c82ab75ac0bc25e51c16b1d719f4bb430004dc1bc2d5effcaf402434adf0 SHA512 1d1db502e687478a87b3af6369e4cacaa9e6f82c6314c0bd8cdad42b1b3a961c033d7cc1d09d304b711b1f900e710bfdde7394b257aa7c7c0d9341fe6336339b +DIST thunderbird-140.11.0esr-hu.xpi 517545 BLAKE2B 7ab6933f33be3385c4912b92efcd8734b498a19cb2f796ac44cdfb3fcd36f0dadf0421f07c51f5c72c74925d0bf085fae99b5747e62685b073ada23a45d4bc2e SHA512 19d6c5973a478f967fcd7bbc30f8a9e3cbd085b04e1ab84000ca5521dc391bfd5e8b7f6ee21427491cf42f5bd85d4852eedd9d4e5161ac70724fe1a8bf77d9f6 +DIST thunderbird-140.11.0esr-id.xpi 467004 BLAKE2B 0dff9e49755d175bc54857f9ed2aad21d149540babfafe8f336bdb2213e134e410f7f23a0abf0967f083c3352fae91cd9b5010fb37aba70930e3090195ee9c89 SHA512 1f90d975be9b2f48a22eb438db4911c4a1fa45bd63bcb886ba3d15ffa7b73d638aff6ebd266471e0b1eaeadbab56f5128128fcf9ed189211f00d59acd0fcbb2d +DIST thunderbird-140.11.0esr-is.xpi 482740 BLAKE2B 8a37bda3be0da452e423b02bc68974ee6380472ff99c1afb13d1f4bcca267effe87f351b8a4eb9f22ca3d3838f256a29839ca8bda97d5c15d26ea09d5831701d SHA512 9f8cc6a467094305dd8bd450fed4e3d4baba6f16d52916353831c76a1e014285212cbd6c3d6f9c8bcb90a21b351c3c54a4e8ebb47245042c059c7bd32e6d6ec2 +DIST thunderbird-140.11.0esr-it.xpi 488529 BLAKE2B c0946b2f0311d5cd3f6f254daffbdf6a3fa10e3d9bbf11b3717637347ea327d54083d195fd45b6d232b01c8c7910a161b1cbec45127d2cf2a824a1f417881eb3 SHA512 d132f9a2da0964b830d2735579c88be61c4a21e608235a6ab1f0addabcd9f9004dab428605170af48f5e1dda6e0af5af9dec861349193df0deb50848ce40c4c2 +DIST thunderbird-140.11.0esr-ja.xpi 539186 BLAKE2B 775cbaa323d4a027cd1c3516dcdd74752568080ba53cc27f04a52ac77ddac6beb4019e145c7430f1e85737f3438e886ed2c40696333f054cafd758d6a7932cd8 SHA512 b392f3421e4322ca27a50dcad9f1410b10ffd9eba46d93f63242037d1e505a99b6cfb49c45ad3497e3558a233307eaa92dc361234f7a171cc686bc8b69ef1d0b +DIST thunderbird-140.11.0esr-ka.xpi 554794 BLAKE2B cb72ca8d2c5006834a2edb43ca68f2a70d035e7f326347c8bcde4f56e5033661e915b74561a13f5a81bbdd968fb82f79efe314cc05667fc76349b35e3c3250f2 SHA512 12d889b634cb7cc8fd7728b7868d4f9ea47121bdd8d38cf4fc8e0970328e6aa1ad400f303298fc9b3ec6699a79118f8deb98f51f684222dbbacbcd8adab1bcc5 +DIST thunderbird-140.11.0esr-kab.xpi 470498 BLAKE2B ab492ec32ac7b60eeaec41ecf9883c1bb8a56ca8a232a86184480db366031bad1061489e236f46bbeb7a9601e68eeaf03a03d517bfcddda0348b171dff7890b0 SHA512 00327324edef023c5eb644abcf6997a6d64e6db62e2f0088049dce67b4cf3d2640418bb53644e2cc18e0f5c5fb4db06097f0349589e6abaa8a4f87a7e5aabf3f +DIST thunderbird-140.11.0esr-kk.xpi 573885 BLAKE2B 8241025a7053a4c557fefc82455365202e3f0d1276a557911c435b34d81a49de1e14a960ea5e37c2efbfd1aada0de199b2c8056868401abbbcfcf141dddbbb43 SHA512 736d3de0956ba059a41700e08ee714bbedc8c56b9da6758edb40a4cee176578d0c52bea2527d80571085fe451ad8e9a26c4232658f04d6d4602825caf730dd86 +DIST thunderbird-140.11.0esr-ko.xpi 515593 BLAKE2B 11fb89df9895576239a89a811ba3b1ca547699d83025e9f5b9bc34c99f44fcc1d36aac141044a7286248ed6814f80f6cb87ce9318487767613877339f21c1583 SHA512 1d9733836452c9c34c0a167afbd31d880e40aadaf95d5a3e91cdfe5f658f66646fe7ec35b3c51b316d4eb16fceeb038a8c86245f9c19198e6b9b04b3aa4c7a6f +DIST thunderbird-140.11.0esr-lt.xpi 453438 BLAKE2B 2e59b362f79c6d6b9ffc45696f6205b42dff308aab4795edfcd2a939a3b91f3d46fddf1879316eaa7efc1f215c97774140f803963475c8f56e65a80c33fc2b97 SHA512 b85b11acd5be89a2d742454cc6f96c75ab45d700f24ac5b363cdf7b2dc1def0bb3884bfc229d1c6fa0d16869f4c480db1379d8b4feda035c27c3e1c965afbd4b +DIST thunderbird-140.11.0esr-lv.xpi 392817 BLAKE2B 25f813bee1d47a921a74bf47e800c3fe72551b5c09f5d7ca545f21d6d0594a5570b875351186b7655d44ad12403da72f7cdae78cce2c4f1bafc2d08210949cab SHA512 7fd5896489f8941ff505c4c22cafe9b53b0815e557472f9f390ab45e530c669d8afc191a1cd623d44db9cbec224d5f469312cc6c660b73174c1eb65f1daf62dc +DIST thunderbird-140.11.0esr-ms.xpi 352181 BLAKE2B 398169bc1c506ff243de77e99dfad91ccb3f37cceb03ecea16146865b1bef38bb92dcbac52e15d11e3747054dfdd9b3351c8594a6880098d60b63f95c5658094 SHA512 52d08b85ded0156dbcb9971c924c62667fb5347427a688dccd6a786c09f42aae3b118527f7de5eed8322efaf0731d6a9f858db1a6fb865b07460969674c15b3e +DIST thunderbird-140.11.0esr-nb-NO.xpi 476124 BLAKE2B 52ef8389998de95bcb866e599a64d8d418cf4232ba7ad2f2795e04888a75265c0d872ebad8c9b28b24056f6a01ab29c08c457bcfa99dd37d6a03850ce12f03e3 SHA512 46511d7639f26ce843c2b757c7f8461729b574e136242f40b5fa4ebe60fd30bc9f743705cbe7003309c8f8364cb5d41caf86a01121773446817838d5efb1b550 +DIST thunderbird-140.11.0esr-nl.xpi 482119 BLAKE2B 154693c9ab15a6b3c08fb41af66524df296e47cf43e8c17de9616105983340d1b6c1463b236f3647444e9175fd4e234e07329b2fe8a40cb148f7c6f134db64b4 SHA512 46221eba7c78c90ae321f8f69e70bf609b1016295758e19b3fe225fad7cce113d9a0d1a30b7180c134c6e592793ec8ca84ec24cb907bf07618156ccbcf795490 +DIST thunderbird-140.11.0esr-nn-NO.xpi 479762 BLAKE2B eb73d6fd9acaa200d67973bfbc08baac244c4427129bae6ebcf1a8300bf49cc1f03711eb157fb03cb7c5c2f96227bbfefacbfb71b6758a6505aa636e3242c836 SHA512 e1e3f48786176da227e28fef3faa48e391ff26efa5831d0012d8eb8c9a981f12ab6ea7be639678602c8c51f95cd02d2a9ad6112b39aa5f678ebddebdce296cee +DIST thunderbird-140.11.0esr-pa-IN.xpi 435731 BLAKE2B 9cc9ff4380dbed3ac0041c5e2a61413933771847842915d84f1bf68076bf48867520521afc63dbc2fc72212102e31149de93940ace4309a64e8aab8e88158956 SHA512 359e33410eaa7619e53d1073e011e2d4c17b84d7be02cc62d863a2558a3b8661e4fdaa0331b9b84c8a34d0583e2c82f2d7ae7411afa18c049b9b066053f3d92c +DIST thunderbird-140.11.0esr-pl.xpi 515613 BLAKE2B 9bf99996012c9214b669805be7fe30ce9eb60464021ca96d4bc7741f2d2fc73bafa6ec557dbea6982465b87aa1fc6005a66b5770f582ba0e208ec436d0224486 SHA512 c4018de09b9553e971de23ce2b39ac3a533a18d89966f237bdf666dde85616f1a9fe7ccddc274197b0f214ccd6c4604cc33c8b6157745b505f5fe2437c02633c +DIST thunderbird-140.11.0esr-pt-BR.xpi 490167 BLAKE2B f5bfcaa0851804725d1bab54ece7c7c5fc817b2cebab2eeffbb2bb2bd8867f71b24a340174f48617a731aa2d6a68bbb7de43aa94ddda00f9128f8c15e5ee1da2 SHA512 db2b60a6778f1ccba3d97efd4dca5205d13e15058065c6a3c8746e445edfd71e3009982a795bed8eec329c44e129225c47e72560bd8a1b0af6328fce675a9709 +DIST thunderbird-140.11.0esr-pt-PT.xpi 494212 BLAKE2B 26a9598131c206b5239b0effee795813c01b1196d5fe6da651a0f8dd2388de2dff17cb328dbb714fa2496d262066f0a7b16d477ee870be60f149ffb7e38b58f8 SHA512 fdb5a785e63d81d7bd54d74c834b70d61de643e9f75e51bdc1ecb9f773ba14d049f8dd8a69d71aa94753460de8240dbaba7b820866b9b5706adeabd71367c148 +DIST thunderbird-140.11.0esr-rm.xpi 487885 BLAKE2B 12fb254c4b98ae016c908c53219c322b11d4f2009f3d5daac62321bca8f9268bc87122d1e9b2d1a3959a2c331289066a87239368b0c6673dddbc95849d1f7150 SHA512 317bf32b1b11183210bb2a02b47f0293efbb2073834ef27976222b98884828699d66737c302fa7b9504b96fd3da62760f47ade4e7ab2c8865d0208f62b788e2d +DIST thunderbird-140.11.0esr-ro.xpi 501097 BLAKE2B 821c0b7736826ae8339f9f501dc7b7e5440c434d2f9407cd7804f9189eaddd90482b68dc9a9d2b39457a28be7a97be59d9e0231de5f63d230871bca171c68691 SHA512 9b442a4a2c6199f455b1b660790bc4ace9f3d0825a5081c7dd247e302a6dce29d0daf77aec723333298abb30efb4d812ccf790394437997772c603cc8ff1a0fc +DIST thunderbird-140.11.0esr-ru.xpi 593345 BLAKE2B db6d6af3d6e7ed56f2e49ee0755e1ddd5b1c23c73b3c5cf617622b95c297705e445123dd62f430747313396698d1a771604c26b06daded15e868ed8869ad7845 SHA512 62ac29e2c20a0466b0109b37a0986f18c732936fa21747cbe409867c487fd1866765b7086df3d06f4279ec2e73295aedd4f6bdec46181fdcd2daa26e08a53fc5 +DIST thunderbird-140.11.0esr-sk.xpi 519391 BLAKE2B 47b4624ba959ce4751d61e2c834485661fd9dbd9c575ed2b3551772a7afd9575096bc8f7aa663bcae25dd39eae09ef67132874c1513633ee3a60eafef778f8af SHA512 b9714062796c574e39c2caa5304ee06dd4d502bb4107a9d785760a89e9c828a9ae7830ce639653e6b0dcaeed294d68c0df7e8ed0c16c7096a292800db7023535 +DIST thunderbird-140.11.0esr-sl.xpi 485966 BLAKE2B c016f6baf746703aae543bcd334b4dcb6b5898ccdb7e7c8f75ad90aa8aac6ad90d68149e2a7b07c24abb26168518d9a94f94b03edadf8797e9c6ef9d01c98173 SHA512 ac998ea8f5642bf385a08135583e4b5aea8f4f5e4380a092cac9fb99b36f54bb6af6fefedd7ee230d6008aa95d67cf082c81dc0f9e52372537f1597e5c717782 +DIST thunderbird-140.11.0esr-sq.xpi 506281 BLAKE2B c39fa60ea8f3b3941d1a1869b51f78939c65ef5c39ea79cfc99c5e2c906cf2c18b856f9d22d0abfb7f91481c926807d3d3f7e79c75519aa7532b1e4a947abade SHA512 2414c8ed4e300c10cec53cf8c70cf60733c142354a07cd6cdf6ff37a14e1237c20465ca30aef63ca8f9965326885dfa84cd68d03447e5ba515ca656078834e5b +DIST thunderbird-140.11.0esr-sr.xpi 533251 BLAKE2B 9e0224308d8176548ec0fd4bca094930daa0a5bf397f33394a8825b3318bccdb6179d9f03552312b91f9425bd05ce31211320aca14a05bbae43d1b5636e2e88a SHA512 be859c9622cefcdfba81a21780d7020838792b0a9aef859f2bb1e936ae41163daf833c1838cbc51342e22afdd6969f9504e1113f4f137a701c45642c5d059df8 +DIST thunderbird-140.11.0esr-sv-SE.xpi 484421 BLAKE2B 2110a384c80d55061d3a8d8d09fa47ecc9ed4688a812bbae0446ec1eee00dff96f9858034da85740882af4180d3ae8324e9e60cb43d5e9d82d5286676ee3ce04 SHA512 06808a06b794fe504da19c8acc24eb63c2c9cbeed12cd9e0da24bd567bc6801b80d7904a81f546a20855dbdaf8fc9beabf5248567fca535faffe6e520864e658 +DIST thunderbird-140.11.0esr-th.xpi 569105 BLAKE2B b5f79127e75f5f6ce1cf60268503a04fe72b7ef2f6635fcc43b992699560856017787ceed8146bbfe3f9018d78acc390cf4b1693a802da1e6b1bde5fc0af31c3 SHA512 40efde27d032896554403c4f286651a5cea3575181a755b1a53707456502d8c5601c53aac00628db5a7b7da26f36c8c9e048262b04526349363b0075282a1335 +DIST thunderbird-140.11.0esr-tr.xpi 496305 BLAKE2B 790c46e8ba9a30d420c704cc30cfeb6988b2de189f946e9b057df293c3e74b6ebf9d4525c981dbb89acc73b0ae7254ce466b5de87f96ac2064672cd2df367edd SHA512 e80c2bafdb84d68be30169df4e61e22ca575ae21492049c453bc64821606d7ad14bce090890384cc1b7025ddef6671767b4d50c07ac8569b9b115ba38647ea3d +DIST thunderbird-140.11.0esr-uk.xpi 582153 BLAKE2B b86237c957eaf48113f67105bd2698d9230942083fb7f716b8565fe0f0302072258ca2996094bc0f0c855526752309a24b2fa47a702e130b52809ec61af2c06c SHA512 7dd02c7a79153a7d876fca1e1adbe84e34e8483d235a0ea164471f38848600e20ec512c3e1418fb88aebe7da9bde7b43b47b36256953f80af428c0502304ccb3 +DIST thunderbird-140.11.0esr-uz.xpi 355269 BLAKE2B 3f8a731ce445a8d33a0e0ed5ca0b9288f66aebd5627ecb750f607c8456c55d749a702159fba0f83822a4d4fd739241dc6477971eab87c3ac760bec628d972809 SHA512 227f87abec504d17c24063f94aecfa0ac776bd12304e15801199a684cd90f04aa0d06013f0d7070660dcd6a996968622d5abaf9f0323194a9c9ce517c39874aa +DIST thunderbird-140.11.0esr-vi.xpi 518886 BLAKE2B 4fe7432dacdd4b9cd5a12f2a012dc6d1d560f15f0c5dda09fcedae73bfa37c854e08ba0e19c8346d08a7912ca1078231d1569d60cf203ac053c8da143c0f2139 SHA512 4d0ae56aebef05d301e2a19735447dba2093d96e3dd8335570db2ed66eaea2b0681e5fa65d1a23d33e5b36e8a001edc88f964aeaf50749e10f8db9c4f3d9c348 +DIST thunderbird-140.11.0esr-zh-CN.xpi 507848 BLAKE2B f90eb49e23a941ab13b73a7b0eda3e8bcefe88663d2d3447fcf5af8e465eb79872ccd250fdcfcda3404ea6bcf477b1c753059b047852f6a4942186c278170a13 SHA512 57026bd4b59705f14c2957288813a3e4c35c4deec3c0715cdf0dbb7c271b484cb62f39b4bc67c4bf6045eae42a5ab6784888af14eb7a2f3416da9c3343c22558 +DIST thunderbird-140.11.0esr-zh-TW.xpi 511432 BLAKE2B 7021f5ceeecb115ccf01381003962cd83302dc4cd2b075e2632be8f890b77d9f8c07f35fd8cb779b6a6a02ce908218aec7cdddedeb3bd9343dccbc4467a49561 SHA512 7b9aed55a6c8e488db28e56b7cee12173744e93b1097b690972540c16dd05ba09079da6fcb29fb6651dec7cdd7d664006e337adc2fa595cf3d28bf6db67510e9 +DIST thunderbird-140.11.1esr-af.xpi 316219 BLAKE2B b6d29c1a2878dbb6bf4ae9bf70819b3d23085c5706f1b2730d40882b0ced4c764ec9b3d0511a7f598cc8b15a92215480ad080e647ccdd26febbc6a45c357423c SHA512 2b940dac3f54c38ff94e6b584100a2f2f1285d157df89ee32d4c8c3ddd5dd340806caaa365f27d5597d6aaef307bc826e3ba2e8d0010c0e97c86b966653c1733 +DIST thunderbird-140.11.1esr-ar.xpi 436195 BLAKE2B 83f8c08c155f778817f2e74950cb9e3b134e0c698c3a4fcc1e3ee3b5d37995e7f27701946fb3046d591083efbf7d6ea4790e66aa0a4b1dc8d7277ef511ab1233 SHA512 c2f0bdcc04476ded524d6ba14cbf14c9888cd2608196ef1ed8afb8778d6c353b92cb9b305fb4cad03b6fcce8ae7d5c7128b8e72a7f6ce63fc9e808a860c0e9e8 +DIST thunderbird-140.11.1esr-ast.xpi 340598 BLAKE2B 50e804fe597b5dd8dbc3e0c63f22699a44f5a03ceed9caaa6ef1ac9a45177d8855ca0e4b288c3260ef87b55d306ab8bfc6104d42005d0e63e6a8253cf3d115aa SHA512 f74ffabe7b2877b12e022e79fbc0f4f888672b6c1aa0aef103aca0c46451dc3aaa1d324c06a1a9792132f7c02f3043bb58d307fb1f4913a1ff3399189a7b3ca8 +DIST thunderbird-140.11.1esr-be.xpi 522094 BLAKE2B 0ab39f234aa2b17db9b1454994cf536c9119eab65bdc5570c7832cb5ee572eab6684e9f675de41f59e1fbcea49e661a71b1f4f6fa31ef05556b540e58905178c SHA512 4c8e308996f03e1dd0ae43de08e491cf5df40bb072b695e14cff1553ef1d4ed41e02cc0d6bae0970beddf84833e02803c29a3da490b27e7fc91427bc46f95c0a +DIST thunderbird-140.11.1esr-bg.xpi 539804 BLAKE2B 1911434bde66292333b4d9c85e32f7482c94108d7ff79d2766611d5a3401119103a3ae4f96da075edaf1f0c3f235620c40e57d41f22d6ad85e9c237f86160edf SHA512 9a2e14c2f8ec215d0cb5845595012139e13476f6c58b1dc194f5c3a2f11cbeebdc5db9ed5d6c41016cd1bf2760bb847d715550455d904ecbc6a831f2a2554347 +DIST thunderbird-140.11.1esr-br.xpi 402748 BLAKE2B 1b55071744b708236dbe1bbbfdb00f572d1dc39ee22d7e08d6a1d23482188c65318b6eba3ab9e5d3451c6186ccba80f2cf56b868edd09123a944bd3effe2f45d SHA512 e676c5627576a9e66e34d16c784ce3054377b393810889701026cd2f78500154246758ac98cde3c9bd98876ca3e6f90270d95afc1e4df0821cbfd1b85682288b +DIST thunderbird-140.11.1esr-ca.xpi 440672 BLAKE2B d0f0d02938c06a3e7534be608f4696c33ad1ebc1bff88c1e4659a3acae238995b7f0a1c66267c1fd864c1626c9354f6b9aebe0018bbc654022c55871d139d812 SHA512 46bee71aa9bbb4c30ee866231db6ca51e45d5b3b3fe2ec75442deb1a8eb21def583ac3dda8e8cce5ad658938c3b107a001561756b390eb98c2bb70b387ac75c1 +DIST thunderbird-140.11.1esr-cak.xpi 418022 BLAKE2B dcd627eaacdef35004ced212345c496c34d62b564fb2144cdaf51712a08662b30afa05bd6dbbe30e868e5f0c6f4eb24e663aa52394e2da770ee2a0c03437fe5e SHA512 55d52187a7a05697f4880aedb1d0469e322111edbf8339a3850c3f4752bf7bc77832fde59960413f6dd8001849dbae1b66f1a4dbe515c88a55b991ebd3ab7586 +DIST thunderbird-140.11.1esr-cs.xpi 519563 BLAKE2B 6f98d0543c25bd5b9165b93aefc3896ce0382f3730d099e34cd1a6c9f30f7979923790601ae194f00c220adec75ad540b33a31bef797fc0c08a7cd23a7b38d34 SHA512 d6a29539b1f22b8ce6c44300f75cfbaca027fe060acabac44f642188eede6c54c1c625e9d5669d90a034eb2cc351f14288336bc6128a12e6d65e71e4a5e53322 +DIST thunderbird-140.11.1esr-cy.xpi 487651 BLAKE2B 2be7880e3164d01e7db8b4ab30aeacca2e08ca89e390336847e626b1559bfd2264589b7425a6d5dd7b88a4b175713decd5635e4875678a8d80d52a39af31a09f SHA512 fbf59e14dbf8d70a12466d0fa7b0bf31ad023ee115d19c57745b0c0a47ce0459a4c215f16e9da63ca4967805c37a161f00281e0b7828b95eed2bcb4d3c741fb2 +DIST thunderbird-140.11.1esr-da.xpi 476622 BLAKE2B de9d8dfe9db10ad520e4c3fb59f6df11f92d65cf0dd738e93623b3129815980224c5b1b04147e805b6746f550c71dc72a0ecede516cf4df64a6df9fe99242bb6 SHA512 d99d80cf61d79442585f845fda43abdaef8c0defefb54042872a6a4e384b134b8d544a3f65cdf2e65fc0b05b1240aed1324eaec15ffb95cd77a2627f7f80fb8d +DIST thunderbird-140.11.1esr-de.xpi 504709 BLAKE2B c747e144716a2441ffe2f4c0bba8f4c7496cf02a08efa54178c79d2eb641ccd11790a40d7c54240f3913422193e54fa3345547f092e1c1f9e3b0c0fcd1dbc168 SHA512 f7c48d88467e2e14a9aa7db6377c9d643ab2faa4adec633df84b9b727dc6f217d96cb154ba677a909c8b3ca05d6c4d746851256867fc91cc8ba915cb1e0edeb6 +DIST thunderbird-140.11.1esr-dsb.xpi 517789 BLAKE2B 2173cc06912c364cac5480e62a20a83fd7d03254bb36e71bbca68af6bacf8d2df021e69499e0c301133db9436a8daac069a287a9073e7d6ccfd2fe5fa87e0344 SHA512 2e4163445c14ef039a7ab5ae010fc9c909236f1d51112b31eecb6334d82d5824fd82a900184a48a9aab47da7587ca74eb0323ef3a866f166da38cabaa1676aad +DIST thunderbird-140.11.1esr-el.xpi 609039 BLAKE2B d38ccb0a59f78eff064e1e5007fe0df713dc8f90bb9eeb2ba1737121fc34c028089766727a213cf4ee21ec2de20f3234df985d6f92d52c697ab466b39c70adf6 SHA512 b3e88b7234a340e54023b1efb4657343340585f1e746fc6a8f9eb9d6eefcd294ac506287cbb5db862694bc25d98188cba693515bb99b98bf5848f467a1233641 +DIST thunderbird-140.11.1esr-en-CA.xpi 452240 BLAKE2B 812215fb8956014fda0f98356fb40cd005bf48cbb38364c92b44d7e0d7be5cd3d214c9baba1c1e0a92856cd69cfc62b96f084339d63f4a2ee71d1ff1cd255b43 SHA512 0c6c564dc44779103ad0298d766b219f44afabd92f884724291850a75d4e953e6e0a2ca6310b7bf46a3d4f1dc9a5281bd499eed004f30674f1bac8e4dbc69321 +DIST thunderbird-140.11.1esr-en-GB.xpi 452068 BLAKE2B f802fb21623d137afff1048bfe6e3071d726591d25dc25855075e07314819e4dbde1ecaaaac641ddc900749353192b428641f4f4fa06f415b944038cb7ebaed2 SHA512 a2532e7b04fed0986b42dca1809419361f7fcda97b92b3fdf3ee8ad171b7c4a4aedcbfb33835c025aaa42916056a285d609626bc25e027cc56f8059ce7a58b11 +DIST thunderbird-140.11.1esr-es-AR.xpi 495268 BLAKE2B b8acfb20ccc1118c330da662c52fffa2e99c1334d5df2c5d5a15bda21332cfe35ad4a4e4c88fc538f3e1e01f1175849ff7c6e691ba9a19129b2b7225feb53a03 SHA512 90bf4c747ba62030f79b173717471c7c02a546cd391725d5fd21e0149f511490e884aa1b5f943707ba65d821d271dc6cf83c791878769d669cfd13b5ea5c0999 +DIST thunderbird-140.11.1esr-es-ES.xpi 497283 BLAKE2B fd0b19bb795c11478d8f27884edf02bee484b772784a521c536b78c402422f5f4144ae700abd8a7b7fffd16d72b22cbfd0240a8812a2733a4c7f063601375efd SHA512 d093203a9b4f421e434e1c789c9e61b5ccea3a306fadaa5fb267991aca4ad06fcae02688c11d7d56149404344d0005f5bf9b80f266d7328663ff13b22abca145 +DIST thunderbird-140.11.1esr-es-MX.xpi 490825 BLAKE2B e9643c3fa39c1a4d6b4eb283dd7338f26f2962da3fced10baa3afdc78208c17910828bcfb315188a59835c71475c49a4ca78a730d4a8c92efe214afb1501db5e SHA512 b3f49bbff1028e43825492ffec3937bdb54ccac0fb8c5772b4608862de44f34d12c2d46461bfbad5a65e6f512fe9d88e43c734a7ff978349229810c90a74f557 +DIST thunderbird-140.11.1esr-et.xpi 443619 BLAKE2B 8e0ba1f0b81e22015fc2783d72bd089430e9e8ac44bf82702e29380e0be8ce689d5403a8bd6fed4e79f32b14f6c14fe2d7ad68d53b38357c63ed3706e0146e02 SHA512 c556b2f08047e6bd21e4ee3b7476198f6c6b44ff18a0d7862107efc529377221dc7fd82704a3198f293d14495f3f959c9e8f9795fc44a4a05d567128d60f300a +DIST thunderbird-140.11.1esr-eu.xpi 473923 BLAKE2B 5f132bb613e9c055762bae23e9721fe9d7375554e1f1e631bb8984da692c10e5471aac97fc6086ad53bab1f8103ebaddfc136197d5c37bc64485d727e18afcad SHA512 261356c58859ccdc6fd9e00ab5226ef315e25d6321bade050fc53754faba959025c52ae1faf48c5aac535836d0a321ab14c54d979695210fcb82f04174e2311b +DIST thunderbird-140.11.1esr-fi.xpi 475620 BLAKE2B e3c77a5ccad35f13d5297beebc2c2f68e5e34a4ffc45032e2c451d817bb2b29017a3d520f6e050706f866a4f4ea68a3fac31a97cfca726cac4f48c207a3e7e0f SHA512 c75959b84acb40afca7bf4e37abf373c0ebe9b5cb698e1ba9c60c0ac20a6f68a26f47e8f81d46446cbbee043c85e9cab2b097321bcb0214a1c0c54da1dc95b64 +DIST thunderbird-140.11.1esr-fr.xpi 508316 BLAKE2B 71cf86fe2650cb1323c2844dc5b1a1874b865debd819da4e9a5c2f26dfa2ad418172bce8a2b55aebdae2f6407fa3a33111d7725cda5d802d203c19815d023afc SHA512 4d6feedb1686f76a0098fab4de208075c5916f2908b156696d21f4a3af514d70eb16352e2f1bf71c7ca7f82292b2fe0cb6409f4585c1c7f20a8548359c2a383c +DIST thunderbird-140.11.1esr-fy-NL.xpi 490684 BLAKE2B f760e75317602564712aa16e8f5fcfc15efb15bbc731676074c4c42857d60bd81c502be6223b32d65483238a5c641e329fa3bc9b1a0bfaecdb7aeea0dc777718 SHA512 8791ac5077000bfdb44cbbfe951a7b6f2afb3074e4e58ad352a14d2a14f275dac319d8ac6a1f7d823f6fc2d5389e39dccff510ca036fd951ad70ed5b8c95f5fd +DIST thunderbird-140.11.1esr-ga-IE.xpi 376745 BLAKE2B 00189945ccec6867dfb1924abc37360ac6bc8c68617a8f72990e1159779f0693f662d166ac64b1cb6dd6afb67d97611d5d2d6c69c9e4a9bfb48e23f81c1cb42e SHA512 46661077fd2075ac22d4751628235e5a9ea102fb55701f76d75aa24152738850d6221978ab0274d126769bab1aae12a2d61c541a9181bfc9fdd96ed841d0f137 +DIST thunderbird-140.11.1esr-gd.xpi 461973 BLAKE2B 6e4eba6e91e42c73353a064ff7568ba7f06cfb8904417d312abdd8abb274b1df801d26b00f8236de9ba5928cb4ee2d740b14dadc007d0ffcf8b2ffe1954ee8fb SHA512 072c14e5c9652a06c9667001d129ff0e808f7814a28c9d85d3ffe2d17a3cdf3323468b7c5196778c34b392aec1cb292ce453cb04912e8d5bb94ee1b9be074571 +DIST thunderbird-140.11.1esr-gl.xpi 489345 BLAKE2B 3e58bc6d200f600b528bc5eebb91eb33e2e7bad6b53bbfbd7d48f65a8decb9528c95caa1492ec4f5d4e9aad43c3926e58f2fa0866a6cb6a4e7bd268db24c3271 SHA512 e8758314da4067ab5877c9c7b0d05ca6160af0d0508f996e8ccff1527b23f62bf6caf714b8d38c1c0d09cc9c9c560125dc2c75dcd09c0afa52b218cc20ed5087 +DIST thunderbird-140.11.1esr-he.xpi 444206 BLAKE2B 227bafce80aff2b6d8ccd8e7ecb45b01530230cb7a418007dff2ab50525c0a5468eb5dd442be8dac2f7c273805d0976469fb3b6ee01a6f55159c38d5f334926c SHA512 58772873b11cd8570834b2edd512a45879ef80a3fffcee3875b9dbf9beec7cd836db6d75df49cb8665856c8ef5bc13659dbb2d68f040a95800057a0495846913 +DIST thunderbird-140.11.1esr-hr.xpi 471057 BLAKE2B 782af1719776169d312d7b8c81140e2dc8d4735e2e6c8bb4cc8c1824a72702dec93fb5797946e38b33964ff1409a384c3652fc7dedbf3f8e2138cd2890703275 SHA512 82d5722bf0f6afe9f54ae27a7ebdd2044a4b4b42fd1111b732c3f34c27022d7b19db7bf12ce912d66fa9280afa48eb75c5c5f924ad5f781a053dbaf831f6d0d0 +DIST thunderbird-140.11.1esr-hsb.xpi 514952 BLAKE2B ad7f01a9797616f98ade808b642ed15898febe205fbb34c6365cfd91467a42ab4ee876e434b439c071594c30bb30e5a3785846e64ff720a64362da87c3259a05 SHA512 421e6302d7f5b094f6204d9a9e4965b729ac24096682a5d0c58b557da5e30f0994be26ab2d5f1b18ad3fe240da0ec5532776a10197d98f8e0984c5ac27e9ed7e +DIST thunderbird-140.11.1esr-hu.xpi 517545 BLAKE2B 8721d9c154df6d75f0d0bff94f0b91984abc99ef37ba8430a420d95483076e7724dd025979f64f3d24e98701aff7139d276f8ce2ebcaebf5c204594eb1bab256 SHA512 1e9ad655cdde96e95416de513f1bb37af7a8f30602268c771b5a4ea6dff63abe386bb304da5fa40e91eb0bb9a0700889c2decb469fe0eb357dd7b098eefd4b9f +DIST thunderbird-140.11.1esr-id.xpi 467003 BLAKE2B d99626249953f5320e0a8e34f2046407f919691762fae0b300275602b0e5b2080d3b6045a49ab27f4deea2fba2445780fa59a54fc47e58ed7b876bc836e87df8 SHA512 84663530d386d61fa73a0dcc9cd868cb9a15723344bc23c6b9183796fd282cbe9836621231c929f8dc8ff0b285b57785f6fec16a109a3f51b0336b7bd6acc3c7 +DIST thunderbird-140.11.1esr-is.xpi 482738 BLAKE2B 1d3ab593e3da0c5c48ce05df3f187df92e472857100214c67599e315cbf44a4c503e2ba5c3944d0a49a8cd944edbf870bc50eb34bb3cab1ab8e8e562c712c433 SHA512 5651212497bfb7fe888d6b5d2aec5e348de6e8c8e32a71fd0811d58dd0620d4acba4ed5ef22be4dd783c83b57a887c5a22a1800432015a486256476df04e2050 +DIST thunderbird-140.11.1esr-it.xpi 488528 BLAKE2B 44c7f2de12613022f1db7251a4f30b1d7fc915f494bfbbb02d201877481b88630325315b02057d78ff75149e795c49932da3523d7816e897a88203f695add56d SHA512 f660b7ac5a3c27df7b4dd9677e9945a50882b77eb30f36b5b2d7a1b5611936021e906a631fe2590e1c38bd9de084373e7b831be006669cda87a7caebcb139432 +DIST thunderbird-140.11.1esr-ja.xpi 539185 BLAKE2B 1dc671e86b2ee0105efb7dfbf2d5c41f2001bbbc4c2fff9ea7397c96bc50fec509c7bec3539c80c133ae8396dd5ba2bd695c177cc0a87cfad6e7f45b7568b517 SHA512 041cc3c0b1a5d1e9484b71fae369e374e86767e7effec0b00377fa29d84f227527fa1f36eb3080bc98f56a8f62419d1f3c3eedec67cb5a625636438084542e80 +DIST thunderbird-140.11.1esr-ka.xpi 554793 BLAKE2B cc24afd0f481366fb3dcf65e24eac14f1faf46cde1060ac5de094fb2b53738781d0280a7fb9904d770281bec85bdbf43867de9fcbb578fce14ab940322ab2e11 SHA512 4ecf8a599346f1620a3c556178d6c28edc073d199409edd30d10dbf5e92f7508508aef3528162d3b5702e3048977291d08e15cbe086307f78d040665424037a5 +DIST thunderbird-140.11.1esr-kab.xpi 470497 BLAKE2B 0d2b2111167ec3f1d22d40508333738c289a94aeac85323e56fe4b8831c3cef73800f95649cb6235da499f14eacdbc5f113bb716a6084ed811c6e6348d466088 SHA512 23bf1930639e420914c033588e2e521055bf666eb46e3e387b8cc739b18dad7276a1667b0e8521feb8a8a7f2d6aed832ecbab7bc45ee584350f254507bdf54d1 +DIST thunderbird-140.11.1esr-kk.xpi 573884 BLAKE2B 525b4b36bf5cfc29085688325bbe71b97197cd4b3bc3ebb379ebf0418a762d380010e7a30b45043d2fef8311633b9114b2728a00dc70bee88e7e12a5d3d78b75 SHA512 8d70e2265f657be6783991f4dce43b5939f3db09c13a8c9406caa15dd337b90bb2c57441f96b21c27aab57216dcccd49def74eaf43b08b174cfb2910ad8da188 +DIST thunderbird-140.11.1esr-ko.xpi 515590 BLAKE2B 38f6bf1926db286802b97eaf40cab7febd69711d6f837050323b79ea64b83d70b7d81a4b956e5a6e9135a6d36c9c3256e67f42cf3ca07e519790a7d8add146bb SHA512 b07ca170d77899b12ea284d995a565484a5e8c7b0328305d160f7dffd37db04313fac29c4e43c3f9e6e940ac4ec17033b1b2bbe7e6e3747b518ad615214bc9bd +DIST thunderbird-140.11.1esr-lt.xpi 453436 BLAKE2B 94b02676a7945d0d6057eb7100c518bdfd56ca391a25534da9d1bd2e7ec816e5c8d87969a63b79d982608c90cc87530b4fb7153330904a2b4960af7aa94ccfcb SHA512 fa26b56e5fc01313866af96b0f2f11edcc89ec5de7a4172e21c3f9b2a4452d617da0578d13a7044eff61f3497dbd3dc38780d0fdd7a13336d43efb7aecf22642 +DIST thunderbird-140.11.1esr-lv.xpi 392816 BLAKE2B ad586b519fd9d3ddfe58f29a47d4b5783059dfee03f3c472f739c0d2c47c2255b16e8af8aca6f3d3a69d1bbaeeb9003e9753c0a71c19dcd0f7ddfb12f0381c4e SHA512 f52c768b631cda158fa63a73d981137a2ca85417f877fc819766fc85e83235518acedc28eee196ccb0b1e6a5bf5bf032da2e7e3e783618c9a102ad06df3303f7 +DIST thunderbird-140.11.1esr-ms.xpi 352180 BLAKE2B 8dd3c2211a621e2ff0cd499aa20eb8d280e2d148fe6ac37d6a657dc07fa7b08cf1536a9d05ac2467941b6e1dd303ab08da740c99faf741f778c1ff14ccae85fc SHA512 231a20f45b6a8ed91edc79fd04bc221742e4984272e4f21e14fb05278873485d75a2de6435df7638b8b39d6f11f490f3209939a4007baa396b75d0fd0da83f72 +DIST thunderbird-140.11.1esr-nb-NO.xpi 476124 BLAKE2B 7a277114e80d1e1a1201e161ec1afc91821531f74019e470cbe415b8d5defeb1f15651b5814efde6dc6cf72ef58646b3f27d4b87badf1c33f87c9dc1c5e9f094 SHA512 ac4b54c2db25ff28fc58390d8f0ccb03b1d52e256510dc42253de7370d67b732f41116a2a56b04940780a410482cab344548040b6f255288bd91c0f1c168f134 +DIST thunderbird-140.11.1esr-nl.xpi 482118 BLAKE2B 5112de39aff96ac3627cceb2f8ab803f222ffd0ab9cb5144f7f759b89a0ca377ca35e728bf7d8e380d09a0d67d6c3c39be800513b4de77724c174afe5afc9ada SHA512 4c87aa43b748ef3864a3fc5c7195ac9b16daa25494ebe640e27188a2fcf6c5fa504f30b257dd0334f8bb818516f4ba8a99659dba3d3abdeaab193cbdb8692f75 +DIST thunderbird-140.11.1esr-nn-NO.xpi 479761 BLAKE2B 25f08d3b01f93fdd92914df4b6b2ac2aabbfd5de67f120f6e213f76faf23b3217caffa2e2c365f7a93d33b9593399f87687a69090750d1f132c20b937b9ca254 SHA512 9be463f610ef30acee4a41680ab1b6a00d5d22fe412bf4e0b11237e1813891f23f763fe51a0ebe441af9cd4a055013756bf99395f82e277393e236fda4812456 +DIST thunderbird-140.11.1esr-pa-IN.xpi 435732 BLAKE2B abed73ea30cd77ba1c90463ec536b7e029cd802d22142696f44b151476f7abfc1261e985dad035047f01d3c16473835924362ef78071c3b20eb9d52a7d162dc0 SHA512 0406f2e33e2acaea51a55e199089bbeefe25c695d1b65027ff213f417b19f825eafd21f3c5781144ff90ccef37db47572ba34609840dd4296ff78828ddebdee4 +DIST thunderbird-140.11.1esr-pl.xpi 515612 BLAKE2B 038ac83e1ed145f87804ffd1f812804900f9fabfc1867d4ae685e4e7dbdcaf42011fad393746a2690395a8db3f6d6ca92fdb378a3b0adb1b03aba721b6f3d48a SHA512 c7ed630392f4bb80852ce9bc61747d5165d760364c54b969f8cbe413f4790b0ecca6d939e1de12afe917bbf5423ff5d62cbbd0886e06fd7500529140a49fd8e1 +DIST thunderbird-140.11.1esr-pt-BR.xpi 490166 BLAKE2B 63c067805a280d67314d0c0bf64ee2d4a9edc550ce2a46d556fa1f0eccb19f94c9ba2efe9e9dc67c0ab525324e57796a50f98c528a1366941946dda9c6620116 SHA512 74845f9ab0515adf14b33653d055c23e6aaaa8ea28d479e4bf67f9e10870b3f6c3c9f96799bba494660d70d67a32ce2e45123ba69d71198216de96c742038236 +DIST thunderbird-140.11.1esr-pt-PT.xpi 494210 BLAKE2B 1d30a147881208e5d20f924d26352d6fe19f46332ad56d21d315f18da77d6a3497e61f850d165ff46c2cde788dcd5ed782d1b59b075b30ad4ebf99fd5c3a637f SHA512 a2f7f3bf184b832514a4007c7b3a1a94a61241b92181f9ee87fe10cc9cd7c3fe5b86b683815004264e6a71fa367fdc0535b8b68581bf9ebf49e1a0b5e2e951b0 +DIST thunderbird-140.11.1esr-rm.xpi 487883 BLAKE2B 69628ae115a49dcfdb94621140704a5881ae45c11898ecf46623f2c8cfea59a8527ec1c18c2ac6bf7f95ed0e2848c36bc125ec6c9c44aa16ad99fded89da45f1 SHA512 f159932050e0eae65f20de76574fbb7a38b338219f6d9a87b6d53158c182c10724478c1fe2af24ca40d1d20c362ee6290e854ab1717be8a91ec6149ebe48987e +DIST thunderbird-140.11.1esr-ro.xpi 501094 BLAKE2B b4d4e38e400f0173a8b1184c64cc6d6c8b6c1a72f778ffa95cef5fb8fc5182e95e4b61dee53da53e3d45f94b08ec840000d7cc7576cd6371352abd5ce5f58820 SHA512 44410a11ef1482160c6ea25ee4d90d142bf869f075b68847ad7fa3a9cfe60f2881acc69c85183c8fb557228ca23dfcdc52cffc0c893ad52026bf33a106298398 +DIST thunderbird-140.11.1esr-ru.xpi 593344 BLAKE2B 38438c92a08f42ef6e3bf5c0632639df3423e8386515e3cea1947fb05b146e36fb4b7f84c350ea6db836bca9cdda1e4e417fed103a6fa94150b1b336d8fbb2d9 SHA512 930a9b8a892958d646b447f2f5b86241059078cd16f1b0eeaf938c073bf024dcc76b274567e610c0a2e69fb2133cd6e15a3ea79de600ec20a2107f7deaeb7bed +DIST thunderbird-140.11.1esr-sk.xpi 519390 BLAKE2B a329007e3544a6f3081488b992f69510a59a1161328f365f63d60c05057946582e08db9d0ec16ab847297f26afde1e11c2cfb66f977d29619c0fd974ae00ebac SHA512 49ba1ee7407ba20eab99bf95d4d7293fc414c49bd0092921a5ebef6039f08eaebc60766bc52ef70ee6ed81c76f5e15f2da2bd7081c5cc608f05042a78320bea1 +DIST thunderbird-140.11.1esr-sl.xpi 485964 BLAKE2B a15096b22b160339fb528ad266a6f2b2e9f784f41694f545d5f0ca50e81957a5612aa9e4af4d4e3d192a36c2e89c18a2fab9219bd024633be86b5942ef83d53c SHA512 d098ebda744c5bb16484552cf1baebab43906619e20f6f29003f98892b6772d7b43adf3f2d0d81bc82bfbf455e2fa893e65bd4347a7da91cbff72b31569a2ce0 +DIST thunderbird-140.11.1esr-sq.xpi 506281 BLAKE2B 000d4b298f7fd4bb7361ab89de298e35a226faa0fdabbc45cd9b4005df356dedf36094f55ef8235963cfc0c13f02e0024e1678bfde7741a5870f41cd99ecf518 SHA512 c542e20dcc67405c3674769f72924175ee92ac26360dd3b2e4067e241c0254cc60c1f4c8a6b046dd800c7b00b4e4372c1cc6414b5665c4f3fbc662151cc2abdd +DIST thunderbird-140.11.1esr-sr.xpi 533248 BLAKE2B 6cb80789a607dc71df83482d67266aa35748c45a4f7eb00e1631d0b1b872fd50e62087fd198c6bca948cef4d6dc0d1f7d6410012c2d5ffb37d64d010e7148da0 SHA512 52fa3a2a6cb4606b21c8db45a514cb10607d169a741ee640541361898c671d59378eb5530c06160c839e40012ea8f2b1348bc5e96a696ff2ae73f43a3d9e178e +DIST thunderbird-140.11.1esr-sv-SE.xpi 484420 BLAKE2B cbacf87f38a5461baa8583dccd055b69ccdfafe755ee4c6abc42fd4b483a5444a007909caa09d119f8a7672720f9341a8d963ad9a9992cb9528fb44d7e78d263 SHA512 7fc08da5cedb7fecd62b7532b908b34dc60da22f68ac2898c5ba6e298db0b479dffba7ab1e7eca38bcc66519b663b392208b76484168b31bb2358ceb58e8e53e +DIST thunderbird-140.11.1esr-th.xpi 569104 BLAKE2B 7ef9a03170b86000529b02cea981cbdba0c0c50b393433e098288aa79bd5fa845101e3e8cc646d3978a1cb971ef190175fc399c6ff07f24461d5549fe9f3fddf SHA512 29fdcfb8459e1bf2ea87d945a19d36789728f8548eb9dc767b3b04f50a0eebd3f66cae763dbe1e14faa14c4aed828113d982ba5a339a1b2ba12a890664c3961a +DIST thunderbird-140.11.1esr-tr.xpi 496304 BLAKE2B 1075a4516893e6822d10b77da090380a52011c71326b8c2a661a3f6a5e89c1073a25a06b4a9aac0b2688c592b592ef0eb2c1697464c1af51df9d49b28e25d8d7 SHA512 190bb0aa2467c18a573fb257800f456b24c2675ff214825b625f24fffa67aa7eedc9fa972ca62c2f63b275bbe6c6a7a3c88b2e5fdb9171b9d7056895eae05ae8 +DIST thunderbird-140.11.1esr-uk.xpi 582152 BLAKE2B 0aaf46816cca483302e4e59ce329ed47c2ea66296c8c4a1ba1b3fddcb96ce79a0d0166fdb25d682c69119a47054c53cefcd532f1ee4f8327328a183b84e1ed90 SHA512 593f6c1a8aaa7e94658f4074e9cf307b63e696e9c05eaa566619dd153584e09dc635bead816e7af41f50159460d79c8303aa053d5f09ff6cdfbe66ead0664e50 +DIST thunderbird-140.11.1esr-uz.xpi 355265 BLAKE2B 17c2d22d5f6a3e68423fc81f44501fecc26216a6e94f441fd19890248f2aa3238a628ffbd78bdc4956baebc3dfeb33754e6fb4dd761be76556b5756fe6a5d1f9 SHA512 2625450045aaf080bdaca22851a6c03af91b7a279c8e73ae0ec906c6ef117e19e8e695418cf223b4fad02d0392738099f23660bb1fe68662e94a79c28854eeb6 +DIST thunderbird-140.11.1esr-vi.xpi 518884 BLAKE2B 5eaac842bb3fed8e6ac3cd96e2d41574c11ea88ae03739893ec1c6d002fb308add6a751cc696ee2cbe06800a6994a089c2826dcaa01a1565148e893b8eab03c5 SHA512 92d1ca1ac26de55532afa2950bc9f9481d5aa816a00848b373a8cdebc062b27642b13ed91a2648c63d02ee7b46d3cb0e6e0b256c43c6b21766af2409c53df870 +DIST thunderbird-140.11.1esr-zh-CN.xpi 507847 BLAKE2B bdb6e0d5a16f44dbf98e479ef0b99a54847a9b2a5ed1651437b9615d876e50080e04ad35042dede613281dd0b7f4e8a96f9aa96624b422ee15b89b430daa3cf0 SHA512 fe73ab25011f803d06c434493f1e87bc79ca22099d6d901af7b9f73897b85ee7342d300b0bdc658d6e27c52bbb04a5f04228cc371727fdb4490559f3d448bd75 +DIST thunderbird-140.11.1esr-zh-TW.xpi 511432 BLAKE2B a4eccbb2f0723db526c0fd440f5893d92f13878f658d7c72b1d0f1fc408a6755edb428602d016a29f97d0e5b7fccf70c1ca0ddec5508ce9c1d9941e734dbf0e3 SHA512 21aa625aca757914959b919770f4d569900dd002bd5e7c361a23621149a622103a0ddc88b3f8d1272a9796369bd843eb2fd4956e0f7f8d16850722379d2644bc +DIST thunderbird-150.0.1-af.xpi 308506 BLAKE2B 82913b95d2bc942470e4db099da00a304de03cde9a23877cbd35e8980e7f1bb8ca49607f1bdc85d482cb3018ea37ec7fa8b7599affc0b530697937821b477d8a SHA512 2c6c773067e120af8bfa247a816516bc620bf337941366516721f29d9baa6469d3b6aa74a9a8c84141654f9302525f0f4ebad71f329b3c27bef2531dacc2c4c6 +DIST thunderbird-150.0.1-ar.xpi 444527 BLAKE2B 4dc9a90926bf817dc7d512e313cb414a85db4276822085fcafde691b21407568d2049396201fd317693a72b1b0522a15c17677ee001f197d09b9be8af85b258d SHA512 52abbb23a97c11fcdb180b0f5e39dcb3d95130c4de5c481f8f6583b63e9288dec8f77fe4f2fee4342b8a4b9cbf88991f4092d5ae24d138421c225207908ca0c9 +DIST thunderbird-150.0.1-ast.xpi 334111 BLAKE2B 060e29c1cc88951fb09a9b592e27f5b021ed038088d24aeb4ade4f106ee25fa656fd516baea028e540f1f06729c289ab252a4626a7fddab5e7a2fe430be98784 SHA512 f71f7e4ae9aa29443b2acf15187d4bbf2aa2a0d6a022dd2403858d0a6417efeca7023ec207be86644bc19c2fa28baf54bcc7bc5b3de892d61ac0d630bded56ef +DIST thunderbird-150.0.1-be.xpi 524246 BLAKE2B 593a1eb639a789137f4d8edcd7481017269cb509315694dc894ebe9676a3ded31bdb4b589e8b9602232aa32d892e5c41d0191e19e065317a6e5c68f528483da8 SHA512 a276dd22538b060b1068dc498e01a9152320b15a2b4515c2f93186d5033b6860b387647f0e407f47533c237b0f1d1c76024f66f8bd1d9b457faaa596786f98e2 +DIST thunderbird-150.0.1-bg.xpi 542088 BLAKE2B 0870c87a8f298e9a77d10b69a13ff30f357da5487206bdef592aa6ed9ab2dd66611fe84ff1e766b987d12f64acfafa84de6189deb4da2566532f077b5e9bced3 SHA512 1f93c1ff06dc261b566ae2e10be2a0dcfb773b04270f3f0294a891c04f1b87f21bb5872db308046b45f22af5db6b18663de865eff6211323b93a5ceb1669bd0b +DIST thunderbird-150.0.1-br.xpi 400139 BLAKE2B 9a1ae148a3b44ad0d4ff9c61d9813f49a611ce39d98c0412c69a98d8c04533ebe0bbad10040cedbae32c7794eafad7616805a4eb648be74447580922140f3cab SHA512 524179a99d065718bfbec7ebb6b675707a459c7460cde07e384bd56c7bac96e3bf8fe5d3924cfc2749756f03a6ad2087b8fcdbc459ac96a6817ac8bbbc2a326d +DIST thunderbird-150.0.1-ca.xpi 437247 BLAKE2B 2522d2e26fc775b7ba1410caf4eec972fc601b09c4225b342aacdc8957d8f2f5a0a2dacca138469690c222fa48497cf94a9b26f91c3210b68b7c1d809ef61476 SHA512 dce7d814e9f8d8ab4127f951eeff17750cfdc5e5bfb9a2e14c9777638803954970e0416984e09b86211554a724125598cf738ca2035b711787c17982d7d59189 +DIST thunderbird-150.0.1-cak.xpi 413814 BLAKE2B 946f9915dce7647ad1575bfb72335417b0091a5c926e02b6d0e9caae06167c0106b8c6e06345411132ccb3dd62f626f4a0abf4d7000f89d16b544c57ff5de1eb SHA512 2ee3232ee3524ea9069686b47dc95d08df5499118300bbeb036fe19db3f69667aae68d02c1b906bc901dd72048df6f9dc85d1b8087a59edb1dde4c2d573ab5ac +DIST thunderbird-150.0.1-cs.xpi 531931 BLAKE2B 24ef1a55fe4c718ce8520420270d1458532f2a1d2694f3eea11a0803f9072bb193c760b98504fd4c11fd2d53d4c324b1b3c381b2d224aab59119c5caccbcde51 SHA512 f05ed7d524ee4bea1d890668fca3003c77e454781e00af712318b9f11794bf0a9284899e0ef80bfa72e702c5ac00407012f6603896e47420bd50200e4bcde6f6 +DIST thunderbird-150.0.1-cy.xpi 499233 BLAKE2B a59682674056ff369b4165f0829e95fe44ae3746422dd780c37ba24e69ad074eba278a2c0c7f817d72353b95d6d6626e0df34be7a63422760bcde961543b7cc8 SHA512 43f55519cc6853ba364eafccf3c44ec485aef465951f48fe05c84a8b16351c2119d8ac25a742e63446d402cf2c1ee25e8879b64d67699253a32d2add01699035 +DIST thunderbird-150.0.1-da.xpi 484953 BLAKE2B ea3ba669d8a9f76f3c5a0558cbc1575f2264fabe8b742bf0dd293d241c3257c3b562694406eb7e363de998c9aaf44dd587011204baccea03c248debd34b7e53f SHA512 9905432b03d823aaf3dcb6dca59d2d1481d88ac86e336faf2cc5cbc706c72d1dbd3ecc009e6cf19a9529c500a27bfeede940bec63cc1c7b4f5c96969aee82f99 +DIST thunderbird-150.0.1-de.xpi 515467 BLAKE2B f8db9408ddb38e428fd8b7f501cec6264b805bea73a4020d1319e6174cc5604c843a438b689b21c2d15cd7c4fae241bc37708946f9b9a278ba54bd8a6eb823e3 SHA512 3326dad5b2c4171ffc0b88a4bf91e04b1892c65665082ae7f4f18af395c9fe0c1d9c3452fb494eceb5e219a15cd1bc3bab0b8f091c177064ae2f66b4d887f467 +DIST thunderbird-150.0.1-dsb.xpi 528572 BLAKE2B a18141b5770e78dd4a544dfe695f8f53ae813ddea97efb4072aa388c9f9119ea73ab2c8b81b1ad59d95443f769f6f6d918e34e68f16ec1a8cd8770bae0c6147f SHA512 b8e9d8c9640c0fb2b0dc3f802517b3e3ec4838c8dee19a7cf9ba1d584400d6fcb1f2be08816085c34e2a1578a5664fc741a2ccf377d4e706e7e05943cb8898a7 +DIST thunderbird-150.0.1-el.xpi 620895 BLAKE2B 127fb5bf64e778e5bbdb71dbd177fb0308fe39a8ef333a7956cfb58d4ddea38a4d9b15b86c94ff163d5965b46b910b4cc83c791aad31571a68021eb0f729911c SHA512 08b8563f7f46539f417b58389358a4a99c8e9a4be47c285e0a2a9ca78a50a2dfe52646bd0a1bfb93c0d4ff000173ec39ca05b179cf71976b40073dae9c6d8871 +DIST thunderbird-150.0.1-en-CA.xpi 461175 BLAKE2B d48a062ba9b03ee1f66c2b833ea28600a60d5ceb3d535df7188315eda9305e27b07dc27c7ba2a1a20e945a97ba902344e42b6fc7e0c93f54088f3dc1513c9b92 SHA512 b1e7fd3950f0cc5a3b09f1e6f58bd8ca037259c07e50ffbf150d61f11e505e5d0b3374786e048d2f08eb5539f0893f73e7b8397c51b31e3dd6eae6fa0b03ebfa +DIST thunderbird-150.0.1-en-GB.xpi 461224 BLAKE2B 0009b21d09b29cf0bb04f2f2d2980c9da5bb827083b213ca4a6f61489d9fff8cd4fca076ae9cbdfe2189387cfbc3abf445c111b13fdc660e1ba9c5f76ec846c9 SHA512 bdbe7f42fb539d819b3a77d0763c3cada49c3ac21fd5b022a051684c210ea7c80ec1287bc9987d11c801af135479c6a74757001e9b6d72c3aca34d3f63bb4f3a +DIST thunderbird-150.0.1-es-AR.xpi 505269 BLAKE2B a1833f2404fb50eec7ce6467faeaf2e75ce61450f70bce0c3a954723ba1ae119209c3225cc970aec1db7095f3feac946d8d4be35c7bda49434ba4723708c349e SHA512 fc9ae3473f4c7bff56fdb457902da4d86dda60aeb75185d8053d84d5f8155813413d2d634530c15c54012fca4f663699dcad348d2769473373013f9a41a58b1c +DIST thunderbird-150.0.1-es-ES.xpi 507276 BLAKE2B 073cb307cd3af36f52857d7bf96af2304718b3c04cff5d3058932abf5b1b33608e7cd1cd13415372e4b0cf398cdd6a9c03b441053f3c635670e9bc59bc1efafc SHA512 46a60fe08dd00cd98209ddf205f84ee8bb15490f749fd388a253cce0a235ca042177bbab634211f9a8bb1ea3d2a7ffe6b711854bea2279a9f5a11d11078ef178 +DIST thunderbird-150.0.1-es-MX.xpi 496777 BLAKE2B 305059c3bdd4fe5b3bf1c88872cbff390622a1421a806fb8a27969a5629fc51b54f7ff1ee77d704d4a2208f7de88b9fd2fff72eb8c939f354b04f4adb141cb75 SHA512 ff8688ab40e986235e6418ab44cd7a2a1f0d46dda9c10639c7f331b1ebc75713249f757c6603fba62b5020bd287928cd7f7bebd3dd43ad6aac67eeab0318dc3c +DIST thunderbird-150.0.1-et.xpi 440073 BLAKE2B 8d42902fe0313a6416adbf97e5e49391ab246bf3890e0cc302bc458985cf1169f936b9f030f732cda397f774d0d1789f126dfcf2f5a9ba117b60ac4fddb45a67 SHA512 98c7884b24e192ffdf3837d8e99cf35ef5f0ae128b436ee26ff3b1c1aa27eafeefccd0443db64d3b1b85eb0f0ece1be7c95b837e6f83b9b5a717ab10e40719a4 +DIST thunderbird-150.0.1-eu.xpi 484173 BLAKE2B 801c516c1ba4893cae11b0a2b22d79846a639c0bee869b1c35fb30397676e43d6dec7f61c7948f6bac43d4ff1ace4258d2c243c94fdc3c86ee47c873e03a9e47 SHA512 63f4d4717abd59d09fd34f3c28d88f74ad024863478ba54583836e31d8dbe185841e5499b17a727b463a9270db6c9f24ae6739bef4f81674ee1d996d1162b316 +DIST thunderbird-150.0.1-fi.xpi 481270 BLAKE2B c4701ef8b6cf097bd299caf95b0243bc2bf43f98e54ccb832667a97fabb9a655ba9a4ee0fad46c6b902d8d8093a0a185bf8f38efcb1d2cea8657769ab8217238 SHA512 4a3b08ada535cee62cb1e4939d321547b0e6252528dea09ba95ba3f2d4bdf3e3e2de003c77db8e810a0dd6ea4f0baee5941e5e86d42fb683cb68a96d6fd55d7b +DIST thunderbird-150.0.1-fr.xpi 518986 BLAKE2B 2296cc4e2da534614d42fea563be8f228c856fb0710c846b43afabce9e1a824cf94a327452e228ee7c235ad35e04c8e786edc58a54734efd43a227eed21ccd5b SHA512 84d2babfaaf0593821ebe3f2f1d0651926bdec2f11f7059563b2c205ff7b78b1ca1485b88fc69e5f6e62134314cd94b01eabde298ee33cce741e478ebda33048 +DIST thunderbird-150.0.1-fy-NL.xpi 500732 BLAKE2B 0484d5c3632eb169614be0d0bc0178fe7381e07f454678a3ed18315414d68ee5b09f5e9393cc7d2c42e1a6be2894e2956ad2a86e6e6a650283aad1303856b4e4 SHA512 d87162be4d84db52c25c1adba959d6bfaa83cea507667a3061e0c544c786fe2141877892f7d1571fd13f76cc0e95a761be8daed347389b3866f3353eed1b6a87 +DIST thunderbird-150.0.1-ga-IE.xpi 373628 BLAKE2B 25031bf77d358c03c0671426995cc813a853a215744502edc99c9aa43dcf4ae17ea47537aa5c394070c1d7b785c36ce727363b72b2e63842aa11c3a1d23b519f SHA512 43b5feb83f848ab0cd8fb47e20c919989f8e8fff5581fefa97a319a1729185252018956e321c5906c28786cf96143ed50bf2d84b63a48f286bdd804086f662c0 +DIST thunderbird-150.0.1-gd.xpi 458770 BLAKE2B 97f59f4ed61deac90bba9906791fa0461c6720fcc2339aaca25f6471cd141600d4f67b74ec93126b050838c29999ab872783117b81de81ae06f30157edb8f560 SHA512 cad4024aa2e260fe7fa422ad5db42f968b3dd5d2fa0de35fff3da4a4853231cced5f16032f40c91771da631067bc7f5407ca98bd5be2ee0df5f04870b6cf63c9 +DIST thunderbird-150.0.1-gl.xpi 487464 BLAKE2B b513f0aa2bf15c788312a9034faf275aabbdfe2dfad630ec10e210044f851728287a57b64bc170fd1099700b7b6fbed9864f40463b3f21d16ea2cf6371785595 SHA512 3aa1529703cc79715d9a7de3e3dfbce2c05ae6958926fb58285159d9c6af3382ca5fa9e3ba2721aec936c742b7874dabc3e044b6f9a99c51346fd535c4fd9e43 +DIST thunderbird-150.0.1-he.xpi 445466 BLAKE2B dd5d27ccb130f15a888b57cf6d17db11587175a06a8b5722ae10f12ed0944a05ac3fcf4aa439bfd794ce4caa27da32f1ac878f5f5997a2d76af6131d2f7861ce SHA512 89ff0bd48848be46d971eefc787ac3f454c7a03c6baab638921ea7e6562bffd3a183129266493f1f25d948c1e72c7223d29a9924638077d49dd221273c2fa01a +DIST thunderbird-150.0.1-hr.xpi 478731 BLAKE2B 5a3e32cb875e7cde03bd552429f39be08b7b13211f80c207a6119ee176bec5afa3e254853d8863ce26f07613fb9f4d50a9d0ebf859ab6913ac7278fdbe6c52d9 SHA512 cf8d9b358b60edd89980baf645bc700c0e945823a2484042da6733e690765260a850072864f0b4ef6f941131d96b7234eb3deef6694551c88c91e0aa59eb0aaf +DIST thunderbird-150.0.1-hsb.xpi 525874 BLAKE2B 264d5bfa25b543c3922c787d4501bfc369bd3bdb1a0793e8436dbb40cde82abb5d2f6e6482fcfea131a36bbef42bda08daffacafeca0149b643bec9fdaf02bd3 SHA512 4cc4b44cc7df48f925b28d4644ad334705527f8b90d9d3e74b6e13782a0b9375094e93e5dbea2dcc11db248cd2c450489825ca03a36316b2f185c207375f4262 +DIST thunderbird-150.0.1-hu.xpi 528214 BLAKE2B 17a4b356a976ad58198a5f00b77e22a29f27e4b90513bee5cb11efecf740e4a4cf05c1f0c759fe3b1806263d2572142731ad8ee6cae22695654094d67e064c89 SHA512 266426b00fcb291a93daad29639237e95a6a178f421f646dd6b939935c06b13d5b6bf3f27c2459d81bafdfd18f3b00251aee10d4e3d7dbc7d748be1534dd3c99 +DIST thunderbird-150.0.1-id.xpi 470965 BLAKE2B 56d60dd1e129706f18dfb895034a2aa598860eb210afd55bdb677db448474d9120652e06d725185b1369094bab301816bf08d590ed4166a98a50225b1d17fd74 SHA512 54b25a1e830d64a241fb901092f01e1e6fe830f536ad2862cf668f2850ba7ae2a247fd8e588a492bc46e2e6f63d58b60388658e39270eb0bb85a8d744579be66 +DIST thunderbird-150.0.1-is.xpi 486402 BLAKE2B 2f433872e37fa8c51a7e210fa5cb86722531b0f09db7e08461bf451359ae517ba92b83ff2048e109706e9e423f2d6e53fb817419e0369e4a1d01f193da40536a SHA512 7b0d8a9010cdecf0f3bfcc8549ea68f49cf90c4b42966947dd95d15ec8bfc73459bf444c161997f797c4a1b9590bc605fe6608ee33f6ecc4f610003474596b41 +DIST thunderbird-150.0.1-it.xpi 498534 BLAKE2B cf60078e9c250d3ee70318cf7f9eefae4abbbea2273c38ef82424642b45e1b229494206a56fd8f708d30764e2e824b2b1d3c08b5aa842b8f62d039b5978fa254 SHA512 0943b3d1ede8a1fdb4e675388b5438106810fa5571ac9f7c2826506c5d972e25e3e66b102a836fe05f34fade1cf6d1879102e3bda867303e1f1377978efef099 +DIST thunderbird-150.0.1-ja.xpi 549572 BLAKE2B 4444bcf87573517a6b7677d0b07e2755330eba2761c3d85e1d942c20d62cadcd3f5f1db49d13021d215f668ddaffbc7c25901c4c9d57aa8cec1573b6756aa2da SHA512 dcb80a8b0efbdd9bcf4521a5ad789686f2d1ab4a2e0ceb43d3bb58359cd8bbf931089d670356f4edca58512fa889bb6b1c67ff335ec55a876d865d2a58690060 +DIST thunderbird-150.0.1-ka.xpi 566735 BLAKE2B 28cdbf4e2451cc2b98554297822cbb6cbbe9e026b4de99a15820088f6b0e95669913407ade5993aea21ae6e451513a929c8a4f2f5cee9a62c5351850f4ec6f81 SHA512 7a638d3e4f2feef2391335ef6885805e3f282e53c94a1efff9bf76b253da58b79f77f7ffc2f97b70e52e8f770fe7174eea56fd5c9a0944f2571bc4b4fd5d4a02 +DIST thunderbird-150.0.1-kab.xpi 467788 BLAKE2B 416e740d12f5135db4418b213b149674f5160911ef7519ec0f817c1305478036282ed73c1e35c19d784ff6079f74611b2249d1b49027bfafab9ece9b0543724f SHA512 cd214b1e60976ecf85952407e7f0a45324903768615be161c2896348d8ab765ccf1b92050601e9fd9161b65233e8214c60bb3060b872ca70113845a046afb06b +DIST thunderbird-150.0.1-kk.xpi 590480 BLAKE2B bf91c997f60ce4da75d3720eb060587093cb42e6b9dd3767057ec51067bca5fb9779cbad7663b01a63331074db2dede0bad543260391ffa75bda34697519f60b SHA512 25cb602637bcdb70f0c8742a5bb6edaf33d68bd7e0aeadeef45a33835e79076e85faca1f732f881fd757896747c7f3a4ba3259bdc8565f25d352ba8bba1aba47 +DIST thunderbird-150.0.1-ko.xpi 520512 BLAKE2B d54a872381481c6fd6c3238fe23b47c7cc76c2ae0e31bd2e02cc824ba9bca83715094ad458302d8213d495055c9ff0d1b75bbb57b54909c5eddd76510e70efe4 SHA512 0ea636cbb3c27cb44cc1ca0b9ef2385526e0d4da12ca176e62a9385d091e0f96cb7440e173a15fb126289365c1630ca4ef8dd27eec781f7ac0aebc425a17dfe6 +DIST thunderbird-150.0.1-lt.xpi 450147 BLAKE2B 0415726f2a7dad01dc7472499858c30c31dd236aa25f8cac23ba32cb619e8af23780888d21bce3d8b73658566556c8ced2170bdddfb69f9546cdd283cc92a4ab SHA512 82fe9e6a1fd2bc5cd9cb16bc5e0c3ca1978bff5757c64728c560d72add68d228df5283c6a6e506a63d575805c7e7fe5a135577ddf4f2812d1e1f1075a156cda9 +DIST thunderbird-150.0.1-lv.xpi 387396 BLAKE2B ac8d94bac2b9b51ecc30d04c7f119403f13698e6ae97822f0c19045eed6fd09a4fab2fb5bd46d0e2c53587b9b89ecb37faaa50ac66044319d7f150cb4694b161 SHA512 a6d5264e0040cbfef8428061cb0b01d757e853890af3d121115706e0a9e7bac4b242db9b71de98eca73579db9f61a6491b58f6f30681bbe46859a2fcb4228844 +DIST thunderbird-150.0.1-ms.xpi 349115 BLAKE2B 94014929aba07a3100093633de3795afbf4fd6732312e61ffd715c50d6150527a36d1188d22c8423961c1fb7a2e43577ae249cb3d62d4d245c80662fe9f801f8 SHA512 e5b010e4f24a9f72f6ae9f8ef7ea0cfd332ae7f99ec6f87206fab625ab82f021c0aa99286101c5a2306f30a4013d9d46d1b5793a3aeddd6857adba8b72ace6d5 +DIST thunderbird-150.0.1-nb-NO.xpi 485892 BLAKE2B c7205056d610305b5d6f9caad65da0fa254c2df684ec85b300f83b14ad7ec700fde8c1a9e3144a8058ef66d45b20b2210abd42dadcd4e415c980a0267fbb3854 SHA512 34f33b1075e9d1c4594c48f757dcd3541cf601d1b520c36666305f42bb03ed39f0ba11f498440fdfd082393744a466e74ad6a51c3b5c81d026db479ae69d1df4 +DIST thunderbird-150.0.1-nl.xpi 492130 BLAKE2B 22699323bc1ee0826e1de03674876402d62619cb95adad27eaf32a33c553e460d373b99d918c916bb5330a074fa71ee0f09fc8512f1f93123db6670c03539e78 SHA512 b8ae0ad3269d77ef127ee235e3b07bf953ebb5749cca97a95e158a541b5d56f5c0222761bd6e0ef1d60e1b57a25a1760bb76bbe69af6f239c632a1b081336d06 +DIST thunderbird-150.0.1-nn-NO.xpi 489740 BLAKE2B 5e7b664fb1cb089b03e6fe42b4c3ba65f2e61269dc56b95eff05665037ea0adc5c3339785d2e91908d3abf80b007b56020377f65a3eb4d7ecfb320d491d9dd1f SHA512 c8262f33e697a2567cab4c9c1b2dfcc8cbc6f04fe412c527269b3c1614c744563a2b66a151cbd2636aa0a3038a169ccf21a14867312f87bcb64803ae6ee07b62 +DIST thunderbird-150.0.1-pa-IN.xpi 437655 BLAKE2B 3a23b7afa2f5a18b536e31250c2f56683e48ef865d90165824a30bc10d5d9f4b94105b9fc844fb27ff05be33fda7b96cdb9a1c18970b8707daa221fc6b980dd4 SHA512 210fdf155e7cd3120c63bf8b030494af11f5c7b387c356486ef712421c7438865821a6dead6491f348154861033a366c10bc598bd813d75693655fcb79b87690 +DIST thunderbird-150.0.1-pl.xpi 526633 BLAKE2B e2b38db1459e8ee39afe929670358f70a72ac6b1c69fdf2ce1bcbd3d7d9f833a49760185cb8efaaab80443dd2b1525b4f7e94391a3b1e0872eb29cb34d3b8004 SHA512 bf0573abe9d90d18bbd7fd4aad717ef449292bb938f7f29d4b49effa955aef87391c28022e5d919c104fd81a7db1ca0651a8dfc9caff06a4e37fc5f23c61cb12 +DIST thunderbird-150.0.1-pt-BR.xpi 499164 BLAKE2B 3b7843921f4a47820391b7ee6aaa8ec6a11d67af327c44b23f041093c593e3d9ba1b9c35b977cdb8e3cd9e23dce1de17af300eefd2f1fd978c0ccd7194eec24a SHA512 d53069b25c61edc652dc3e302be392ea222621b9d0767b84ea06fd545319a20eac3bf18f711ed0109198bdfd92935330e70def4a792ad87127a64bba02cb4ffa +DIST thunderbird-150.0.1-pt-PT.xpi 504558 BLAKE2B 15dc7e63b63c71d05a4d30c224a4ccf88f7697ce2311f848a71819743b1b6a55f9007d8d48014a61b00077a2762b88009086296492853cc0babc9d549f10c876 SHA512 2db95459e8d0cec206b3b62ec69f79815d8e6d8dbf121556583860c7db8b31f1582f99fb70dde792ab0eeea24e85ef8b481867c94cbb76b8da163d7604a62d18 +DIST thunderbird-150.0.1-rm.xpi 486692 BLAKE2B 4480923c4185c476f01c7c2db9e50ed5fbe715afa7702a75418025b615219a934a8827c1b888e650429795df178d6edb9a53c9228982ea4a4d4b77e4a12a6a88 SHA512 a3286fd579daf3aa42c729092b585fdac2d2e2c5b21352cdc21cc23f134ebf36419b225e5078d42af60d79e3767969836a294d1d8202378bac096696326c8eea +DIST thunderbird-150.0.1-ro.xpi 511757 BLAKE2B 86e76fe50e351fc8b51bf773a72534b3790b789718eeade30d4f7ee3a508579e7b32af2eaddeb8275e556e9f7f8fa5530dd0ff4f1fb448767d4a576945f7c006 SHA512 a31c538e8ddf79af2df80d2bb3f055cf6a6eea686d717f819e261ace0cb6bb5033eb6abd9b75d330aff15a5acf6ed622906cfce06e6954896d1b9e96a86f6ff5 +DIST thunderbird-150.0.1-ru.xpi 605634 BLAKE2B 0e4ac4021fdf526b986cac8cc9de9c847a645d0cb1f4ffc7d4b697a00bf8b480a6ca15190e5726d90a9512e6de00dbcd78f23bf6bfcff74bfe13c351a67871de SHA512 30d306a1108caf0ac00770213f57474cae01194ba36cf24c008c10d69706f75f3634c6f5641ceaf71b34f0dd6469ac8c42626ebe8a69068c7d9be8c1acebfbc1 +DIST thunderbird-150.0.1-sk.xpi 531667 BLAKE2B dd0bb82d5aafdda8ce339b2855a6a3281178a0adcce84d7d203f4fe7919a4ae38b7ad72ae3359eb59b6bf23c20adc3da0aafc10f0e2dc55188b5d3a1f6b780f9 SHA512 12e2127c1e673924d09718c793b8eeff5e0e7e9afefeb37398491f912acbac22bea9711db4e94bd730707847165f75ce2214d6e98e60cb77ee4cc7cdab03e5fe +DIST thunderbird-150.0.1-sl.xpi 495474 BLAKE2B da6ddd97ae3a52d5c7e4540818cff263f7cfa55993fa7a9f15a71e12570f86860c07f5d4012afaf7ee0808d515be5d72a18d8297f8d114e97ec708a8d3dd180c SHA512 e32127e4530a4714ec6ae67a797552c4516cb9edd032d9836085e63546a6183c61f26eca000aa15166b6e94f7809e73f3663a1506573cd593af5c889c5304d87 +DIST thunderbird-150.0.1-sq.xpi 516228 BLAKE2B 4a96548a105e2f14cb42ad760990d07d89c53588be402994d23a27ca660ddd499be1cb03d7191e316dca95d46cdaf3d8c502b593b481d7035196c42e4c876666 SHA512 fc110c060d9dee2ed410b6d4ab7871b3f27ca61feb496485f9a5aaf33a0d32c1622a143be29e86001c1dee363bdb986585fa505fd77a299b0d349f860414dbef +DIST thunderbird-150.0.1-sr.xpi 570333 BLAKE2B d695605414518cece69b83ce2c7964fb9285d258e4b2969d06731498f283de5ce53d6150bcd76c201ce8822ccbf3349de9f4408a629317fcb9cc5f9ef726c1f4 SHA512 0b560ce0a41d831b07808b4550a7f2771785831abc9445e0121c4838f983ef762c4341729a32b7ef17d7415ef63d7c73aa946e71c69dcafc82799d6fda5dfdf7 +DIST thunderbird-150.0.1-sv-SE.xpi 494342 BLAKE2B d09c5607380ebf0847db238637b2ffc7f89fabc506b677f566d460eae775b2ff7371af6c63db570614c5b3e64a4c3bb819dce362fda43e0fc2a5e548b7d33f33 SHA512 34c6084c0df505eac62bbeec5976638268431eee5875569972f1c24016f8b7315deb4ae242e789700f3e701f89952bb2ff9127c73e27a4087e7fde3fed4f8c43 +DIST thunderbird-150.0.1-th.xpi 576326 BLAKE2B 39f34dcd9cc71eaa5a64138632adc65e284706fa219d506a79dfa7844a118becc0344594ff546264de0cb5b095f1858ad5bf71a96d2ed15aa36516d9ba564d96 SHA512 2270d502e6b65a2989935dbb92412d218c5cd4145740efe029599ff3381ce57e864c4b9ebad6de3a211ffd675fef2c8623df764a5bdcbb275597f40b92ed4831 +DIST thunderbird-150.0.1-tr.xpi 505728 BLAKE2B 4ae3c2a53371bdd17c8774cbad39cb079d6d7ab740dbac53ec88bf757b1c4a38f2d0a3f4b4bddfe27212e2452ec011db5b3265129010b758b534cfcc0ee7e19e SHA512 2fee8790717efd79b6ffe324ffe88a7e574f63f33c8be72af6a8b14e890811d1f201607c2973336605875a209aa59fda364d9c30bff9824177c0e424b145accc +DIST thunderbird-150.0.1-uk.xpi 584075 BLAKE2B 85248cfc9f719468562100be287c9b91bfddee4436f534b725fb7746372dc5aed98d58d434c030e5459fd2a9929f4d6830022a6fd7d1b48c9e3bed1cd9bd95c7 SHA512 b42e0b7112eb6945d5dc2cd080bf60436bd0c901d4a1e34eb77fa8a6bd7a1c769ed2b6b0bbef1ad7f503af222532bc013bae8fce366edf41054449f0578510f9 +DIST thunderbird-150.0.1-uz.xpi 351485 BLAKE2B 5f4955418cfbae3fa160d4816394d9c1320f2c59164b721019df6d1c2a1f72a8a94444a139602360c802edb185119832ca838439b4897fd6136b4ff437f44b6d SHA512 edb59aa6e30c4f282f6af18ad3aaf8ad182ed2eb09b4251957837b5a82fd8d9cae0f1f253b4a09c8a19245c1c0ad94515a7a56aa23335b5ca8054a46c0d0cd12 +DIST thunderbird-150.0.1-vi.xpi 528202 BLAKE2B 745341413208df5f924f5ebe6d507afa833db069ff4114b5a7aa804c4a473e2f5833921580c9e0f013d1cfbe15149d950038c93e9c484d6fa82206030521033a SHA512 5574d7689fff2730a269e9c0d7223671f2239f4d13d3846b1661e898755f3c26012465d10b287307ff3744ba17787229347e090e793cef209d5a84ab7d7b403e +DIST thunderbird-150.0.1-zh-CN.xpi 516814 BLAKE2B b1f5e11dc79e785eb17e4460205ac83b242715ca7b2ad63091136ba4561b479a0254ad5e5686d9ffe6593aca8caad9ba4cc6081823f2df340f00211c25a21ecd SHA512 5d20b8e128ed71bb6bd2d74ea88b7bd9a07dcd7ed1eb97f634e5c3fde0681db4242991f7fc59d429b4217bddc47bf5e513c0ad0b8fab41cdb828cad15ba2a1d0 +DIST thunderbird-150.0.1-zh-TW.xpi 520973 BLAKE2B 908589a707538926afcd9248fdb20b228785a1515d780149148294be1fd037884d5577c90ae1a8ed765837ba01b923dd9504d2b40ed39351c4ed4ecc4d182c6d SHA512 1f6009e523bf2f48eb254114ebbd43537a5b34a6a0c8ca95050c083289f6c5f2d007592022b2369cc66200e82f187c0f01d6301ff383f2a1fdd131baa7a0f83e +DIST thunderbird-150.0.2-af.xpi 308505 BLAKE2B 69149d3999b74985706f425f4ea0753d70f8a1d33efd5a5450d9bf1032cbdcd106098d6603ea4caaf08d0d4840ba267f2a6c1908b7792a170ae857cbb000a334 SHA512 c5362016b8d92e82f64d9f37407ccc24db4b5b8a29e5d83936e16138e1bf4cdf0a921fd6c17754413ac9a4511ca1521d033e38ea1c2819e37ab110ff015412e3 +DIST thunderbird-150.0.2-ar.xpi 445121 BLAKE2B 4cdb2ee8b6221d36d085783ec0947ee452acd19d472bf16ed17082a56ab29fb131d4c770345f430f65f1e9fb24a6a2d0499be3187d493b2816045838dead4276 SHA512 64084b53be6abd53387d3285b0a0758c078a6f5e47fcc5fca80beaa7057d9fd22fd64ac7501114f99257441e52ee0b23724877ed16cfe49e7ba7abfe39a01759 +DIST thunderbird-150.0.2-ast.xpi 334110 BLAKE2B 2cde80f30f752937aa040ac7432179a8c938d56aa0394dd1066db3de3d7f43d95ef86bbbe7fe524d0219461862aeb469d19ed421c963ab5b5424fb8b45032151 SHA512 4a3eec76f95d9f00aed3a9bdf32eb1d96ae801e2ea0ee12c7c89c2d66bb1a0b7d563bc54acb39d8fad05d981b4fec531407fee979af902350c7996be54c53e3a +DIST thunderbird-150.0.2-be.xpi 524246 BLAKE2B 84dd72aab407f546d9390cf41c607221309b9813686da2ef6df0f97d10b3b8a7843b07b17490320e7e74b8ba58b6376383afa85ad6ed3d67d35840874356fa36 SHA512 d0761324107b8a465ca5f19780bdfcf4ae7e8fd1ddbccf334348a033fb53ed1345115042ed7d951137ca73faedc7305cda2c8d725c3d637d520f5cd00080db64 +DIST thunderbird-150.0.2-bg.xpi 542089 BLAKE2B 27124b8e8bd285733036a752b124116a5f9ce706aa949a4ebc57d357fc0ed7518bac92da9707c519f1bec517e626826dad07589d82a45a8d066313fa348876b4 SHA512 28a610b8e46dfba97cfcc017615c736a0e021948bcb959822d54ecbe58a5bb97a3995d7afe0b6e7b2dfe5e8deb5ac1fba2508ee3bdec580330721cd44c5c446d +DIST thunderbird-150.0.2-br.xpi 400138 BLAKE2B 7b2071ab946eef678bc9fc367705c93987b7bd8f9a08f4a9f45ede13482baec665fd7f21ff616036551bca3b087b03e513953213efbd2080f44c61fd2c31c2d4 SHA512 b37f19534cb43888ae48e13b7cfc9933238da1aba8dfcda0e542b13ef75a7633f25bc78f3960552743b429884b7c1c8200b67348a274b4e6299b7975a9ade147 +DIST thunderbird-150.0.2-ca.xpi 437247 BLAKE2B d959ebd8df23a1c424e79a54e74b20779be68fb274de7a594f406ce18933f561e2de5e0826584f310b0d2b53160a76cfe9f38013800148057504e9a955865040 SHA512 abdc8de4ea643f771bf6bc56c0032bb3bb3c45c2f80df734040abffcb100b5f686b21ccefc4dfe859787a162cf11036c502cd45aa0aea260b8963650ba0a14c7 +DIST thunderbird-150.0.2-cak.xpi 413814 BLAKE2B 54e256cca20fd62ef805bddc5142154efe1c0aca42def025524cb147ee888e38392d88af6913f4eddb777322746aaa6edf44d78262f72290f1aa3be45a424811 SHA512 c11cbc96c6c9d6626e3158b095d0292561cd57903e76ac1f95c4d97020bdf201aa66fd8c801059abfeb161de66c036419fac2f7e759f61933673f0e95614b7f1 +DIST thunderbird-150.0.2-cs.xpi 531930 BLAKE2B 002fea5769310b965884c9ac312c0516f15669e239c1323d3043524696fe8e0e74d684539d66b8ec362e2f2472c8078e359444cbb48330f8d9281e79ea4e1b17 SHA512 033d06f0308057e20697c8ae00425e8a323551ec2b045db797140599070f0de6db8e5718923b9381b281c21dfbd3f918e835654895f9da1550e924ad0b420a94 +DIST thunderbird-150.0.2-cy.xpi 499231 BLAKE2B 941647a264cd4436e31507c33cb25cd876bc0262bde800374ca0449badaf929b81ec5b5f10edef5d95df2b11245e821844bd6d53f9dd1118ec762d70d618d7c0 SHA512 1f0e98296f3b1a6b8ea228adcb57ad3ea2b8e7a60c162bd5028534de92b8fede3b97139b0ece65581e97a75372fd43b09ef1150a4eaaa12bc1d03e31ccac3ad0 +DIST thunderbird-150.0.2-da.xpi 484953 BLAKE2B 17c6e69b192af246bdc2d6d04dba8532ee2b802ab470175e4fc756fdb44d7d9c576343e5ef020197685486d7e11eada2013f77eb77c81a7f20bff79b45e8095b SHA512 c05bce3071230164c6c01ab3787c650f600d06b6a8ed94d002776ca525cfe96b755719a8e1c7df85520620f3ce22be094d3a1a328dd7d17fc2db5d62f6c3354b +DIST thunderbird-150.0.2-de.xpi 515468 BLAKE2B df24ea32514856f19ebdb84d892ab60760864e0a872183f96c2eb4a9cf2bf1cec3cb72970ca4defb8930e29c13f7acbb0d3e573d1c19e704fcf332dccccf471b SHA512 0f478087098f28359bd62a3082be9f5145d5e20a0c55009e119faba5c70f5c71ed1f017455730bca32aa64ccf4cd07c2f1c56be8cf41caba52cfd321534b193d +DIST thunderbird-150.0.2-dsb.xpi 528572 BLAKE2B 7c7a67019a0256020d007facaa08cae6fc0e751949ed114b3a87e5245ca4081e79e06187f1085582d186516fd073541878315032da9badbc2bc30fea3b42fd33 SHA512 745da8e003f4a70a201fe1279daeede64cdac1b885f812e42d5c1ae7b0c1520740910e9c3958aa68f310f2f307652ce136a0d5a94c13f1b333a11d48e426efd9 +DIST thunderbird-150.0.2-el.xpi 620894 BLAKE2B cbd3f88bbe77c25529c4ac23a63bbb21e2c852169b969a948d41db6ceab4dcb1831e3729adeefd91b1fe7c576058e7df95471c9c4270b1b887875dd7583a1841 SHA512 5b0d5d513890338c1e6e91c5e5acb452d6cd46d96aa4e651c8a6742cb9d9428dc13c993d126ef2f36d0b0744224d3d2e23cbea8c6f399a817decc20e8c473a5a +DIST thunderbird-150.0.2-en-CA.xpi 461174 BLAKE2B 4901c2fc8974fb86e1dff087105353b0440af8263540a377bc7488fbd7501271c6426b07fe5a7d462707b35b9da44dc5260e2d0b1aed61ba61720ae48c2e90fb SHA512 d3fd6e3cb5a4e6a4658e9f36eead6b53d51e6fbae67a5a6a2342f7e1a22f6617364e9fb529b34c934200349f4697d5fe5e384244498ec7fda5281b2867c9678d +DIST thunderbird-150.0.2-en-GB.xpi 461224 BLAKE2B ef8cddeb8d656e8ee7297ce390b5bb1e924d8f0789c00e62964453f0237b4355e5caf2fe206f4fe6e0bd2ec54d32821b719b92a5c504570e61b531bd79cb2384 SHA512 00d743eba526a1ac5dd2dfec12573398fd0c54c5333dba68584fb557ed648f183f06b86bce7ebddb08049f3e613846b07256ff74f5f0335fe212c5dee6fac034 +DIST thunderbird-150.0.2-es-AR.xpi 505269 BLAKE2B cc374dc056d6a0552c4cece464ac026ad3557fed5da908881943c520582d3655e1b4a261c7178811fd90407fbdd1f98a94af15f358de8dfa134a303c0e48a645 SHA512 9dc7cd3915f117fc6d71cbcc8dae4e3477f309ef798324fdd23ac2c9c4e9a6a5ca9fa55e97f57bc26af711c501da316b79ba3d84be3f85f075efc174f9b3a689 +DIST thunderbird-150.0.2-es-ES.xpi 507274 BLAKE2B c9e9dcb7b32f30143f52b3d39f5bf0696d4e681fd15ccbce349d956080f87eeade829bdab3e8a21c20b416964b2bca516a04c191e762e72a4efed36e0ac8e0ef SHA512 19835ec4c7e30c6f48f20911b27ceb9eabe6c51f68d5a9f868ed6d02f9daa9ce12fc9cec6a435312c49d4797c07edb131ec9a2422126593ea9bb8637a1541d66 +DIST thunderbird-150.0.2-es-MX.xpi 496778 BLAKE2B 422480f3b678897f9e7a738feb47046bfe2d83a663c20c0753db4f280ca0e4105b08e8aba112876832e564d2497acf5457bf283fef3df8034ff148ef49f6659f SHA512 ba0cb5b76862c0e4371bfdd3d04d9054ca5d0dc5bf739c7ef78cfa11113fc58d884c39862831dbb6e637091d95fce5ff8d8141d07dc4811001991db8c7d32b6f +DIST thunderbird-150.0.2-et.xpi 440072 BLAKE2B 703efdcdd1bb958c5a6c4151ee88a209314fac3b395d23a939dfd0788e4df64904812a4df9ea3444682a645471c918b6684ac658894c048a748a8b7046629f46 SHA512 3f3b251dbb8636d5a12327c53ee6135ef9a5919f693d888116b71059b303bbd52dcedb94de81ff01d15e7d1eb17d645791e4814519753941db71f6bc3fd235df +DIST thunderbird-150.0.2-eu.xpi 484174 BLAKE2B 348dac833e44ab6e89b1fa10e0eb9685307f9f7f1feb51d11afef2d69579e0ab74752aa718e17632af4e3f86ccba3d18e3730371c2c4a1603783d679b0e2c75e SHA512 08489e53d9c1615a62043111f15d0459c0c0640da970229ae260b42280c5d79387736c1e82aaa7681bec59a28fe0ad981171cd38982921e41d33bc5da8a9683a +DIST thunderbird-150.0.2-fi.xpi 481268 BLAKE2B cc17c659e7893485abb6745a75c3221e064e0f8270795782a675851cb4d2b1c3b78b12e52e9adfa013ab7f9f8570bd639fd51d089527958c78effe5fb8ce83ee SHA512 840e5248c5c08ad42d0319bd2d6daa2481efb638f3ed144f57cd1c60686c7c487a328015c3f94fe18a988d4b97025ab2d4c3dbcecb6161cb5b6c109e6758738a +DIST thunderbird-150.0.2-fr.xpi 518985 BLAKE2B 09312b8040a699fe251fd320aea0214c3964646c80a7a1c013c4107a34a776e45dca5daa5a12298cd68b7c94dc636aa7f29987f238d2aee060ddfc3ceb3dc805 SHA512 6803ca1ddf0f05f774bd4504d2d0c5baadfa232bcf602f3ecf905a44a028e8a0e107939fdf471831311c33216fb8693e9fa5e3889e3e5f4f1b37bd90fd2c4f40 +DIST thunderbird-150.0.2-fy-NL.xpi 500730 BLAKE2B 0f9b44bb665706a7e5cf3d0c011e130179d09be899cb0a582296f8e2c17ca48b0100566b2c7f7a4a9a1e1f6e52dcec2df761fd74eb10cf312f6b6ac924fdae2f SHA512 989e6ce55db80fd0c718e4eff182e551041d1d2cefcaff86ae69e0252af7b72415bbeb62b2e71982dbf1aae4842b1fe26abd965aa48549e531ff9ca9e18e11c8 +DIST thunderbird-150.0.2-ga-IE.xpi 373626 BLAKE2B ae8b7837d60f15fcd4298b076e22bf7848f1ee51322973c2e597b017f2aa75afefeaa5b7cf42ed216447cd263a39f7516f91793013cc6a31df45c312581aa8a8 SHA512 fe8a8cda7f3b12195eb7c24f5c8b85b6a3553ac66c59b28893f6208752f74d90fef85102c79feff8cea0a30042631e266a520effdb6b94869bb900f907772eea +DIST thunderbird-150.0.2-gd.xpi 458769 BLAKE2B ea84a3c2a7d9d6496c72f2320f3679c92e0abcc35d5e296737fc0a1fdaacfe416c8e55303035eba7a53f4374a0ddb31b8e7e98080fefc8bae8977b00ef0cd5bb SHA512 8db2ff70b7adfe2886766457c2b422577dd5d1be59df879a636f357479ba52c3fe047a086185aac2a6beffd5e7eb3219e8fe257af4e99006614ed426a6cc3157 +DIST thunderbird-150.0.2-gl.xpi 487463 BLAKE2B d3b3ec2d4703c008acd41b4976993b18d2a7317a12d492c1f39b54a12f45be274070c14b9b6359801ecb9bd434a2b851113f512035887ae707cbd519a6c090c1 SHA512 ae10fe723e2d9210181ada00d54cf9b4e33b585f1ff1b18e3f13adfd552b6f72681088340dced983ef17787aa4b1e15328eb53fe600c23457159aa5e9bd1b115 +DIST thunderbird-150.0.2-he.xpi 445468 BLAKE2B 1c51ffe5af8d1530ce529669b2a1204d8c4b57a60c7ab545c0c21a8c96b32c65374575a966b28d707ffa643dd2fbb02f6d11d6952856b1c7a0dae74fcbb40b09 SHA512 2164bc5bd8d075e900e0aa58458d8c7dd7b7874c0e8c45382c0695394e7a45da02d308aa84293e5bfb871f01e75d5a8cd8049067eac03e3ea278f966bde6d1aa +DIST thunderbird-150.0.2-hr.xpi 478731 BLAKE2B bac9bc190ed3c836afb7bc80d725d1b9dd19a0baa64b6ad3506436fed25c849f8a91670e9d4c5e374c96984d358f3c070ce9c0a0b0469a405d2408b27efec5cc SHA512 4f19297596987f1f20c11230ff94ac6910a7a872e4151106ab00500adc0b1dd747f2c91c7bc1523a6919b8bbf6949d234a4b9d91337626282fbc495c57173b1b +DIST thunderbird-150.0.2-hsb.xpi 525875 BLAKE2B f0ede677e5b5505362f27496f63f87240c0a0b6faab18e24e6feffc81b3ae42441aa358bcbea834f2c18fa107f4b3c2a6ff1d1783478656f2ef4f3f80f06ecb4 SHA512 7f5c02283c444fce1e151f9df5a7ea1a8ec92c4de3140f44bfc573d2274446b7175e97d2e80cba1447b2f865dda67c022b78fc38dde83604dcdc116c392cf7d8 +DIST thunderbird-150.0.2-hu.xpi 528213 BLAKE2B 5669922f6f262ea6bcef6e85db115ec27a2d9870f54bd39015e8ba0238cbfb291ab137b6c6b25452165db0e04a8e38fb29ab8747ca962464bef4a99638f78593 SHA512 5f77aa55a08a69d17549e3862193a370fd12f64687b279a793e192b4c8a6c2068ad993019984b40e04a691afc2451fe236aef79fcf0660403e1c90aa469598a8 +DIST thunderbird-150.0.2-id.xpi 470966 BLAKE2B d088730372e12d4dc71d19c67b7b8a713d4927659d8d49ec897d456c9c9d55ac6abddecaacb006b0625057a30f38f045c8628939817a24a376e5d9e95e631f5f SHA512 e410a927d95981362e7ad8e9d178f05627c481aa0e650b52d790e9aff547253b5ac82116fc552119a8e7a8501bfaf881f5695266991e7c550cffbf96ccb64cfc +DIST thunderbird-150.0.2-is.xpi 486402 BLAKE2B c933c00875ce74d7dc808404356a0b5ac21d8f35161eeec689580023a2ad219b2a15004ce920698c3a2e98bdeab594478350395129ce2fbea9a47938f062ec26 SHA512 6c4b376a7923fda84cf8dab9128f8da6728afdff5fcde2018cc3e9d659df9fca65fbb85b5f2d5fa011eb8bf777b760deba0ad90b2be4deb0b029618e129390f3 +DIST thunderbird-150.0.2-it.xpi 498534 BLAKE2B cd6bb9e07500a4bae5a3bcad0f799f250f4bdfdb96ceac84741370d5a228d8ff1f071fdd4e1c01b4e1b1d22f29f4b801e2de646b20e6c7a040eb921e7af2c95b SHA512 0fabc90cdd471243499b0027bfafa52ba53bba7366a440853d7083279a51a54de08223ffd2126ee24d27c34754e63c0b9b245c4ad3f5a12fd8b3bdea14255d42 +DIST thunderbird-150.0.2-ja.xpi 549573 BLAKE2B 52e2afbc18240c873c58b156bf3c33f8b6598df26ba5497ef89cd2df638301a941f3f0192b9c6eefac838a758d8bc192c2e6902f21c46fa4efadfe1d34f9562b SHA512 aa1bbe68d17716fde77ddb941c62446b8208638293d42cd78e1d60c1e0347a8bcd5c1b9e44064fc2abe526514b2fc6dcffcd9690a697dbc4c029370e4177f805 +DIST thunderbird-150.0.2-ka.xpi 566733 BLAKE2B 8d292896c1bbf58929a55d2cdd05811ee39065aeef1fe26908050e5759f21c3c0d68c8adb56c882b80eba6572e2cf34e3c2f0399084736b6fd2bcd0e3ca48a3e SHA512 0fc316cf1c29a36aeead7473ced1978586020388e7ae2ee738830308d2a8dced4f15b0806e71be21dfb34377a731c6d331792324ee820dccd97ebb9a3d82b2f8 +DIST thunderbird-150.0.2-kab.xpi 467794 BLAKE2B 04c29e9c07d282dc0e8184e377720f1e0d0e554691f531bbb03be86ce51053b837bc25b6c4c7a72ade0d5aecd5132a5cd5150c58c3e42d4b8780f605bcc89be8 SHA512 6094bb6e5f3bb2eac011488ca21b3020ae859a3fd735e06996f70dddf92b64e87160d1a63b06c96cda97e39d1219296903ea321caa26c45cf9bb987730969240 +DIST thunderbird-150.0.2-kk.xpi 590480 BLAKE2B 588041255991896b57ab5c8e9b670c6d55b95bc7e87406037f696fbbcc4cc36ddecacf9781ed0d9604b0fc35c1effbef687ea7ae8ddc1e4cf7862545d5584eab SHA512 179d2302d243081f53b1fae36d3b1a93278fed6ea125482d3e2d7cc0dcecd4af37ca93db215bdb0cf49d367767d1e6a37ffb02bfd3c996f2849cb3109ebf182c +DIST thunderbird-150.0.2-ko.xpi 520511 BLAKE2B 5866dcb24e00a4c7634963cd10decabad8a3d566094c0a4519c25cd1a47fb0a5f2a350c0f3f09accc8da3970fa19dc01c9ade831bcf83c4af91b6cb528134398 SHA512 1a6773ce86fa82b32967b705c21e3f649fae96a4527c768ddf72c68cedc71b8d476984e53fddc8d5df7643a4748a5f0ffaeff76b1b3ff29aea15d125187b2b22 +DIST thunderbird-150.0.2-lt.xpi 450147 BLAKE2B 421780ff897d8fdbb025c6e31926b40d144081fbd2c04b091a11b608ae56edfb43476897481f319cf8655b1f35474a8a37f7ce9cf172407e8a6c5a02aca545f9 SHA512 79e9dbee537f1d25b14fb4b4043bfbc1048e8016378290bdc7c08094c40231312919a3f3f766c1401ac048dee82fb7cb2a71ab876dd81097d2b530d52156a685 +DIST thunderbird-150.0.2-lv.xpi 387396 BLAKE2B d9019c6da9dd370ff12a4501353539d0f80e906a6f71afaf88397ed2d2adc1d73ce414f688417eb96b1740d7df4e08a5842d7d212bef2d0101268d70d9cab683 SHA512 2a04d5769f038aa96ecadca023580acc770de90257eeec7c9bd1ad167d41f312d5f693b3b9b7e809a19e1afd538552cb684bfc32c3bc06af32d305140756717d +DIST thunderbird-150.0.2-ms.xpi 349114 BLAKE2B 92e0a728cf80db740d7a39664ab99ecd6e932a038acda2dae766f4ff338e483034b154037281c5bb7cfbfab866822b1d23cd79a5f0c28acfaba6bf3e89cad063 SHA512 e096bc038235a2ff866ffe2b02e19ff827f949282dadd2c9180992a0a5c70ae5562084215548a51ffea80bd1f41b3539b65f817c773929bdb3dd3286b2ca9c2a +DIST thunderbird-150.0.2-nb-NO.xpi 485892 BLAKE2B 846498cf5650f56af21bd882ea3276cecf3ebecff551dde17f7a040b4beb7a09948e2a5f73d2373f5957fee5723cdd56122aafb930a605b9aa3c31b1b0854a1d SHA512 59872871dbd89027935e96cf347a1abd93d77ff7eeb5d7614e009d0b59f13165630225d3ff30b9785b0624ff8da80af7e412a36a4554bdb12cc06af321d71b15 +DIST thunderbird-150.0.2-nl.xpi 492131 BLAKE2B f8cf0a41d4a53f177d8b0ebe5834674e4266220bab70738e0657d664c4ff996b256268bc1d170dcec4a031f94167a2efd1b0d2cc550e89dabce6b4d428ffb570 SHA512 7d655dbaa3ae778f40c6647351a6858c22f4b385d23ee80be59a1000582f8a95fd427820d7413d92fce174ad23ff3c40578f4c7a31e5ce8504ed735997ba2864 +DIST thunderbird-150.0.2-nn-NO.xpi 489740 BLAKE2B f2ee0ec32a399d4d64ce07d7427d0c5111b89671f8e52ce834efb1383815a156df678a0e2258bb607f7009dc7f2cf46467ced4187ce0f7b11e8024fbf9b9da09 SHA512 c9b61c6f79b1e7681247f7a780d1fcafc4aa8eb96e2d762ff3973efb04c03390f0e81405b8d7615227b002c4830beaec12b89e14360c92d7d644447c4221d753 +DIST thunderbird-150.0.2-pa-IN.xpi 437655 BLAKE2B 2fea205f77eb8e62189031d08feecfcbf4be6db1999d6fabe48ac5876e8c0939470bd5cdde478d3b86d712562faeba9db3621a353658a1c67a031e198e413d30 SHA512 92145e4a63bfaf53cb259ab73de0c9252745a9e011db24e406a1e187584e95874b23e8590e546478f39d7a28889df5a7b5f5f1d27927cf1b8b0de365de1707f1 +DIST thunderbird-150.0.2-pl.xpi 526632 BLAKE2B e0b066835cd970a49497a6c14d9cbfa565fed5276c7097060789bad666b34527c19da6e7ae23691773a5d6a3610dcdbf8a1bba36339ed0d17fcc4ce49f8992a6 SHA512 a1873c1f84fab2adf0e78e3efc35bccdae5c1953cbd790a1d9c90b7ae8f730ee13aaf7dcd715499432ada9c89e1af02c6086e4ce3208487ff0b4540a02be0c07 +DIST thunderbird-150.0.2-pt-BR.xpi 499164 BLAKE2B 6d32eee3b259528eeeca909511b5d8e8dae471b9623c30138727bad567cf85f1ec6f1b1734d6ff537e537363dc0ad8ab7b0c9d671e17d74bd223b2de72592983 SHA512 24aa41459dd381a1157992313363ca0326d36ce61ae90f6103919ff47ebd2485bd0484d2875dfc808aa49b6af4e74930669970cf76cc42b071377185e040b3cc +DIST thunderbird-150.0.2-pt-PT.xpi 504619 BLAKE2B aee191c62c698ba79addbf2236d3f2d4f42eb842cd6c7c9ff7180f468c9ea3007db57fb18de02969e1a22aee65da1292a85acd7e5b44d7966c64ecac6bc2a06b SHA512 e26316f58dfa0cf24163f7721d0d6683506d96cfda3a8f3d29b30b1f438bf9e622c260bf2982e516617e332aa79fa52e857725e6d1a5ea12d254fbdef32cd7f6 +DIST thunderbird-150.0.2-rm.xpi 486692 BLAKE2B 2e7be4095191c41d55f116e222c829ee55cbd4d00f18ca81b50e3e1edb82066cd57162f6a760bd6dd98c62ae455162dbef74e6d4058b0c6466b2c172b0cf772e SHA512 c05e90703b23bc48ca87b8f388f56f78628110b9819213d773187f57015d5c1e5384f7584b4ec51f04877b682929160bb699ee2e357170e8bba3242bd1b8ccc8 +DIST thunderbird-150.0.2-ro.xpi 511759 BLAKE2B be344fc9582f6a17139601c72badbfc1143947e7b82f02c73554fec66bbc1942fa89949de61cde20502975470a59c9f6807d9da3f2382282acce4bf00d53040a SHA512 d8042fbf542f7ac9b29cc28e4779db795d2de54dde066f9033432d27684692746eec9d1e7577d19062eae84c02fd6ec8518f8992fada0da53043dde6309fd33f +DIST thunderbird-150.0.2-ru.xpi 605635 BLAKE2B 5e3cc8c6cf728c39d896719d9e58e60ff70caaf5fff395e5a6eb16368bf5de39d8457999b8c02d91edecae2378ded5d901a06e7f537d645ea7a201369c5a27a2 SHA512 857e24e3bd821140514950e703309d8097d8eb5a13d9b1edfac34053e588ffca93c33a6f9bef885de1d7ad70ca9730b2808f225903260f3341e27e7cbc08b23f +DIST thunderbird-150.0.2-sk.xpi 531667 BLAKE2B 348f5ec4de400a65c7892ee93b360e5340511c4be55d1c58d5b603cb3bf6e106dc8c0dcd270b5d46169e22278afb44b1d156d0058088a86f19bcc4bdf244fe12 SHA512 669a1a2f26a1877927616d7c8c8c8aad268f35c554cfbc6618a68a9b2ae73948a223d5e528f7f52219e19aafac036f912b77de08ba987b22461d305625ee0ff3 +DIST thunderbird-150.0.2-sl.xpi 495466 BLAKE2B 44191561879eb7fb81777a8da7f367c6edd9b208b87a52fe3e63730ff4980ae8dd4cc96c46493a3382a49b3385e1e2f9ac2c1cd4f395299217bcbed51143e6ca SHA512 121709c5e914a25ae6ad6e1ffbf94bd6e661f199262b621639750147a528d51606a6b34c2206edcb3ed43626f619ee068164f62eef9ffbb952d534fb22766aba +DIST thunderbird-150.0.2-sq.xpi 516227 BLAKE2B 3ad48a69de6d69f38107dfd5ed42b6849cab2de019d5f356fbfb7a06a0afced5a829d2fec895b137d6de603534e34350542438d3cfd6f24e60ac2658ce1a21ee SHA512 34470442b668336eb2c71049d24c985289c845ffeaabb7e98d7e6fd6890992f56a1adc3266ff96dd71caad3b47a144cd996c9a1c841571472ac2dfff86520c11 +DIST thunderbird-150.0.2-sr.xpi 570332 BLAKE2B f816ca57c5775163e787c027c531f6bcb821fe2061942f08ef5bdf3c4a713eac72d9e220f28a3c13d70844bd445736276ef09df325f81237cb13cfa852adf924 SHA512 0e84911b065635bd7f9bf27d99ffb6ebea20c2d9458fb7af2f020022ea241e1f2617e60097f458f67a648a8403327500066f5d9a7ac4e3dce428aed3e5c1900d +DIST thunderbird-150.0.2-sv-SE.xpi 494342 BLAKE2B f144708242f0447783784f22c1c3e2bf23cb2b635d732ab75cf8648e74589a8303d20bb725ca6154c91ffe943f5ab7dfade40fc407c97de94cd6df271ee44939 SHA512 a2fdfff24f27d222df36f52a2c3bd0fc8f4db8629e4bb3153d5eae0d612d11313b387416feb9bbe13080ecd33ef68f87274947f97e0d76c95a3e7f3bef5b8656 +DIST thunderbird-150.0.2-th.xpi 576326 BLAKE2B d8245409ffd7f4a60002d149cb80f67ea06229465888e275e90a39341abd1f5db06742de5c086ebec4e0db669f0ae2c0a9cc97f6b995b9ce39da8bac0213c27b SHA512 85d9e0007396dcfb80ada72c3338afedf37df61e597f961fa76e0b7f3c8bcf931322641c586a19306e0bd62e6d5730ba4787e217a0f7f1e4f045773514c38a80 +DIST thunderbird-150.0.2-tr.xpi 505727 BLAKE2B ddfaca13f4fd1056ba2b749c2b684365dddc2d00fb21b9dc252ef30a3bb7375864974c387fab8649b63d2b1c6d1da2046b1c7116f3ab050d44ad1a465027834c SHA512 ed09156c17d6d61d0d88a0f01f840719979b82e3a55aaf8cc8b1aecc418ac476239b00a800d7ae5d6d8c7bb9aabf06162aace6ca9adc82bc15e5e73dafb9ff36 +DIST thunderbird-150.0.2-uk.xpi 584076 BLAKE2B e1c00baedfd90513f5c0b1aadb22ddabf5a536d3e5076f850633eacfbca6cd984ba6c2094df6cbd6bfc07104460baf1c58eaa6cdce4bc6d4d1f9c43fdb388d10 SHA512 03093971d1424948dcd1f552a995e271b2fc1e84427a8b2c11fe09bfe681274e27218b7578315ca6326d0172620473dd19b47fc19f3d477beab9e4fdebdb365d +DIST thunderbird-150.0.2-uz.xpi 351485 BLAKE2B eab0986551c345ccca95537e3bacbf71b8a802f57c0b94bf68405bfefa06dc62cca1c9c0babd2004b8e6b26be0baf0cdb6fc9c8bd22fa562602556aedca266bf SHA512 05f91a6d116118d3a3036704013018e21e18ee0612483fd1735d909bdd0e1d1c5fadfb3ca8f815686b85a82b40eb5087099fd682fef363641568ae354c4f2a65 +DIST thunderbird-150.0.2-vi.xpi 528201 BLAKE2B 237d2b092afd10fb5459c62be459097c3ce67f69dab77fbe7db22abccf0caf791cc4cb982748d638b5ebd0053970c2e5c9dbcf76e0ccc82515e671f47a0ea615 SHA512 36b1c95ad0f888795652c5f3a92e5906eefa54306a8a282709937ae5b0221ad63cf1c65e822ac8a26bd05de9872f6923f2005ece70c92cc69f196633a63b234b +DIST thunderbird-150.0.2-zh-CN.xpi 516832 BLAKE2B 77118df80257ea51065f6ccbd340b482381eaad7220dbb0b8cfd8a242f85e68593b4b885bdaf433415a6837e92562b33c6e51cdd58f6d02414da00639092775e SHA512 7aaf02bbebb49ad086b16c7638ca1cbf22b0e84179a4c694724431bc86fd78917b1a5406e6917ffb9fd626b8e3339ed60d969f4b99a5dced6534c5946f150907 +DIST thunderbird-150.0.2-zh-TW.xpi 520973 BLAKE2B c4b4eec9ccd0f15b0b5ea694a9eb540f005b7e3b833f2fa1d87e8553d10fecb81b5fa76ac78060679ac05ba26023622406c26a1e07fc162bb40f0572568247b6 SHA512 7734a1a1302645a7fd3f6c134eee8949b17c96e2eb373a79f0a312dc22be772a6eb725402d8ea45b31067e8fd142b2193edefbe19924c92bf18bfcb57ae376f3 +DIST thunderbird-151.0-af.xpi 308565 BLAKE2B 876db53f468ce80fcd25e7a008b96a27b0dedf936ea6879625e7659e9f9ea3fafffd5f6961dc23e0d2948bb19077c3f7069d3366f2de55a976fec752c4828bf0 SHA512 fa8a95e3a8de4f6efc87fd8d82a621a36e2936fd41a033462d47cd60473c8d538d9cd9a856aa0b116683d59b4227c146f0522ed87ac4068387df5a7caa6c8f61 +DIST thunderbird-151.0-ar.xpi 445509 BLAKE2B dc6df2f66a7d7ada7234f79a510fca01b99212604ed3c22359f0c2406eb928bf5d188a33f1454cd1f86945bf2f8fa74223eacea58bc0de7a65b8c883f139758c SHA512 d2de93a60465369d129072a295a9c93b1b4cfca60e20feaebf8c599d117d1972419115bf20cd69f09f8923c4224ac05211935283c7e91c563c885b64cb94f0e4 +DIST thunderbird-151.0-ast.xpi 334114 BLAKE2B 731d068374f618c4db9c1045eb08e4e3a50de5c480ddb354dcd815bd9308adcf05c36a1dbc18e93b50af7783d68740ee7132f1d3da0cd7c6d9daea6c028fc185 SHA512 76e09a0f6370edbf0a365b22f1e8b8bf13b1f9295a7af0c95e63a61f0b3bfe3c4b5bf0e31b2db17bd12e955ad3965976d250a5e615443404467de3d2720a9380 +DIST thunderbird-151.0-be.xpi 526333 BLAKE2B 01a7064d707a76b1f2915bc9a8cc66716908b43b893e64103c53a802f90b5a24f82b27bcb7c5c56994d895c1803745b4144289fe987ab1cb33790eaa31145a31 SHA512 cb0d7bdbdfb0fbaba71916eb8410e58fb6d8a9fb197fda463bba0f6a7fccfefaef225fe7ea4700b124f4c4be04efe16807a6cdccfdfe50c08d5e95ceb60c031a +DIST thunderbird-151.0-bg.xpi 542393 BLAKE2B eb848970fe6a62bc3192a60abd568108dd91278a3a003348c86fbd9b378d52dcae1d6f86f63b0cb296b51b970dce1a7b26f27d6b6e7a875179d34a7c213871ec SHA512 240d4f5512fa8d550b1b0b71e915cac287f7829aaae7ba59e6d7eb8f3752711301d6ef00167078173519be5f723d8b8db4e337ce032b2db5cde92ca35ed444c6 +DIST thunderbird-151.0-br.xpi 400166 BLAKE2B da332945b5b05d19ad618f7fceb00043f62242c1de39e90d6f6265e4e02779758b80e193585ec362193c5d61184d8ef5c9f88ae9cc28bd709fe990f51dc45468 SHA512 ca24a9c08d04a79d55a18e2e194b86bb34219a1a37d7cd10cc0558adad8ebd453d5813f18d07fa4dc84da3cb764357e7ae552a954362437b936009dd6660b5fc +DIST thunderbird-151.0-ca.xpi 438025 BLAKE2B 0355036457cd5af0fed5f1c9750065d89a58266115925514eaea9f43f3da69e762a5237ab9e6da38e589059a70b90634a26ea29a80c9551f724d62c0a77da0c1 SHA512 48a180a888bf966f906e5c01e86829a71f4fef7a9e5a22b5ac946c9ddd87d4ca4bdd139a189939581f9747eec3cc33c2efb2ed0995c6cb8bcfdddaaf9816f7f8 +DIST thunderbird-151.0-cak.xpi 414039 BLAKE2B 01b50b8c8394016ec7a5d8f9e9fd98ca8152be8bd5a4ab3f017f9aa566a3f6556268b2a94777a2de67d02a53cd2d647525387ad933fc5e3a95490b26dd6a0614 SHA512 8d0d1d4b30b640b35d8d020a28fe25a62754d55d7d43705d29ac980486edfcd7d8eaaa11d283a39cac61d462f1854ef57e3022ec81b7cf5f4d4c0eb89de0c2c6 +DIST thunderbird-151.0-cs.xpi 533091 BLAKE2B 9a55bd21966192f363de0bdff5bde841446415b9fd4b8a891e86a9f65003a29bc680c5d210dd551d2f47501ec6f0e64c0bb298542443670dfb804ca9e18594d7 SHA512 043e92a5e02f4a2b6c61f59f8ba61782b47693ac1f9bdd5b17a455d71ff87e37874c83e1ee5d747929a39511f1bc73bb9b12eed076ed78ae504674de8d24b353 +DIST thunderbird-151.0-cy.xpi 500714 BLAKE2B 77d2dab205b3920f5e93091c244261be4097260a5c1f9fdb71dca70d292481094f22978562d2b81e3767cb91e5e1d1808ca5dfed8d87cb5bfbf24bada6eb3e6a SHA512 e0140e6fe71967dc932796c419a743404ad57abeb4d6208588b550b2bfbf54408e2b3137ad5cfea21ebfd097b2bcd57c1ad9e5bb0700338bb83a322d5b9e7956 +DIST thunderbird-151.0-da.xpi 486388 BLAKE2B 2ca644ca7d23f33b423e724f14e7f9b21b7ab453ddafe9765f647a8fbaf54e9d8c78de940662ac99a967025a991bb19ca2c49b4be3c7c3b355358332db7beb1c SHA512 be28ab1be681720b3bce3f7461757d8811a95947c4ba852022dce738704e2e9e116792be53fd8ae0abc083b205ce2ec22b2ab2ee13eb181959326725d6105cd7 +DIST thunderbird-151.0-de.xpi 516986 BLAKE2B 68d580e900512240e28bf849581ce0f953211ac921f4978e7477b5a70228f0bb6737bc75ec7338653de990c87296e2d4ec29197ef927531b6b3cd282f0d75432 SHA512 da936887a80329711d36e8c20db5b471cd3b1f723dbb82461a622f60bc27e060c309b1fe3611fe3f1a0ddb15e94a63e75811c6ff332f9b9b2b64b3a7aefc1e2d +DIST thunderbird-151.0-dsb.xpi 530212 BLAKE2B 8f1c837cde6b2ea71a9b873689822e52a15a8a619820eda286f2c286fcee9c501524e01d56663a67f8ec026d813163a968586a92c3e2dc3e8480ecb65313f8e5 SHA512 8ca70332ed524e51c481583e804eb12ee1eb1d9c1f2432e5c3229342cd90604cb5539d6a164ce76092bba5ad70fc0e5528d58f56c86aac0e3241cacdc7a2fe5f +DIST thunderbird-151.0-el.xpi 622763 BLAKE2B dba7fd87dee8918f0866d501a898e8e2a0c32abdc0a19cb41023a612a9fc5d42105da345956b66c9bf18de6f0bcd1b558d0cfadff054e2da91c3521de1456c63 SHA512 341f83f892c2a0c5e6bae0f7b12c61481d21eca1316a497019a1c3378bb3022f5016bc9ce4d0a284f56e873f7de95be023a6b10345fc5a5e4360886b54828c33 +DIST thunderbird-151.0-en-CA.xpi 462709 BLAKE2B 75a0755b1f7160f7b92056676eb5dc11095b59f4a26c5579161f9ee777c555978270daa7940aea10d0f1c15b3ef174e4824f6595f1309685b28be2b177b01c23 SHA512 5d2b67fbcf6657c4482e71df226976bd25108478ac91ad3760fe308b3a1ca5896e1685119037147896bc4a98ab56a6e8ed23b7c140ceb0182d0f7a03a5f545bb +DIST thunderbird-151.0-en-GB.xpi 462562 BLAKE2B b65e53b6771c6e5d97ab56867142d3117733c3fdfa7fae87ad932b5ebc0099af48b964b6ad3c6d39eec90c34d8f1d136e918947d32baf13d33a00098a06a76d5 SHA512 a5b838182891da9531c8afec3a9b11869f1527aaf59543db5146d78a35ee77bc0acc7d70508cb194ef06c48e0edca71695e85d7cbac33d5f04703ce0be10859f +DIST thunderbird-151.0-es-AR.xpi 506732 BLAKE2B 0674227cc0b72a357feb0655d9a63c34ae959992e5d65df6b0ab11f6c039188951fa6f73d44db61d91c560f74cf8783c0ccb4e72dbc8f6b426ee25812526c211 SHA512 3f92b8dff7f33399cae339ea44318ae2b40d651a25cf8c3faa4d9597f59d7ed5d74a33c756c7692e4580e3375fa1f4e2dec54231e42ab7857098c13a44e1493d +DIST thunderbird-151.0-es-ES.xpi 509053 BLAKE2B 687cd711ab7a2a744f7d244082ad49c0ff484e6669ff56275c21db715f6ef64daf972eb499a0ae569c75de72b55102f672d9e590375c452a74ff207486c205d3 SHA512 c533ac737f78c1833f7b7194578f895a564060ac9f69cb1a36b52c93074ef714a04bf26b3cf9b0712234aab5fa6678cfe4e55493ca2b178d55d13e132608d58e +DIST thunderbird-151.0-es-MX.xpi 498517 BLAKE2B 606ef61e4b2a5b0393b7a3365cc0e561292fab9991028ade7f04ec63ae4e4a52c1f332bcb2a30c7bd4c09ea27794f37158f6081064ef2854d30d2d3fc30d3e26 SHA512 ebc33ef4d836632a12923e36b6a2ab74bbc0d197e7fd156747b8da8fbdc3da434ea8d57aa47194a0079df12c48aac2e69212f753d6c4c8f63bcd9d121861c327 +DIST thunderbird-151.0-et.xpi 440647 BLAKE2B 033211a1c356cac0d07845c04d7524f07a142c9f4fe85307b5d327bc7fc5b0378e29ceec12943f07eb575bbdc7a4d2108b01b2ab638fb620df3b52927b478aed SHA512 2d5f5e5bf5ff48ac8212270a4205ecdcc890bc31688e144e12565b630166603e02892c0a4de8e7000650967bfcd59a6c0f8e976c7000057bda101e0deb9bddd6 +DIST thunderbird-151.0-eu.xpi 485356 BLAKE2B 944f321d062bcbb0216b2544e24eb6c3e207960339de3d325fde9f0f517e2f8f1203c258bfba1f780a9a5d498fa1ae37f0428a2444cb64c92b6d99bff3143efa SHA512 f6cfab6bf4d2bb9dc4c74e45608dfecf7ea8eff7a2056842f3197e34edfb8fa0a0418e5c26410987c89c2b588338a18637710993839926a02863d0a6fd7dee9b +DIST thunderbird-151.0-fi.xpi 483623 BLAKE2B 6a65df8c79ce318a8147db09bdd70b760914701bb5cbabe319f5882f0073b2b822e7200985dfcf036ec43a988ab799c6007414fb6e9fef56341db9ec8bea8dc5 SHA512 3d17864993800d7e3c0ac69125d06a9d4dec545a97a204e8433e113acc5138688e62e4371f79b4af94fe0ad5589d85a06065edae08d8d52327fb294ae78fceca +DIST thunderbird-151.0-fr.xpi 520479 BLAKE2B 66a016b623a0ce105f5b4bfba0484d76553c285efd8ce89404c1e7153e9eab1fa2e0e5840cab7106a52d2fb43fbdad1a806f3188be1b5b287d73a8fed7efb1ad SHA512 357500d54b53746f5a2df66727d7ecd0346ef6f2d535190c74574abe8e747828765224cfd0c9ae58970c1da4bee47b55f0d749c87ba44fa40455c42494f4c014 +DIST thunderbird-151.0-fy-NL.xpi 502337 BLAKE2B 400e713625317583899d70c6926bc6c41a62d5ace757a914d886f24df94695f5a561d0e641346518be842ba3d176d6ed13488d14738323045e925691920e0340 SHA512 58b8fdced84db69bfb84ac3715c82bf7ac093877927303db761bcab28aca10b3e12f34306932ed4766ea74d4bd684c9299a4d43514c22f7d78cb2cd95d7aba3a +DIST thunderbird-151.0-ga-IE.xpi 373493 BLAKE2B 4cae3f37e7a51404e29488fdbeab7a5821242df69247b153c553c8b7e7d0cdfe855c3c6441d49f636d99670d59fb9164913fc03585ddcb2ee6ce32abc2f00749 SHA512 50135edbfb15d9c131de6f9285ae8a0998f0279a00b289fed3217eae225cc77bb40416135a9cf15a404f747e1cf20a237b2e339b368f09f7bda3306e9466eb76 +DIST thunderbird-151.0-gd.xpi 459503 BLAKE2B d5e51e5298d229c0988d386b69fbd8f9af78df6f0ab1bd3ce176e32794e20ff2592145f0de5c6c845ddf5fccf0e60bab648e5a3cb15ab1f6fdb42fe1060d44dd SHA512 9e45c5cc7fb070a87a76073343df2d84bebf25d3a053fe79292806cc0741edd8b0cccda5ef721b002a9c76b5a2f60691643093ca3de41b900122e964437e6d4f +DIST thunderbird-151.0-gl.xpi 487813 BLAKE2B 6eda6f1f227607c5cd6c5843582970a5bdf99832fd4fd972f3ef1842463f6c8732c0baaf6fadf20bd81d12e93461ae4fd401f7a3e6e5bc42b27e59d0523f26cd SHA512 3f8ce4a684cc78cddc2e3617618c13de11bca4a66dd107ef82db43bb9af1f10354d0a552cc5f0a2223843561221901957de5eea03f21e6c29fb75e292884f148 +DIST thunderbird-151.0-he.xpi 446750 BLAKE2B 1ad3071a2050f1bde80260e995b1821b7650d9f5009ea51e70f98bccff1275d4fdeed539366761e6f4c9f382e7d2d65a9fa4978d21b4ae527bb9990ef419e3ae SHA512 a367901afa508cbe21cd97eecd7cd2ee5eccd6a19b964da7048f1762448813946c9892aa8af2f44775b6f3f71a0a345f6d5ea44c1f7c4ee0f86d6942ac1075ed +DIST thunderbird-151.0-hr.xpi 479072 BLAKE2B aa29ad80c17b030674aa68514fc3c981c6935333d394c98aab46ffcf53f59fe74070365f442a29d09a8dfe38261c4b1b9602c850fa3d5ecac72827f2fa778ce9 SHA512 088c27e22ac051d6f7107e79f11d23e23c1b2ec2d11599dc28302271628b437c7408e74a57f01a24f08b8b0b80cf9c79ff49b323e74d67c6fb1efd8a36331d6c +DIST thunderbird-151.0-hsb.xpi 527469 BLAKE2B 6f8f9cc9bf960de33210405e0ee4110d5d4eb620331ef14bb192aa430883f4059f87adb7860e03dd48e12f9cf0d9b55c16683162ed303a19ab7fae8706ac15c5 SHA512 87de511d8bd1e7bb035bcc1396132ec4185bc84d471bb68c02a606e9fd78fe2ed02528f947e8976afa105f02b7532564a754bda41701a4c059bc5c6f65164662 +DIST thunderbird-151.0-hu.xpi 529777 BLAKE2B 3b5f69bc7dc5c188e4582712a79df9d18b8dc7c4d99a7c250590fd70856c7e200c581f45c6343d542b4b3f2dc2548919836e8843cd9222e63c6442ea0b0dde4b SHA512 64f6615c34e1da0835c2696d4e82dcdb362d5c65903414aba013731601b9e65f7df9272bc75272603bb33718fbf9d73ff80557de3144c03c7b4e61e84e7c213a +DIST thunderbird-151.0-id.xpi 471322 BLAKE2B 63ccadfcefb503fed138c1e2b0fc1acb2b2b68fecbec5959083fb204c01a6aebe9ed20d6a6f0f81abd28c81dadb0e77813a286836b7d8e2c08f5aa7e1f56c635 SHA512 b2c094dea56a3adb0aa2fb5a976267ce9d5441df522964510b15417c6caf9630d40b95907b04dc254c957f1a77ad7f9db36289ea66759f4d092376ed2f730e4f +DIST thunderbird-151.0-is.xpi 487002 BLAKE2B e3edefc5b6aa18d98e496474ba8953caed92803b0a955370f6f99ea216c6525e2a33e1b6b3c41a2dc221ea567c906174e27f872c894686a170f48d7b03b581be SHA512 ed2b92ad2c8057ff8002bd01428cf6b5917fbfc0828dc2067ff7d0b490eda929d643d0ce8dff48f5803e9ce85c6b34f594bf7be256d208825425b9c7297aa09d +DIST thunderbird-151.0-it.xpi 500026 BLAKE2B af2f32314f4b52b90e9da7059b8672a4e34526ba20a516fe381abb7f143b3dfc61c07687226f77b3b5cd0353149e94392691a4baefd55fdc044a936fbb3ed7e5 SHA512 88a8c088700bd5886924c574ef290359ff535287ca78c65d86d422ae5df3b9653216337878082e4d97a8f827893fe3dfdbfd1b9f79ce47e9abf916b6c66c3a03 +DIST thunderbird-151.0-ja.xpi 550808 BLAKE2B 4e5c4b6308feb6fa7a3b9b065c3b3bd6b34064182b3a0b93537d5299784583462f4830a0a132e1c58082faceb8507228e8c8bd47b5fdb6cf1a47ca1360d43bb7 SHA512 5462991d084e6a50e93c8e5980fdb75023258ee72c5c0069eccf8d6631b56cd2a7c174f9ed47078bf0463336d94c4044d14530d34e99c9e9c3dba66a0d69ade3 +DIST thunderbird-151.0-ka.xpi 568609 BLAKE2B d9c286e1963dafab101f38744f6bc5e14b877146bab0c125aa5a2fc047a2004a7dfc4174d2583cc83c02cd53aef03255250058caf4fe3a9534d88d8545348c3c SHA512 e5e7a2bb258584bb7169f331afea6c145d4c27fe7eb775f3e458d61a1110df9516b991b40ec5985af68b87c55e2b6b592dcd1196bc81cd391ad021d9f4c1f22a +DIST thunderbird-151.0-kab.xpi 468223 BLAKE2B 832264906ea764b23fe34928d468f5cc7bb38ce2333b9b64c75e38b911d8fa4d508ba3e527f27e8d481a2b1e1dfb8d8e776330499439cff05a4ead611f7886ff SHA512 60266299b2dc9a8335639f1737f1e324fb2d9b4f950fbf0e520d7029ec1ac7505f9f9e5528ae6d0c462c6da9ed4e8afef44001707b3bebb05971e6fb84cc36cf +DIST thunderbird-151.0-kk.xpi 592208 BLAKE2B f81a820cfb92a0875cc95ad0019a8d0d998148e21b3830bc0e93e1192bac40174afca522fa3e624d2955612563eaafb54b80ccd91ec9bffc6945842841e1069c SHA512 5b53e0c36a469fb52b8c4f84e7179c7d38d3fafbdbd5d0d283836a4c443e64ae39660e450f2ebfb1ec27a851aafc7e1e188bf35ebc26ea9cdb7ea9bcc6a643d7 +DIST thunderbird-151.0-ko.xpi 521870 BLAKE2B 51ae0911cb2df6afc21aefced97b370bfc0d27aea607e7d13ec90fd07985db81960f8f925b6b7deb4beca80f282aeef9f05cc94caf1e948f9eafe4dc87a5e882 SHA512 6d2a7b12a420a9f1c7fd4caa9e6dffd2923b975f9065e8c683382151ddc5796f9a3e3de4ea032b6b2c8b5edc707d518c5eec19c2fb20f2811cc08a1a85fe016c +DIST thunderbird-151.0-lt.xpi 450677 BLAKE2B 572f323376a5ccc8a4105e5e962e7d6dafcdc1750351d7fe680b27f1dfbe472a405cadb832cb7b84cac7059ac395d7f2011f549a6e3bfd2c7fabb49be77129a8 SHA512 8ee769997b54c779e10b02270808867527867e7be212a8899e29f8267853ce5e2e85a4fc552e6ed78650860965ef2c70e34779aca0e0bc869a6078c873653c06 +DIST thunderbird-151.0-lv.xpi 387132 BLAKE2B 23b421098ca8a0af1026b49374138337ddec73b51c53977903e72ef928926b292ef0b47ea631d5d752d33f995528198ccc776af45b3b302562d9a0aa7a8792ea SHA512 3920b7d2c580c28d5cb32d60aa24d691c4858945b620f3023383689b70dd6b17b415c7fbe9913a5b346e76b90b903ec78e799a8fb72550f00b04eb5bfdd6b12b +DIST thunderbird-151.0-ms.xpi 348971 BLAKE2B af66e1a62f4136da5fc381d7cde1b424a0308fb713e0e1530aa99438e9b1776c0362b25c38eefd4dbcc8a23c7137f3990ba8ce196d83f106a1fbd84d69eda534 SHA512 e21b702db9cda5350877467e8335de5b243d5e09c616142e3555068ec9fb90c9803155a1f1af41d9c51513eebaeb12cbd5e72eff547b82f714b63fb76f05e4d3 +DIST thunderbird-151.0-nb-NO.xpi 487298 BLAKE2B 47129c54844842a3c18967ea5a90c115c4a362af54d2153c3721926ff8666376f802968e9f54aff352ff2c789ab573af2790071036f04455550ec90dfc7573a9 SHA512 52585bc2ded85a82b0575e106c71bec00b2d8aa124d989c0f7a821db880c71e89b33e2e92e938e6e63860148aab415b7fdc66182e185b487384cdf4fc27436f9 +DIST thunderbird-151.0-nl.xpi 493706 BLAKE2B d8ea7956cbc08c204a11b6d7f7ff31b83afb71cceae6156cde9775b1e3fb3b69018e68118217e1284135eb1bc4bb3d98fad803614ea66e5f7a2f920c3555a681 SHA512 4ac85f88c77d30603f4ed7bd21aa210affce9bc71f6150efe3cbd7760554961c18d42817d08a0c532a800ceef7f3706f8a2da8c7865cb77875ab1f5913827261 +DIST thunderbird-151.0-nn-NO.xpi 491193 BLAKE2B c7c073a5226d3cb2cc405b505bd9bce5e74437a3671e875c78659f56a76d88c3957c8a5949cd1bdebf6c17a45b9dc8bbf07812e19ce3db44bce40416a8a1243c SHA512 082f4c7eaaf45bc6f8f02a1161ac8522514221fd0feceae978d33d00e0d2fc1b95a46a0705fc57f70e83486b4a8dbd5735a3d556822d6282853651ccff2d5497 +DIST thunderbird-151.0-pa-IN.xpi 438248 BLAKE2B 57217611bd8178788a6e41cad67579f9686432d53ee535a582ca86b91237ac3c79bb7cf795dd0d7d0f258e00700d05ea1ad462b583a60bba5369f60d680eab2d SHA512 7a810e1ec40f6a3cc05ca767736e74246e62e646d58e78e4d17b07c805be41070d6e819b9b8d198e2b63954cafba7eb3aefe9830aae0d0e36b8c6e5839e472dc +DIST thunderbird-151.0-pl.xpi 528016 BLAKE2B 50fd44916a50bbfd154b6da9e434175dc306c94f259fcb04c0eb878ae186d2525e6c31d0ce9a56e74c0474fe989cbae12054f75b2cbade733521badd0e0348cf SHA512 5bb440b6413a15ee6e30840c86586be3cf18f6dc76bec8bd3f6ab833b74acd93003839b139e7026129948ea05ed51d1d3143a855353aa4106d9be3db0c518d65 +DIST thunderbird-151.0-pt-BR.xpi 500334 BLAKE2B 4628cdd3ff6dec110b60bc25091b605bca623b8f2ade988cba3e47b7f7b645f57f87450d0c06344a1287d4e38414f1bcec89b922b62a362081bef14396d163ed SHA512 6772b60590901694ecdcfeff1e4a09b98eb3a91e37ed122fa3228de2f9ebd25e5012af4f8b26a9029b16bd57cedc44f020d7c25a9a68ac48eda1103de2df8f23 +DIST thunderbird-151.0-pt-PT.xpi 505756 BLAKE2B 97f30f99c4b4653476ea8962b157b53e2f20462ee2e19dfaf484f504029a7a2e96baaed15469aeb1dfe5d24ad1077a31c08157375217f70299698747c36e35a9 SHA512 e3964adcd3cc7cf9e45b01092ca280a39246f3c0ebe6bf0cdf73e078bb4221323ee25e0f9f084e18b58998d5706a0bfef56e9555118fa4b1f9ecf5645aceedad +DIST thunderbird-151.0-rm.xpi 487031 BLAKE2B d4c8fe5f5f92789339934184cc6bd95e1a2eea598176592230e66204d13e023c904b6e672d4fd60b27d3378cac9991f32cd1e5d76fc919bc9989891032a06fce SHA512 2569a41528ab881d6ed00ff4cf832aabbe44a6e4edffc8987139bc2d083f1818ff7944ac86a351858724ebbba16ee69dd36bd7c36ca74e8600ec1ea04106e294 +DIST thunderbird-151.0-ro.xpi 513243 BLAKE2B 27d49be72d11e1c842425163137dc9300de71f90d85cd76e9fd4c95006086cb64b0bce6a8a19642c669e2fbbcd9e028f9dd75636ba456841b04e8b1f4212d4fd SHA512 a44c46b656faaf03fd349eb259f8b31ec6323a01074ca0d5d21cf2e6b402b933ec15571a50f5fb6c5c3bdf11fa0182e812a042aab13a96604aeaca5a44ae662f +DIST thunderbird-151.0-ru.xpi 607352 BLAKE2B 16dcf59408f27bb646121b949cf6ac0177b409f95d31b7fed50aefdbb0a2fc4dd3ca5113ff8837509b9a412ce75397bf0cfbd5fa434a496c1ffdab90e2420c1c SHA512 a33ac60762fd94282dc7a394fc9c1a88c46e65cbd839a5dcbbeb2f4017692b34ee4e2553ded44ce4a58ff1e42c73f52767ed11eaa4da5953a34580d3fce0d8a9 +DIST thunderbird-151.0-sk.xpi 532712 BLAKE2B 98a0bd70f8bd2eab30fbb385297fbb1e0241796005e8655f5659ad02b08da0f4c676fe8e7b7cfdee40b03dd1c09b14bd47817a46ea1a500a97420203433b532a SHA512 c0c24856e663a3cc47448d2d96cae6f0e267ee9099aed82c43e37cf2ddd0577014458115355bec9764ecdfdf100d23d300e6ad4a32db383b7bca41fb261aaf1f +DIST thunderbird-151.0-sl.xpi 496557 BLAKE2B 0b524cf87a815b188f20db92eb8f81ef756db868c3951cbed8b72c4499deb110805f5ab427c24a7f41e26c5f629189f6a8cca7e89671ae84e38fbf29e0f6912c SHA512 f7eb950d11708aab14096e8c3d89d71ea0cd8b8aa6faf21023d67abf19a5b4bd57e650db871c8ae9d239a76d6fb72ab89f051a91ae0cd9f4aa3949b81d1a90c1 +DIST thunderbird-151.0-sq.xpi 516542 BLAKE2B aa449c36abf9df1ba1fc859047ded9de806972b0b25e6d5a926d5966b6a34fa4f83ab5dc955b87544de5c90945aa4c0817d0fde6625fe0b68e43bc046b6c42ed SHA512 dcd4cc06c8771e2dc03adae30dfc09ea0bd06476d98b4069c19ac6f9f1b513f983e401c38153052e1720e034a2aeb80fb90e1535d8882f0e16b6c84fbee83c4e +DIST thunderbird-151.0-sr.xpi 572169 BLAKE2B 465c35a2b6982be06b574a69e5be1cfa04c2c0f1269e7cfe075431e00e875bb1add24fbad030be05a4ca83e527579a61449bc523a4f14d7be01eecf576f8c052 SHA512 072f0e75fb159be7f8440a6520736558a2125345e251b524016d3e74798a87ef59e11fcf6644c720f71a6e1f0be48ccb251a4339d34cd6f0bae365319999ab90 +DIST thunderbird-151.0-sv-SE.xpi 495827 BLAKE2B a285147b4f89a52c6de4965d3766f769dc527650986d03390df1b90ac767b36d6f16ac2609956d771fa983950bc6a9c103eaa8da80b27c4844957b42f480478f SHA512 b4361fe3930e8482667aed3f2d20ec8c53add1b02c04b01230d7306586bd870d8d2243036385ea7e4015a3061d306968fab85dfbb9f2435a711f06d353c06851 +DIST thunderbird-151.0-th.xpi 577974 BLAKE2B 686336404e80b764aabaf16df854c03a7924e6fc7c8248ecf49b6921009a4599619a94e62dacd04f9fd804c59d182f426a0360d6e620c8657f5c6c51374381bf SHA512 8a7e8d00e6426429d66e98c0c4e6ca5e4596e057db91f6414d98a3ba64382dc5423fca5bf4292c3f7f1040057fb7305c5b9abe317bb722a9b6843759ff48fe5a +DIST thunderbird-151.0-tr.xpi 507521 BLAKE2B f34692c7c6b2eb73ae09efb4dcb987f654498955bfec44665cd32e4c1b94db02a90ab6725b182f9e1137fb5b7fc3ee301bf30dd2b6d5876dce1c79b623a9f7f6 SHA512 75fff959d4091319e99c0ce3aba417dd045a5c89370ffde75c36a182842b36b690810e2ca68b79dd85ef772bd99fee68392770601c8223bc83b206af592034c4 +DIST thunderbird-151.0-uk.xpi 584931 BLAKE2B a675b8070c52c725638a60c72571c46b52a7f717e34ea8ec896173d284a9b24f9830b7e300ce88181f973e7c36c74b9acf34f6dc904ca28211257bdda5b5eb14 SHA512 730bd20283fde704b7cf5575f282e56ae503b057128913d04a9214ef09605840162e1c875296ebc12ee0e39693dce50aafaffb012c5c77ed9c592bf4d044b036 +DIST thunderbird-151.0-uz.xpi 351591 BLAKE2B 5c278b4d369e6d37b4ac215c75b34a295ddcb4c63d398679fbe8b552dd535643ffe2fcdf6907e27b990c320ea2dcff9c6862f6164f2937d6ffb1f6a146cf562c SHA512 db47989606eee2a4c6a04e9d63c0d7fa29aa9ac1d713225c964297e3009399ff3421fd52163e545119a3fccb20d560c4b2cd292e0eb0802993bfbe64b165fcca +DIST thunderbird-151.0-vi.xpi 529769 BLAKE2B 68e2132ab431174f1205ebe0ca0cbaf7033d148529d355deec10762e19046493c65c477d068931c7192e67aed4412a83f505420c684543160605fc4feed5164d SHA512 a19c30344bf1cb296d45944b5c0fd0a8710b77eab25555d404a48bee83689b00660f7c14ace2732c8469de162b686b6df9cd4d4365f649f844a68b8acaa975ef +DIST thunderbird-151.0-zh-CN.xpi 518126 BLAKE2B 0db802f108866e43e08b851d9e69880f889091e1d09e8e2b9d47dfb227752954336f02229a083622c48f87a104fb1086c78619b92afad5f6fd790c5e73c21533 SHA512 4dabf5bb89d296ecfb59e7ee5b50f10c69b9448f14209bb62e561128a5d08ad79283d5b82b93ffea5bddea4da24eb0d32c59a723411c333bfd9fa94bea2534e6 +DIST thunderbird-151.0-zh-TW.xpi 522502 BLAKE2B 2fee7a8d345b4d8d5b8eb4a8057ee38bbf856b5553cad0cc5764b3218a807761a9c04ecc7f281ec155cb335ca78c5d830d3d6f9752aeb1dca5bd9c235cfc6ace SHA512 c326d59dd12f4040b1909d036d31bf76f86bcce63ed8d1dccdd4b77de1177cbc021cafc887d0fc5ffaa6388c0e8827caf7a114b81a8f8e4a29ad321c2e15cd74 +DIST thunderbird-bin_i686-140.10.1.tar.xz 77905468 BLAKE2B d8717ba06db4e284685a96f1679b654c1e414a5ad78cd5f16c6063282517f864eaf2ce990a54bbe092402e88aef52d3cb35a179373622317e7d74e3e246355bb SHA512 938cfa6b078582c26141cba56fb4bd576c892500f96a2a9ddd45c6fcdce4231fcad537d9bf9381aa9ccd50893fe221494e5295873d101cc862b850c3d31b15d0 +DIST thunderbird-bin_i686-140.10.2.tar.xz 78098440 BLAKE2B ee977c9ed809e94260ea4d7290b9cd83ddde205afd237a7a86b84f21534e7a5b1404fc290fb504dd05581325b1d39fdf19098b57b6d5ded858ecf78ee36c00c7 SHA512 265e30e9d519fac242a48dc13672217a57b11d18d6581ccca1d0ff48846a9ea1d7fd5f42edc1dc86c6d689bee82f79068f1a7b6285d387a1f8608d5d724e6bd7 +DIST thunderbird-bin_i686-140.11.0.tar.xz 78180476 BLAKE2B b84805bcd74bda044c2c7d7a2e0cffafd6bff8ae76296f6cc64f35c35dbdd6be82af336aa3d954a3070ddc6680a60c7131e5b596b72ba30a2d13b1ffa8172641 SHA512 31ef004f5870c7c03e367a8cfcf0d7ae19980ac8d391317169a235a48087edf62e0b345b315897bd42ff8cb7381422d799ee7257a09c30d19b65d8d6baca222a +DIST thunderbird-bin_i686-140.11.1.tar.xz 78142464 BLAKE2B c0a8ee3e4ee26fe563c246e5c75694dfe9d7d7e4141db54c6321eae60833dc7ce9f6800299a6c7d8612a7c9ca4ece6b2b852e2ec6ae20249a3fe3d996295dc7c SHA512 bd040df15be26fe099bd2df31ebdddda7ae75d541754d6d3569188aa952101063d23309a7b889b60bec40513314e9cdf47e137eebb5001d99f36b83466bf4fc9 +DIST thunderbird-bin_x86_64-140.10.1.tar.xz 74902184 BLAKE2B 5ac72e4433dbf2ab0eda1da4183cd5b773698ef5c61f976f70df906a55b8212d2bc8dcccc61aa586297e11cc82b3339ad3bd977a47fb85a2c4461cf993fc2e3d SHA512 80421b325eb08c53e9efdd27d81e305a01f40c715377b725bdbb3027de8474960d8cf2544a4d1984fdcdb40b98dbbb5d593c7937a9edff643f733265e6f0b374 +DIST thunderbird-bin_x86_64-140.10.2.tar.xz 74279216 BLAKE2B 342e22bf824417298f7b376e82d191c0d14dc0cc6ec77d5f42ffab723358a594d3bd0df6ccc1fdfb61fe504250671e8f92e58a02b5f7c97f9bf4c6874106b397 SHA512 7f6e010007b9ccf4e07cc8e83d68469b4f66fe5382dfb2df6b640f0c3a0af37bfdbade2e857e916f72ff620530ee66a5391b43031abbd5e1ba0a9cc59061346e +DIST thunderbird-bin_x86_64-140.11.0.tar.xz 74461228 BLAKE2B f29f26f0d0a823e6d497409afb209de56b47fcc09520d67737af35c62e248b29111e4067a031a504a690d7db56358cf67d135e548cc6a3c3335709ffffd8f245 SHA512 258de479a8a655442bf86781b91f766dd1fb30c6efd4efede83fee8236ba5e6d138a2fe905a0962ffbd20e3aeca5267d27c62a39451016e8cb7a0cac8ff6185f +DIST thunderbird-bin_x86_64-140.11.1.tar.xz 74897112 BLAKE2B 584fa25549ee78760858b031aba36420761c51aef412b39937eaf0c96ad8b8977ee9791bb43e0f0f1343124db02aac6f5ef7342b5d90191f1a178f13e89d04bc SHA512 c87a861f339179fffa8b7e3b88446d92cb6ccc9f0e0d7bae55733160c611661f6408f0b9487e493287c828af58f62f1fe71989e3a5eadd70f248086d55c968b8 +DIST thunderbird-bin_x86_64-150.0.1.tar.xz 82240348 BLAKE2B 921440e7dd3d5d1a243365f7ca09eb6c0bdb232fa710f9215ae6b538de69a748fa1ad18f4e7452c7b340a5d3df06424c4165a819b7ec03c07bd28dacf42931cb SHA512 15c326069d8f1a71cd932b3720aa087991cb3af39b0d15bf5b958fe1437f6606816e441440c9357213e8c724afbc851d33f6ff4a351a7ea08640134d00aa417b +DIST thunderbird-bin_x86_64-150.0.2.tar.xz 82157316 BLAKE2B eb9a47f67142b309582104b95342f19c65f01cbc5d1a47ef0fede32e0e37a01636269464c1b327c575d18c9194cbad68d8bc256f0684bb7d90b8b228fc2f545e SHA512 a3991ea8923e8944da4c5f01bae1a3ebe6e07fb51a41bb38b8030bc11610c7c4bde2845190e2bb3465d27f9c5b2ab1c790c42beeaec69f5c939a1a18d5e31466 +DIST thunderbird-bin_x86_64-151.0.tar.xz 82646296 BLAKE2B a70027bc60bb7f5f5c2125953975f40caa34e056f38496a88e6c3394c3b614712acb0f549112cbc7736db559bb58e27d0b2ca857a453dd1949e28b59b66a3230 SHA512 d7f72a4c307424ddeed7d3b8c35cc2100067600ce3c1d9e54db2bb87881a902eff690ae940dddad86a4cc99376f164211deb3722adc7241a2c4f8da6facf8b69 diff --git a/mail-client/thunderbird-bin/files/disable-auto-update.policy.json b/mail-client/thunderbird-bin/files/disable-auto-update.policy.json new file mode 100644 index 000000000000..f36622021fcd --- /dev/null +++ b/mail-client/thunderbird-bin/files/disable-auto-update.policy.json @@ -0,0 +1,5 @@ +{ + "policies": { + "DisableAppUpdate": true + } +} diff --git a/mail-client/thunderbird-bin/files/gentoo-default-prefs-r1.js b/mail-client/thunderbird-bin/files/gentoo-default-prefs-r1.js new file mode 100644 index 000000000000..4b7eea46ffb9 --- /dev/null +++ b/mail-client/thunderbird-bin/files/gentoo-default-prefs-r1.js @@ -0,0 +1,5 @@ +pref("general.smoothScroll", true); +pref("general.autoScroll", false); +pref("general.useragent.locale", "chrome://global/locale/intl.properties"); +pref("mail.shell.checkDefaultClient", false); +pref("intl.locale.requested", ""); diff --git a/mail-client/thunderbird-bin/files/icon/thunderbird-bin-r3.desktop b/mail-client/thunderbird-bin/files/icon/thunderbird-bin-r3.desktop new file mode 100644 index 000000000000..a40818800238 --- /dev/null +++ b/mail-client/thunderbird-bin/files/icon/thunderbird-bin-r3.desktop @@ -0,0 +1,31 @@ +[Desktop Entry] +Version=1.0 +Name=@NAME@ +GenericName=Email +Comment=Send and Receive Email +Comment[ca]=Llegiu i escriviu correu +Comment[cs]=Čtení a psaní pošty +Comment[de]=Emails lesen und verfassen +Comment[fi]=Lue ja kirjoita sähköposteja +Comment[fr]=Lire et écrire des courriels +Comment[it]=Leggere e scrivere email +Comment[ja]=メールの読み書き +Comment[pl]=Czytanie i wysyłanie e-maili +Comment[pt_BR]=Ler e escrever suas mensagens +Comment[sv]=Läs och skriv e-post +Exec=@EXEC@ %u +Icon=@ICON@ +Terminal=false +Type=Application +MimeType=message/rfc822;text/calendar;x-scheme-handler/mailto; +StartupNotify=true +Categories=Network;Email;Calendar; +Keywords=email;messages;calendar +Actions=profile-manager-window; +StartupWMClass=@CLASS@ + +[Desktop Action profile-manager-window] +Name=Open the Profile Manager +Name[de]=Profilverwaltung öffnen +Name[cs]=Správa profilů +Exec=@EXEC@ --ProfileManager diff --git a/mail-client/thunderbird-bin/files/thunderbird-bin-r1.sh b/mail-client/thunderbird-bin/files/thunderbird-bin-r1.sh new file mode 100644 index 000000000000..bf8f6e0d4d54 --- /dev/null +++ b/mail-client/thunderbird-bin/files/thunderbird-bin-r1.sh @@ -0,0 +1,111 @@ +#!/bin/bash + +## +## Usage: +## +## $ thunderbird-bin +## +## This script is meant to run Mozilla Thunderbird (bin) in Gentoo. + +cmdname=$(basename "$0") + +## +## Variables +## +MOZ_ARCH=$(uname -m) +case ${MOZ_ARCH} in + x86_64|s390x|sparc64) + MOZ_LIB_DIR="@PREFIX@/lib64" + SECONDARY_LIB_DIR="@PREFIX@/lib" + ;; + *) + MOZ_LIB_DIR="@PREFIX@/lib" + SECONDARY_LIB_DIR="@PREFIX@/lib64" + ;; +esac + +MOZ_THUNDERBIRD_FILE="thunderbird-bin" +MOZILLA_FIVE_HOME="@MOZ_FIVE_HOME@" +MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}" +MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_THUNDERBIRD_FILE}" +APULSELIB_DIR="@APULSELIB_DIR@" + +## +## Enable Wayland backend? +## +if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then + if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_ENABLE_WAYLAND=1 + fi +fi + +## +## Use D-Bus remote exclusively when there's Wayland display. +## +if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_DBUS_REMOTE=1 +fi + +## +## Make sure that we set the plugin path +## +MOZ_PLUGIN_DIR="plugins" + +if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +else + MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +export MOZ_PLUGIN_PATH + +## +## Set MOZ_APP_LAUNCHER for gnome-session +## +export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}" + +## +## Disable the GNOME crash dialog, Mozilla has its own +## +if [[ "${XDG_CURRENT_DESKTOP}" == "GNOME" ]]; then + GNOME_DISABLE_CRASH_DIALOG=1 + export GNOME_DISABLE_CRASH_DIALOG +fi + +## +## Enable Xinput2 (#617344) +## + +# respect user settings +MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2:-auto} + +if [[ ${MOZ_USE_XINPUT2} == auto && -n ${WAYLAND_DISPLAY} ]]; then + # enabling XINPUT2 should be safe for all wayland users + MOZ_USE_XINPUT2=1 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == KDE ]]; then + # XINPUT2 is known to cause problems for KWin users + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == LXQT ]]; then + # LXQt uses KWin + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto ]]; then + # should work on Mate, Xfce, FluxBox, OpenBox and all the others ... + MOZ_USE_XINPUT2=1 +fi + +[[ ${MOZ_USE_XINPUT2} != 0 ]] && export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2} + +# Don't throw "old profile" dialog box. +export MOZ_ALLOW_DOWNGRADE=1 + +## +## Set special variables for -bin +export LD_LIBRARY_PATH="${APULSELIB_DIR:+${APULSELIB_DIR}:}${MOZILLA_FIVE_HOME}" +export GTK_PATH="${MOZ_LIB_DIR}/gtk-3.0" + +# Run the mail client +exec ${MOZ_PROGRAM} "${@}" diff --git a/mail-client/thunderbird-bin/metadata.xml b/mail-client/thunderbird-bin/metadata.xml new file mode 100644 index 000000000000..53b1733ca68c --- /dev/null +++ b/mail-client/thunderbird-bin/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>mozilla@gentoo.org</email> + <name>Gentoo Mozilla Team</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:mozilla:thunderbird</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/thunderbird-bin/thunderbird-bin-140.10.1.ebuild b/mail-client/thunderbird-bin/thunderbird-bin-140.10.1.ebuild new file mode 100644 index 000000000000..1afb59006063 --- /dev/null +++ b/mail-client/thunderbird-bin/thunderbird-bin-140.10.1.ebuild @@ -0,0 +1,285 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz ) + x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.xz -> ${PN}_i686-${PV}.tar.xz )" + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +KEYWORDS="-* amd64 ~x86" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-thunderbird ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/chrome/icons/default" + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + if [[ -n ${MOZ_ESR} ]] ; then + local wmclass="thunderbird-esr" + else + local wmclass="thunderbird" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Thunderbird-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install thunderbird-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + -e "s:@CLASS@:${wmclass}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "encrypted chat support" net-libs/libotr + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/mail-client/thunderbird-bin/thunderbird-bin-140.10.2.ebuild b/mail-client/thunderbird-bin/thunderbird-bin-140.10.2.ebuild new file mode 100644 index 000000000000..1afb59006063 --- /dev/null +++ b/mail-client/thunderbird-bin/thunderbird-bin-140.10.2.ebuild @@ -0,0 +1,285 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz ) + x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.xz -> ${PN}_i686-${PV}.tar.xz )" + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +KEYWORDS="-* amd64 ~x86" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-thunderbird ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/chrome/icons/default" + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + if [[ -n ${MOZ_ESR} ]] ; then + local wmclass="thunderbird-esr" + else + local wmclass="thunderbird" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Thunderbird-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install thunderbird-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + -e "s:@CLASS@:${wmclass}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "encrypted chat support" net-libs/libotr + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/mail-client/thunderbird-bin/thunderbird-bin-140.11.0.ebuild b/mail-client/thunderbird-bin/thunderbird-bin-140.11.0.ebuild new file mode 100644 index 000000000000..1afb59006063 --- /dev/null +++ b/mail-client/thunderbird-bin/thunderbird-bin-140.11.0.ebuild @@ -0,0 +1,285 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz ) + x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.xz -> ${PN}_i686-${PV}.tar.xz )" + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +KEYWORDS="-* amd64 ~x86" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-thunderbird ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/chrome/icons/default" + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + if [[ -n ${MOZ_ESR} ]] ; then + local wmclass="thunderbird-esr" + else + local wmclass="thunderbird" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Thunderbird-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install thunderbird-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + -e "s:@CLASS@:${wmclass}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "encrypted chat support" net-libs/libotr + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/mail-client/thunderbird-bin/thunderbird-bin-140.11.1.ebuild b/mail-client/thunderbird-bin/thunderbird-bin-140.11.1.ebuild new file mode 100644 index 000000000000..1afb59006063 --- /dev/null +++ b/mail-client/thunderbird-bin/thunderbird-bin-140.11.1.ebuild @@ -0,0 +1,285 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz ) + x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.xz -> ${PN}_i686-${PV}.tar.xz )" + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +KEYWORDS="-* amd64 ~x86" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-thunderbird ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/chrome/icons/default" + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + if [[ -n ${MOZ_ESR} ]] ; then + local wmclass="thunderbird-esr" + else + local wmclass="thunderbird" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Thunderbird-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install thunderbird-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + -e "s:@CLASS@:${wmclass}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "encrypted chat support" net-libs/libotr + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/mail-client/thunderbird-bin/thunderbird-bin-150.0.1.ebuild b/mail-client/thunderbird-bin/thunderbird-bin-150.0.1.ebuild new file mode 100644 index 000000000000..7cfbc3990be5 --- /dev/null +++ b/mail-client/thunderbird-bin/thunderbird-bin-150.0.1.ebuild @@ -0,0 +1,284 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz )" + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +KEYWORDS="-* amd64" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-thunderbird ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/chrome/icons/default" + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + if [[ -n ${MOZ_ESR} ]] ; then + local wmclass="thunderbird-esr" + else + local wmclass="thunderbird" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Thunderbird-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install thunderbird-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + -e "s:@CLASS@:${wmclass}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "encrypted chat support" net-libs/libotr + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/mail-client/thunderbird-bin/thunderbird-bin-150.0.2.ebuild b/mail-client/thunderbird-bin/thunderbird-bin-150.0.2.ebuild new file mode 100644 index 000000000000..7cfbc3990be5 --- /dev/null +++ b/mail-client/thunderbird-bin/thunderbird-bin-150.0.2.ebuild @@ -0,0 +1,284 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz )" + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +KEYWORDS="-* amd64" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-thunderbird ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/chrome/icons/default" + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + if [[ -n ${MOZ_ESR} ]] ; then + local wmclass="thunderbird-esr" + else + local wmclass="thunderbird" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Thunderbird-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install thunderbird-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + -e "s:@CLASS@:${wmclass}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "encrypted chat support" net-libs/libotr + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/mail-client/thunderbird-bin/thunderbird-bin-151.0.ebuild b/mail-client/thunderbird-bin/thunderbird-bin-151.0.ebuild new file mode 100644 index 000000000000..7cfbc3990be5 --- /dev/null +++ b/mail-client/thunderbird-bin/thunderbird-bin-151.0.ebuild @@ -0,0 +1,284 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz )" + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +KEYWORDS="-* amd64" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-thunderbird ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/chrome/icons/default" + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + if [[ -n ${MOZ_ESR} ]] ; then + local wmclass="thunderbird-esr" + else + local wmclass="thunderbird" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Thunderbird-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install thunderbird-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + -e "s:@CLASS@:${wmclass}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "encrypted chat support" net-libs/libotr + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/mail-client/thunderbird-l10n/Manifest b/mail-client/thunderbird-l10n/Manifest new file mode 100644 index 000000000000..60092f7db52d --- /dev/null +++ b/mail-client/thunderbird-l10n/Manifest @@ -0,0 +1,126 @@ +DIST thunderbird-150.0.1-af.xpi 308506 BLAKE2B 82913b95d2bc942470e4db099da00a304de03cde9a23877cbd35e8980e7f1bb8ca49607f1bdc85d482cb3018ea37ec7fa8b7599affc0b530697937821b477d8a SHA512 2c6c773067e120af8bfa247a816516bc620bf337941366516721f29d9baa6469d3b6aa74a9a8c84141654f9302525f0f4ebad71f329b3c27bef2531dacc2c4c6 +DIST thunderbird-150.0.1-ar.xpi 444527 BLAKE2B 4dc9a90926bf817dc7d512e313cb414a85db4276822085fcafde691b21407568d2049396201fd317693a72b1b0522a15c17677ee001f197d09b9be8af85b258d SHA512 52abbb23a97c11fcdb180b0f5e39dcb3d95130c4de5c481f8f6583b63e9288dec8f77fe4f2fee4342b8a4b9cbf88991f4092d5ae24d138421c225207908ca0c9 +DIST thunderbird-150.0.1-ast.xpi 334111 BLAKE2B 060e29c1cc88951fb09a9b592e27f5b021ed038088d24aeb4ade4f106ee25fa656fd516baea028e540f1f06729c289ab252a4626a7fddab5e7a2fe430be98784 SHA512 f71f7e4ae9aa29443b2acf15187d4bbf2aa2a0d6a022dd2403858d0a6417efeca7023ec207be86644bc19c2fa28baf54bcc7bc5b3de892d61ac0d630bded56ef +DIST thunderbird-150.0.1-be.xpi 524246 BLAKE2B 593a1eb639a789137f4d8edcd7481017269cb509315694dc894ebe9676a3ded31bdb4b589e8b9602232aa32d892e5c41d0191e19e065317a6e5c68f528483da8 SHA512 a276dd22538b060b1068dc498e01a9152320b15a2b4515c2f93186d5033b6860b387647f0e407f47533c237b0f1d1c76024f66f8bd1d9b457faaa596786f98e2 +DIST thunderbird-150.0.1-bg.xpi 542088 BLAKE2B 0870c87a8f298e9a77d10b69a13ff30f357da5487206bdef592aa6ed9ab2dd66611fe84ff1e766b987d12f64acfafa84de6189deb4da2566532f077b5e9bced3 SHA512 1f93c1ff06dc261b566ae2e10be2a0dcfb773b04270f3f0294a891c04f1b87f21bb5872db308046b45f22af5db6b18663de865eff6211323b93a5ceb1669bd0b +DIST thunderbird-150.0.1-br.xpi 400139 BLAKE2B 9a1ae148a3b44ad0d4ff9c61d9813f49a611ce39d98c0412c69a98d8c04533ebe0bbad10040cedbae32c7794eafad7616805a4eb648be74447580922140f3cab SHA512 524179a99d065718bfbec7ebb6b675707a459c7460cde07e384bd56c7bac96e3bf8fe5d3924cfc2749756f03a6ad2087b8fcdbc459ac96a6817ac8bbbc2a326d +DIST thunderbird-150.0.1-ca.xpi 437247 BLAKE2B 2522d2e26fc775b7ba1410caf4eec972fc601b09c4225b342aacdc8957d8f2f5a0a2dacca138469690c222fa48497cf94a9b26f91c3210b68b7c1d809ef61476 SHA512 dce7d814e9f8d8ab4127f951eeff17750cfdc5e5bfb9a2e14c9777638803954970e0416984e09b86211554a724125598cf738ca2035b711787c17982d7d59189 +DIST thunderbird-150.0.1-cak.xpi 413814 BLAKE2B 946f9915dce7647ad1575bfb72335417b0091a5c926e02b6d0e9caae06167c0106b8c6e06345411132ccb3dd62f626f4a0abf4d7000f89d16b544c57ff5de1eb SHA512 2ee3232ee3524ea9069686b47dc95d08df5499118300bbeb036fe19db3f69667aae68d02c1b906bc901dd72048df6f9dc85d1b8087a59edb1dde4c2d573ab5ac +DIST thunderbird-150.0.1-cs.xpi 531931 BLAKE2B 24ef1a55fe4c718ce8520420270d1458532f2a1d2694f3eea11a0803f9072bb193c760b98504fd4c11fd2d53d4c324b1b3c381b2d224aab59119c5caccbcde51 SHA512 f05ed7d524ee4bea1d890668fca3003c77e454781e00af712318b9f11794bf0a9284899e0ef80bfa72e702c5ac00407012f6603896e47420bd50200e4bcde6f6 +DIST thunderbird-150.0.1-cy.xpi 499233 BLAKE2B a59682674056ff369b4165f0829e95fe44ae3746422dd780c37ba24e69ad074eba278a2c0c7f817d72353b95d6d6626e0df34be7a63422760bcde961543b7cc8 SHA512 43f55519cc6853ba364eafccf3c44ec485aef465951f48fe05c84a8b16351c2119d8ac25a742e63446d402cf2c1ee25e8879b64d67699253a32d2add01699035 +DIST thunderbird-150.0.1-da.xpi 484953 BLAKE2B ea3ba669d8a9f76f3c5a0558cbc1575f2264fabe8b742bf0dd293d241c3257c3b562694406eb7e363de998c9aaf44dd587011204baccea03c248debd34b7e53f SHA512 9905432b03d823aaf3dcb6dca59d2d1481d88ac86e336faf2cc5cbc706c72d1dbd3ecc009e6cf19a9529c500a27bfeede940bec63cc1c7b4f5c96969aee82f99 +DIST thunderbird-150.0.1-de.xpi 515467 BLAKE2B f8db9408ddb38e428fd8b7f501cec6264b805bea73a4020d1319e6174cc5604c843a438b689b21c2d15cd7c4fae241bc37708946f9b9a278ba54bd8a6eb823e3 SHA512 3326dad5b2c4171ffc0b88a4bf91e04b1892c65665082ae7f4f18af395c9fe0c1d9c3452fb494eceb5e219a15cd1bc3bab0b8f091c177064ae2f66b4d887f467 +DIST thunderbird-150.0.1-dsb.xpi 528572 BLAKE2B a18141b5770e78dd4a544dfe695f8f53ae813ddea97efb4072aa388c9f9119ea73ab2c8b81b1ad59d95443f769f6f6d918e34e68f16ec1a8cd8770bae0c6147f SHA512 b8e9d8c9640c0fb2b0dc3f802517b3e3ec4838c8dee19a7cf9ba1d584400d6fcb1f2be08816085c34e2a1578a5664fc741a2ccf377d4e706e7e05943cb8898a7 +DIST thunderbird-150.0.1-el.xpi 620895 BLAKE2B 127fb5bf64e778e5bbdb71dbd177fb0308fe39a8ef333a7956cfb58d4ddea38a4d9b15b86c94ff163d5965b46b910b4cc83c791aad31571a68021eb0f729911c SHA512 08b8563f7f46539f417b58389358a4a99c8e9a4be47c285e0a2a9ca78a50a2dfe52646bd0a1bfb93c0d4ff000173ec39ca05b179cf71976b40073dae9c6d8871 +DIST thunderbird-150.0.1-en-CA.xpi 461175 BLAKE2B d48a062ba9b03ee1f66c2b833ea28600a60d5ceb3d535df7188315eda9305e27b07dc27c7ba2a1a20e945a97ba902344e42b6fc7e0c93f54088f3dc1513c9b92 SHA512 b1e7fd3950f0cc5a3b09f1e6f58bd8ca037259c07e50ffbf150d61f11e505e5d0b3374786e048d2f08eb5539f0893f73e7b8397c51b31e3dd6eae6fa0b03ebfa +DIST thunderbird-150.0.1-en-GB.xpi 461224 BLAKE2B 0009b21d09b29cf0bb04f2f2d2980c9da5bb827083b213ca4a6f61489d9fff8cd4fca076ae9cbdfe2189387cfbc3abf445c111b13fdc660e1ba9c5f76ec846c9 SHA512 bdbe7f42fb539d819b3a77d0763c3cada49c3ac21fd5b022a051684c210ea7c80ec1287bc9987d11c801af135479c6a74757001e9b6d72c3aca34d3f63bb4f3a +DIST thunderbird-150.0.1-es-AR.xpi 505269 BLAKE2B a1833f2404fb50eec7ce6467faeaf2e75ce61450f70bce0c3a954723ba1ae119209c3225cc970aec1db7095f3feac946d8d4be35c7bda49434ba4723708c349e SHA512 fc9ae3473f4c7bff56fdb457902da4d86dda60aeb75185d8053d84d5f8155813413d2d634530c15c54012fca4f663699dcad348d2769473373013f9a41a58b1c +DIST thunderbird-150.0.1-es-ES.xpi 507276 BLAKE2B 073cb307cd3af36f52857d7bf96af2304718b3c04cff5d3058932abf5b1b33608e7cd1cd13415372e4b0cf398cdd6a9c03b441053f3c635670e9bc59bc1efafc SHA512 46a60fe08dd00cd98209ddf205f84ee8bb15490f749fd388a253cce0a235ca042177bbab634211f9a8bb1ea3d2a7ffe6b711854bea2279a9f5a11d11078ef178 +DIST thunderbird-150.0.1-et.xpi 440073 BLAKE2B 8d42902fe0313a6416adbf97e5e49391ab246bf3890e0cc302bc458985cf1169f936b9f030f732cda397f774d0d1789f126dfcf2f5a9ba117b60ac4fddb45a67 SHA512 98c7884b24e192ffdf3837d8e99cf35ef5f0ae128b436ee26ff3b1c1aa27eafeefccd0443db64d3b1b85eb0f0ece1be7c95b837e6f83b9b5a717ab10e40719a4 +DIST thunderbird-150.0.1-eu.xpi 484173 BLAKE2B 801c516c1ba4893cae11b0a2b22d79846a639c0bee869b1c35fb30397676e43d6dec7f61c7948f6bac43d4ff1ace4258d2c243c94fdc3c86ee47c873e03a9e47 SHA512 63f4d4717abd59d09fd34f3c28d88f74ad024863478ba54583836e31d8dbe185841e5499b17a727b463a9270db6c9f24ae6739bef4f81674ee1d996d1162b316 +DIST thunderbird-150.0.1-fi.xpi 481270 BLAKE2B c4701ef8b6cf097bd299caf95b0243bc2bf43f98e54ccb832667a97fabb9a655ba9a4ee0fad46c6b902d8d8093a0a185bf8f38efcb1d2cea8657769ab8217238 SHA512 4a3b08ada535cee62cb1e4939d321547b0e6252528dea09ba95ba3f2d4bdf3e3e2de003c77db8e810a0dd6ea4f0baee5941e5e86d42fb683cb68a96d6fd55d7b +DIST thunderbird-150.0.1-fr.xpi 518986 BLAKE2B 2296cc4e2da534614d42fea563be8f228c856fb0710c846b43afabce9e1a824cf94a327452e228ee7c235ad35e04c8e786edc58a54734efd43a227eed21ccd5b SHA512 84d2babfaaf0593821ebe3f2f1d0651926bdec2f11f7059563b2c205ff7b78b1ca1485b88fc69e5f6e62134314cd94b01eabde298ee33cce741e478ebda33048 +DIST thunderbird-150.0.1-fy-NL.xpi 500732 BLAKE2B 0484d5c3632eb169614be0d0bc0178fe7381e07f454678a3ed18315414d68ee5b09f5e9393cc7d2c42e1a6be2894e2956ad2a86e6e6a650283aad1303856b4e4 SHA512 d87162be4d84db52c25c1adba959d6bfaa83cea507667a3061e0c544c786fe2141877892f7d1571fd13f76cc0e95a761be8daed347389b3866f3353eed1b6a87 +DIST thunderbird-150.0.1-ga-IE.xpi 373628 BLAKE2B 25031bf77d358c03c0671426995cc813a853a215744502edc99c9aa43dcf4ae17ea47537aa5c394070c1d7b785c36ce727363b72b2e63842aa11c3a1d23b519f SHA512 43b5feb83f848ab0cd8fb47e20c919989f8e8fff5581fefa97a319a1729185252018956e321c5906c28786cf96143ed50bf2d84b63a48f286bdd804086f662c0 +DIST thunderbird-150.0.1-gd.xpi 458770 BLAKE2B 97f59f4ed61deac90bba9906791fa0461c6720fcc2339aaca25f6471cd141600d4f67b74ec93126b050838c29999ab872783117b81de81ae06f30157edb8f560 SHA512 cad4024aa2e260fe7fa422ad5db42f968b3dd5d2fa0de35fff3da4a4853231cced5f16032f40c91771da631067bc7f5407ca98bd5be2ee0df5f04870b6cf63c9 +DIST thunderbird-150.0.1-gl.xpi 487464 BLAKE2B b513f0aa2bf15c788312a9034faf275aabbdfe2dfad630ec10e210044f851728287a57b64bc170fd1099700b7b6fbed9864f40463b3f21d16ea2cf6371785595 SHA512 3aa1529703cc79715d9a7de3e3dfbce2c05ae6958926fb58285159d9c6af3382ca5fa9e3ba2721aec936c742b7874dabc3e044b6f9a99c51346fd535c4fd9e43 +DIST thunderbird-150.0.1-he.xpi 445466 BLAKE2B dd5d27ccb130f15a888b57cf6d17db11587175a06a8b5722ae10f12ed0944a05ac3fcf4aa439bfd794ce4caa27da32f1ac878f5f5997a2d76af6131d2f7861ce SHA512 89ff0bd48848be46d971eefc787ac3f454c7a03c6baab638921ea7e6562bffd3a183129266493f1f25d948c1e72c7223d29a9924638077d49dd221273c2fa01a +DIST thunderbird-150.0.1-hr.xpi 478731 BLAKE2B 5a3e32cb875e7cde03bd552429f39be08b7b13211f80c207a6119ee176bec5afa3e254853d8863ce26f07613fb9f4d50a9d0ebf859ab6913ac7278fdbe6c52d9 SHA512 cf8d9b358b60edd89980baf645bc700c0e945823a2484042da6733e690765260a850072864f0b4ef6f941131d96b7234eb3deef6694551c88c91e0aa59eb0aaf +DIST thunderbird-150.0.1-hsb.xpi 525874 BLAKE2B 264d5bfa25b543c3922c787d4501bfc369bd3bdb1a0793e8436dbb40cde82abb5d2f6e6482fcfea131a36bbef42bda08daffacafeca0149b643bec9fdaf02bd3 SHA512 4cc4b44cc7df48f925b28d4644ad334705527f8b90d9d3e74b6e13782a0b9375094e93e5dbea2dcc11db248cd2c450489825ca03a36316b2f185c207375f4262 +DIST thunderbird-150.0.1-hu.xpi 528214 BLAKE2B 17a4b356a976ad58198a5f00b77e22a29f27e4b90513bee5cb11efecf740e4a4cf05c1f0c759fe3b1806263d2572142731ad8ee6cae22695654094d67e064c89 SHA512 266426b00fcb291a93daad29639237e95a6a178f421f646dd6b939935c06b13d5b6bf3f27c2459d81bafdfd18f3b00251aee10d4e3d7dbc7d748be1534dd3c99 +DIST thunderbird-150.0.1-id.xpi 470965 BLAKE2B 56d60dd1e129706f18dfb895034a2aa598860eb210afd55bdb677db448474d9120652e06d725185b1369094bab301816bf08d590ed4166a98a50225b1d17fd74 SHA512 54b25a1e830d64a241fb901092f01e1e6fe830f536ad2862cf668f2850ba7ae2a247fd8e588a492bc46e2e6f63d58b60388658e39270eb0bb85a8d744579be66 +DIST thunderbird-150.0.1-is.xpi 486402 BLAKE2B 2f433872e37fa8c51a7e210fa5cb86722531b0f09db7e08461bf451359ae517ba92b83ff2048e109706e9e423f2d6e53fb817419e0369e4a1d01f193da40536a SHA512 7b0d8a9010cdecf0f3bfcc8549ea68f49cf90c4b42966947dd95d15ec8bfc73459bf444c161997f797c4a1b9590bc605fe6608ee33f6ecc4f610003474596b41 +DIST thunderbird-150.0.1-it.xpi 498534 BLAKE2B cf60078e9c250d3ee70318cf7f9eefae4abbbea2273c38ef82424642b45e1b229494206a56fd8f708d30764e2e824b2b1d3c08b5aa842b8f62d039b5978fa254 SHA512 0943b3d1ede8a1fdb4e675388b5438106810fa5571ac9f7c2826506c5d972e25e3e66b102a836fe05f34fade1cf6d1879102e3bda867303e1f1377978efef099 +DIST thunderbird-150.0.1-ja.xpi 549572 BLAKE2B 4444bcf87573517a6b7677d0b07e2755330eba2761c3d85e1d942c20d62cadcd3f5f1db49d13021d215f668ddaffbc7c25901c4c9d57aa8cec1573b6756aa2da SHA512 dcb80a8b0efbdd9bcf4521a5ad789686f2d1ab4a2e0ceb43d3bb58359cd8bbf931089d670356f4edca58512fa889bb6b1c67ff335ec55a876d865d2a58690060 +DIST thunderbird-150.0.1-ka.xpi 566735 BLAKE2B 28cdbf4e2451cc2b98554297822cbb6cbbe9e026b4de99a15820088f6b0e95669913407ade5993aea21ae6e451513a929c8a4f2f5cee9a62c5351850f4ec6f81 SHA512 7a638d3e4f2feef2391335ef6885805e3f282e53c94a1efff9bf76b253da58b79f77f7ffc2f97b70e52e8f770fe7174eea56fd5c9a0944f2571bc4b4fd5d4a02 +DIST thunderbird-150.0.1-kab.xpi 467788 BLAKE2B 416e740d12f5135db4418b213b149674f5160911ef7519ec0f817c1305478036282ed73c1e35c19d784ff6079f74611b2249d1b49027bfafab9ece9b0543724f SHA512 cd214b1e60976ecf85952407e7f0a45324903768615be161c2896348d8ab765ccf1b92050601e9fd9161b65233e8214c60bb3060b872ca70113845a046afb06b +DIST thunderbird-150.0.1-kk.xpi 590480 BLAKE2B bf91c997f60ce4da75d3720eb060587093cb42e6b9dd3767057ec51067bca5fb9779cbad7663b01a63331074db2dede0bad543260391ffa75bda34697519f60b SHA512 25cb602637bcdb70f0c8742a5bb6edaf33d68bd7e0aeadeef45a33835e79076e85faca1f732f881fd757896747c7f3a4ba3259bdc8565f25d352ba8bba1aba47 +DIST thunderbird-150.0.1-ko.xpi 520512 BLAKE2B d54a872381481c6fd6c3238fe23b47c7cc76c2ae0e31bd2e02cc824ba9bca83715094ad458302d8213d495055c9ff0d1b75bbb57b54909c5eddd76510e70efe4 SHA512 0ea636cbb3c27cb44cc1ca0b9ef2385526e0d4da12ca176e62a9385d091e0f96cb7440e173a15fb126289365c1630ca4ef8dd27eec781f7ac0aebc425a17dfe6 +DIST thunderbird-150.0.1-lt.xpi 450147 BLAKE2B 0415726f2a7dad01dc7472499858c30c31dd236aa25f8cac23ba32cb619e8af23780888d21bce3d8b73658566556c8ced2170bdddfb69f9546cdd283cc92a4ab SHA512 82fe9e6a1fd2bc5cd9cb16bc5e0c3ca1978bff5757c64728c560d72add68d228df5283c6a6e506a63d575805c7e7fe5a135577ddf4f2812d1e1f1075a156cda9 +DIST thunderbird-150.0.1-lv.xpi 387396 BLAKE2B ac8d94bac2b9b51ecc30d04c7f119403f13698e6ae97822f0c19045eed6fd09a4fab2fb5bd46d0e2c53587b9b89ecb37faaa50ac66044319d7f150cb4694b161 SHA512 a6d5264e0040cbfef8428061cb0b01d757e853890af3d121115706e0a9e7bac4b242db9b71de98eca73579db9f61a6491b58f6f30681bbe46859a2fcb4228844 +DIST thunderbird-150.0.1-ms.xpi 349115 BLAKE2B 94014929aba07a3100093633de3795afbf4fd6732312e61ffd715c50d6150527a36d1188d22c8423961c1fb7a2e43577ae249cb3d62d4d245c80662fe9f801f8 SHA512 e5b010e4f24a9f72f6ae9f8ef7ea0cfd332ae7f99ec6f87206fab625ab82f021c0aa99286101c5a2306f30a4013d9d46d1b5793a3aeddd6857adba8b72ace6d5 +DIST thunderbird-150.0.1-nb-NO.xpi 485892 BLAKE2B c7205056d610305b5d6f9caad65da0fa254c2df684ec85b300f83b14ad7ec700fde8c1a9e3144a8058ef66d45b20b2210abd42dadcd4e415c980a0267fbb3854 SHA512 34f33b1075e9d1c4594c48f757dcd3541cf601d1b520c36666305f42bb03ed39f0ba11f498440fdfd082393744a466e74ad6a51c3b5c81d026db479ae69d1df4 +DIST thunderbird-150.0.1-nl.xpi 492130 BLAKE2B 22699323bc1ee0826e1de03674876402d62619cb95adad27eaf32a33c553e460d373b99d918c916bb5330a074fa71ee0f09fc8512f1f93123db6670c03539e78 SHA512 b8ae0ad3269d77ef127ee235e3b07bf953ebb5749cca97a95e158a541b5d56f5c0222761bd6e0ef1d60e1b57a25a1760bb76bbe69af6f239c632a1b081336d06 +DIST thunderbird-150.0.1-nn-NO.xpi 489740 BLAKE2B 5e7b664fb1cb089b03e6fe42b4c3ba65f2e61269dc56b95eff05665037ea0adc5c3339785d2e91908d3abf80b007b56020377f65a3eb4d7ecfb320d491d9dd1f SHA512 c8262f33e697a2567cab4c9c1b2dfcc8cbc6f04fe412c527269b3c1614c744563a2b66a151cbd2636aa0a3038a169ccf21a14867312f87bcb64803ae6ee07b62 +DIST thunderbird-150.0.1-pa-IN.xpi 437655 BLAKE2B 3a23b7afa2f5a18b536e31250c2f56683e48ef865d90165824a30bc10d5d9f4b94105b9fc844fb27ff05be33fda7b96cdb9a1c18970b8707daa221fc6b980dd4 SHA512 210fdf155e7cd3120c63bf8b030494af11f5c7b387c356486ef712421c7438865821a6dead6491f348154861033a366c10bc598bd813d75693655fcb79b87690 +DIST thunderbird-150.0.1-pl.xpi 526633 BLAKE2B e2b38db1459e8ee39afe929670358f70a72ac6b1c69fdf2ce1bcbd3d7d9f833a49760185cb8efaaab80443dd2b1525b4f7e94391a3b1e0872eb29cb34d3b8004 SHA512 bf0573abe9d90d18bbd7fd4aad717ef449292bb938f7f29d4b49effa955aef87391c28022e5d919c104fd81a7db1ca0651a8dfc9caff06a4e37fc5f23c61cb12 +DIST thunderbird-150.0.1-pt-BR.xpi 499164 BLAKE2B 3b7843921f4a47820391b7ee6aaa8ec6a11d67af327c44b23f041093c593e3d9ba1b9c35b977cdb8e3cd9e23dce1de17af300eefd2f1fd978c0ccd7194eec24a SHA512 d53069b25c61edc652dc3e302be392ea222621b9d0767b84ea06fd545319a20eac3bf18f711ed0109198bdfd92935330e70def4a792ad87127a64bba02cb4ffa +DIST thunderbird-150.0.1-pt-PT.xpi 504558 BLAKE2B 15dc7e63b63c71d05a4d30c224a4ccf88f7697ce2311f848a71819743b1b6a55f9007d8d48014a61b00077a2762b88009086296492853cc0babc9d549f10c876 SHA512 2db95459e8d0cec206b3b62ec69f79815d8e6d8dbf121556583860c7db8b31f1582f99fb70dde792ab0eeea24e85ef8b481867c94cbb76b8da163d7604a62d18 +DIST thunderbird-150.0.1-rm.xpi 486692 BLAKE2B 4480923c4185c476f01c7c2db9e50ed5fbe715afa7702a75418025b615219a934a8827c1b888e650429795df178d6edb9a53c9228982ea4a4d4b77e4a12a6a88 SHA512 a3286fd579daf3aa42c729092b585fdac2d2e2c5b21352cdc21cc23f134ebf36419b225e5078d42af60d79e3767969836a294d1d8202378bac096696326c8eea +DIST thunderbird-150.0.1-ro.xpi 511757 BLAKE2B 86e76fe50e351fc8b51bf773a72534b3790b789718eeade30d4f7ee3a508579e7b32af2eaddeb8275e556e9f7f8fa5530dd0ff4f1fb448767d4a576945f7c006 SHA512 a31c538e8ddf79af2df80d2bb3f055cf6a6eea686d717f819e261ace0cb6bb5033eb6abd9b75d330aff15a5acf6ed622906cfce06e6954896d1b9e96a86f6ff5 +DIST thunderbird-150.0.1-ru.xpi 605634 BLAKE2B 0e4ac4021fdf526b986cac8cc9de9c847a645d0cb1f4ffc7d4b697a00bf8b480a6ca15190e5726d90a9512e6de00dbcd78f23bf6bfcff74bfe13c351a67871de SHA512 30d306a1108caf0ac00770213f57474cae01194ba36cf24c008c10d69706f75f3634c6f5641ceaf71b34f0dd6469ac8c42626ebe8a69068c7d9be8c1acebfbc1 +DIST thunderbird-150.0.1-sk.xpi 531667 BLAKE2B dd0bb82d5aafdda8ce339b2855a6a3281178a0adcce84d7d203f4fe7919a4ae38b7ad72ae3359eb59b6bf23c20adc3da0aafc10f0e2dc55188b5d3a1f6b780f9 SHA512 12e2127c1e673924d09718c793b8eeff5e0e7e9afefeb37398491f912acbac22bea9711db4e94bd730707847165f75ce2214d6e98e60cb77ee4cc7cdab03e5fe +DIST thunderbird-150.0.1-sl.xpi 495474 BLAKE2B da6ddd97ae3a52d5c7e4540818cff263f7cfa55993fa7a9f15a71e12570f86860c07f5d4012afaf7ee0808d515be5d72a18d8297f8d114e97ec708a8d3dd180c SHA512 e32127e4530a4714ec6ae67a797552c4516cb9edd032d9836085e63546a6183c61f26eca000aa15166b6e94f7809e73f3663a1506573cd593af5c889c5304d87 +DIST thunderbird-150.0.1-sq.xpi 516228 BLAKE2B 4a96548a105e2f14cb42ad760990d07d89c53588be402994d23a27ca660ddd499be1cb03d7191e316dca95d46cdaf3d8c502b593b481d7035196c42e4c876666 SHA512 fc110c060d9dee2ed410b6d4ab7871b3f27ca61feb496485f9a5aaf33a0d32c1622a143be29e86001c1dee363bdb986585fa505fd77a299b0d349f860414dbef +DIST thunderbird-150.0.1-sr.xpi 570333 BLAKE2B d695605414518cece69b83ce2c7964fb9285d258e4b2969d06731498f283de5ce53d6150bcd76c201ce8822ccbf3349de9f4408a629317fcb9cc5f9ef726c1f4 SHA512 0b560ce0a41d831b07808b4550a7f2771785831abc9445e0121c4838f983ef762c4341729a32b7ef17d7415ef63d7c73aa946e71c69dcafc82799d6fda5dfdf7 +DIST thunderbird-150.0.1-sv-SE.xpi 494342 BLAKE2B d09c5607380ebf0847db238637b2ffc7f89fabc506b677f566d460eae775b2ff7371af6c63db570614c5b3e64a4c3bb819dce362fda43e0fc2a5e548b7d33f33 SHA512 34c6084c0df505eac62bbeec5976638268431eee5875569972f1c24016f8b7315deb4ae242e789700f3e701f89952bb2ff9127c73e27a4087e7fde3fed4f8c43 +DIST thunderbird-150.0.1-th.xpi 576326 BLAKE2B 39f34dcd9cc71eaa5a64138632adc65e284706fa219d506a79dfa7844a118becc0344594ff546264de0cb5b095f1858ad5bf71a96d2ed15aa36516d9ba564d96 SHA512 2270d502e6b65a2989935dbb92412d218c5cd4145740efe029599ff3381ce57e864c4b9ebad6de3a211ffd675fef2c8623df764a5bdcbb275597f40b92ed4831 +DIST thunderbird-150.0.1-tr.xpi 505728 BLAKE2B 4ae3c2a53371bdd17c8774cbad39cb079d6d7ab740dbac53ec88bf757b1c4a38f2d0a3f4b4bddfe27212e2452ec011db5b3265129010b758b534cfcc0ee7e19e SHA512 2fee8790717efd79b6ffe324ffe88a7e574f63f33c8be72af6a8b14e890811d1f201607c2973336605875a209aa59fda364d9c30bff9824177c0e424b145accc +DIST thunderbird-150.0.1-uk.xpi 584075 BLAKE2B 85248cfc9f719468562100be287c9b91bfddee4436f534b725fb7746372dc5aed98d58d434c030e5459fd2a9929f4d6830022a6fd7d1b48c9e3bed1cd9bd95c7 SHA512 b42e0b7112eb6945d5dc2cd080bf60436bd0c901d4a1e34eb77fa8a6bd7a1c769ed2b6b0bbef1ad7f503af222532bc013bae8fce366edf41054449f0578510f9 +DIST thunderbird-150.0.1-uz.xpi 351485 BLAKE2B 5f4955418cfbae3fa160d4816394d9c1320f2c59164b721019df6d1c2a1f72a8a94444a139602360c802edb185119832ca838439b4897fd6136b4ff437f44b6d SHA512 edb59aa6e30c4f282f6af18ad3aaf8ad182ed2eb09b4251957837b5a82fd8d9cae0f1f253b4a09c8a19245c1c0ad94515a7a56aa23335b5ca8054a46c0d0cd12 +DIST thunderbird-150.0.1-vi.xpi 528202 BLAKE2B 745341413208df5f924f5ebe6d507afa833db069ff4114b5a7aa804c4a473e2f5833921580c9e0f013d1cfbe15149d950038c93e9c484d6fa82206030521033a SHA512 5574d7689fff2730a269e9c0d7223671f2239f4d13d3846b1661e898755f3c26012465d10b287307ff3744ba17787229347e090e793cef209d5a84ab7d7b403e +DIST thunderbird-150.0.1-zh-CN.xpi 516814 BLAKE2B b1f5e11dc79e785eb17e4460205ac83b242715ca7b2ad63091136ba4561b479a0254ad5e5686d9ffe6593aca8caad9ba4cc6081823f2df340f00211c25a21ecd SHA512 5d20b8e128ed71bb6bd2d74ea88b7bd9a07dcd7ed1eb97f634e5c3fde0681db4242991f7fc59d429b4217bddc47bf5e513c0ad0b8fab41cdb828cad15ba2a1d0 +DIST thunderbird-150.0.1-zh-TW.xpi 520973 BLAKE2B 908589a707538926afcd9248fdb20b228785a1515d780149148294be1fd037884d5577c90ae1a8ed765837ba01b923dd9504d2b40ed39351c4ed4ecc4d182c6d SHA512 1f6009e523bf2f48eb254114ebbd43537a5b34a6a0c8ca95050c083289f6c5f2d007592022b2369cc66200e82f187c0f01d6301ff383f2a1fdd131baa7a0f83e +DIST thunderbird-150.0.2-af.xpi 308505 BLAKE2B 69149d3999b74985706f425f4ea0753d70f8a1d33efd5a5450d9bf1032cbdcd106098d6603ea4caaf08d0d4840ba267f2a6c1908b7792a170ae857cbb000a334 SHA512 c5362016b8d92e82f64d9f37407ccc24db4b5b8a29e5d83936e16138e1bf4cdf0a921fd6c17754413ac9a4511ca1521d033e38ea1c2819e37ab110ff015412e3 +DIST thunderbird-150.0.2-ar.xpi 445121 BLAKE2B 4cdb2ee8b6221d36d085783ec0947ee452acd19d472bf16ed17082a56ab29fb131d4c770345f430f65f1e9fb24a6a2d0499be3187d493b2816045838dead4276 SHA512 64084b53be6abd53387d3285b0a0758c078a6f5e47fcc5fca80beaa7057d9fd22fd64ac7501114f99257441e52ee0b23724877ed16cfe49e7ba7abfe39a01759 +DIST thunderbird-150.0.2-ast.xpi 334110 BLAKE2B 2cde80f30f752937aa040ac7432179a8c938d56aa0394dd1066db3de3d7f43d95ef86bbbe7fe524d0219461862aeb469d19ed421c963ab5b5424fb8b45032151 SHA512 4a3eec76f95d9f00aed3a9bdf32eb1d96ae801e2ea0ee12c7c89c2d66bb1a0b7d563bc54acb39d8fad05d981b4fec531407fee979af902350c7996be54c53e3a +DIST thunderbird-150.0.2-be.xpi 524246 BLAKE2B 84dd72aab407f546d9390cf41c607221309b9813686da2ef6df0f97d10b3b8a7843b07b17490320e7e74b8ba58b6376383afa85ad6ed3d67d35840874356fa36 SHA512 d0761324107b8a465ca5f19780bdfcf4ae7e8fd1ddbccf334348a033fb53ed1345115042ed7d951137ca73faedc7305cda2c8d725c3d637d520f5cd00080db64 +DIST thunderbird-150.0.2-bg.xpi 542089 BLAKE2B 27124b8e8bd285733036a752b124116a5f9ce706aa949a4ebc57d357fc0ed7518bac92da9707c519f1bec517e626826dad07589d82a45a8d066313fa348876b4 SHA512 28a610b8e46dfba97cfcc017615c736a0e021948bcb959822d54ecbe58a5bb97a3995d7afe0b6e7b2dfe5e8deb5ac1fba2508ee3bdec580330721cd44c5c446d +DIST thunderbird-150.0.2-br.xpi 400138 BLAKE2B 7b2071ab946eef678bc9fc367705c93987b7bd8f9a08f4a9f45ede13482baec665fd7f21ff616036551bca3b087b03e513953213efbd2080f44c61fd2c31c2d4 SHA512 b37f19534cb43888ae48e13b7cfc9933238da1aba8dfcda0e542b13ef75a7633f25bc78f3960552743b429884b7c1c8200b67348a274b4e6299b7975a9ade147 +DIST thunderbird-150.0.2-ca.xpi 437247 BLAKE2B d959ebd8df23a1c424e79a54e74b20779be68fb274de7a594f406ce18933f561e2de5e0826584f310b0d2b53160a76cfe9f38013800148057504e9a955865040 SHA512 abdc8de4ea643f771bf6bc56c0032bb3bb3c45c2f80df734040abffcb100b5f686b21ccefc4dfe859787a162cf11036c502cd45aa0aea260b8963650ba0a14c7 +DIST thunderbird-150.0.2-cak.xpi 413814 BLAKE2B 54e256cca20fd62ef805bddc5142154efe1c0aca42def025524cb147ee888e38392d88af6913f4eddb777322746aaa6edf44d78262f72290f1aa3be45a424811 SHA512 c11cbc96c6c9d6626e3158b095d0292561cd57903e76ac1f95c4d97020bdf201aa66fd8c801059abfeb161de66c036419fac2f7e759f61933673f0e95614b7f1 +DIST thunderbird-150.0.2-cs.xpi 531930 BLAKE2B 002fea5769310b965884c9ac312c0516f15669e239c1323d3043524696fe8e0e74d684539d66b8ec362e2f2472c8078e359444cbb48330f8d9281e79ea4e1b17 SHA512 033d06f0308057e20697c8ae00425e8a323551ec2b045db797140599070f0de6db8e5718923b9381b281c21dfbd3f918e835654895f9da1550e924ad0b420a94 +DIST thunderbird-150.0.2-cy.xpi 499231 BLAKE2B 941647a264cd4436e31507c33cb25cd876bc0262bde800374ca0449badaf929b81ec5b5f10edef5d95df2b11245e821844bd6d53f9dd1118ec762d70d618d7c0 SHA512 1f0e98296f3b1a6b8ea228adcb57ad3ea2b8e7a60c162bd5028534de92b8fede3b97139b0ece65581e97a75372fd43b09ef1150a4eaaa12bc1d03e31ccac3ad0 +DIST thunderbird-150.0.2-da.xpi 484953 BLAKE2B 17c6e69b192af246bdc2d6d04dba8532ee2b802ab470175e4fc756fdb44d7d9c576343e5ef020197685486d7e11eada2013f77eb77c81a7f20bff79b45e8095b SHA512 c05bce3071230164c6c01ab3787c650f600d06b6a8ed94d002776ca525cfe96b755719a8e1c7df85520620f3ce22be094d3a1a328dd7d17fc2db5d62f6c3354b +DIST thunderbird-150.0.2-de.xpi 515468 BLAKE2B df24ea32514856f19ebdb84d892ab60760864e0a872183f96c2eb4a9cf2bf1cec3cb72970ca4defb8930e29c13f7acbb0d3e573d1c19e704fcf332dccccf471b SHA512 0f478087098f28359bd62a3082be9f5145d5e20a0c55009e119faba5c70f5c71ed1f017455730bca32aa64ccf4cd07c2f1c56be8cf41caba52cfd321534b193d +DIST thunderbird-150.0.2-dsb.xpi 528572 BLAKE2B 7c7a67019a0256020d007facaa08cae6fc0e751949ed114b3a87e5245ca4081e79e06187f1085582d186516fd073541878315032da9badbc2bc30fea3b42fd33 SHA512 745da8e003f4a70a201fe1279daeede64cdac1b885f812e42d5c1ae7b0c1520740910e9c3958aa68f310f2f307652ce136a0d5a94c13f1b333a11d48e426efd9 +DIST thunderbird-150.0.2-el.xpi 620894 BLAKE2B cbd3f88bbe77c25529c4ac23a63bbb21e2c852169b969a948d41db6ceab4dcb1831e3729adeefd91b1fe7c576058e7df95471c9c4270b1b887875dd7583a1841 SHA512 5b0d5d513890338c1e6e91c5e5acb452d6cd46d96aa4e651c8a6742cb9d9428dc13c993d126ef2f36d0b0744224d3d2e23cbea8c6f399a817decc20e8c473a5a +DIST thunderbird-150.0.2-en-CA.xpi 461174 BLAKE2B 4901c2fc8974fb86e1dff087105353b0440af8263540a377bc7488fbd7501271c6426b07fe5a7d462707b35b9da44dc5260e2d0b1aed61ba61720ae48c2e90fb SHA512 d3fd6e3cb5a4e6a4658e9f36eead6b53d51e6fbae67a5a6a2342f7e1a22f6617364e9fb529b34c934200349f4697d5fe5e384244498ec7fda5281b2867c9678d +DIST thunderbird-150.0.2-en-GB.xpi 461224 BLAKE2B ef8cddeb8d656e8ee7297ce390b5bb1e924d8f0789c00e62964453f0237b4355e5caf2fe206f4fe6e0bd2ec54d32821b719b92a5c504570e61b531bd79cb2384 SHA512 00d743eba526a1ac5dd2dfec12573398fd0c54c5333dba68584fb557ed648f183f06b86bce7ebddb08049f3e613846b07256ff74f5f0335fe212c5dee6fac034 +DIST thunderbird-150.0.2-es-AR.xpi 505269 BLAKE2B cc374dc056d6a0552c4cece464ac026ad3557fed5da908881943c520582d3655e1b4a261c7178811fd90407fbdd1f98a94af15f358de8dfa134a303c0e48a645 SHA512 9dc7cd3915f117fc6d71cbcc8dae4e3477f309ef798324fdd23ac2c9c4e9a6a5ca9fa55e97f57bc26af711c501da316b79ba3d84be3f85f075efc174f9b3a689 +DIST thunderbird-150.0.2-es-ES.xpi 507274 BLAKE2B c9e9dcb7b32f30143f52b3d39f5bf0696d4e681fd15ccbce349d956080f87eeade829bdab3e8a21c20b416964b2bca516a04c191e762e72a4efed36e0ac8e0ef SHA512 19835ec4c7e30c6f48f20911b27ceb9eabe6c51f68d5a9f868ed6d02f9daa9ce12fc9cec6a435312c49d4797c07edb131ec9a2422126593ea9bb8637a1541d66 +DIST thunderbird-150.0.2-et.xpi 440072 BLAKE2B 703efdcdd1bb958c5a6c4151ee88a209314fac3b395d23a939dfd0788e4df64904812a4df9ea3444682a645471c918b6684ac658894c048a748a8b7046629f46 SHA512 3f3b251dbb8636d5a12327c53ee6135ef9a5919f693d888116b71059b303bbd52dcedb94de81ff01d15e7d1eb17d645791e4814519753941db71f6bc3fd235df +DIST thunderbird-150.0.2-eu.xpi 484174 BLAKE2B 348dac833e44ab6e89b1fa10e0eb9685307f9f7f1feb51d11afef2d69579e0ab74752aa718e17632af4e3f86ccba3d18e3730371c2c4a1603783d679b0e2c75e SHA512 08489e53d9c1615a62043111f15d0459c0c0640da970229ae260b42280c5d79387736c1e82aaa7681bec59a28fe0ad981171cd38982921e41d33bc5da8a9683a +DIST thunderbird-150.0.2-fi.xpi 481268 BLAKE2B cc17c659e7893485abb6745a75c3221e064e0f8270795782a675851cb4d2b1c3b78b12e52e9adfa013ab7f9f8570bd639fd51d089527958c78effe5fb8ce83ee SHA512 840e5248c5c08ad42d0319bd2d6daa2481efb638f3ed144f57cd1c60686c7c487a328015c3f94fe18a988d4b97025ab2d4c3dbcecb6161cb5b6c109e6758738a +DIST thunderbird-150.0.2-fr.xpi 518985 BLAKE2B 09312b8040a699fe251fd320aea0214c3964646c80a7a1c013c4107a34a776e45dca5daa5a12298cd68b7c94dc636aa7f29987f238d2aee060ddfc3ceb3dc805 SHA512 6803ca1ddf0f05f774bd4504d2d0c5baadfa232bcf602f3ecf905a44a028e8a0e107939fdf471831311c33216fb8693e9fa5e3889e3e5f4f1b37bd90fd2c4f40 +DIST thunderbird-150.0.2-fy-NL.xpi 500730 BLAKE2B 0f9b44bb665706a7e5cf3d0c011e130179d09be899cb0a582296f8e2c17ca48b0100566b2c7f7a4a9a1e1f6e52dcec2df761fd74eb10cf312f6b6ac924fdae2f SHA512 989e6ce55db80fd0c718e4eff182e551041d1d2cefcaff86ae69e0252af7b72415bbeb62b2e71982dbf1aae4842b1fe26abd965aa48549e531ff9ca9e18e11c8 +DIST thunderbird-150.0.2-ga-IE.xpi 373626 BLAKE2B ae8b7837d60f15fcd4298b076e22bf7848f1ee51322973c2e597b017f2aa75afefeaa5b7cf42ed216447cd263a39f7516f91793013cc6a31df45c312581aa8a8 SHA512 fe8a8cda7f3b12195eb7c24f5c8b85b6a3553ac66c59b28893f6208752f74d90fef85102c79feff8cea0a30042631e266a520effdb6b94869bb900f907772eea +DIST thunderbird-150.0.2-gd.xpi 458769 BLAKE2B ea84a3c2a7d9d6496c72f2320f3679c92e0abcc35d5e296737fc0a1fdaacfe416c8e55303035eba7a53f4374a0ddb31b8e7e98080fefc8bae8977b00ef0cd5bb SHA512 8db2ff70b7adfe2886766457c2b422577dd5d1be59df879a636f357479ba52c3fe047a086185aac2a6beffd5e7eb3219e8fe257af4e99006614ed426a6cc3157 +DIST thunderbird-150.0.2-gl.xpi 487463 BLAKE2B d3b3ec2d4703c008acd41b4976993b18d2a7317a12d492c1f39b54a12f45be274070c14b9b6359801ecb9bd434a2b851113f512035887ae707cbd519a6c090c1 SHA512 ae10fe723e2d9210181ada00d54cf9b4e33b585f1ff1b18e3f13adfd552b6f72681088340dced983ef17787aa4b1e15328eb53fe600c23457159aa5e9bd1b115 +DIST thunderbird-150.0.2-he.xpi 445468 BLAKE2B 1c51ffe5af8d1530ce529669b2a1204d8c4b57a60c7ab545c0c21a8c96b32c65374575a966b28d707ffa643dd2fbb02f6d11d6952856b1c7a0dae74fcbb40b09 SHA512 2164bc5bd8d075e900e0aa58458d8c7dd7b7874c0e8c45382c0695394e7a45da02d308aa84293e5bfb871f01e75d5a8cd8049067eac03e3ea278f966bde6d1aa +DIST thunderbird-150.0.2-hr.xpi 478731 BLAKE2B bac9bc190ed3c836afb7bc80d725d1b9dd19a0baa64b6ad3506436fed25c849f8a91670e9d4c5e374c96984d358f3c070ce9c0a0b0469a405d2408b27efec5cc SHA512 4f19297596987f1f20c11230ff94ac6910a7a872e4151106ab00500adc0b1dd747f2c91c7bc1523a6919b8bbf6949d234a4b9d91337626282fbc495c57173b1b +DIST thunderbird-150.0.2-hsb.xpi 525875 BLAKE2B f0ede677e5b5505362f27496f63f87240c0a0b6faab18e24e6feffc81b3ae42441aa358bcbea834f2c18fa107f4b3c2a6ff1d1783478656f2ef4f3f80f06ecb4 SHA512 7f5c02283c444fce1e151f9df5a7ea1a8ec92c4de3140f44bfc573d2274446b7175e97d2e80cba1447b2f865dda67c022b78fc38dde83604dcdc116c392cf7d8 +DIST thunderbird-150.0.2-hu.xpi 528213 BLAKE2B 5669922f6f262ea6bcef6e85db115ec27a2d9870f54bd39015e8ba0238cbfb291ab137b6c6b25452165db0e04a8e38fb29ab8747ca962464bef4a99638f78593 SHA512 5f77aa55a08a69d17549e3862193a370fd12f64687b279a793e192b4c8a6c2068ad993019984b40e04a691afc2451fe236aef79fcf0660403e1c90aa469598a8 +DIST thunderbird-150.0.2-id.xpi 470966 BLAKE2B d088730372e12d4dc71d19c67b7b8a713d4927659d8d49ec897d456c9c9d55ac6abddecaacb006b0625057a30f38f045c8628939817a24a376e5d9e95e631f5f SHA512 e410a927d95981362e7ad8e9d178f05627c481aa0e650b52d790e9aff547253b5ac82116fc552119a8e7a8501bfaf881f5695266991e7c550cffbf96ccb64cfc +DIST thunderbird-150.0.2-is.xpi 486402 BLAKE2B c933c00875ce74d7dc808404356a0b5ac21d8f35161eeec689580023a2ad219b2a15004ce920698c3a2e98bdeab594478350395129ce2fbea9a47938f062ec26 SHA512 6c4b376a7923fda84cf8dab9128f8da6728afdff5fcde2018cc3e9d659df9fca65fbb85b5f2d5fa011eb8bf777b760deba0ad90b2be4deb0b029618e129390f3 +DIST thunderbird-150.0.2-it.xpi 498534 BLAKE2B cd6bb9e07500a4bae5a3bcad0f799f250f4bdfdb96ceac84741370d5a228d8ff1f071fdd4e1c01b4e1b1d22f29f4b801e2de646b20e6c7a040eb921e7af2c95b SHA512 0fabc90cdd471243499b0027bfafa52ba53bba7366a440853d7083279a51a54de08223ffd2126ee24d27c34754e63c0b9b245c4ad3f5a12fd8b3bdea14255d42 +DIST thunderbird-150.0.2-ja.xpi 549573 BLAKE2B 52e2afbc18240c873c58b156bf3c33f8b6598df26ba5497ef89cd2df638301a941f3f0192b9c6eefac838a758d8bc192c2e6902f21c46fa4efadfe1d34f9562b SHA512 aa1bbe68d17716fde77ddb941c62446b8208638293d42cd78e1d60c1e0347a8bcd5c1b9e44064fc2abe526514b2fc6dcffcd9690a697dbc4c029370e4177f805 +DIST thunderbird-150.0.2-ka.xpi 566733 BLAKE2B 8d292896c1bbf58929a55d2cdd05811ee39065aeef1fe26908050e5759f21c3c0d68c8adb56c882b80eba6572e2cf34e3c2f0399084736b6fd2bcd0e3ca48a3e SHA512 0fc316cf1c29a36aeead7473ced1978586020388e7ae2ee738830308d2a8dced4f15b0806e71be21dfb34377a731c6d331792324ee820dccd97ebb9a3d82b2f8 +DIST thunderbird-150.0.2-kab.xpi 467794 BLAKE2B 04c29e9c07d282dc0e8184e377720f1e0d0e554691f531bbb03be86ce51053b837bc25b6c4c7a72ade0d5aecd5132a5cd5150c58c3e42d4b8780f605bcc89be8 SHA512 6094bb6e5f3bb2eac011488ca21b3020ae859a3fd735e06996f70dddf92b64e87160d1a63b06c96cda97e39d1219296903ea321caa26c45cf9bb987730969240 +DIST thunderbird-150.0.2-kk.xpi 590480 BLAKE2B 588041255991896b57ab5c8e9b670c6d55b95bc7e87406037f696fbbcc4cc36ddecacf9781ed0d9604b0fc35c1effbef687ea7ae8ddc1e4cf7862545d5584eab SHA512 179d2302d243081f53b1fae36d3b1a93278fed6ea125482d3e2d7cc0dcecd4af37ca93db215bdb0cf49d367767d1e6a37ffb02bfd3c996f2849cb3109ebf182c +DIST thunderbird-150.0.2-ko.xpi 520511 BLAKE2B 5866dcb24e00a4c7634963cd10decabad8a3d566094c0a4519c25cd1a47fb0a5f2a350c0f3f09accc8da3970fa19dc01c9ade831bcf83c4af91b6cb528134398 SHA512 1a6773ce86fa82b32967b705c21e3f649fae96a4527c768ddf72c68cedc71b8d476984e53fddc8d5df7643a4748a5f0ffaeff76b1b3ff29aea15d125187b2b22 +DIST thunderbird-150.0.2-lt.xpi 450147 BLAKE2B 421780ff897d8fdbb025c6e31926b40d144081fbd2c04b091a11b608ae56edfb43476897481f319cf8655b1f35474a8a37f7ce9cf172407e8a6c5a02aca545f9 SHA512 79e9dbee537f1d25b14fb4b4043bfbc1048e8016378290bdc7c08094c40231312919a3f3f766c1401ac048dee82fb7cb2a71ab876dd81097d2b530d52156a685 +DIST thunderbird-150.0.2-lv.xpi 387396 BLAKE2B d9019c6da9dd370ff12a4501353539d0f80e906a6f71afaf88397ed2d2adc1d73ce414f688417eb96b1740d7df4e08a5842d7d212bef2d0101268d70d9cab683 SHA512 2a04d5769f038aa96ecadca023580acc770de90257eeec7c9bd1ad167d41f312d5f693b3b9b7e809a19e1afd538552cb684bfc32c3bc06af32d305140756717d +DIST thunderbird-150.0.2-ms.xpi 349114 BLAKE2B 92e0a728cf80db740d7a39664ab99ecd6e932a038acda2dae766f4ff338e483034b154037281c5bb7cfbfab866822b1d23cd79a5f0c28acfaba6bf3e89cad063 SHA512 e096bc038235a2ff866ffe2b02e19ff827f949282dadd2c9180992a0a5c70ae5562084215548a51ffea80bd1f41b3539b65f817c773929bdb3dd3286b2ca9c2a +DIST thunderbird-150.0.2-nb-NO.xpi 485892 BLAKE2B 846498cf5650f56af21bd882ea3276cecf3ebecff551dde17f7a040b4beb7a09948e2a5f73d2373f5957fee5723cdd56122aafb930a605b9aa3c31b1b0854a1d SHA512 59872871dbd89027935e96cf347a1abd93d77ff7eeb5d7614e009d0b59f13165630225d3ff30b9785b0624ff8da80af7e412a36a4554bdb12cc06af321d71b15 +DIST thunderbird-150.0.2-nl.xpi 492131 BLAKE2B f8cf0a41d4a53f177d8b0ebe5834674e4266220bab70738e0657d664c4ff996b256268bc1d170dcec4a031f94167a2efd1b0d2cc550e89dabce6b4d428ffb570 SHA512 7d655dbaa3ae778f40c6647351a6858c22f4b385d23ee80be59a1000582f8a95fd427820d7413d92fce174ad23ff3c40578f4c7a31e5ce8504ed735997ba2864 +DIST thunderbird-150.0.2-nn-NO.xpi 489740 BLAKE2B f2ee0ec32a399d4d64ce07d7427d0c5111b89671f8e52ce834efb1383815a156df678a0e2258bb607f7009dc7f2cf46467ced4187ce0f7b11e8024fbf9b9da09 SHA512 c9b61c6f79b1e7681247f7a780d1fcafc4aa8eb96e2d762ff3973efb04c03390f0e81405b8d7615227b002c4830beaec12b89e14360c92d7d644447c4221d753 +DIST thunderbird-150.0.2-pa-IN.xpi 437655 BLAKE2B 2fea205f77eb8e62189031d08feecfcbf4be6db1999d6fabe48ac5876e8c0939470bd5cdde478d3b86d712562faeba9db3621a353658a1c67a031e198e413d30 SHA512 92145e4a63bfaf53cb259ab73de0c9252745a9e011db24e406a1e187584e95874b23e8590e546478f39d7a28889df5a7b5f5f1d27927cf1b8b0de365de1707f1 +DIST thunderbird-150.0.2-pl.xpi 526632 BLAKE2B e0b066835cd970a49497a6c14d9cbfa565fed5276c7097060789bad666b34527c19da6e7ae23691773a5d6a3610dcdbf8a1bba36339ed0d17fcc4ce49f8992a6 SHA512 a1873c1f84fab2adf0e78e3efc35bccdae5c1953cbd790a1d9c90b7ae8f730ee13aaf7dcd715499432ada9c89e1af02c6086e4ce3208487ff0b4540a02be0c07 +DIST thunderbird-150.0.2-pt-BR.xpi 499164 BLAKE2B 6d32eee3b259528eeeca909511b5d8e8dae471b9623c30138727bad567cf85f1ec6f1b1734d6ff537e537363dc0ad8ab7b0c9d671e17d74bd223b2de72592983 SHA512 24aa41459dd381a1157992313363ca0326d36ce61ae90f6103919ff47ebd2485bd0484d2875dfc808aa49b6af4e74930669970cf76cc42b071377185e040b3cc +DIST thunderbird-150.0.2-pt-PT.xpi 504619 BLAKE2B aee191c62c698ba79addbf2236d3f2d4f42eb842cd6c7c9ff7180f468c9ea3007db57fb18de02969e1a22aee65da1292a85acd7e5b44d7966c64ecac6bc2a06b SHA512 e26316f58dfa0cf24163f7721d0d6683506d96cfda3a8f3d29b30b1f438bf9e622c260bf2982e516617e332aa79fa52e857725e6d1a5ea12d254fbdef32cd7f6 +DIST thunderbird-150.0.2-rm.xpi 486692 BLAKE2B 2e7be4095191c41d55f116e222c829ee55cbd4d00f18ca81b50e3e1edb82066cd57162f6a760bd6dd98c62ae455162dbef74e6d4058b0c6466b2c172b0cf772e SHA512 c05e90703b23bc48ca87b8f388f56f78628110b9819213d773187f57015d5c1e5384f7584b4ec51f04877b682929160bb699ee2e357170e8bba3242bd1b8ccc8 +DIST thunderbird-150.0.2-ro.xpi 511759 BLAKE2B be344fc9582f6a17139601c72badbfc1143947e7b82f02c73554fec66bbc1942fa89949de61cde20502975470a59c9f6807d9da3f2382282acce4bf00d53040a SHA512 d8042fbf542f7ac9b29cc28e4779db795d2de54dde066f9033432d27684692746eec9d1e7577d19062eae84c02fd6ec8518f8992fada0da53043dde6309fd33f +DIST thunderbird-150.0.2-ru.xpi 605635 BLAKE2B 5e3cc8c6cf728c39d896719d9e58e60ff70caaf5fff395e5a6eb16368bf5de39d8457999b8c02d91edecae2378ded5d901a06e7f537d645ea7a201369c5a27a2 SHA512 857e24e3bd821140514950e703309d8097d8eb5a13d9b1edfac34053e588ffca93c33a6f9bef885de1d7ad70ca9730b2808f225903260f3341e27e7cbc08b23f +DIST thunderbird-150.0.2-sk.xpi 531667 BLAKE2B 348f5ec4de400a65c7892ee93b360e5340511c4be55d1c58d5b603cb3bf6e106dc8c0dcd270b5d46169e22278afb44b1d156d0058088a86f19bcc4bdf244fe12 SHA512 669a1a2f26a1877927616d7c8c8c8aad268f35c554cfbc6618a68a9b2ae73948a223d5e528f7f52219e19aafac036f912b77de08ba987b22461d305625ee0ff3 +DIST thunderbird-150.0.2-sl.xpi 495466 BLAKE2B 44191561879eb7fb81777a8da7f367c6edd9b208b87a52fe3e63730ff4980ae8dd4cc96c46493a3382a49b3385e1e2f9ac2c1cd4f395299217bcbed51143e6ca SHA512 121709c5e914a25ae6ad6e1ffbf94bd6e661f199262b621639750147a528d51606a6b34c2206edcb3ed43626f619ee068164f62eef9ffbb952d534fb22766aba +DIST thunderbird-150.0.2-sq.xpi 516227 BLAKE2B 3ad48a69de6d69f38107dfd5ed42b6849cab2de019d5f356fbfb7a06a0afced5a829d2fec895b137d6de603534e34350542438d3cfd6f24e60ac2658ce1a21ee SHA512 34470442b668336eb2c71049d24c985289c845ffeaabb7e98d7e6fd6890992f56a1adc3266ff96dd71caad3b47a144cd996c9a1c841571472ac2dfff86520c11 +DIST thunderbird-150.0.2-sr.xpi 570332 BLAKE2B f816ca57c5775163e787c027c531f6bcb821fe2061942f08ef5bdf3c4a713eac72d9e220f28a3c13d70844bd445736276ef09df325f81237cb13cfa852adf924 SHA512 0e84911b065635bd7f9bf27d99ffb6ebea20c2d9458fb7af2f020022ea241e1f2617e60097f458f67a648a8403327500066f5d9a7ac4e3dce428aed3e5c1900d +DIST thunderbird-150.0.2-sv-SE.xpi 494342 BLAKE2B f144708242f0447783784f22c1c3e2bf23cb2b635d732ab75cf8648e74589a8303d20bb725ca6154c91ffe943f5ab7dfade40fc407c97de94cd6df271ee44939 SHA512 a2fdfff24f27d222df36f52a2c3bd0fc8f4db8629e4bb3153d5eae0d612d11313b387416feb9bbe13080ecd33ef68f87274947f97e0d76c95a3e7f3bef5b8656 +DIST thunderbird-150.0.2-th.xpi 576326 BLAKE2B d8245409ffd7f4a60002d149cb80f67ea06229465888e275e90a39341abd1f5db06742de5c086ebec4e0db669f0ae2c0a9cc97f6b995b9ce39da8bac0213c27b SHA512 85d9e0007396dcfb80ada72c3338afedf37df61e597f961fa76e0b7f3c8bcf931322641c586a19306e0bd62e6d5730ba4787e217a0f7f1e4f045773514c38a80 +DIST thunderbird-150.0.2-tr.xpi 505727 BLAKE2B ddfaca13f4fd1056ba2b749c2b684365dddc2d00fb21b9dc252ef30a3bb7375864974c387fab8649b63d2b1c6d1da2046b1c7116f3ab050d44ad1a465027834c SHA512 ed09156c17d6d61d0d88a0f01f840719979b82e3a55aaf8cc8b1aecc418ac476239b00a800d7ae5d6d8c7bb9aabf06162aace6ca9adc82bc15e5e73dafb9ff36 +DIST thunderbird-150.0.2-uk.xpi 584076 BLAKE2B e1c00baedfd90513f5c0b1aadb22ddabf5a536d3e5076f850633eacfbca6cd984ba6c2094df6cbd6bfc07104460baf1c58eaa6cdce4bc6d4d1f9c43fdb388d10 SHA512 03093971d1424948dcd1f552a995e271b2fc1e84427a8b2c11fe09bfe681274e27218b7578315ca6326d0172620473dd19b47fc19f3d477beab9e4fdebdb365d +DIST thunderbird-150.0.2-uz.xpi 351485 BLAKE2B eab0986551c345ccca95537e3bacbf71b8a802f57c0b94bf68405bfefa06dc62cca1c9c0babd2004b8e6b26be0baf0cdb6fc9c8bd22fa562602556aedca266bf SHA512 05f91a6d116118d3a3036704013018e21e18ee0612483fd1735d909bdd0e1d1c5fadfb3ca8f815686b85a82b40eb5087099fd682fef363641568ae354c4f2a65 +DIST thunderbird-150.0.2-vi.xpi 528201 BLAKE2B 237d2b092afd10fb5459c62be459097c3ce67f69dab77fbe7db22abccf0caf791cc4cb982748d638b5ebd0053970c2e5c9dbcf76e0ccc82515e671f47a0ea615 SHA512 36b1c95ad0f888795652c5f3a92e5906eefa54306a8a282709937ae5b0221ad63cf1c65e822ac8a26bd05de9872f6923f2005ece70c92cc69f196633a63b234b +DIST thunderbird-150.0.2-zh-CN.xpi 516832 BLAKE2B 77118df80257ea51065f6ccbd340b482381eaad7220dbb0b8cfd8a242f85e68593b4b885bdaf433415a6837e92562b33c6e51cdd58f6d02414da00639092775e SHA512 7aaf02bbebb49ad086b16c7638ca1cbf22b0e84179a4c694724431bc86fd78917b1a5406e6917ffb9fd626b8e3339ed60d969f4b99a5dced6534c5946f150907 +DIST thunderbird-150.0.2-zh-TW.xpi 520973 BLAKE2B c4b4eec9ccd0f15b0b5ea694a9eb540f005b7e3b833f2fa1d87e8553d10fecb81b5fa76ac78060679ac05ba26023622406c26a1e07fc162bb40f0572568247b6 SHA512 7734a1a1302645a7fd3f6c134eee8949b17c96e2eb373a79f0a312dc22be772a6eb725402d8ea45b31067e8fd142b2193edefbe19924c92bf18bfcb57ae376f3 diff --git a/mail-client/thunderbird-l10n/metadata.xml b/mail-client/thunderbird-l10n/metadata.xml new file mode 100644 index 000000000000..3c1753c77546 --- /dev/null +++ b/mail-client/thunderbird-l10n/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>mozilla@gentoo.org</email> + <name>Gentoo Mozilla Team</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/thunderbird-l10n/thunderbird-l10n-150.0.1.ebuild b/mail-client/thunderbird-l10n/thunderbird-l10n-150.0.1.ebuild new file mode 100644 index 000000000000..86dbc798fed6 --- /dev/null +++ b/mail-client/thunderbird-l10n/thunderbird-l10n-150.0.1.ebuild @@ -0,0 +1,140 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-l10n}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +DESCRIPTION="Thunderbird mail client's translation files" +HOMEPAGE="https://www.thunderbird.net/" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86" + +# 150.0 is when thunderbird-l10n was introduced. +RDEPEND="!<mail-client/thunderbird-150.0" +BDEPEND="app-arch/unzip" + +S="${WORKDIR}" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB + en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu id + is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO pa-IN pl pt-BR + pt-PT rm ro ru sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_install() { + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${MOZ_PN}" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi +} diff --git a/mail-client/thunderbird-l10n/thunderbird-l10n-150.0.2.ebuild b/mail-client/thunderbird-l10n/thunderbird-l10n-150.0.2.ebuild new file mode 100644 index 000000000000..86dbc798fed6 --- /dev/null +++ b/mail-client/thunderbird-l10n/thunderbird-l10n-150.0.2.ebuild @@ -0,0 +1,140 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-l10n}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +DESCRIPTION="Thunderbird mail client's translation files" +HOMEPAGE="https://www.thunderbird.net/" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86" + +# 150.0 is when thunderbird-l10n was introduced. +RDEPEND="!<mail-client/thunderbird-150.0" +BDEPEND="app-arch/unzip" + +S="${WORKDIR}" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB + en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu id + is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO pa-IN pl pt-BR + pt-PT rm ro ru sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_install() { + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${MOZ_PN}" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi +} diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest new file mode 100644 index 000000000000..8537187ae5ae --- /dev/null +++ b/mail-client/thunderbird/Manifest @@ -0,0 +1,267 @@ +DIST firefox-139-loong-patches-02.tar.xz 3096 BLAKE2B 2e9c0f3dac780c808a13f70fe3808df9976898360b55113def97bf3594893166e0647c70ebc389b2d14fa2c2453fc1dd68aba20d92178670ef97d70c34205e1c SHA512 e1244007290e2e15d14cf519e3ade6a4da06abe41c416de60569a11396609661cb62fb5b592e763cc079406699dc33d6a34851f71068f4d09bdf34021b035a59 +DIST firefox-140esr-patches-09t.tar.xz 46840 BLAKE2B 2748af2df938c370307cdecb79827fba4eda6221fc6a36a01d719413c3e3188d02d1a04b1bee5452bcc6bee42d6a4a24cdea706bbc2a45f4974fe3e2a22652d8 SHA512 57a174599436f1fc44982e091256d53fb9a762387386cf3e52950ae8043209c089357d907a7b1f453154ed1d3bc4e8e4069d8e9163a02def2e6e198d551ffdc5 +DIST firefox-140esr-patches-10t.tar.xz 46292 BLAKE2B 94a87aa63b5f202b6d6ba7a9b15e0f0b4132aff767e21c917f7cac4ffd545104849fd6cf2e6c61bd0880aae5f4ca6a5a631b81056764faa432ccaefa99888552 SHA512 63bc2987dc9a261a337c322c10496c92be3786b8e4c9b549a8893ba507eae379c6edd6b47c5017c9f71bbd82c61b83fd77e6bb264886caf14842092d8c3f120c +DIST firefox-140esr-patches-11t.tar.xz 40212 BLAKE2B eb873d82d937c95fa9e1680ba3aea9221aef9e225c62f4b13dca3a01aa2e478ad4035fa8be2ad4f3dceebe4afefbd0d7315da06153cb03b58068184430d4dcbf SHA512 06686e48ed1fe26f325d52a5231dd0e29413bb0a714eb2b427f5293c95b5d03906f373a3f98a5e63d8dba78a8fed1f8cf46906a1dc535d0fb895eb83b8b8a8b5 +DIST firefox-150-patches-04t.tar.xz 13000 BLAKE2B fbab543fca8053982bad0fe21b208c5de00ff93c1a14a2bd028b2c4b4a8725ab0b928fc404ca2782f439afe57d63e8d2e2a4e71ea07c5cbd3f2a784f458807a8 SHA512 c38f6b2b663741ce3d69da7e418b263674eac3c60835049c2379c64a8299768964cb4eea90c5c9043b3e4b7261e2f56a9478caed56004aa9615f1c6b3dba98fc +DIST thunderbird-140.10.1esr-af.xpi 316220 BLAKE2B d0acacea20766a989edaae596a28bad59559f9dd4a72ebbd0e6d2fcaa912d30fb5a7deb40a6efc49ffb2d2f652b4015d8c099b70e3a61cc289d88a2880c9c8ce SHA512 0b864dceb467f361c71920fff528a322acf91b9b5f6f1d5eeaf953252502f152e88e7aeb8ecc055154700f94953780c85688a7d318f4077023a784d389d3f59f +DIST thunderbird-140.10.1esr-ar.xpi 436197 BLAKE2B e36bcd647e84bee5016bdfe265ebeab340cfe1e20463378b3637916f68b3869b3243cb8b32c201c69fe4ac645a7692dcb08c6fa83362a189b60b463d65b291f9 SHA512 c72254fdbca186c306d6a03fc8c44ef2b53e77ba81449130d8305e04a1aca0cb4b3b35a299132c1b25f9754eea316c698e7e18a2f4515956b048d6cbb77e5f04 +DIST thunderbird-140.10.1esr-ast.xpi 340600 BLAKE2B b1b90fc1a0726e959d4ba48fc23ab9a64e2155981cdb769d10e4d34433ce8f287600e1eca23b23d4daf2fba76d79bf2aef4c28f4290be8741c9156926632ba74 SHA512 e4a7fcd8b43e59f07a64ad72df02725fea9e75eb0cbceb46c4b384e650335a58ab0f36eb0f289a5ede71fd511c57115dfe806748009db7e984e700826969b6f7 +DIST thunderbird-140.10.1esr-be.xpi 522095 BLAKE2B b5efa43cfee7200d662f5f679c58bbdf663eebc01754f5652c47760abfe4533a9e58f0ebc2457142c5c59a8b40df517a8dbbca117558b64d37c82a50a8d1a551 SHA512 41251fd8a63e18a630becb90e8307066c8a3967ceb625b0bac5ebb6085460ce527c9e225e0b8dd17e41ac8a861f4cc3b799955a89a03000393763d5908c6c7e3 +DIST thunderbird-140.10.1esr-bg.xpi 539807 BLAKE2B 9e8f92187fa74d2e36ad8cfe28b40a484dd5aa85285dbf56a43a58377a8f09460cddedac6cccafdefec2c5ad269bf3675a17f71c6a9e432e5369f4fadac4f8fe SHA512 deb914e43786ee2e7abb473c7620f5ffc1337298fe9a99b496ea6a1a1cb990bf73388ff02d5ed0173d1aa1d998a20c3d172b698dd820e5032e66bff91b8d0681 +DIST thunderbird-140.10.1esr-br.xpi 402749 BLAKE2B 45161cb38a7e69148e78962c18c4af12190a8b129acc6ade548c99f433e115484a18e9a1dfb93c5b31396f9d811fe756cfe9fec34534dd96e1520190001aec72 SHA512 d3c8bf30fa81e4a2891319a6eca19798924836c5328c8cf535cba201c4b6265f03dbd4ca05a3df960ecf4d3a65dda052acef9e8668c369a35d16f31869fd663a +DIST thunderbird-140.10.1esr-ca.xpi 440673 BLAKE2B bdaa668e90f8ff29d4479e29e5fee5de1d994547a0d7a922a7a337fc2dfca0fd549c2f4de9ae3100df4c1e03db4a94345d44b9d475d6d04462d3a065c06a49b4 SHA512 f0572cf4b761cafa7cf7fb7b2db8fdf55910d63a30b9d1e42a5430fa76dc9c41c9a75ee6f9e62a46358871be57f84b3681765c62cf28ca5e84ecfcb3d71bd2a8 +DIST thunderbird-140.10.1esr-cak.xpi 418023 BLAKE2B 9c8b15d5030b579e111cf81bab8110144d971abebf54c2a319efe640c031e172e8c31bde31f7af3e7ad510a909ec31685ad2752f6b3cba556971f5d6bd635f62 SHA512 042b95dfa8937e4641052ff1b06d9df8ee701ae0a116d3ea4f510483603a97bc07dc471ac09ba6d34bb6a557c51fe93b0f1e9c1827ec1a5b804b86d9e95d1409 +DIST thunderbird-140.10.1esr-cs.xpi 519563 BLAKE2B 48bbdf8b10a805039ee065bff4f7190f6fe9f4c7dd503db456c61351c12f411a1407faba6616e3107f9f062b562a29ca061665ea204de63a704aa37c67cf09ff SHA512 76e17e84bd282540c17596af4eafd86277ed467ec0e4b1411d25dcb8420b4b303474790f170202540c4a7c4eb47a7de4c5f429cbcf28da5574c979432d3baec4 +DIST thunderbird-140.10.1esr-cy.xpi 487652 BLAKE2B 90fd127881a7f1f0efad78f9e36c37f2bb74292ab5addae1e89d743767cb1540426e8cc0a1e330da56d0e0cbbff3244d438c51a51191d45f7c0d3a2d7338fa0e SHA512 980e239d9fe12b682f7c5df434af54a78139bf047f88be3fde9a83c575bf482066e88500e2bbfeee32181e8174aa33c6fd59ab9b6108b254bd126758eebcb538 +DIST thunderbird-140.10.1esr-da.xpi 476624 BLAKE2B ab123fe4c150279b6afa2b7d3ec1b1433e7e987085e5d22829f8100f8b0afe1731fcd02b89f569d5cca862a5258604c04c636225b107931bf2d9d3aa3893d93e SHA512 4bb9da910811a281e030488189eeaaf6698165a4e55855af79a3a36008ddaafd7a1cdf3cf02ec63f2b44ece6c37b5ea15971c213af976ee37bb91fa21e88ae28 +DIST thunderbird-140.10.1esr-de.xpi 504708 BLAKE2B 80baddec0281f6ba4419018e24717bc11df5514f07203d1409bee3cf923f502ec5161845e047095137eec4ab48eceee9ba367fe356b888aef81f42e4d2a5ec80 SHA512 feef08a3d20552268e80ce2d7d088a88687ef8d83edbbbf157a78979e14419065439f8bd918a0179f2a599f5829cca392ade4ca74a2731a08ace31908383ba78 +DIST thunderbird-140.10.1esr-dsb.xpi 517789 BLAKE2B 585fe0fe10b8e6105b0e546de0db4a721d00471eb3901fbecd39b09d453f8c83ab86fd8b13d982c45e89ccb394f625e9e03cb300024224dbe438a73578a79d6e SHA512 aeda29fe12c6f8f4d9377a0c2aabf01c28e5e6b1d8195fda1270517172b0e73e513ea6e05751d1baf5da64ed427438826804632731d01117342d8ce18128bcdd +DIST thunderbird-140.10.1esr-el.xpi 609040 BLAKE2B 47abc60cd617f20ac160d17cd20678c06dc2d73aaa7b3003fa116ed489bde5a4370f2652c92bc37584c2a756748df5356c28847eff84dddd49f345d904168b9e SHA512 51c9c27f25f0e2eae8c361560a0d260824df18c44d8383b03f71c11bea2ca73b146a7bb5bca52e7e0af6bcc07a9042701aba4057f6b62d8c19b269179d061ca0 +DIST thunderbird-140.10.1esr-en-CA.xpi 452240 BLAKE2B 861c92a0c0f951f555a44fd9c07922551a71900dd75c883869c8749decfaf4858174add6443d6ede68d6078fa44d5752e34efc98ed222bc752726c303a0bf361 SHA512 087a3afeec80061f27421e4e110405b6ce8763737bd07662bde4c8e21b32af6daa9d563732b0a0e4249f100e388f0e7db247607b235ed460646b465f878779dd +DIST thunderbird-140.10.1esr-en-GB.xpi 452069 BLAKE2B 50d7fa4dd269e08c0e2b802b70c08a1faa09bb1e67f2b9260e8f63d21acb9b02119a9262533de7f435a632fae6d34cdfc4b5a81cdacfcf4bdd48d0d018c44ff0 SHA512 4ade7068fee77975c417a9dfa4ecd8de0b93e12e8ea5f97125680b11602c0c0eacbd89898fbd5a2b258972e2ebf456c27222b041117ceb10b1edc3707eb21d7c +DIST thunderbird-140.10.1esr-es-AR.xpi 495267 BLAKE2B 431d141231236dc4c2a990564cfcd847426b0fc67127538dc3467b9f4a2a679ea6b365385602271e5c27dd4646bef1a371a691d7262953d82cd320ae0e81f9ac SHA512 aac8e861447c7156b4a4021a6126a5408333182a523956a01b94ca6ee2d939946fd7c06abc604a35ce9e9a997359bb7fa8c1cca68e258a5962a024437b20c277 +DIST thunderbird-140.10.1esr-es-ES.xpi 497286 BLAKE2B 13083e615920fe06549f92ba9634e096ade7ca91f26bc09f5cfdc9cc49df5c0fe09c963ed31fa400a0ad15d7f2e122e6343a812330b48111ed7d6228fdc650cc SHA512 0c34d6f5d3714cd5851043fb6112767e10de72d56cab606e7864d97625b84ea0541de7202fa4053647005c17af09e7d0fb04ac788455b478650329c27caba9a6 +DIST thunderbird-140.10.1esr-es-MX.xpi 490827 BLAKE2B e0479fbd71711a9952ed3a6479ae11a2701b81cfa07579742519f43728882afa9792c75e01f467880e255eec9a98a1bf4240354e88dc85b5d9d3743133766b8b SHA512 601e16a635b75d0136ac4d7302d488e83c2602675cc683770fc71274165a9bc63f7ef909245a09ff851f96f244647b952122cb391c4676778fe0cdc2566c429e +DIST thunderbird-140.10.1esr-et.xpi 443619 BLAKE2B 7492dde85fa8c5b3fe7d515168e9a865dd4da7dff706f9664272feab72f8eb42e4e27b9a7269161c393cc6b306a7752c11ed8287136f729c13a1ec4e299ad932 SHA512 f0000504e2c942a05c6e4eff2c68376a7a1672e1287caa1658a648ef6b2e62f4a1353b2e597eaf68eff4cbf707c3f077cad92280efac8657f6c09f155b74e447 +DIST thunderbird-140.10.1esr-eu.xpi 473924 BLAKE2B b3d4b32de0e773f8de96aca04d4b5de4269b49ec5eddd4312acb7c6e126d50061a0c12d16b2998f56094a8d66054658a8bb6b0f88ae2e600391b8c95c38f27c0 SHA512 2a1ac81a4701639ccd1250836ca731011c0bada61d2e62b55a699987c04bbcc85ecc2f2ade1b097cf0c26b40f4513aab40f3816b360ab9de8c5ab0d07abd059f +DIST thunderbird-140.10.1esr-fi.xpi 475620 BLAKE2B b9d82867d2704bba2012c2d0e5ac689781337986584316757e5ba4b3dd6396fac6f095d18ae69a69e70b8acc0a3bb00f3c053b4d1663b67faea686771f450d33 SHA512 3a840682cf9b851fc677870da77a442226a67bbd4a8c0cb8a4ce7c3b0ea0bd64e9b8cc4069b854586b0c3302eeba595d3b5a42c4f660d0bc05d23bf930bfa111 +DIST thunderbird-140.10.1esr-fr.xpi 508318 BLAKE2B a8b1b62c69e9222cb5260e77ebfa8328a9ae6415450680c4d742e4858d6954d0e405ea4db482cb850655274ffb209a592080185f7c6f8c381c952014f38236bf SHA512 6ad939b1a1d10d0b978c79d1d30fa36d24df72607fceeeb7a4e1b041b05582e487e16436c66047a3ed1b9695c5271d49d1f8ae416c54aa49e03fc445540e32e8 +DIST thunderbird-140.10.1esr-fy-NL.xpi 490684 BLAKE2B ee1a8e07c06048a60f30492860a5e74666c415f77523602391710f902cd86cec1483419373a6bff964d2ced3ab5e6229ffc9eeb361259b6aab7ab44a2154aad9 SHA512 6382a59a0d893b3462cd6accd40c4dabd138707c9c44d8d41dd386ab533cfe072847605358bbcd1f12b9c52fea0cadcf7aae9e1e8ba0fe6ae4de2702d7b8a540 +DIST thunderbird-140.10.1esr-ga-IE.xpi 376747 BLAKE2B a6aa53f6dea59008f83ca736e9913b1cfe071ef1a818967902be9ab8ec226effd1cfd4d328e2c2dcad46481e5ee8a97c637c09c9b7f3ec2b4008de2d36c8848e SHA512 0e9e429bb8276450ef2a18adf8111bae66f548dea5332b422140fec6b2cffc942f5d6f65ff41e9556201631964d8f2ad3e724ffae5b148d9a2708bd3fa54d180 +DIST thunderbird-140.10.1esr-gd.xpi 461974 BLAKE2B f70afeb3a0a67c3d38972b2f573690024e57874fc10950319f786af7b3a9360bda97e91b9cdc57b8c1518f025de1a9bc5b321e5b91de91a2129942b6b2055d96 SHA512 17f3acba462212a76f0416e5568f309ca8a068fad1733cde355fcc5877840cc2412b453fdf6cd568f671216427a5cdf38b134212836d0e8018e637d3f2a88d31 +DIST thunderbird-140.10.1esr-gl.xpi 489347 BLAKE2B 65d327a8bb7bb9e70eade6617028192897e0744fa2a756673efe0da8b7013bceef50ddcf8404c894300e931124fd520134e1bf46f7db71ff60bae0bebe87dfcd SHA512 f8334a7ab839534d93e1a4397c4b3601b1d5ed2c96fa386311cd032d6389e4d8903b088282cf542084a7399b4f9b6662dd43c7643e26546a7333d807912db305 +DIST thunderbird-140.10.1esr-he.xpi 444207 BLAKE2B 4c36b341402a3e1ba188f0683a031ea906881fbcfe087f0d1c991875c1ca8a329b3ed4e52e7d3ac8c88f279b9e499c4d525a7bc3ad53b29c615facc4a8c89cb0 SHA512 31d19ba774578948c385f30fc9a4dad0b82c243db29a04a3fcece6cf5c173345069e179d80f2f87131e8885d7859bb27664fce149f44cfd04efa1b3e57c06311 +DIST thunderbird-140.10.1esr-hr.xpi 471058 BLAKE2B dddc54deb4f5c4ac0d172f289ab9a696efefd7926b69a95d9818037972c06b90bba824cdfc24c18da28c6eee8b30b407a87477cf89b314d65d06ae9c34baf598 SHA512 05a193a52433f1311be05f161875fe7dd14d98899f12ac58df452d0ab73ade1714d347e86e8cd93814328cfb8ef7016ea60c74713653d03131da465586d33546 +DIST thunderbird-140.10.1esr-hsb.xpi 514954 BLAKE2B 49619f9ca7575a026e842165865dcf8d01665b29c984e2fa265c8b540b7558122d8b0070b69d2ee4b8dded894bdfe001861abe8f0e3c15e9dcd201d17310e889 SHA512 c128e1a00f2fe573957c0476861c6a75cfa861978e35f3c8059bcdc6bf3542c672aa387f79e3f5bb6dace2c32511e7f0b77d43e9c68079c6efd547c96d95d625 +DIST thunderbird-140.10.1esr-hu.xpi 517545 BLAKE2B dc4687a21c0cef6e7c6c62975a68b20c99dfe0908ca76694bf1e1d0de31e3343544f9274f689b6e373a4141237e0c440262b34a45d2c1ef81139305d0df0f8db SHA512 d482a3009a0216fb84c4f02d8d9556a8c2491298d9c838f80424318d5c2019c8e5e63fc96c82e595b747fb25a0e3b615cdb258594e7e0804b52bc4501172afb5 +DIST thunderbird-140.10.1esr-id.xpi 467005 BLAKE2B c2d1021c2a904902c9976a25be289b1927d6a008df518a478fd3918d43ca14e8c6b8106189253c5e8ae9bc3c1b3ac33034396a011f7bbc118a14b03450dd0920 SHA512 a64805c3c3bfd18dfe88ff16653f4e28422ff1a116f9d3e3afb82f1c2513c8537ab02db4cbb4f6178beb00b5843c8047f0247bbffceb0c6166d2fb41448a7ac4 +DIST thunderbird-140.10.1esr-is.xpi 482740 BLAKE2B 4671d26a887cca603b73dc625bdf9f54b8b281c66c8b2f538efda076405630f724c4fcc2c24ad1887c8e1cb269991923c24b78d33fda9b124bf67065f643aa28 SHA512 fc36c94c5cfaa58e649de1b0e49305c6a71dab0b0cf7c34b86be7f6eff55ddbab9ebb88e3ed2c9e2f1b9f933caf304c92195d46212a77e706cb03d103d533b82 +DIST thunderbird-140.10.1esr-it.xpi 488528 BLAKE2B cae804c49ce2bccf61994b10c96dfe6244a18a8d82412454e625db79956eea3e3de2bf09143ed5123e78c898fff30ec09cdc2102cd31d2f3eaf9464e7064a923 SHA512 37d068f6e38552889f2175251cf733599ec60523ed7bf7b6ad01b54717c41b95bc4200069372c6bb2ddfc4b9c47ee1de9926e1ef103b79a2309c12e43a264633 +DIST thunderbird-140.10.1esr-ja.xpi 539184 BLAKE2B 6f9ff7aabcf054e8091a8295b4f704a49d0d65849e5a4c9e8e60f8399a8338d99ea22abed853fe6d1822b14a4b552eaee65aaa4a88fd015abb0ba5fdb6caea2c SHA512 7e6ae6b3cff5d33d9c596d7db172a6618d81b41e9a536b6d1116f1e70cf384e22c57318fe4aeb63395c5531cee86a265d1940767a614ce972839713586239f90 +DIST thunderbird-140.10.1esr-ka.xpi 554795 BLAKE2B b7ec92031883eede7767d5efee94e46ab79ad50c6ef0d19a657e59d68b5f784f62bd80421e1196a6c4f02b05edf15ef6f603916136e0b7f3d8a5c21c0cbed288 SHA512 59957b0d855e525eeae465411f4ff4fe46513e11c2f32b1de1abe1bd0578b7ff428537a8b86fdd622d1609051996c17686ea118cb2a09ee836ae067e7346d351 +DIST thunderbird-140.10.1esr-kab.xpi 470498 BLAKE2B b7058503977a2e0de5dba6b0590b3bd1531bdbac9822af58d3b4b2e15ac97871783c34f3861084290924758bccb11413142f851478a753f137bc0d1967d246f9 SHA512 510da2f84269e80487dd3338e9ff7dcd8cc5d457edaec74e09a2e39708ede3e89aaa5815c09834404e700cda5886dec2942b8a6a9ac9d8cde7ad13aeb7422396 +DIST thunderbird-140.10.1esr-kk.xpi 573885 BLAKE2B 7c43f8bc6bb970668348937bec36837a5844333acd51375649290edfb1aa8f8d72757f252285aad9ad8a7059c9bf96bfb8b39cb7a1839bd4199977612b3f5b8f SHA512 584e83eb5490c5aa1b1eec6a291a6046e73e13fe2e0501f26436839a043732f25ed725f6e2487269967621e2594c04a52653490596230fd566ba144304971596 +DIST thunderbird-140.10.1esr-ko.xpi 515593 BLAKE2B 6a29eaeef697b8c8c4b27537fb72e39721ad603c0187cc1c924eb32a9a17e291274c8e669e2c764310208fd28f3a26db157c87c8bdb325ab31d6612c3149e730 SHA512 b63d7f60faedb6e0a842ad4baf469301c93201495ec159cd39fe076774fa5e509668699cb6a5bbcec80eeba3d754c94b71a971d113cdfe97205c23a5040b3a03 +DIST thunderbird-140.10.1esr-lt.xpi 453437 BLAKE2B df741185c67212fad023630c3c8f7020b246929fe4f2a369c0237bba30e47a2e076a63a4d7d29872d0abac994b86f9936287b4e20376de46f74e6df943f7f26d SHA512 b8ceec7c9dc303e322deb8ac4feca9613efcaafc348cdb34e15ab520486c0207883d1430cacc2a97f7ef9f81873d87dd8cb755d041a820d32aff6b48225ec87f +DIST thunderbird-140.10.1esr-lv.xpi 392816 BLAKE2B c5a60d311fb6e17b10743a3112749803888cfcf30c3c412f04cfc32da03e610e6e182c78e23d64bbc037f38d5c03778164d468b475bcbadaff5cb9e910a5cde2 SHA512 13e8382bad9c0aaa86f0274162737845509f1431f77bfec18044a7f731f0c46be4f3b884746c49255c35eabaf21022fd6b11dea602689a16f4fe6ae40840dcfe +DIST thunderbird-140.10.1esr-ms.xpi 352180 BLAKE2B 0b37654d09297f7799fba2e4ecd1a05105e07cb835f55e590f5ed902d736a7cd42cd62e90c416f56166903d059a71e8ddeccc02682280876ee29e3176b08194f SHA512 13a8f991be051984c5536533ca5f196866777ba9da97ace55b1b9b425926df8fe890ec2db66ad928c45024cdf93f1d0242b136b634e2cce41e0859674b10793a +DIST thunderbird-140.10.1esr-nb-NO.xpi 476124 BLAKE2B 774619509d4a31de6df3ce49db10b37f029c7b5a28abce34e6c149acc53e23232c4f8aaf2998dd913b70c7a634482acd653997d7adf74b7919a4a2b32fa07d6a SHA512 b15ba760886856b6573ff3ae9e7a80565f2c7384b53c166d05d91810fb412bebde5118a4c171b9cd2826cbe5b3243cfa89492d7ba83f067c34a78daeeecc1404 +DIST thunderbird-140.10.1esr-nl.xpi 482119 BLAKE2B b4a20f18ed49ec23e0db4087750255252f2ab37d12d32ee068d486f351fac0e065a70db86ade6b456d7804ac93d63b672ca4ff0a3cfc6fcb81e06c2b3959f671 SHA512 16e6e653c80bce5f404b936fc80882b60621f67147b142ec8d67ed91ad7014976d0e50ef641c77b122184c52cb23161d56b2e7e84b98155bb9fbc69115d455bf +DIST thunderbird-140.10.1esr-nn-NO.xpi 479761 BLAKE2B 9b20bc91dcf2e7277873d94a876a3057262be4f7b314e3cce9457c2cad1458ac0cd27a2f98fd9480c26a687ce96ab3a10e341d956f977d11028db289c5f6b0dc SHA512 3a6d92cec6be3023247218c53f5254321ec2c5af586935d15512fc49b5ab387f6a7aeb89686ed7c21876d357e155d24231d9c8586fb270dd473988a2ba5d37b2 +DIST thunderbird-140.10.1esr-pa-IN.xpi 435733 BLAKE2B 06e2b496bb27499d45352ccf0e1e4b88125fd01a87d8eeb8933c1927f01542fe54847fb2548e01475d0df3eeb75408fc73441ab7f80ee0aad877e312a070357e SHA512 2657b9f07da44bb479df87c65b5aa3e8ca0568f1715df5c657c782eb4e031f9eb55a94cd31528ccb94bb625af6a68723d0b1eab9a27a27047e521d158ab1f1a7 +DIST thunderbird-140.10.1esr-pl.xpi 515613 BLAKE2B d55705bbb3efbff9dc3154dc5829cfbe8c0622f9a6a09766bf641fe82905cf5fe608817280e7ecffa0b91902abf238b6eecd1a72354cf2ee476716b3d88d7407 SHA512 6ac83db6fff426ce45873f6c94e30f6b13bb1796b5874dbafd9d5360155a1ab7ee2f1b5db3c6978b023331b6f41dba6a184177495426d363b9d0960ec949b9c6 +DIST thunderbird-140.10.1esr-pt-BR.xpi 490166 BLAKE2B 1f8751c15e8dd9c386db1c037def86aba0beffbc5b0e426df04f32c6048174f659765d189829f015556aad5bdc29e39efc200f6f0f7ab056d11146ad7ae4fb76 SHA512 83287f21778f946d782e6e73dce2ed1c461a9063b595505e658b8bdaa3e3198cafbe10990dc412455f0ee9a2605f42816010f371a9b0f065aeec621c643ea29b +DIST thunderbird-140.10.1esr-pt-PT.xpi 494210 BLAKE2B cf1984fd454f55150ec8464f1f4e967e38bdeb698ed1fdf654d970fb2fdb13cfcff9d13c8616deb2d39a5ae92dbe48abe048faac320d065bce17c24807ee916a SHA512 ee6c3b39ff7f4973227e9397b9f6dbaa51a797fe2f3fb12a5818f2b93bbf79dec92ebc70eef4daee5cf2c3d0dc7bd9e4c614581f9be7119495411f2707f1bdbb +DIST thunderbird-140.10.1esr-rm.xpi 487883 BLAKE2B a57ad427ce1943afa99363b038e47146391624923077d71937d271f8af1c842a1e28527c38e23c609547cd08da7492ef3a6adbebe8271db15211507b8ad399b0 SHA512 dd775ab0fef9fe33fb30923735307e077398c78e1dfcdc626b74b39a509335e1d3814f547f33915f75b21663eb920fb8026e16af4c00819b392bdc26d0d45367 +DIST thunderbird-140.10.1esr-ro.xpi 501096 BLAKE2B 38d7451dba128ac0b99fc483db0f5e3d6ed36d467b4ee68ee527ccc9f8b93065b7c9086076e67c933ba81a04111c220a7f2d9a1a9695a6eedba89ca18d33486a SHA512 2366ef5aba43c6f8fc36a38ca262be1813de8a461838fe8d4d1e7abd26adb8c1bd9650bed24c06def96ad69f6f9c97ecb966b402213ad01595aebefee6cceaf6 +DIST thunderbird-140.10.1esr-ru.xpi 593344 BLAKE2B 7f0c73333df66254fe24d3e458c6d490dac4b81a2081fdbf835f55288ca0c86e4ed0384baeec5db6d5128393f3b26ffc3b8c4da487956cd6735defccfbcc2878 SHA512 c742dc4a79b53f7308c15b779f96c66bcf68de778c61b9e3c5772878c5baa687410955b92cd0cf47d9ed6b898452583da7b6e429e3a458e70cd6b8d04070a2ef +DIST thunderbird-140.10.1esr-sk.xpi 519392 BLAKE2B 945dab15a77ea3480a88dcbdc4d1a2659bec92ca9950fb8ad3f8655f70b46694af0aa47793d77461dcef94c640b9806241577fa0d416b0b887db54f82d40bfff SHA512 c0a33f147505bb8c2710247d8bb65c3f2bde20703cb20fea404747d59e4c8c1134d67384fedae6ae394fc7a80cde160db39bbf989353d19b607faf5518c4dc43 +DIST thunderbird-140.10.1esr-sl.xpi 485964 BLAKE2B ebc314930b9f327f4fb35241d20309cd242d5866d978f5fb7af2500a3b76deb98faf1dee2657ac7f294ab2d31d05af5fda0064af4d6385abc04d0345055b753e SHA512 59732b2e94719b588fdcfddfca2214cb1018eff79cc89dc4b656262be31ca11bb53a10c82210a48f224b947a04053ea31509484b41c98ae54ef1f53b78c96aea +DIST thunderbird-140.10.1esr-sq.xpi 506278 BLAKE2B 5b19b15dbe5bdbb643492a855ac271f6b9a33a3903bb4be95ee98d8800683b9f09d90d905a50f28663a39c1d282eea954cc48800e58c2de206f2bdfc9b3373d7 SHA512 151ed537462edcbe046ed3b3c311c2aab912ca2f4316e7b018daee1fd2afc3210e9d0b6685b46fc03f7ecbbdc083fb9c70b844a1d22d4487af7bfc324e667ee7 +DIST thunderbird-140.10.1esr-sr.xpi 533251 BLAKE2B d5e489e59fb9c50765b584fe2acfb3f7db1228e68043b29d91aa7c70e081248384342046a8899437098719b9f05ccb481ee052ea6bd41b6b9fe81f71f61b716e SHA512 1ac592de6a33032c9aed92e6afb8d42c3efc2875b75484181c902b8d3c2ef57186757227d89f99ae49191d51253fc9cab0afd2fae2964a7faeecb09cfd1c15ff +DIST thunderbird-140.10.1esr-sv-SE.xpi 484421 BLAKE2B 7e979f5ab3da4b2a29e89e0a7f38d731dc1cc2c547a47a6cdb311dad20a93fbdb65c78bdd9b1ad7ab16180b270f0fc165778e80e789009e339dd0d855404f3aa SHA512 d2bf1f970ef2b9defa56e0cc34c45ca2e371038a1ce14483b0ef7b1667a61cab805226b98aecd3b398feed896ad2c17de94d174336922e7f735f8d734e232d15 +DIST thunderbird-140.10.1esr-th.xpi 569105 BLAKE2B cae932b215a8402257136a52ea83ddbc7783cfdc2c747a65c6c38e3ebc5f943b3e8ee549dc1447799d21c2fb5954ef55c4a5d247f2cc3ffa4669b59387fc505b SHA512 bd36a3ebb3474c71448bbd1d6a4b3ad79b039c5ce8b35a6153ad44982676ba626067bca77d31922dacddfc0715c6756964a4d6fea6d771698f3202fc2d6cf1e2 +DIST thunderbird-140.10.1esr-tr.xpi 496305 BLAKE2B 8e18787246a4895da5fab3af9bedc47e0dc9873c3b55306044942d8c2b8a83a44ba1f788ddde899ac8ee2b60e38efd85fe2fd091d584f10828c19d4150385514 SHA512 a5f4a38b0adc306a44a3937d1c5d12f19fe88b11a193a8ec69d34d5086dc087a2d68010b6d781fa8d82cf8be4f0f6189f11d91779163db03a20d0cf156d390c6 +DIST thunderbird-140.10.1esr-uk.xpi 582153 BLAKE2B e90e6408aa1323d4574a7e1e1db6194baa201621f0357af78ec3b0634d46bcc486d77c8b53c7108cd34a57fdb0bf73d251d9c3666f6b3e46daec2ba429a94ab1 SHA512 b1b3356d116d86bfadef2a67719d9c7e64090ce32ae3eb7abf49acdf5bb5bc6ff993c76c424d03fd3c848bd1f9225b6d2f71e483145c9cddd24665d3d64b3c1d +DIST thunderbird-140.10.1esr-uz.xpi 355267 BLAKE2B 81ffb0d98c3cb50635a00abc29caf5c711c412080cc8aa290f0f280fc5cf118c96b724792c8cc4fd0764fa96dac9c4c8742c8dc50f1870dcdebb6e9ee919ae4f SHA512 501f9322e07acc402e135431f820336e3f45e8fce57771031ea2ad2c9af6728eb979696f337660c59b24b8c11dac7671ff47d47110cbfd812de7b8d3d8a01a2a +DIST thunderbird-140.10.1esr-vi.xpi 518886 BLAKE2B fb20d521cb4d792229d607a9b33a5d6b600fbf7afe4d079a123d8b70822044c180494552a8927a18bc792b98e02d0caaf5b1ac95f9dec6cd60752f719e9bfff4 SHA512 8a76491bf44b2d00439edef8f2e5788f3c931baf31e6c596adb0ac0586d04c9640da648dbf40786c716562c2d6b617b646927d2cf5299da133cd71ccc1998133 +DIST thunderbird-140.10.1esr-zh-CN.xpi 507847 BLAKE2B 3bb3f2015b2eb914a91c49cbf541dac8122ad2a474d9d73e3dfa96f19be7cd7cfb656eeecddb6f2d0f64f55d5060cdb88d849bf7a5ea79e1d0c1ca2c40740675 SHA512 4129ffc0d98e31dfc797a2bbcde6b1a28cf6d05354081cc7af00b063ac1cdc722dd845ec08b11d24a780d83e0896ff0ea569751c4c39ffc6cd344dc016cad16b +DIST thunderbird-140.10.1esr-zh-TW.xpi 511432 BLAKE2B cb49e6065873ccbfa1982d7cfa286c414f42eaa33b93af0c3b90d0e305907bc25ec1d27a4fb7a93f1bf3507ee6f7e4702b6df7c5ab8fd9e8404f1b82c50fabf1 SHA512 f89a75e6feff4e3d53fc5e7e169ffc84f91981e8f986418ca25b54094665f220db7fcdd3e715be0b8efc0befd7502998cbc166678b54df4af526d23fb1ede27c +DIST thunderbird-140.10.1esr.source.tar.xz 749639460 BLAKE2B e63bc6f625087e799b92b7fa60a2dbf7b2a45d57e7ced62bf8b67d9f67f20c68fe9f7c4f495982dbec9d109bda89945cb7ee907478aec3469d7a3d188831a227 SHA512 367c408c45b2310ec9c40cfd04de3e05aa9b4fbce9ffbc31dcbf794cff9407dcf53e2fa279d5a32844372055e407a959df5a3b080130f25b0eff7ce968d0b469 +DIST thunderbird-140.10.2esr-af.xpi 316219 BLAKE2B e3010340386066c375013b7350ba9a58e670fe2458876e4ca1a697ca8c0cb9fc570354107749911329e7306b1f7048a0111d5bd4de6572b765e952475f586384 SHA512 8eef1b5b00f94d4a459e2394aa9e5ee7d3e98709dfe4ee2a4039505d7d3142e05ca260f11f00a27bb2329ccc12a6ca9c7fb8dac415460b167478fabed705bb5f +DIST thunderbird-140.10.2esr-ar.xpi 436197 BLAKE2B cd31c10dde31f0454b2736f26337a1134b86612e2492d451478d126edffb2d250ec5a1d0dcddeea8ab018a1de083b27f4e68c3c543c6229e779c2d0e8d9c20f1 SHA512 f2a94a12382cf7288f968c2bc202c00d8117e076d6c3be3e2571f3efdd95e9d468149c7872d59ff2505cf6cbe9b75211cb35face79341b75d3d07bae690ce67b +DIST thunderbird-140.10.2esr-ast.xpi 340598 BLAKE2B c091d3325f35a213eb0a34687e522ac8ed8eda64ba73c8e1b46a020c4afa9a9615ada22d9ed1942c2bb2f04a9b1b88b0b78ae5ab97810d59ac3b3363424e8fdf SHA512 4b0c075433194deea63fb7e78f46677303642fca556bf1eb0c1bccdce6c2df0c493fb62728423d8c08905a46fd9b5fa315fd926870624c70591e0056ec6605f2 +DIST thunderbird-140.10.2esr-be.xpi 522093 BLAKE2B d6c9f24665eead26dba1c85ce1318e646adeb350680b29e797bb0395c65d4274a178a55a98d0c1dacf13f313384bc6c533654636b35cf59fee9bfb7a3872f7df SHA512 43bab326741f6731c6ee1fd251ce2bac27bc5fef4cddc2c12c4f978f6b2be60b0c0ae5aac71b9172e146178da6a0bc73fef78dd04924b28b51ff5c5bae250a18 +DIST thunderbird-140.10.2esr-bg.xpi 539805 BLAKE2B 9bae241e26451deacf0768ee7ee812ef999e72d25087b7a2d937ac5a5a3ef1893333dfdf760a451f5c4bc1790500ae441c2a9213e9c83745cc614ac101217cd2 SHA512 c35141540771c1a4bf2070e38c2e3556ff109a9c6e6da60c9a870335428d274c1d6065d6d69583c9fc996415498781253a6840157b0f33317af2176dddd3380b +DIST thunderbird-140.10.2esr-br.xpi 402746 BLAKE2B 90f95bc25ce4603d86799e86189a0017cf5f62a1b5254235edb969680c77796afe8dfc564242e4f4a2981d6c383877e288667c79b09fecaebabc840a266735e2 SHA512 9aafb75c717e622a421b9ddb1b7ee4a646f03bd861755b7a81624a859e011262736478ee253cc70ec49fb985ffe103dae226a932313e52b911cf53512fdab384 +DIST thunderbird-140.10.2esr-ca.xpi 440671 BLAKE2B d8ca01049602d5e898decbad4cb4eab00c1e5286007b49a4767c9efbf44f2aa5416e4ea3c2e8883bfa887c877e87f720100f7cf88f6001b194eaba6983c6e06d SHA512 2040824662550c45f4967fbcad73fd1e290d84aed85188d98b32a07eaa19467eb1706e5f1021a88fa3fc88cf7eaff186e4490f6c7b33344204b08f495a10e318 +DIST thunderbird-140.10.2esr-cak.xpi 418022 BLAKE2B 809015bcb5d5e956a86035fea807ea64b20844fac00406194a806d9d28a186cc67d497d856cbf6b40859f173af3e77509da70509a651a339c5cad93d87677758 SHA512 f8154b4b22bddc50f60ab8092729b5266155dffcbdcf36d09dc4bd10e0ed4e23bae5d0cfc1b4be1af9c973eec7a0724245019e88697d662e5051e61e5ae83e18 +DIST thunderbird-140.10.2esr-cs.xpi 519561 BLAKE2B 4d71fa61d2f5f40e120e5006a6739450b3a68a37f6a150ac8d8a04e5fedc8285fb4ebc958189e841081548211d0c7079c8c454533354f6af3e2c9e0979103679 SHA512 b9bba08c515195afb1d0da016da93436949643825bf1c1c3f0e15d0e3c5e753d15ac40a077535714e0958ae4d6ed104b2ba4817ea99bb57c9be228e02387c885 +DIST thunderbird-140.10.2esr-cy.xpi 487650 BLAKE2B 2acddc0e71dc1ce37afe6b723fd463a43866311f295b9b816b4c5e25137cff0edb7c3e7a8d22da8e17b65b69991e4142112067aeb397a5cd1cd306bf39840d81 SHA512 1d44b2fe8cb817de29c7b81d1a36ccbe6c5b0a156994bff24cb8124dcb8902c4bda48f280852850bf56d051d28a7b2f4c2212cd4db24c4b2f1c3b6b110baff2b +DIST thunderbird-140.10.2esr-da.xpi 476623 BLAKE2B 3dea9ad15ba162576dd54ab86156b13f126a86962f9a00e79fd941ea904a658f623c22a8c2b0031f55fb1c0e05ce6997a7f7978ebbefb25c1bb48f66cf6a320e SHA512 fc155ad56ee75985d2d1368e22c50cbde25e5080d026826a1c171d66ccad25924ed671dc1078ee9938fd67afdf44a398d7368e91f387936c15a0e0a968b31f65 +DIST thunderbird-140.10.2esr-de.xpi 504707 BLAKE2B 5260bf02b7328a11bf136eb321ca9817a481f37140eaac15bf4c4aaaf6ad6d632ea2d4f93eaaa32edc431a6e534b2d6ec4202e156f674635fccb5eadaf60cd89 SHA512 7358d2147614bf05cb6fb9bd47ca4f97f178572b3059d2f417d94e0fb51d89dfec0cce11ef020979e739340c48770f543e707687f10346e091a68de1b0545129 +DIST thunderbird-140.10.2esr-dsb.xpi 517788 BLAKE2B ae41ae807f1ddae5be2570fccd976b7d7e2fe16437a9e49a8afd2fe51ca6795515cd74c050d1652dc302de5e86bce2b0c20f03fe9a59906602a95970f6d7c76b SHA512 49086518d4939a80c838a33fc582a68226fc2123d5c6d44ac245b45681ee7bdf9b5988d4621200c80a88ff16cba23e7b1df57c56745dc30e2e2735ee607324a2 +DIST thunderbird-140.10.2esr-el.xpi 609039 BLAKE2B 25946061f891b4a92de1a6769d0cc71daa985005531d2d5880adad9946e23945401e21cbe585f535a733ef1127ecee05e5d91a2da45a1a879f16adb6be22bfe8 SHA512 cd33e1548b8fecf8a87d183cadd456b3f65198d68c91f03dd312b8a76cfbd418cad725475f6ee0154d8ac0a2f195e191369a640c46f37346fb8858e875d8f441 +DIST thunderbird-140.10.2esr-en-CA.xpi 452239 BLAKE2B b64a1f171c83407eda754df839fede45de3eceb62176e12f09165da4d86084b85b3707566bfaa290a377229755e26f4f429c1b20e6a62372be2b25e79cab1f0e SHA512 3aac043828c75ff85e26300a644d34a458456258113b724ccafd62db46b080f0b77fd1bff671dfa435066302a97eebba39e73531e795bae9477a875b9cd32203 +DIST thunderbird-140.10.2esr-en-GB.xpi 452068 BLAKE2B 178343bdb20efb114884e8e021b52659eef31f43248bfd9c183921cbc3b62f2f0d3b1a61707ea40ff2d9a5bdab54122e63e7f340540185b0b018c7b3d763fca7 SHA512 768bdc283b209206e357722b9166a4c3d1fc6be925cc113aac362f12bc8076b919c39e4daa70565f954edef54272da4a2c0428f481376d384abd55288ee1ecbc +DIST thunderbird-140.10.2esr-es-AR.xpi 495265 BLAKE2B 53c27e8065be078f3a1c8831c9434870e997ffc7d5ddb66b8588da5bf7b86f08792f8901b7f42df76a8c81a3f5abe8ab39ba090fbfab04868c5468c8165b06ee SHA512 3979136af9cf7aac5b0625a6b964689f6e39db9c62d63d43417beec5447d394814d663d2b4c1c33f4333a6e7312e2c2d38ea717e05d741881c0adeb16d21317b +DIST thunderbird-140.10.2esr-es-ES.xpi 497284 BLAKE2B 02bed8a3c53d2fb3115163790635e83af83f3b29e4800c6ff1b9f4b5511eb6f62a20f2a791d60f4d499ee89aeddaccd8d34ae7f97b9a393fa3eceebf2aefb557 SHA512 4bb80ee6aff7f8b73bb4af6d85ce8100e715956962d9d10cdac5e4eef4cda97dc80fe7afac27d0e186ec9792a277b7785e93eb86f597ac496ce04da52d37e69a +DIST thunderbird-140.10.2esr-es-MX.xpi 490826 BLAKE2B b671f0f9e26a49b095863b3a9f4b0c8a0cff3c9fa8c4c468313deede10e8794c6a9b60d534a1d8e1590ced7f95d10766893842f8ee21b2687685fb6640f583a4 SHA512 a7caf23ad7c1da0b1212130df051279f4fb022db0624b7912e3ad3d7c79a63e707cd29372a7e398f33b03bf533974b84428ce1a5e9d79a072a1a31955b604aaf +DIST thunderbird-140.10.2esr-et.xpi 443618 BLAKE2B e37009f262f87e08f02f1f5fae4adc33c82b3056ab506bfe1f70ce8f352ca7e74bc5cd03bb93ad95319bd1298ea17ab2e24c3b8362c64eb9c88f65cbec93b901 SHA512 3c4b4429d7e9ea472f402ae862361aeab9e4b112d830df6c910912185072cc0fa3876d4a61b7841aa61b08cc3972b859c0ba2d26d8557ca546369d43f533b147 +DIST thunderbird-140.10.2esr-eu.xpi 473923 BLAKE2B 2a818bbb3f5752ada2bb7357de286fe277555d0172171f0ea40abdf4c9ca8c404694014638ab56762acd38ebd3ac67ec6a9ecc8db2600ad513c3b4a974125ed9 SHA512 b31ecff62601f06c08c8309efa0ea41a23739282c154de6c7df6547d0c27f18881ef17e9fc943d1d82491f0c587c1876f6b8258f8cedccee7761e285d87801c5 +DIST thunderbird-140.10.2esr-fi.xpi 475618 BLAKE2B f9743371ce671f5f790b2c41a293e2da89a8bb091d9fa275791e09f0b26c52a52b17ab687627db012b1d6622ab27a5784e7b769e59a52376416c009978159caa SHA512 c11893c506a2cccda4eace76d175469e286ccb6e3b664a3fc064702d330669f416e14e57272aa93cd3d241dac9c0ad435a9e37067465654d4126db5757c55c69 +DIST thunderbird-140.10.2esr-fr.xpi 508316 BLAKE2B 2f2e13579ab33c034801315fabbd1bd023c238fb75e4887191a417661c200752d16d3d9cb24eac4e1915037795f17739bc508d8da6f2560e146dad5ed13b891e SHA512 63f4b679146cd6f5003713a8479f730897d1daab8b54f5190740ee7a6efc4f3b686d1cd5dd00dced5d7625461d10107a328edb6e1d1ad508b14b5363064da534 +DIST thunderbird-140.10.2esr-fy-NL.xpi 490684 BLAKE2B a06457d4f507bc6c6fa0aea84a308c9b1b636ea0241fc01f513ecf66b86a8a4324c871c1cf311bc5eb31112db5290b79ae9d7d7a1aa145ba6d702d0cb4d987f0 SHA512 20cc188bc00bd55ca0d8e9f072cf8f46ced18eec0f57962f7756c9cc672ebfc2a1d4351e993dd38da732ef86c5b7b2df0d7f584ec98ba8c3c45d37e75e9b8636 +DIST thunderbird-140.10.2esr-ga-IE.xpi 376746 BLAKE2B 34f788078ecc59af5cab86da1a1de2e7c27f6b27cf4d0ed5063a6336b88179eb26d0f472cf9170a463c45f279823bb18290d999f2ee17c6ffba6e118b20a7e41 SHA512 c2d4585d721109524d6561e666e36ef2db022b98d1e46f7da9b61b939f705066751ba65f4a9240fc21e5e515dac37691e1536f918ddf5b14b525f0cd28aa37d2 +DIST thunderbird-140.10.2esr-gd.xpi 461973 BLAKE2B 720dbf82b14e1d25be31d3fde20c16924b5a23a2906131a3e657d92d621dfc727d9c7700a1e78ba22ee5ce7c7f339410c2dc70773e2fdbbeb79729fe84591b05 SHA512 8ff965bd4c400bb4fe0df484da12fbb72c912bf2ec83da407b3ba08005a677c4a44e2008184a60089a749536247feeef52353b7c7e39210bd02eafca9712b4e3 +DIST thunderbird-140.10.2esr-gl.xpi 489343 BLAKE2B e8ece9707d0e5f38a9e6cd9bee8afed4f70fc4021d7d8576d84eeaaa48962c04cc602f8910072f53a56aadc0f2ab5cf4d38f08c375346637ab7b6b5ad5a2c0c3 SHA512 375e186678e736c17a4e14e044102011502ac9e17840c3241519b2e71cd5316727137419020487a1d21dee4c9c059e9e5e73fb280dc7c9b542681f09013625b7 +DIST thunderbird-140.10.2esr-he.xpi 444205 BLAKE2B 02b855dd3fdacbe3fd86e7d80cdfd6ec99a4c630fb189d5f9424e953506ece34b6e5cc449e5b48b31bad787fa1dc6e7edc64995221ebf7cff258393d335117e2 SHA512 82c092cb408fb4aa19da4626daa7ebd1748db38ba557f733fe51612a5fce0dc208e1a9f5c2cd83b13f0c3dd3efdc2fcccdf8ca9ad6aec223ebb67cb4108eb952 +DIST thunderbird-140.10.2esr-hr.xpi 471056 BLAKE2B b53e0eb51e32de3720f8ec1879ff8d3e80e0e806f9aab7f77883fee966f175c608ade06923b170de5bdeaeb271c56d565aadd79a26ff01d213aaaafba0bc6876 SHA512 059e3bf86ff60e5565a469df2176a2e568858827b0e1d047ab51da1b706490a05aa80cfc14a8ce4e42116f572e68da65d6a4ce3049da58c11c36ec6cc8f4cb60 +DIST thunderbird-140.10.2esr-hsb.xpi 514953 BLAKE2B 4d543b53b258097a214e9ca2e42de0701551150398d74f4c4238415f7c70563cdd5b19226f6bc2e95b53c88bdc69c8b7d5d53925365c3e345edd6eaf54f659f2 SHA512 9fa8d5649af1850d028e072092b11e9801be583d1ef7f3cc1fb029de733cbae2a9b4b735dc910dcf244323a8453a1611f9803ce370c4028be946e0e53606fc32 +DIST thunderbird-140.10.2esr-hu.xpi 517544 BLAKE2B 986dd8efad7acd6dadb6e08d345d1bfabe6411250bce0444775729a492b24e75fee2c0e993ba38cd654f66ecfb1546a1e9f3719fa5c38d5536f5302035020290 SHA512 24d8087e99eaf27e834b5f3d3a711a480c0fca65caad0790139d78690b7b6446b64884b05011528901b7cdf24ca7660930b664bccf36eafd5042cadf8a9348e1 +DIST thunderbird-140.10.2esr-id.xpi 467003 BLAKE2B 6e26115a3cecb45665003fb3296213ca07f731bc5c38160b7d30eac327292f252ff93584f402b1692947f5c754fe0709b411f34fb628809bd0822d78f9c70383 SHA512 5ff29a0ec8f26186d057bdb7d341af4f6f4c0496e0d37a31b34f876c3ba5cf553ebf3cd5c570d4718cf0abee22ea763c96ec02db3132bfa9d8512f7f930d6627 +DIST thunderbird-140.10.2esr-is.xpi 482738 BLAKE2B 867f17906716cc1fbe4933e94a94686e1236664eceffdc82c450d46cc6fc1eb9c71dc4431cc09379452bc08b42534aa428d7ab5c921cd95c41c2090bbbb4e4f5 SHA512 9ac4d56c2d206886a832f6a8556088c5b7c01dc1fc1b03b32bdc7d8b9e5b2b53c9ac40963126de569134f393555195cefd77da608cfa5839c7a2ae99acdb729b +DIST thunderbird-140.10.2esr-it.xpi 488527 BLAKE2B d900715e22544987dfeb96183f5e7abf4ad4bafe231ae640d6f43dfdb76e080311aed406bf727a29dd10142f2c38761be4c6944a4c9d18d5fa556d5038c2147b SHA512 4d322998336beea5f4d8f38cad4c8ca4b7a1b6b9b38e205b0b172b7873d34ad8fbe0950b78562a7cfea520a01d55ea74abd613fa3a280396580af34537806ac2 +DIST thunderbird-140.10.2esr-ja.xpi 539186 BLAKE2B 0a835e86686bb70a44e9ddc9c0c8cca99e8789a4728bcb2d0d822a44de18daf03809ffe41ed71867a910df5cd757a396a82ef57312361369a2a5424ae6b9827b SHA512 3a615d1cf004db84f9af518ea6a945d5b9f16713c54428daf0c191b0fb827e8e681fb0deb707f75c83444c92ba76b8c100d165871b0281c5c5f67ab700d79a0e +DIST thunderbird-140.10.2esr-ka.xpi 554794 BLAKE2B 22c844e4d9a8a438a8fbc69ef68a86045ed385515d088531424dd3357167855d1f7ad0a9011b7cfea211a46755c51e1f1f4eefee5498f49abfc9cd4763a06fbd SHA512 6367b90b9f5ef6f648ad7c9e76c747c3be67fbc5c73011a44ad67ad2baf52db87e6f97db381d3f4490d1957f424a4913044b95fc823e38e09f75d672889907b0 +DIST thunderbird-140.10.2esr-kab.xpi 470497 BLAKE2B 62953c0085ba115011656f26741fc0d603f6169b680c32db3f046e644886ffbd87383db9730cf36246369fdab7d510d2ca195f4c478b1c9d0fa22c14dd8278cf SHA512 d07a89248855cc1e6928912e43769cab1c7661c7b2af661042154fa0fb19193cd73ef22447840e676fe65111b23a99e739056da9653e99825435beee86fe0c76 +DIST thunderbird-140.10.2esr-kk.xpi 573884 BLAKE2B a04fcd48012fd61f3585d14a071d1b202c2503e878a60d43dcd055c3998c7ab81af232a60105f8dbb42d1331bc052f6d714f7cf99218ea67cd744b3a867f28f7 SHA512 7116650621449ddb4152cbbc46149a594870c1d433d369382ffbc4772e328501cb0ccd029fb895f4430ce81318f4fa7b9a4977981bae55606a5974b90ca0d755 +DIST thunderbird-140.10.2esr-ko.xpi 515590 BLAKE2B acacaacc363ad67ed11fc3fcaa43d2eb42ca3e5d180698d1546d42f17b480478dea5e853a630ce980b5be14f914c2f5dd2a0f201ffb3386e12da87d41aa24de1 SHA512 c7bd98da09c0b54386472b2e3266b6fd30d82877f58151cbdb5cfdb5474bcb2bcf5792ddc31e985c4eb70be5b536161675dc1145361b2cfd1c78e0d6e32d4b24 +DIST thunderbird-140.10.2esr-lt.xpi 453436 BLAKE2B febca8fd17771878902be258c34fb803bc40b357a48a09ab4814328fd2170b75cea8d20bd80a5588b2f37075d88467be9424ad4eb1cddc0bdfffb04cb1b4e205 SHA512 4a7938223475c8a58531f7d992961aba567d6804cac8eea07eb0964b36e75cae085048448aa16a1d025b3ee652cf2eea2543a745eb9be0878b0c3e6beb665aee +DIST thunderbird-140.10.2esr-lv.xpi 392815 BLAKE2B c80ccd232b2c94fd4075cefeb39fd2a38a0800e09d4d49a538d88a86a8e3e2e52102875941d6b215b9e9cebe2264cac1d1bb4bfabbe21f2d9a0aea8f33607862 SHA512 1fd893e64373fd40a5fd2ffc7170abf8c5b375ad1ff72610e067090260d3a5c0e572d0c587e47d09be502488d272c6b3f66543da2bbd383b73cb2cf1885725fa +DIST thunderbird-140.10.2esr-ms.xpi 352180 BLAKE2B 8d8249ba3b48f456746d5513efff8504c40d325de8e5e016d29eac83e5731698d9deef82e21cbe87c1f33774e96e3ca45be48832e944e1545edc26b92b55ec59 SHA512 c7f3effccc6d28ed4d5eecdd36c62293e18ec84371eaf395396cd4577dded81fdd7d215aaa0e0185097cfab3e022c4877f970ee529ac1d5ff976b4af8d0c97c2 +DIST thunderbird-140.10.2esr-nb-NO.xpi 476123 BLAKE2B 7d496733a5bae1b1413a2975f46fa922175d0f7bbf68b90c30cc2074157960bd6bb4ef0fc40478752e0a02feed5574c334f40345a5bd5336164908b24e468ce4 SHA512 660e59907f1c53588be831e5d0b4d9a9b0d8d526a737081b60aa670bcde06c0b58282c4dd6036a079712276f4c8cb3039e119fd833d2cec1c6766d12d20f9de5 +DIST thunderbird-140.10.2esr-nl.xpi 482118 BLAKE2B 2c580c38bde5631123c6422a3af1f25023a539b8a55fd7b2fbbba9ce938026423b3e9e65ac8148a3f1f1466d78238ca773c6871a2448c6e4911694df4d52c1a9 SHA512 f1b445d5eeaf255036e6e64c3c30a7ee8620c076c127696922b4007f6987a2ea4b4ced1e6b22a41c16cba73e0d0ebd155a2ab5abcefa520b70c3838d89fbd52b +DIST thunderbird-140.10.2esr-nn-NO.xpi 479761 BLAKE2B 372567124e9c0ba7120719be62c93ac781d73bc8ad8cd7e099da289dd84f6315a14a46b6face56b8209950b5ad8ffac606886e632633e3db2f075bb0db913315 SHA512 a62f7c42a64438ea18e4469b885a8b6ce5ba3773be169aa5b215bb1def0c627f1cfc89d48c127253c0b5c68de003986f9a5106aff242bb3e3b9197cf3863e787 +DIST thunderbird-140.10.2esr-pa-IN.xpi 435731 BLAKE2B 7f28485267f10dbf6a9b6483b4f0adf7656f1438528ee2f58ca47dd38b7a0caeceda80889870fd0d5793d8db9bfff3d41170e964740b8ea7251bfd13e89f7e81 SHA512 7501a887197000e71950e071093efc5cb95d46f943b0ec393f1342e53eb0d74bff559b99d42e7d0106228fc0554d6e9336381af25038bfd161855efdd9ecf9ed +DIST thunderbird-140.10.2esr-pl.xpi 515612 BLAKE2B e1d28bdffbaa4eb0408ffde78b856b72194c3b2829ccce74a8fdf23cd8a48fa6e27b43697a80f980634345f77c25189d0e6d454672ac3886720a7781c27d72c0 SHA512 ea819563ee01c63c9d60b0a86970fc710effca26e018cf368ed78475646ce37eba340e1bccd9f12b269541f0955615ae7c3af3ea81dc18ff8e9991588dea4b32 +DIST thunderbird-140.10.2esr-pt-BR.xpi 490166 BLAKE2B e4d31efdd68d187ae8d927b211992de72cd9aaa0997ef84b41c1080d27ae31e55f06bbac71b40e66bafd2898198450d07ea8e7675b86bab24b420f77a55419a0 SHA512 8be632a8c53d60cd8a8eca397a959b787494d332e3e29b3863ac07d93b5c3ca60660f3fd7da46fc93c0ab9956a219f3e44a78c225d02e2b2af8ec71c968d2294 +DIST thunderbird-140.10.2esr-pt-PT.xpi 494210 BLAKE2B b91008378b41bf9882710d70bfcc396d245b490b66c93dfb3fd589809dab52a9db48ca6ae938e345a22990600402366bc44b6658e8bd86279e533c3d1f954290 SHA512 a4190198ff34afde4b564834fd43bede137a71fa22bf1f80446f598d12ceb438f2ba84e9d528e8c10037773970ccfe09f6d04f25a709e053d6bb2f1aa79e4043 +DIST thunderbird-140.10.2esr-rm.xpi 487883 BLAKE2B b400b3eed713a6bd623507cebf7f41b48da4a7ba3f16ee22ba6a37166136b78b95c0434c47364d02a7d99be4c2217797578d2cbb6afbc1e74375a35889bbc0ea SHA512 c5a8cb2e1d9ac65a364154ee7eb2a68e3dfed88f7d078e75929d3851a70f3cfbbdf114da5034612ad584bd6977226d54df9955580f63d259e8b45b54e19fd088 +DIST thunderbird-140.10.2esr-ro.xpi 501095 BLAKE2B 66d4f22f6fb6ac89f963c5b677cd3aceacf1edfd5ec5db3f9b5a946813983c906e794b3b0d643cd83c3f504f5bde9818aaadd12e49f6fa17092f0acfd8ed10f0 SHA512 4e5e044f433823798fe0be430651c5fa09257377a0422e3b3ee8b3d46cd369a09ca7ad6c833858070b1e2d8efc7d5b1cf29d0a8de9f74722667a2a3a30e43111 +DIST thunderbird-140.10.2esr-ru.xpi 593344 BLAKE2B d86efffb839a46e83b467d45f06042b295263c2ceae96e0e84ffee773ddea0281b638d3a1bbaa2ff3f3d7d0d82de1a5f57efb99598384b0ebe38d117c42333de SHA512 76b3cc3c9f93c1dd18fa5ac5234d3bdf362e1ae32f30a366aebf5da00b218ffe0f03c9cf7b430035c66dee3acd8bd94e9d57e63c41db5792434bde228d38e2b6 +DIST thunderbird-140.10.2esr-sk.xpi 519390 BLAKE2B 3ed9003e6f5aaec0de266ea5eeb71474a3237bfa5bdffa99540b75882390a5aca869f37f0bd4baf4a1734da5610771ce54b299fcba231f13435eafdbe0feb424 SHA512 2d736380702d7f61fcaf4c6bf258b6ec17b9a09b06ff257369974deb55f14877912b9e56d60170e0ea70bf021c982895a21c1a6fb6e0a015393c31742bc1df61 +DIST thunderbird-140.10.2esr-sl.xpi 485964 BLAKE2B 94e30891c79b066089d57aad462a0d5130adf6cd0c592d2a0a4b03c45e1c4f56905774eea740992b0a88bb73aed95580fa57ecfa9004ac2ec52b64faa602fb49 SHA512 9314f4e5efb2a4569521ec8202f5dbf63f5d6201083ed83a037ad59e4b3e25ffc18f757f1dfdda2f3c1b07b19e51d1feafe7167e649ac4bd16586cc7c7ed7f0c +DIST thunderbird-140.10.2esr-sq.xpi 506278 BLAKE2B 28ad34c1b8e7d3d3c0c831518116b2f5bb865724c1e502715b4dec88130bb6f579896a0afd5e0c4bc2d776805d455005b3795f63dcfb9f1aef688ebb0edf3cf0 SHA512 87b21df4e95181e3e9766070653fdc8db7bd47fce760e1b340e6b67824b698a3cf79894cb11871b7855ecaeb34745238eaefca70f54a0cdac75269493e784653 +DIST thunderbird-140.10.2esr-sr.xpi 533249 BLAKE2B e5e3673b8af401d10a19a031339e7d34563b6962f0f436e4bcd1ecceb0c2a07ac5458c0f083fed50ad625d5fbc7dbff703a8dd5f3d5dac851083127b997b0b51 SHA512 6c6473b00ea02b4d1b863ddc57c74c62e0e73d537546be3737fe17c3d98cc03b40ff973109df031c84854a103104defaa37c26fd6d07d85784d7c17e76de0572 +DIST thunderbird-140.10.2esr-sv-SE.xpi 484420 BLAKE2B df6fb560450e4b94eeafba768f6eed3189abf083f97103a93079aa270ae3ef36fc2a63bb958c7230f0f7ddbd0a3b939955dea89e7fd92951bbd2e9b79892ee86 SHA512 c8cd324cf493d0d23daa9479dac6b05c4ea6f30a69243d9bbd1284cbeb96132be41cd669c044c417b5bbbe3bfa91e49793eda7acff655cf9f5182bc5cf269951 +DIST thunderbird-140.10.2esr-th.xpi 569103 BLAKE2B 9acc16ecd567aaa909ed4801e17881fad4c8c8fdc0ff9c56bd7800039dd32f447197da98562a7fd0dc19701d57c9e50d8961817eb073f6cc78c439c42d7b78fe SHA512 27626325b72b4c4c8768e1f05a11c65542f5dd954c752c0662972e89ab94393dc01a04801b9f65e0330beb5f03691a68fd3c597acaaaefd232f244427e8c2522 +DIST thunderbird-140.10.2esr-tr.xpi 496303 BLAKE2B 4ba1489c6006ced7187b8bd523c50b6bccd2d70a8cf902c516b8c119df92add84cc11dec77da0d5c61ea40680a52838302ec4ef0dac97cc230b93ed8e99a03e3 SHA512 ccd5c22a34f757d2ec4d564dd8dd132838e3460a3ba32a23909437354ac03723da2129c995d2c7dd8f2365c150e5a010010a0e260e522152d3d9c3ee7ace864f +DIST thunderbird-140.10.2esr-uk.xpi 582151 BLAKE2B 15c942c76158ae20544d9c5301d0d7b324ce382056400416e13c9158cfd13501deeb8a2099dfd6665e28c2b3f106d2e65d70f95f50c7a4d5c6added85c8f9b49 SHA512 e116de9b0f73b5c5379386ef0dd24422c671307fa41b8d2f477c0567cf0386510042ba1b17a4279c7bb3ce7d6f7816a5db6d18a5d19bee9c30dae5fca8681bf8 +DIST thunderbird-140.10.2esr-uz.xpi 355267 BLAKE2B 85aa9c19e8335eeb052a95bdefd5c287bf29abc7ffc99c433412e35d9210d770f3706f9024b283211d8126c07755b272d810601814dca6d92aad93345db81273 SHA512 cb29741e4626d22cd52abe10bb8762e4f90fea10b5b02484106be44d01ae3c4b0721944af3b05d76c4803ceb43260e9c8709469b6199ff5ec35fb03a213694db +DIST thunderbird-140.10.2esr-vi.xpi 518884 BLAKE2B 6aa3db98b22eb05ff4b711b860480d4b88122f27572736d4c7c7163cafe12c33159303725a9d06d14902bcce4a93a9c48d4441809c2e6d55c094adf7998c7469 SHA512 cc2388168f377d9ef17654b0faeae866a617139e863e9017a85909cbc6565593a9bef55d8a6530bcddac1467ad6a14fc589e3999803587a1f6d0901bb7064eb7 +DIST thunderbird-140.10.2esr-zh-CN.xpi 507846 BLAKE2B 25c09eb3094bf4fd7c08ebd1793850016e686e69df4ae77ac455d0e90d30fa3b1b05ff2ce08e3f57b280cc715a4b6d72b237db7f7259cc19ee900aa5c9021d29 SHA512 bbcee47143ba149a586cf562cdb40a08f9a520d3ea0f7df87792496f66081e95c5e3d98ae9e2667922b552ff42a547816ab8f544812ec6603d9171cbf487c175 +DIST thunderbird-140.10.2esr-zh-TW.xpi 511431 BLAKE2B 636d736d1905922d6f3fe0ab3db0d201604c07187fbabfde4e41e21b6fdc62662f5ea2c75f7e6f7a295840b264763298eabfd166043f06f8a1ad3421e5a4bec3 SHA512 ce0535ba87ca27b908d182f6c57719ce8e62447a5721b481ec92811d11e6c7643ab2b64a07eb05c85695dac63ccd56a3b69f5aa2b258c45aeb44d5d54ffcd98a +DIST thunderbird-140.10.2esr.source.tar.xz 754040740 BLAKE2B 34da11894f9f187a4b9fdfc8495359ca3d93e724b422f33e3765d88598b42fb1cdbbaa9717b14eef9b92def20916b758410943b2977ed4806cdfc11c0f8d17f3 SHA512 83eefa545071b43d1844428201306f8129e54d0b5f79f596543c4899239781c877f90aadf1c0c0a920a53a61b7fc31ae0474feb18840b17d796a1d7b0c46abe2 +DIST thunderbird-140.11.0esr-af.xpi 316219 BLAKE2B 304fe15532bcecf26d5b3202849168723ba5744ea5150000b7dd07d6ec8185f71a952cc37a5be1b964f717b9f34e69671bf09cd5670d84c81360cb3618f10d03 SHA512 bb098dff309b1638d104bf4de1540e56c55135325a115d504d6796af8277b7f7e730b1fbf3617c6e92484f9b6adb2d22179352e96b0fcd1fb4927c09f1315b25 +DIST thunderbird-140.11.0esr-ar.xpi 436198 BLAKE2B 4cd51e332d46beb995b90843b4785d201b1c813e726a066bc659ce93cf4f97401d00dded13f2e5e911f072706d5bc1affeca73f76bb00b3ca36dcdafde571715 SHA512 d4b2d655d3483b7972dd4d8afb2c9e5090e94ba67ebd0fa35b92d2af1b61697826e0ea095e6e1e02b5f1060ad40195ea744ff54c3e550f8ed4bdd00c979ca586 +DIST thunderbird-140.11.0esr-ast.xpi 340599 BLAKE2B ed6f9f62b123436d8755b1799053bfeb27d13cca8b0104221391a6d4d56ad044614f5fc50b40e9b7226a500431d9b99449e016f6a82c811568e1bb74155070e4 SHA512 54a6c3f0a6e856c9a120968a5c04dd75177e2403f52ba403317934b877b6e9408ee505de5baf6e5d54ad1677ca025aafee1ad927c663edb3700b6c8bba5fe103 +DIST thunderbird-140.11.0esr-be.xpi 522094 BLAKE2B 4e505e26100f37c8872118db41b5f2897c28e1ee4f8f3937ce8c6ec1a3624555186edee6df860442d2a5fc8197746989ecca4352b5110c2a622a0bb52db565ef SHA512 12108e1ce4df1172bf56d710bca55243e73bcbc129248fdb4c46a9393782d0011cbc0ef3c7b7a947428986b29254afd64d9ac762f2ab259f4f811d1b21e13f35 +DIST thunderbird-140.11.0esr-bg.xpi 539807 BLAKE2B ee4e6a3c30ea05eba2fa6ff1b599e64d0b2dbbc16ad4b036beb8e6c812062a311d2d8b28b692332a53afa4d627e646e27de1b89b918d6b0c51bd2e08bd5c416b SHA512 d11af8cde7cc55a31c944889d814081c42753b4b7a2c75f15add76e97781bfc39bbfdef60795412b772098b719ed8572576f15b40409fe5aab35d4f53e2f39ea +DIST thunderbird-140.11.0esr-br.xpi 402749 BLAKE2B 021449b0604299605bd70ae4c31fb011da62b577614fb9d6d3a55a7b8b52c2d20338ab240855a7bd6a2190d37b4aa5341f8f84490e450a0eb7c12ce7a1898ed3 SHA512 5c88d743120978681c7f1c31b2ad3bab81601a02782db8c39ab68bc2f44d4017884c63bb05764ccbbbcb2bb8e2bb1f9822f6d4f3000e4172cf481367f9d16cd0 +DIST thunderbird-140.11.0esr-ca.xpi 440672 BLAKE2B 36476c83f02f56cd6583f825676034d0a4527c8c30eaa4aad88fd2f24fce7c1271c6d9455caf500fee666fee406211d0559e8687d6273408b681513936ec357d SHA512 f21cb3d7c1a6741461e21aae30e7e6d13237149d3227638a9a2ea0a0ee2e6e9aa865ffa00c0ab8c7f1f0fcd757498eed4405f8ad28fac701dcbb4a315da0c860 +DIST thunderbird-140.11.0esr-cak.xpi 418023 BLAKE2B 6fb5a5f102aeadeabb8c06cc32905a76fa661b5ecb846e07d2a6a8663d9104dd4d23a84faa22a60ebb3c0220d3739a371aeed3432cf9c06d8f982e042fe72545 SHA512 0e36dd6d55549c628af7b84add31674dfae51d8c4458ee0c80d9793429b3d31d372835ce62ed2aea3c575b710f915d34877bf592e73b777632c6bc04b170432f +DIST thunderbird-140.11.0esr-cs.xpi 519564 BLAKE2B 29b02ee6e3ae96b5d6c9df4eaf3d8aed0d52fbb1de330f1e21c00c58714064791f5308eb96de605a00c4da9bf1f90cf088612130c012d2140b914be6df90d5b5 SHA512 ffb150be23d27d5d2ae818d4511c3d43f2f4838cd2a141386467e4aebcecf37e2ddd8e2d8c861d67c2f12744186ade6f8e00b886b5e441203c10a2590cca8567 +DIST thunderbird-140.11.0esr-cy.xpi 487653 BLAKE2B b6cf8658c37f9552080a822198b5fbaf304b1c3e108dc733dce7daaebb3f298fc024a0ce5b99b6ce9140abf63e248968a8579473cbbe25f54908e9b8a4b250b5 SHA512 84b95c0c530d8ac1a32dc55760407793acee95f1ea6f035099b0c1d880f639ee9d41ba34a8966c684d2c766d69b069f676b24bd5e4042ebaffa5bbd6c5d103c2 +DIST thunderbird-140.11.0esr-da.xpi 476625 BLAKE2B 8c89f21df2da58ddb9b1a153b6a95cd765287126f4a33fbf3cb68ab104e6788489a4c4bc99a4d79d91b69cbc3a08dd3a6297441d4481addac53c48c8f5ad96c0 SHA512 2f56db6bc30d4b909622bb009c933226dcd7cf453361e8ba7cd60fced6859d27e46c8478840b5762a1fbcc71a35213cf676b9420c07726782780f90c7d429578 +DIST thunderbird-140.11.0esr-de.xpi 504709 BLAKE2B 5265a11d1baaa3fc6c1df34820f9f9b1d2c7b10606b8615ed7542222e03a2a40248178d47f873d130ff2b6e52efca01221edec70d22a06d96d2319486212ae4a SHA512 56f682cb74c4cdbfe464667ed1fb4b0ec4c412d727087f12d82ce6b91ef4d9e95e9a14196d2a84e26513e5ceafea18ef06a642dfcbc445afaff49151bbb49645 +DIST thunderbird-140.11.0esr-dsb.xpi 517789 BLAKE2B 78970cea3501d9428a98092b04cf8ac339a917697abcad451071ad78f8cc6f78e4d8b4a71398ae833c88b85c5dc4a77a7a3868bfbb1b44409adcd60e67bf9b1f SHA512 6f6932f2e1e7b73d5df58fd7aff03df3e822d65ef3daa9ac80c146fdd2bb148f92291d367452fd337f6e82e2abb3f2d5a6ceffd59006d0ce630d4d4d8a9d3811 +DIST thunderbird-140.11.0esr-el.xpi 609040 BLAKE2B ad9b099476b3e6f146469fa2969ed630b9e8ff5fc89a9d0733f3dfc85d7bf058344cec25265f9eebac435539b5677da87465b798c0c9fb96c937a4b1b99359a7 SHA512 2abe714d5286e44ad34455271d0d665aa175231b951175c0e3d3d2cec19d22e12d012c30eaa7ed5299afaffa0942a2b5ef073b3e9f63a96c010eecdc593db686 +DIST thunderbird-140.11.0esr-en-CA.xpi 452241 BLAKE2B 5c008cd20965312537368cb1f94ede8cb3328f32809d39144f7f434a394edf5f05357bafcb31465a9da012dafc0a43899ec523b87d3388deec1959d39d56bc25 SHA512 c8b7f77618e14fdfe95d71d81fa117f6c75dad40bf226d8bf2951c2479123906a5590d7cc217d4bad73f92cbd68ca51198b5181747d5eb0b23a7ddf0eab0de1c +DIST thunderbird-140.11.0esr-en-GB.xpi 452070 BLAKE2B bb6d1b3de12d73a9d2781a1186c59f13ee9a7a4ff835f001cef9afc14ef62c0ca17eb31e9a05af46676e9c0d92e1aa781be0c85960b87f2de15b9f594502ae3e SHA512 7d610aeb65082126441f9a895e07bfe5f969bd43c294217195298c76aa5ef1d053d900eb3ae7000d0f90a072e8eb755386bedea17cce65fedbd7f8fd551e76f5 +DIST thunderbird-140.11.0esr-es-AR.xpi 495267 BLAKE2B 69d1ebe2c7dcb29f544f25b97ddb96d29cf6c43e9f923dcf8aee27a0028596277ca1fc1716826610da59b9cf44b07b431f267e94e5ae9bd4f8ac699a29745ba2 SHA512 dbdae9f3b47b0474747b768e8baaf145d3c93fcb974f4f0861360e4c23e2d289d6645c5c54386b859935d298fe40284e76c212e7b27d4eb91165549f7b68595b +DIST thunderbird-140.11.0esr-es-ES.xpi 497285 BLAKE2B cf8d08121daa2c0c3e111a8b435e8dcaf8e13bc4cb33849652d8e6f0df884d24a7588161c28baf362ad3ec44552137a26e698386fe2caa95822a5a1f9170b353 SHA512 6025faa24fbcbe857c153419614843c99c16ad713bd0a875e0baab9cc7555a051e9f5afbf40b9a50fd474a9c70e7d4c55e2c1cc232b5c469349d9f65f9698dac +DIST thunderbird-140.11.0esr-es-MX.xpi 490827 BLAKE2B b77fbe6426a5b0a8a9cdd0789f723a465893d0b1b80c6b2fd580eea4203e25ef7cceaf295d2d863aacf535ccee45d4d88b4260089f22f7d47f3b6e57dcae4df7 SHA512 637ade6960a8cc3f8e219c431c8cc0fdbca67400619f5ecd800188ad9d5dd8fdc8e3aec75646502bc6ba87d0c2296101fa11e5cac220c63f4b9af9de0e717399 +DIST thunderbird-140.11.0esr-et.xpi 443620 BLAKE2B d6ddba90f68a302a69a177f28d1979b9db68c3234a5d9f0da530812ba7e6f1bed9f2cc9c01092d37c908c29e9614754bf9af02cfff4f1de81e51b17835a5fde1 SHA512 3c38a00b903be9d5cc78187a10890cf9689b1ec7b668b53ff8d0b61b43c8f9099d9b02ed5a6c30a5bfcedf2c6d7fc0c153ff50a26ace9f84c7c3254eee63ac06 +DIST thunderbird-140.11.0esr-eu.xpi 473924 BLAKE2B 238d4c1793a654709a253990e053458586df228ea0ed7dab463716568defefafdbb8d96761476fb03b523ab4879999ae42ea01a4357c0da259ea0492a7999c49 SHA512 96694a8c3f0dac1ddbbfdd0405f4be38cb51058d809a6a9530da332090f2df9d315a69207edf23c4b2661495a44c7cb62d8dfb5faab2999f6396074de3237471 +DIST thunderbird-140.11.0esr-fi.xpi 475621 BLAKE2B 6bb960584ec7e53be8b3508ad12523112de5ec47c5053679d6fd586709936132efad886e074c0754bbfdb64c2d022dd22f2740f90db48f963b809d14ebbb3b9b SHA512 35920ace77af0ce9a42c381f89eba4b5339399484815b335b56c3695784213983917ec93bc854c55f558d786e044522e9c6bbec76fc2be9a408e38079245ad61 +DIST thunderbird-140.11.0esr-fr.xpi 508318 BLAKE2B fa549017fb01b3c21c7bdf89859054c2627a2b30fc35f708b9f4d8a65b26b6d50e22fd0135e7ee67d6206882ac53bd820285999aa58b7572e09c2148fe4cc631 SHA512 ea5dc33e32bdb5e2fab0d719a2d23844d42e62cd36054d9c6064f350368933afb23794fdf891d239fb0ba744c42f6073a6c27fc992414d0b1dbcfd4fad9d8086 +DIST thunderbird-140.11.0esr-fy-NL.xpi 490685 BLAKE2B faf544cdd853920071a0e20cda6eea2a8c317ff0ce4467704fad7cf9414dac29a671600c8779e246e806fabf036c371ca637131dc5b040b89f3cbf1240ee25fd SHA512 f381c996422de04b54b988f1bbe917ac11b8bc9ebe5f1d358de5f54640c9c041ba8c6abf694078490a28d31d6337b8c0f8c6b0dc0fafa493dbf92ad8d55f9f28 +DIST thunderbird-140.11.0esr-ga-IE.xpi 376747 BLAKE2B bbc327d97a88403610e7561800505b478d6416fac3dad5521205077695e0fdd799f95504079f3a46a814082a2877ec21805ef57966b565abd63134b03cdd7051 SHA512 704c9b14a7cf00692931610149d86adb458bffe224c77dddc91ac064956686073d8cac909ca35f9cbeb08c78f4b4526f32c4bd4030255c67f86935173a90fda8 +DIST thunderbird-140.11.0esr-gd.xpi 461976 BLAKE2B 7c118c11f3bf9cbfa36736709f6599fe34c1c80ea9ade3b4ff3edafdb152e711b41b0bb08feca16d7662e71fa3d8acdda641dd24c1ba53565c450ede0df6571a SHA512 8d23914068364091a17a3d9312a149cb70f67d1e5f0de572bbb1b6b7fdf734556b8d864b96839604a41c28a25b99e60c692bb74fc5879145a6c4e88e2f381e65 +DIST thunderbird-140.11.0esr-gl.xpi 489347 BLAKE2B 1d676d59510093fda8b0192e9be9ba2909b1c384327b448a67772f93c8719feed04091c3b3ac4ebceaf45bb7915e89e9125a7deecf2d6041f9fe760ceccaa7b2 SHA512 071033f9ef6425016fe8f8f292b1e4cccc78ff4c77d18107a6cf5b972b940e57555c16675bcfb03f863220f5711ae45a753830ef49ba4c4c2c25f16e7dc1c541 +DIST thunderbird-140.11.0esr-he.xpi 444207 BLAKE2B 558e24730c02e8bfc4274b9391c50c6a856a3492141e40ba6ddfa17c68db207e75b832c6f2aa0855299542eb889610d3fad230e72beab7fc9ac3ceb91429278b SHA512 c65cd54b15b7b6fbc03435ac9855fe3dd3e9b53acd14d90d88a21ee6ab8c824e2a6ca23a908902e377cb361898242b90b9bbcb99e11e056096d543667621418e +DIST thunderbird-140.11.0esr-hr.xpi 471058 BLAKE2B 2a9b80b05c15356f8ef84a38e5806120efb7289b9b6fb9967f28675760d65fa62d77ae25fc5d962d019fdafdc1152b022c680b209651503d97225ec84ec9e08e SHA512 1a66ea1e0f258e1d43d27b12be97a9fb10cb7c0ef06cad055a7c35d7f6f24c12b2056f630c3f1d1e11ddc6c4d6fbb5f73adfb2648c9303375e44ebd9063cb6de +DIST thunderbird-140.11.0esr-hsb.xpi 514954 BLAKE2B e67cb49d786e3040130139e8d1941da4327a07649b62484f5fcb961db3f017b97227c82ab75ac0bc25e51c16b1d719f4bb430004dc1bc2d5effcaf402434adf0 SHA512 1d1db502e687478a87b3af6369e4cacaa9e6f82c6314c0bd8cdad42b1b3a961c033d7cc1d09d304b711b1f900e710bfdde7394b257aa7c7c0d9341fe6336339b +DIST thunderbird-140.11.0esr-hu.xpi 517545 BLAKE2B 7ab6933f33be3385c4912b92efcd8734b498a19cb2f796ac44cdfb3fcd36f0dadf0421f07c51f5c72c74925d0bf085fae99b5747e62685b073ada23a45d4bc2e SHA512 19d6c5973a478f967fcd7bbc30f8a9e3cbd085b04e1ab84000ca5521dc391bfd5e8b7f6ee21427491cf42f5bd85d4852eedd9d4e5161ac70724fe1a8bf77d9f6 +DIST thunderbird-140.11.0esr-id.xpi 467004 BLAKE2B 0dff9e49755d175bc54857f9ed2aad21d149540babfafe8f336bdb2213e134e410f7f23a0abf0967f083c3352fae91cd9b5010fb37aba70930e3090195ee9c89 SHA512 1f90d975be9b2f48a22eb438db4911c4a1fa45bd63bcb886ba3d15ffa7b73d638aff6ebd266471e0b1eaeadbab56f5128128fcf9ed189211f00d59acd0fcbb2d +DIST thunderbird-140.11.0esr-is.xpi 482740 BLAKE2B 8a37bda3be0da452e423b02bc68974ee6380472ff99c1afb13d1f4bcca267effe87f351b8a4eb9f22ca3d3838f256a29839ca8bda97d5c15d26ea09d5831701d SHA512 9f8cc6a467094305dd8bd450fed4e3d4baba6f16d52916353831c76a1e014285212cbd6c3d6f9c8bcb90a21b351c3c54a4e8ebb47245042c059c7bd32e6d6ec2 +DIST thunderbird-140.11.0esr-it.xpi 488529 BLAKE2B c0946b2f0311d5cd3f6f254daffbdf6a3fa10e3d9bbf11b3717637347ea327d54083d195fd45b6d232b01c8c7910a161b1cbec45127d2cf2a824a1f417881eb3 SHA512 d132f9a2da0964b830d2735579c88be61c4a21e608235a6ab1f0addabcd9f9004dab428605170af48f5e1dda6e0af5af9dec861349193df0deb50848ce40c4c2 +DIST thunderbird-140.11.0esr-ja.xpi 539186 BLAKE2B 775cbaa323d4a027cd1c3516dcdd74752568080ba53cc27f04a52ac77ddac6beb4019e145c7430f1e85737f3438e886ed2c40696333f054cafd758d6a7932cd8 SHA512 b392f3421e4322ca27a50dcad9f1410b10ffd9eba46d93f63242037d1e505a99b6cfb49c45ad3497e3558a233307eaa92dc361234f7a171cc686bc8b69ef1d0b +DIST thunderbird-140.11.0esr-ka.xpi 554794 BLAKE2B cb72ca8d2c5006834a2edb43ca68f2a70d035e7f326347c8bcde4f56e5033661e915b74561a13f5a81bbdd968fb82f79efe314cc05667fc76349b35e3c3250f2 SHA512 12d889b634cb7cc8fd7728b7868d4f9ea47121bdd8d38cf4fc8e0970328e6aa1ad400f303298fc9b3ec6699a79118f8deb98f51f684222dbbacbcd8adab1bcc5 +DIST thunderbird-140.11.0esr-kab.xpi 470498 BLAKE2B ab492ec32ac7b60eeaec41ecf9883c1bb8a56ca8a232a86184480db366031bad1061489e236f46bbeb7a9601e68eeaf03a03d517bfcddda0348b171dff7890b0 SHA512 00327324edef023c5eb644abcf6997a6d64e6db62e2f0088049dce67b4cf3d2640418bb53644e2cc18e0f5c5fb4db06097f0349589e6abaa8a4f87a7e5aabf3f +DIST thunderbird-140.11.0esr-kk.xpi 573885 BLAKE2B 8241025a7053a4c557fefc82455365202e3f0d1276a557911c435b34d81a49de1e14a960ea5e37c2efbfd1aada0de199b2c8056868401abbbcfcf141dddbbb43 SHA512 736d3de0956ba059a41700e08ee714bbedc8c56b9da6758edb40a4cee176578d0c52bea2527d80571085fe451ad8e9a26c4232658f04d6d4602825caf730dd86 +DIST thunderbird-140.11.0esr-ko.xpi 515593 BLAKE2B 11fb89df9895576239a89a811ba3b1ca547699d83025e9f5b9bc34c99f44fcc1d36aac141044a7286248ed6814f80f6cb87ce9318487767613877339f21c1583 SHA512 1d9733836452c9c34c0a167afbd31d880e40aadaf95d5a3e91cdfe5f658f66646fe7ec35b3c51b316d4eb16fceeb038a8c86245f9c19198e6b9b04b3aa4c7a6f +DIST thunderbird-140.11.0esr-lt.xpi 453438 BLAKE2B 2e59b362f79c6d6b9ffc45696f6205b42dff308aab4795edfcd2a939a3b91f3d46fddf1879316eaa7efc1f215c97774140f803963475c8f56e65a80c33fc2b97 SHA512 b85b11acd5be89a2d742454cc6f96c75ab45d700f24ac5b363cdf7b2dc1def0bb3884bfc229d1c6fa0d16869f4c480db1379d8b4feda035c27c3e1c965afbd4b +DIST thunderbird-140.11.0esr-lv.xpi 392817 BLAKE2B 25f813bee1d47a921a74bf47e800c3fe72551b5c09f5d7ca545f21d6d0594a5570b875351186b7655d44ad12403da72f7cdae78cce2c4f1bafc2d08210949cab SHA512 7fd5896489f8941ff505c4c22cafe9b53b0815e557472f9f390ab45e530c669d8afc191a1cd623d44db9cbec224d5f469312cc6c660b73174c1eb65f1daf62dc +DIST thunderbird-140.11.0esr-ms.xpi 352181 BLAKE2B 398169bc1c506ff243de77e99dfad91ccb3f37cceb03ecea16146865b1bef38bb92dcbac52e15d11e3747054dfdd9b3351c8594a6880098d60b63f95c5658094 SHA512 52d08b85ded0156dbcb9971c924c62667fb5347427a688dccd6a786c09f42aae3b118527f7de5eed8322efaf0731d6a9f858db1a6fb865b07460969674c15b3e +DIST thunderbird-140.11.0esr-nb-NO.xpi 476124 BLAKE2B 52ef8389998de95bcb866e599a64d8d418cf4232ba7ad2f2795e04888a75265c0d872ebad8c9b28b24056f6a01ab29c08c457bcfa99dd37d6a03850ce12f03e3 SHA512 46511d7639f26ce843c2b757c7f8461729b574e136242f40b5fa4ebe60fd30bc9f743705cbe7003309c8f8364cb5d41caf86a01121773446817838d5efb1b550 +DIST thunderbird-140.11.0esr-nl.xpi 482119 BLAKE2B 154693c9ab15a6b3c08fb41af66524df296e47cf43e8c17de9616105983340d1b6c1463b236f3647444e9175fd4e234e07329b2fe8a40cb148f7c6f134db64b4 SHA512 46221eba7c78c90ae321f8f69e70bf609b1016295758e19b3fe225fad7cce113d9a0d1a30b7180c134c6e592793ec8ca84ec24cb907bf07618156ccbcf795490 +DIST thunderbird-140.11.0esr-nn-NO.xpi 479762 BLAKE2B eb73d6fd9acaa200d67973bfbc08baac244c4427129bae6ebcf1a8300bf49cc1f03711eb157fb03cb7c5c2f96227bbfefacbfb71b6758a6505aa636e3242c836 SHA512 e1e3f48786176da227e28fef3faa48e391ff26efa5831d0012d8eb8c9a981f12ab6ea7be639678602c8c51f95cd02d2a9ad6112b39aa5f678ebddebdce296cee +DIST thunderbird-140.11.0esr-pa-IN.xpi 435731 BLAKE2B 9cc9ff4380dbed3ac0041c5e2a61413933771847842915d84f1bf68076bf48867520521afc63dbc2fc72212102e31149de93940ace4309a64e8aab8e88158956 SHA512 359e33410eaa7619e53d1073e011e2d4c17b84d7be02cc62d863a2558a3b8661e4fdaa0331b9b84c8a34d0583e2c82f2d7ae7411afa18c049b9b066053f3d92c +DIST thunderbird-140.11.0esr-pl.xpi 515613 BLAKE2B 9bf99996012c9214b669805be7fe30ce9eb60464021ca96d4bc7741f2d2fc73bafa6ec557dbea6982465b87aa1fc6005a66b5770f582ba0e208ec436d0224486 SHA512 c4018de09b9553e971de23ce2b39ac3a533a18d89966f237bdf666dde85616f1a9fe7ccddc274197b0f214ccd6c4604cc33c8b6157745b505f5fe2437c02633c +DIST thunderbird-140.11.0esr-pt-BR.xpi 490167 BLAKE2B f5bfcaa0851804725d1bab54ece7c7c5fc817b2cebab2eeffbb2bb2bd8867f71b24a340174f48617a731aa2d6a68bbb7de43aa94ddda00f9128f8c15e5ee1da2 SHA512 db2b60a6778f1ccba3d97efd4dca5205d13e15058065c6a3c8746e445edfd71e3009982a795bed8eec329c44e129225c47e72560bd8a1b0af6328fce675a9709 +DIST thunderbird-140.11.0esr-pt-PT.xpi 494212 BLAKE2B 26a9598131c206b5239b0effee795813c01b1196d5fe6da651a0f8dd2388de2dff17cb328dbb714fa2496d262066f0a7b16d477ee870be60f149ffb7e38b58f8 SHA512 fdb5a785e63d81d7bd54d74c834b70d61de643e9f75e51bdc1ecb9f773ba14d049f8dd8a69d71aa94753460de8240dbaba7b820866b9b5706adeabd71367c148 +DIST thunderbird-140.11.0esr-rm.xpi 487885 BLAKE2B 12fb254c4b98ae016c908c53219c322b11d4f2009f3d5daac62321bca8f9268bc87122d1e9b2d1a3959a2c331289066a87239368b0c6673dddbc95849d1f7150 SHA512 317bf32b1b11183210bb2a02b47f0293efbb2073834ef27976222b98884828699d66737c302fa7b9504b96fd3da62760f47ade4e7ab2c8865d0208f62b788e2d +DIST thunderbird-140.11.0esr-ro.xpi 501097 BLAKE2B 821c0b7736826ae8339f9f501dc7b7e5440c434d2f9407cd7804f9189eaddd90482b68dc9a9d2b39457a28be7a97be59d9e0231de5f63d230871bca171c68691 SHA512 9b442a4a2c6199f455b1b660790bc4ace9f3d0825a5081c7dd247e302a6dce29d0daf77aec723333298abb30efb4d812ccf790394437997772c603cc8ff1a0fc +DIST thunderbird-140.11.0esr-ru.xpi 593345 BLAKE2B db6d6af3d6e7ed56f2e49ee0755e1ddd5b1c23c73b3c5cf617622b95c297705e445123dd62f430747313396698d1a771604c26b06daded15e868ed8869ad7845 SHA512 62ac29e2c20a0466b0109b37a0986f18c732936fa21747cbe409867c487fd1866765b7086df3d06f4279ec2e73295aedd4f6bdec46181fdcd2daa26e08a53fc5 +DIST thunderbird-140.11.0esr-sk.xpi 519391 BLAKE2B 47b4624ba959ce4751d61e2c834485661fd9dbd9c575ed2b3551772a7afd9575096bc8f7aa663bcae25dd39eae09ef67132874c1513633ee3a60eafef778f8af SHA512 b9714062796c574e39c2caa5304ee06dd4d502bb4107a9d785760a89e9c828a9ae7830ce639653e6b0dcaeed294d68c0df7e8ed0c16c7096a292800db7023535 +DIST thunderbird-140.11.0esr-sl.xpi 485966 BLAKE2B c016f6baf746703aae543bcd334b4dcb6b5898ccdb7e7c8f75ad90aa8aac6ad90d68149e2a7b07c24abb26168518d9a94f94b03edadf8797e9c6ef9d01c98173 SHA512 ac998ea8f5642bf385a08135583e4b5aea8f4f5e4380a092cac9fb99b36f54bb6af6fefedd7ee230d6008aa95d67cf082c81dc0f9e52372537f1597e5c717782 +DIST thunderbird-140.11.0esr-sq.xpi 506281 BLAKE2B c39fa60ea8f3b3941d1a1869b51f78939c65ef5c39ea79cfc99c5e2c906cf2c18b856f9d22d0abfb7f91481c926807d3d3f7e79c75519aa7532b1e4a947abade SHA512 2414c8ed4e300c10cec53cf8c70cf60733c142354a07cd6cdf6ff37a14e1237c20465ca30aef63ca8f9965326885dfa84cd68d03447e5ba515ca656078834e5b +DIST thunderbird-140.11.0esr-sr.xpi 533251 BLAKE2B 9e0224308d8176548ec0fd4bca094930daa0a5bf397f33394a8825b3318bccdb6179d9f03552312b91f9425bd05ce31211320aca14a05bbae43d1b5636e2e88a SHA512 be859c9622cefcdfba81a21780d7020838792b0a9aef859f2bb1e936ae41163daf833c1838cbc51342e22afdd6969f9504e1113f4f137a701c45642c5d059df8 +DIST thunderbird-140.11.0esr-sv-SE.xpi 484421 BLAKE2B 2110a384c80d55061d3a8d8d09fa47ecc9ed4688a812bbae0446ec1eee00dff96f9858034da85740882af4180d3ae8324e9e60cb43d5e9d82d5286676ee3ce04 SHA512 06808a06b794fe504da19c8acc24eb63c2c9cbeed12cd9e0da24bd567bc6801b80d7904a81f546a20855dbdaf8fc9beabf5248567fca535faffe6e520864e658 +DIST thunderbird-140.11.0esr-th.xpi 569105 BLAKE2B b5f79127e75f5f6ce1cf60268503a04fe72b7ef2f6635fcc43b992699560856017787ceed8146bbfe3f9018d78acc390cf4b1693a802da1e6b1bde5fc0af31c3 SHA512 40efde27d032896554403c4f286651a5cea3575181a755b1a53707456502d8c5601c53aac00628db5a7b7da26f36c8c9e048262b04526349363b0075282a1335 +DIST thunderbird-140.11.0esr-tr.xpi 496305 BLAKE2B 790c46e8ba9a30d420c704cc30cfeb6988b2de189f946e9b057df293c3e74b6ebf9d4525c981dbb89acc73b0ae7254ce466b5de87f96ac2064672cd2df367edd SHA512 e80c2bafdb84d68be30169df4e61e22ca575ae21492049c453bc64821606d7ad14bce090890384cc1b7025ddef6671767b4d50c07ac8569b9b115ba38647ea3d +DIST thunderbird-140.11.0esr-uk.xpi 582153 BLAKE2B b86237c957eaf48113f67105bd2698d9230942083fb7f716b8565fe0f0302072258ca2996094bc0f0c855526752309a24b2fa47a702e130b52809ec61af2c06c SHA512 7dd02c7a79153a7d876fca1e1adbe84e34e8483d235a0ea164471f38848600e20ec512c3e1418fb88aebe7da9bde7b43b47b36256953f80af428c0502304ccb3 +DIST thunderbird-140.11.0esr-uz.xpi 355269 BLAKE2B 3f8a731ce445a8d33a0e0ed5ca0b9288f66aebd5627ecb750f607c8456c55d749a702159fba0f83822a4d4fd739241dc6477971eab87c3ac760bec628d972809 SHA512 227f87abec504d17c24063f94aecfa0ac776bd12304e15801199a684cd90f04aa0d06013f0d7070660dcd6a996968622d5abaf9f0323194a9c9ce517c39874aa +DIST thunderbird-140.11.0esr-vi.xpi 518886 BLAKE2B 4fe7432dacdd4b9cd5a12f2a012dc6d1d560f15f0c5dda09fcedae73bfa37c854e08ba0e19c8346d08a7912ca1078231d1569d60cf203ac053c8da143c0f2139 SHA512 4d0ae56aebef05d301e2a19735447dba2093d96e3dd8335570db2ed66eaea2b0681e5fa65d1a23d33e5b36e8a001edc88f964aeaf50749e10f8db9c4f3d9c348 +DIST thunderbird-140.11.0esr-zh-CN.xpi 507848 BLAKE2B f90eb49e23a941ab13b73a7b0eda3e8bcefe88663d2d3447fcf5af8e465eb79872ccd250fdcfcda3404ea6bcf477b1c753059b047852f6a4942186c278170a13 SHA512 57026bd4b59705f14c2957288813a3e4c35c4deec3c0715cdf0dbb7c271b484cb62f39b4bc67c4bf6045eae42a5ab6784888af14eb7a2f3416da9c3343c22558 +DIST thunderbird-140.11.0esr-zh-TW.xpi 511432 BLAKE2B 7021f5ceeecb115ccf01381003962cd83302dc4cd2b075e2632be8f890b77d9f8c07f35fd8cb779b6a6a02ce908218aec7cdddedeb3bd9343dccbc4467a49561 SHA512 7b9aed55a6c8e488db28e56b7cee12173744e93b1097b690972540c16dd05ba09079da6fcb29fb6651dec7cdd7d664006e337adc2fa595cf3d28bf6db67510e9 +DIST thunderbird-140.11.0esr.source.tar.xz 758893056 BLAKE2B 196f398c0a888280e0c2776dcc9b40eb6fc329dcc45918d251e2f28fa97f79ea0ade89993340c803e696be662392bdaf4518fb7cab11d8e3c8278af2377fcba3 SHA512 bc1aa2f7e37b8272961acec1ee4774fb2036961e3f6f9e2d40ef4c5fd9935d25e55a2ac3b5a28adbbee075133bae8867b8277622089dfa9cafece3eb2c84d688 +DIST thunderbird-140.11.1esr-af.xpi 316219 BLAKE2B b6d29c1a2878dbb6bf4ae9bf70819b3d23085c5706f1b2730d40882b0ced4c764ec9b3d0511a7f598cc8b15a92215480ad080e647ccdd26febbc6a45c357423c SHA512 2b940dac3f54c38ff94e6b584100a2f2f1285d157df89ee32d4c8c3ddd5dd340806caaa365f27d5597d6aaef307bc826e3ba2e8d0010c0e97c86b966653c1733 +DIST thunderbird-140.11.1esr-ar.xpi 436195 BLAKE2B 83f8c08c155f778817f2e74950cb9e3b134e0c698c3a4fcc1e3ee3b5d37995e7f27701946fb3046d591083efbf7d6ea4790e66aa0a4b1dc8d7277ef511ab1233 SHA512 c2f0bdcc04476ded524d6ba14cbf14c9888cd2608196ef1ed8afb8778d6c353b92cb9b305fb4cad03b6fcce8ae7d5c7128b8e72a7f6ce63fc9e808a860c0e9e8 +DIST thunderbird-140.11.1esr-ast.xpi 340598 BLAKE2B 50e804fe597b5dd8dbc3e0c63f22699a44f5a03ceed9caaa6ef1ac9a45177d8855ca0e4b288c3260ef87b55d306ab8bfc6104d42005d0e63e6a8253cf3d115aa SHA512 f74ffabe7b2877b12e022e79fbc0f4f888672b6c1aa0aef103aca0c46451dc3aaa1d324c06a1a9792132f7c02f3043bb58d307fb1f4913a1ff3399189a7b3ca8 +DIST thunderbird-140.11.1esr-be.xpi 522094 BLAKE2B 0ab39f234aa2b17db9b1454994cf536c9119eab65bdc5570c7832cb5ee572eab6684e9f675de41f59e1fbcea49e661a71b1f4f6fa31ef05556b540e58905178c SHA512 4c8e308996f03e1dd0ae43de08e491cf5df40bb072b695e14cff1553ef1d4ed41e02cc0d6bae0970beddf84833e02803c29a3da490b27e7fc91427bc46f95c0a +DIST thunderbird-140.11.1esr-bg.xpi 539804 BLAKE2B 1911434bde66292333b4d9c85e32f7482c94108d7ff79d2766611d5a3401119103a3ae4f96da075edaf1f0c3f235620c40e57d41f22d6ad85e9c237f86160edf SHA512 9a2e14c2f8ec215d0cb5845595012139e13476f6c58b1dc194f5c3a2f11cbeebdc5db9ed5d6c41016cd1bf2760bb847d715550455d904ecbc6a831f2a2554347 +DIST thunderbird-140.11.1esr-br.xpi 402748 BLAKE2B 1b55071744b708236dbe1bbbfdb00f572d1dc39ee22d7e08d6a1d23482188c65318b6eba3ab9e5d3451c6186ccba80f2cf56b868edd09123a944bd3effe2f45d SHA512 e676c5627576a9e66e34d16c784ce3054377b393810889701026cd2f78500154246758ac98cde3c9bd98876ca3e6f90270d95afc1e4df0821cbfd1b85682288b +DIST thunderbird-140.11.1esr-ca.xpi 440672 BLAKE2B d0f0d02938c06a3e7534be608f4696c33ad1ebc1bff88c1e4659a3acae238995b7f0a1c66267c1fd864c1626c9354f6b9aebe0018bbc654022c55871d139d812 SHA512 46bee71aa9bbb4c30ee866231db6ca51e45d5b3b3fe2ec75442deb1a8eb21def583ac3dda8e8cce5ad658938c3b107a001561756b390eb98c2bb70b387ac75c1 +DIST thunderbird-140.11.1esr-cak.xpi 418022 BLAKE2B dcd627eaacdef35004ced212345c496c34d62b564fb2144cdaf51712a08662b30afa05bd6dbbe30e868e5f0c6f4eb24e663aa52394e2da770ee2a0c03437fe5e SHA512 55d52187a7a05697f4880aedb1d0469e322111edbf8339a3850c3f4752bf7bc77832fde59960413f6dd8001849dbae1b66f1a4dbe515c88a55b991ebd3ab7586 +DIST thunderbird-140.11.1esr-cs.xpi 519563 BLAKE2B 6f98d0543c25bd5b9165b93aefc3896ce0382f3730d099e34cd1a6c9f30f7979923790601ae194f00c220adec75ad540b33a31bef797fc0c08a7cd23a7b38d34 SHA512 d6a29539b1f22b8ce6c44300f75cfbaca027fe060acabac44f642188eede6c54c1c625e9d5669d90a034eb2cc351f14288336bc6128a12e6d65e71e4a5e53322 +DIST thunderbird-140.11.1esr-cy.xpi 487651 BLAKE2B 2be7880e3164d01e7db8b4ab30aeacca2e08ca89e390336847e626b1559bfd2264589b7425a6d5dd7b88a4b175713decd5635e4875678a8d80d52a39af31a09f SHA512 fbf59e14dbf8d70a12466d0fa7b0bf31ad023ee115d19c57745b0c0a47ce0459a4c215f16e9da63ca4967805c37a161f00281e0b7828b95eed2bcb4d3c741fb2 +DIST thunderbird-140.11.1esr-da.xpi 476622 BLAKE2B de9d8dfe9db10ad520e4c3fb59f6df11f92d65cf0dd738e93623b3129815980224c5b1b04147e805b6746f550c71dc72a0ecede516cf4df64a6df9fe99242bb6 SHA512 d99d80cf61d79442585f845fda43abdaef8c0defefb54042872a6a4e384b134b8d544a3f65cdf2e65fc0b05b1240aed1324eaec15ffb95cd77a2627f7f80fb8d +DIST thunderbird-140.11.1esr-de.xpi 504709 BLAKE2B c747e144716a2441ffe2f4c0bba8f4c7496cf02a08efa54178c79d2eb641ccd11790a40d7c54240f3913422193e54fa3345547f092e1c1f9e3b0c0fcd1dbc168 SHA512 f7c48d88467e2e14a9aa7db6377c9d643ab2faa4adec633df84b9b727dc6f217d96cb154ba677a909c8b3ca05d6c4d746851256867fc91cc8ba915cb1e0edeb6 +DIST thunderbird-140.11.1esr-dsb.xpi 517789 BLAKE2B 2173cc06912c364cac5480e62a20a83fd7d03254bb36e71bbca68af6bacf8d2df021e69499e0c301133db9436a8daac069a287a9073e7d6ccfd2fe5fa87e0344 SHA512 2e4163445c14ef039a7ab5ae010fc9c909236f1d51112b31eecb6334d82d5824fd82a900184a48a9aab47da7587ca74eb0323ef3a866f166da38cabaa1676aad +DIST thunderbird-140.11.1esr-el.xpi 609039 BLAKE2B d38ccb0a59f78eff064e1e5007fe0df713dc8f90bb9eeb2ba1737121fc34c028089766727a213cf4ee21ec2de20f3234df985d6f92d52c697ab466b39c70adf6 SHA512 b3e88b7234a340e54023b1efb4657343340585f1e746fc6a8f9eb9d6eefcd294ac506287cbb5db862694bc25d98188cba693515bb99b98bf5848f467a1233641 +DIST thunderbird-140.11.1esr-en-CA.xpi 452240 BLAKE2B 812215fb8956014fda0f98356fb40cd005bf48cbb38364c92b44d7e0d7be5cd3d214c9baba1c1e0a92856cd69cfc62b96f084339d63f4a2ee71d1ff1cd255b43 SHA512 0c6c564dc44779103ad0298d766b219f44afabd92f884724291850a75d4e953e6e0a2ca6310b7bf46a3d4f1dc9a5281bd499eed004f30674f1bac8e4dbc69321 +DIST thunderbird-140.11.1esr-en-GB.xpi 452068 BLAKE2B f802fb21623d137afff1048bfe6e3071d726591d25dc25855075e07314819e4dbde1ecaaaac641ddc900749353192b428641f4f4fa06f415b944038cb7ebaed2 SHA512 a2532e7b04fed0986b42dca1809419361f7fcda97b92b3fdf3ee8ad171b7c4a4aedcbfb33835c025aaa42916056a285d609626bc25e027cc56f8059ce7a58b11 +DIST thunderbird-140.11.1esr-es-AR.xpi 495268 BLAKE2B b8acfb20ccc1118c330da662c52fffa2e99c1334d5df2c5d5a15bda21332cfe35ad4a4e4c88fc538f3e1e01f1175849ff7c6e691ba9a19129b2b7225feb53a03 SHA512 90bf4c747ba62030f79b173717471c7c02a546cd391725d5fd21e0149f511490e884aa1b5f943707ba65d821d271dc6cf83c791878769d669cfd13b5ea5c0999 +DIST thunderbird-140.11.1esr-es-ES.xpi 497283 BLAKE2B fd0b19bb795c11478d8f27884edf02bee484b772784a521c536b78c402422f5f4144ae700abd8a7b7fffd16d72b22cbfd0240a8812a2733a4c7f063601375efd SHA512 d093203a9b4f421e434e1c789c9e61b5ccea3a306fadaa5fb267991aca4ad06fcae02688c11d7d56149404344d0005f5bf9b80f266d7328663ff13b22abca145 +DIST thunderbird-140.11.1esr-es-MX.xpi 490825 BLAKE2B e9643c3fa39c1a4d6b4eb283dd7338f26f2962da3fced10baa3afdc78208c17910828bcfb315188a59835c71475c49a4ca78a730d4a8c92efe214afb1501db5e SHA512 b3f49bbff1028e43825492ffec3937bdb54ccac0fb8c5772b4608862de44f34d12c2d46461bfbad5a65e6f512fe9d88e43c734a7ff978349229810c90a74f557 +DIST thunderbird-140.11.1esr-et.xpi 443619 BLAKE2B 8e0ba1f0b81e22015fc2783d72bd089430e9e8ac44bf82702e29380e0be8ce689d5403a8bd6fed4e79f32b14f6c14fe2d7ad68d53b38357c63ed3706e0146e02 SHA512 c556b2f08047e6bd21e4ee3b7476198f6c6b44ff18a0d7862107efc529377221dc7fd82704a3198f293d14495f3f959c9e8f9795fc44a4a05d567128d60f300a +DIST thunderbird-140.11.1esr-eu.xpi 473923 BLAKE2B 5f132bb613e9c055762bae23e9721fe9d7375554e1f1e631bb8984da692c10e5471aac97fc6086ad53bab1f8103ebaddfc136197d5c37bc64485d727e18afcad SHA512 261356c58859ccdc6fd9e00ab5226ef315e25d6321bade050fc53754faba959025c52ae1faf48c5aac535836d0a321ab14c54d979695210fcb82f04174e2311b +DIST thunderbird-140.11.1esr-fi.xpi 475620 BLAKE2B e3c77a5ccad35f13d5297beebc2c2f68e5e34a4ffc45032e2c451d817bb2b29017a3d520f6e050706f866a4f4ea68a3fac31a97cfca726cac4f48c207a3e7e0f SHA512 c75959b84acb40afca7bf4e37abf373c0ebe9b5cb698e1ba9c60c0ac20a6f68a26f47e8f81d46446cbbee043c85e9cab2b097321bcb0214a1c0c54da1dc95b64 +DIST thunderbird-140.11.1esr-fr.xpi 508316 BLAKE2B 71cf86fe2650cb1323c2844dc5b1a1874b865debd819da4e9a5c2f26dfa2ad418172bce8a2b55aebdae2f6407fa3a33111d7725cda5d802d203c19815d023afc SHA512 4d6feedb1686f76a0098fab4de208075c5916f2908b156696d21f4a3af514d70eb16352e2f1bf71c7ca7f82292b2fe0cb6409f4585c1c7f20a8548359c2a383c +DIST thunderbird-140.11.1esr-fy-NL.xpi 490684 BLAKE2B f760e75317602564712aa16e8f5fcfc15efb15bbc731676074c4c42857d60bd81c502be6223b32d65483238a5c641e329fa3bc9b1a0bfaecdb7aeea0dc777718 SHA512 8791ac5077000bfdb44cbbfe951a7b6f2afb3074e4e58ad352a14d2a14f275dac319d8ac6a1f7d823f6fc2d5389e39dccff510ca036fd951ad70ed5b8c95f5fd +DIST thunderbird-140.11.1esr-ga-IE.xpi 376745 BLAKE2B 00189945ccec6867dfb1924abc37360ac6bc8c68617a8f72990e1159779f0693f662d166ac64b1cb6dd6afb67d97611d5d2d6c69c9e4a9bfb48e23f81c1cb42e SHA512 46661077fd2075ac22d4751628235e5a9ea102fb55701f76d75aa24152738850d6221978ab0274d126769bab1aae12a2d61c541a9181bfc9fdd96ed841d0f137 +DIST thunderbird-140.11.1esr-gd.xpi 461973 BLAKE2B 6e4eba6e91e42c73353a064ff7568ba7f06cfb8904417d312abdd8abb274b1df801d26b00f8236de9ba5928cb4ee2d740b14dadc007d0ffcf8b2ffe1954ee8fb SHA512 072c14e5c9652a06c9667001d129ff0e808f7814a28c9d85d3ffe2d17a3cdf3323468b7c5196778c34b392aec1cb292ce453cb04912e8d5bb94ee1b9be074571 +DIST thunderbird-140.11.1esr-gl.xpi 489345 BLAKE2B 3e58bc6d200f600b528bc5eebb91eb33e2e7bad6b53bbfbd7d48f65a8decb9528c95caa1492ec4f5d4e9aad43c3926e58f2fa0866a6cb6a4e7bd268db24c3271 SHA512 e8758314da4067ab5877c9c7b0d05ca6160af0d0508f996e8ccff1527b23f62bf6caf714b8d38c1c0d09cc9c9c560125dc2c75dcd09c0afa52b218cc20ed5087 +DIST thunderbird-140.11.1esr-he.xpi 444206 BLAKE2B 227bafce80aff2b6d8ccd8e7ecb45b01530230cb7a418007dff2ab50525c0a5468eb5dd442be8dac2f7c273805d0976469fb3b6ee01a6f55159c38d5f334926c SHA512 58772873b11cd8570834b2edd512a45879ef80a3fffcee3875b9dbf9beec7cd836db6d75df49cb8665856c8ef5bc13659dbb2d68f040a95800057a0495846913 +DIST thunderbird-140.11.1esr-hr.xpi 471057 BLAKE2B 782af1719776169d312d7b8c81140e2dc8d4735e2e6c8bb4cc8c1824a72702dec93fb5797946e38b33964ff1409a384c3652fc7dedbf3f8e2138cd2890703275 SHA512 82d5722bf0f6afe9f54ae27a7ebdd2044a4b4b42fd1111b732c3f34c27022d7b19db7bf12ce912d66fa9280afa48eb75c5c5f924ad5f781a053dbaf831f6d0d0 +DIST thunderbird-140.11.1esr-hsb.xpi 514952 BLAKE2B ad7f01a9797616f98ade808b642ed15898febe205fbb34c6365cfd91467a42ab4ee876e434b439c071594c30bb30e5a3785846e64ff720a64362da87c3259a05 SHA512 421e6302d7f5b094f6204d9a9e4965b729ac24096682a5d0c58b557da5e30f0994be26ab2d5f1b18ad3fe240da0ec5532776a10197d98f8e0984c5ac27e9ed7e +DIST thunderbird-140.11.1esr-hu.xpi 517545 BLAKE2B 8721d9c154df6d75f0d0bff94f0b91984abc99ef37ba8430a420d95483076e7724dd025979f64f3d24e98701aff7139d276f8ce2ebcaebf5c204594eb1bab256 SHA512 1e9ad655cdde96e95416de513f1bb37af7a8f30602268c771b5a4ea6dff63abe386bb304da5fa40e91eb0bb9a0700889c2decb469fe0eb357dd7b098eefd4b9f +DIST thunderbird-140.11.1esr-id.xpi 467003 BLAKE2B d99626249953f5320e0a8e34f2046407f919691762fae0b300275602b0e5b2080d3b6045a49ab27f4deea2fba2445780fa59a54fc47e58ed7b876bc836e87df8 SHA512 84663530d386d61fa73a0dcc9cd868cb9a15723344bc23c6b9183796fd282cbe9836621231c929f8dc8ff0b285b57785f6fec16a109a3f51b0336b7bd6acc3c7 +DIST thunderbird-140.11.1esr-is.xpi 482738 BLAKE2B 1d3ab593e3da0c5c48ce05df3f187df92e472857100214c67599e315cbf44a4c503e2ba5c3944d0a49a8cd944edbf870bc50eb34bb3cab1ab8e8e562c712c433 SHA512 5651212497bfb7fe888d6b5d2aec5e348de6e8c8e32a71fd0811d58dd0620d4acba4ed5ef22be4dd783c83b57a887c5a22a1800432015a486256476df04e2050 +DIST thunderbird-140.11.1esr-it.xpi 488528 BLAKE2B 44c7f2de12613022f1db7251a4f30b1d7fc915f494bfbbb02d201877481b88630325315b02057d78ff75149e795c49932da3523d7816e897a88203f695add56d SHA512 f660b7ac5a3c27df7b4dd9677e9945a50882b77eb30f36b5b2d7a1b5611936021e906a631fe2590e1c38bd9de084373e7b831be006669cda87a7caebcb139432 +DIST thunderbird-140.11.1esr-ja.xpi 539185 BLAKE2B 1dc671e86b2ee0105efb7dfbf2d5c41f2001bbbc4c2fff9ea7397c96bc50fec509c7bec3539c80c133ae8396dd5ba2bd695c177cc0a87cfad6e7f45b7568b517 SHA512 041cc3c0b1a5d1e9484b71fae369e374e86767e7effec0b00377fa29d84f227527fa1f36eb3080bc98f56a8f62419d1f3c3eedec67cb5a625636438084542e80 +DIST thunderbird-140.11.1esr-ka.xpi 554793 BLAKE2B cc24afd0f481366fb3dcf65e24eac14f1faf46cde1060ac5de094fb2b53738781d0280a7fb9904d770281bec85bdbf43867de9fcbb578fce14ab940322ab2e11 SHA512 4ecf8a599346f1620a3c556178d6c28edc073d199409edd30d10dbf5e92f7508508aef3528162d3b5702e3048977291d08e15cbe086307f78d040665424037a5 +DIST thunderbird-140.11.1esr-kab.xpi 470497 BLAKE2B 0d2b2111167ec3f1d22d40508333738c289a94aeac85323e56fe4b8831c3cef73800f95649cb6235da499f14eacdbc5f113bb716a6084ed811c6e6348d466088 SHA512 23bf1930639e420914c033588e2e521055bf666eb46e3e387b8cc739b18dad7276a1667b0e8521feb8a8a7f2d6aed832ecbab7bc45ee584350f254507bdf54d1 +DIST thunderbird-140.11.1esr-kk.xpi 573884 BLAKE2B 525b4b36bf5cfc29085688325bbe71b97197cd4b3bc3ebb379ebf0418a762d380010e7a30b45043d2fef8311633b9114b2728a00dc70bee88e7e12a5d3d78b75 SHA512 8d70e2265f657be6783991f4dce43b5939f3db09c13a8c9406caa15dd337b90bb2c57441f96b21c27aab57216dcccd49def74eaf43b08b174cfb2910ad8da188 +DIST thunderbird-140.11.1esr-ko.xpi 515590 BLAKE2B 38f6bf1926db286802b97eaf40cab7febd69711d6f837050323b79ea64b83d70b7d81a4b956e5a6e9135a6d36c9c3256e67f42cf3ca07e519790a7d8add146bb SHA512 b07ca170d77899b12ea284d995a565484a5e8c7b0328305d160f7dffd37db04313fac29c4e43c3f9e6e940ac4ec17033b1b2bbe7e6e3747b518ad615214bc9bd +DIST thunderbird-140.11.1esr-lt.xpi 453436 BLAKE2B 94b02676a7945d0d6057eb7100c518bdfd56ca391a25534da9d1bd2e7ec816e5c8d87969a63b79d982608c90cc87530b4fb7153330904a2b4960af7aa94ccfcb SHA512 fa26b56e5fc01313866af96b0f2f11edcc89ec5de7a4172e21c3f9b2a4452d617da0578d13a7044eff61f3497dbd3dc38780d0fdd7a13336d43efb7aecf22642 +DIST thunderbird-140.11.1esr-lv.xpi 392816 BLAKE2B ad586b519fd9d3ddfe58f29a47d4b5783059dfee03f3c472f739c0d2c47c2255b16e8af8aca6f3d3a69d1bbaeeb9003e9753c0a71c19dcd0f7ddfb12f0381c4e SHA512 f52c768b631cda158fa63a73d981137a2ca85417f877fc819766fc85e83235518acedc28eee196ccb0b1e6a5bf5bf032da2e7e3e783618c9a102ad06df3303f7 +DIST thunderbird-140.11.1esr-ms.xpi 352180 BLAKE2B 8dd3c2211a621e2ff0cd499aa20eb8d280e2d148fe6ac37d6a657dc07fa7b08cf1536a9d05ac2467941b6e1dd303ab08da740c99faf741f778c1ff14ccae85fc SHA512 231a20f45b6a8ed91edc79fd04bc221742e4984272e4f21e14fb05278873485d75a2de6435df7638b8b39d6f11f490f3209939a4007baa396b75d0fd0da83f72 +DIST thunderbird-140.11.1esr-nb-NO.xpi 476124 BLAKE2B 7a277114e80d1e1a1201e161ec1afc91821531f74019e470cbe415b8d5defeb1f15651b5814efde6dc6cf72ef58646b3f27d4b87badf1c33f87c9dc1c5e9f094 SHA512 ac4b54c2db25ff28fc58390d8f0ccb03b1d52e256510dc42253de7370d67b732f41116a2a56b04940780a410482cab344548040b6f255288bd91c0f1c168f134 +DIST thunderbird-140.11.1esr-nl.xpi 482118 BLAKE2B 5112de39aff96ac3627cceb2f8ab803f222ffd0ab9cb5144f7f759b89a0ca377ca35e728bf7d8e380d09a0d67d6c3c39be800513b4de77724c174afe5afc9ada SHA512 4c87aa43b748ef3864a3fc5c7195ac9b16daa25494ebe640e27188a2fcf6c5fa504f30b257dd0334f8bb818516f4ba8a99659dba3d3abdeaab193cbdb8692f75 +DIST thunderbird-140.11.1esr-nn-NO.xpi 479761 BLAKE2B 25f08d3b01f93fdd92914df4b6b2ac2aabbfd5de67f120f6e213f76faf23b3217caffa2e2c365f7a93d33b9593399f87687a69090750d1f132c20b937b9ca254 SHA512 9be463f610ef30acee4a41680ab1b6a00d5d22fe412bf4e0b11237e1813891f23f763fe51a0ebe441af9cd4a055013756bf99395f82e277393e236fda4812456 +DIST thunderbird-140.11.1esr-pa-IN.xpi 435732 BLAKE2B abed73ea30cd77ba1c90463ec536b7e029cd802d22142696f44b151476f7abfc1261e985dad035047f01d3c16473835924362ef78071c3b20eb9d52a7d162dc0 SHA512 0406f2e33e2acaea51a55e199089bbeefe25c695d1b65027ff213f417b19f825eafd21f3c5781144ff90ccef37db47572ba34609840dd4296ff78828ddebdee4 +DIST thunderbird-140.11.1esr-pl.xpi 515612 BLAKE2B 038ac83e1ed145f87804ffd1f812804900f9fabfc1867d4ae685e4e7dbdcaf42011fad393746a2690395a8db3f6d6ca92fdb378a3b0adb1b03aba721b6f3d48a SHA512 c7ed630392f4bb80852ce9bc61747d5165d760364c54b969f8cbe413f4790b0ecca6d939e1de12afe917bbf5423ff5d62cbbd0886e06fd7500529140a49fd8e1 +DIST thunderbird-140.11.1esr-pt-BR.xpi 490166 BLAKE2B 63c067805a280d67314d0c0bf64ee2d4a9edc550ce2a46d556fa1f0eccb19f94c9ba2efe9e9dc67c0ab525324e57796a50f98c528a1366941946dda9c6620116 SHA512 74845f9ab0515adf14b33653d055c23e6aaaa8ea28d479e4bf67f9e10870b3f6c3c9f96799bba494660d70d67a32ce2e45123ba69d71198216de96c742038236 +DIST thunderbird-140.11.1esr-pt-PT.xpi 494210 BLAKE2B 1d30a147881208e5d20f924d26352d6fe19f46332ad56d21d315f18da77d6a3497e61f850d165ff46c2cde788dcd5ed782d1b59b075b30ad4ebf99fd5c3a637f SHA512 a2f7f3bf184b832514a4007c7b3a1a94a61241b92181f9ee87fe10cc9cd7c3fe5b86b683815004264e6a71fa367fdc0535b8b68581bf9ebf49e1a0b5e2e951b0 +DIST thunderbird-140.11.1esr-rm.xpi 487883 BLAKE2B 69628ae115a49dcfdb94621140704a5881ae45c11898ecf46623f2c8cfea59a8527ec1c18c2ac6bf7f95ed0e2848c36bc125ec6c9c44aa16ad99fded89da45f1 SHA512 f159932050e0eae65f20de76574fbb7a38b338219f6d9a87b6d53158c182c10724478c1fe2af24ca40d1d20c362ee6290e854ab1717be8a91ec6149ebe48987e +DIST thunderbird-140.11.1esr-ro.xpi 501094 BLAKE2B b4d4e38e400f0173a8b1184c64cc6d6c8b6c1a72f778ffa95cef5fb8fc5182e95e4b61dee53da53e3d45f94b08ec840000d7cc7576cd6371352abd5ce5f58820 SHA512 44410a11ef1482160c6ea25ee4d90d142bf869f075b68847ad7fa3a9cfe60f2881acc69c85183c8fb557228ca23dfcdc52cffc0c893ad52026bf33a106298398 +DIST thunderbird-140.11.1esr-ru.xpi 593344 BLAKE2B 38438c92a08f42ef6e3bf5c0632639df3423e8386515e3cea1947fb05b146e36fb4b7f84c350ea6db836bca9cdda1e4e417fed103a6fa94150b1b336d8fbb2d9 SHA512 930a9b8a892958d646b447f2f5b86241059078cd16f1b0eeaf938c073bf024dcc76b274567e610c0a2e69fb2133cd6e15a3ea79de600ec20a2107f7deaeb7bed +DIST thunderbird-140.11.1esr-sk.xpi 519390 BLAKE2B a329007e3544a6f3081488b992f69510a59a1161328f365f63d60c05057946582e08db9d0ec16ab847297f26afde1e11c2cfb66f977d29619c0fd974ae00ebac SHA512 49ba1ee7407ba20eab99bf95d4d7293fc414c49bd0092921a5ebef6039f08eaebc60766bc52ef70ee6ed81c76f5e15f2da2bd7081c5cc608f05042a78320bea1 +DIST thunderbird-140.11.1esr-sl.xpi 485964 BLAKE2B a15096b22b160339fb528ad266a6f2b2e9f784f41694f545d5f0ca50e81957a5612aa9e4af4d4e3d192a36c2e89c18a2fab9219bd024633be86b5942ef83d53c SHA512 d098ebda744c5bb16484552cf1baebab43906619e20f6f29003f98892b6772d7b43adf3f2d0d81bc82bfbf455e2fa893e65bd4347a7da91cbff72b31569a2ce0 +DIST thunderbird-140.11.1esr-sq.xpi 506281 BLAKE2B 000d4b298f7fd4bb7361ab89de298e35a226faa0fdabbc45cd9b4005df356dedf36094f55ef8235963cfc0c13f02e0024e1678bfde7741a5870f41cd99ecf518 SHA512 c542e20dcc67405c3674769f72924175ee92ac26360dd3b2e4067e241c0254cc60c1f4c8a6b046dd800c7b00b4e4372c1cc6414b5665c4f3fbc662151cc2abdd +DIST thunderbird-140.11.1esr-sr.xpi 533248 BLAKE2B 6cb80789a607dc71df83482d67266aa35748c45a4f7eb00e1631d0b1b872fd50e62087fd198c6bca948cef4d6dc0d1f7d6410012c2d5ffb37d64d010e7148da0 SHA512 52fa3a2a6cb4606b21c8db45a514cb10607d169a741ee640541361898c671d59378eb5530c06160c839e40012ea8f2b1348bc5e96a696ff2ae73f43a3d9e178e +DIST thunderbird-140.11.1esr-sv-SE.xpi 484420 BLAKE2B cbacf87f38a5461baa8583dccd055b69ccdfafe755ee4c6abc42fd4b483a5444a007909caa09d119f8a7672720f9341a8d963ad9a9992cb9528fb44d7e78d263 SHA512 7fc08da5cedb7fecd62b7532b908b34dc60da22f68ac2898c5ba6e298db0b479dffba7ab1e7eca38bcc66519b663b392208b76484168b31bb2358ceb58e8e53e +DIST thunderbird-140.11.1esr-th.xpi 569104 BLAKE2B 7ef9a03170b86000529b02cea981cbdba0c0c50b393433e098288aa79bd5fa845101e3e8cc646d3978a1cb971ef190175fc399c6ff07f24461d5549fe9f3fddf SHA512 29fdcfb8459e1bf2ea87d945a19d36789728f8548eb9dc767b3b04f50a0eebd3f66cae763dbe1e14faa14c4aed828113d982ba5a339a1b2ba12a890664c3961a +DIST thunderbird-140.11.1esr-tr.xpi 496304 BLAKE2B 1075a4516893e6822d10b77da090380a52011c71326b8c2a661a3f6a5e89c1073a25a06b4a9aac0b2688c592b592ef0eb2c1697464c1af51df9d49b28e25d8d7 SHA512 190bb0aa2467c18a573fb257800f456b24c2675ff214825b625f24fffa67aa7eedc9fa972ca62c2f63b275bbe6c6a7a3c88b2e5fdb9171b9d7056895eae05ae8 +DIST thunderbird-140.11.1esr-uk.xpi 582152 BLAKE2B 0aaf46816cca483302e4e59ce329ed47c2ea66296c8c4a1ba1b3fddcb96ce79a0d0166fdb25d682c69119a47054c53cefcd532f1ee4f8327328a183b84e1ed90 SHA512 593f6c1a8aaa7e94658f4074e9cf307b63e696e9c05eaa566619dd153584e09dc635bead816e7af41f50159460d79c8303aa053d5f09ff6cdfbe66ead0664e50 +DIST thunderbird-140.11.1esr-uz.xpi 355265 BLAKE2B 17c2d22d5f6a3e68423fc81f44501fecc26216a6e94f441fd19890248f2aa3238a628ffbd78bdc4956baebc3dfeb33754e6fb4dd761be76556b5756fe6a5d1f9 SHA512 2625450045aaf080bdaca22851a6c03af91b7a279c8e73ae0ec906c6ef117e19e8e695418cf223b4fad02d0392738099f23660bb1fe68662e94a79c28854eeb6 +DIST thunderbird-140.11.1esr-vi.xpi 518884 BLAKE2B 5eaac842bb3fed8e6ac3cd96e2d41574c11ea88ae03739893ec1c6d002fb308add6a751cc696ee2cbe06800a6994a089c2826dcaa01a1565148e893b8eab03c5 SHA512 92d1ca1ac26de55532afa2950bc9f9481d5aa816a00848b373a8cdebc062b27642b13ed91a2648c63d02ee7b46d3cb0e6e0b256c43c6b21766af2409c53df870 +DIST thunderbird-140.11.1esr-zh-CN.xpi 507847 BLAKE2B bdb6e0d5a16f44dbf98e479ef0b99a54847a9b2a5ed1651437b9615d876e50080e04ad35042dede613281dd0b7f4e8a96f9aa96624b422ee15b89b430daa3cf0 SHA512 fe73ab25011f803d06c434493f1e87bc79ca22099d6d901af7b9f73897b85ee7342d300b0bdc658d6e27c52bbb04a5f04228cc371727fdb4490559f3d448bd75 +DIST thunderbird-140.11.1esr-zh-TW.xpi 511432 BLAKE2B a4eccbb2f0723db526c0fd440f5893d92f13878f658d7c72b1d0f1fc408a6755edb428602d016a29f97d0e5b7fccf70c1ca0ddec5508ce9c1d9941e734dbf0e3 SHA512 21aa625aca757914959b919770f4d569900dd002bd5e7c361a23621149a622103a0ddc88b3f8d1272a9796369bd843eb2fd4956e0f7f8d16850722379d2644bc +DIST thunderbird-140.11.1esr.source.tar.xz 749654596 BLAKE2B 194fc6e16eb7a9dcafd8468b5ce03558e75e26e2531166f4db144a3c9258873b56c98d2524ee67f904186222514d5327167a65bf224679e055f709c82d001ca4 SHA512 93dfdd26e6f4c7dd2f7dcc2e4994980d017868341c60c93775721467abd9192b815f2de63928e7d10c965fc045ed72ca5b49ed6502a61e50104ee5cd00941d1e +DIST thunderbird-150.0.1.source.tar.xz 840275860 BLAKE2B a38fd038cd6663a5a424aefc89fc500e48a5440261af58c08a1eda24c6c0dcbb9e8454587ea9c923da15a08acadecff0d5859bcc87048ae5e627a0e9221a35e0 SHA512 bf3d33357965cd144decef7c8865b6c18043502aea8d090d93fe29555379b924e3925d58276411f38fdcdc87b54ab3ae7d6aa6619feec9b856f8f227225cb375 +DIST thunderbird-150.0.2.source.tar.xz 836019656 BLAKE2B ece5d9b22ad07d4177d71880cae00b5d06aebb18c9cc5a3c26adc98b163f4a83f244bd711db4abaeeca94d7fce133e7b8aacf65feaba7e560c85a7d9eddbd57f SHA512 3e52220ff34aa6cd1bf46a910dba1f30d0abf7d19ed7f501ffeeb8f5901b8d97fdc0adb0cceb434ef8e83c7f7b83f28024b872280237af72ff2da9d89fafe065 diff --git a/mail-client/thunderbird/files/disable-auto-update.policy.json b/mail-client/thunderbird/files/disable-auto-update.policy.json new file mode 100644 index 000000000000..f36622021fcd --- /dev/null +++ b/mail-client/thunderbird/files/disable-auto-update.policy.json @@ -0,0 +1,5 @@ +{ + "policies": { + "DisableAppUpdate": true + } +} diff --git a/mail-client/thunderbird/files/distribution.ini b/mail-client/thunderbird/files/distribution.ini new file mode 100644 index 000000000000..ab0d14912f4c --- /dev/null +++ b/mail-client/thunderbird/files/distribution.ini @@ -0,0 +1,9 @@ +[Global] +id=gentoo +version=1.0 +about=Mozilla Thunderbird for Gentoo +about.de=Mozilla Thunderbird für Gentoo + +[Preferences] +app.distributor="gentoo" +app.distributor.channel="gentoo" diff --git a/mail-client/thunderbird/files/firefox-146.0.1-icu78.patch b/mail-client/thunderbird/files/firefox-146.0.1-icu78.patch new file mode 100644 index 000000000000..c6c9e0530e0f --- /dev/null +++ b/mail-client/thunderbird/files/firefox-146.0.1-icu78.patch @@ -0,0 +1,16 @@ +diff --git a/intl/lwbrk/LineBreaker.cpp b/intl/lwbrk/LineBreaker.cpp +--- a/intl/lwbrk/LineBreaker.cpp ++++ b/intl/lwbrk/LineBreaker.cpp +@@ -451,10 +451,11 @@ + /* AKSARA = 43, [AK] */ CLASS_CHARACTER, + /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER, + /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER, + /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER, + /* VIRAMA = 47, [VI] */ CLASS_CHARACTER, ++ /* UNAMBIGUOUS_HYPHEN = 48 [HH] */ CLASS_BREAKABLE, + }; + + static_assert(U_LB_COUNT == std::size(sUnicodeLineBreakToClass), + "Gecko vs ICU LineBreak class mismatch"); + + diff --git a/mail-client/thunderbird/files/gentoo-default-prefs-r1.js b/mail-client/thunderbird/files/gentoo-default-prefs-r1.js new file mode 100644 index 000000000000..4b7eea46ffb9 --- /dev/null +++ b/mail-client/thunderbird/files/gentoo-default-prefs-r1.js @@ -0,0 +1,5 @@ +pref("general.smoothScroll", true); +pref("general.autoScroll", false); +pref("general.useragent.locale", "chrome://global/locale/intl.properties"); +pref("mail.shell.checkDefaultClient", false); +pref("intl.locale.requested", ""); diff --git a/mail-client/thunderbird/files/gentoo-hwaccel-prefs.js b/mail-client/thunderbird/files/gentoo-hwaccel-prefs.js new file mode 100644 index 000000000000..a00144a7ad13 --- /dev/null +++ b/mail-client/thunderbird/files/gentoo-hwaccel-prefs.js @@ -0,0 +1,3 @@ +/* Force hardware accelerated rendering due to USE=hwaccel */ +pref("layers.acceleration.force-enabled", true); +pref("webgl.force-enabled", true); diff --git a/mail-client/thunderbird/files/icon/thunderbird-r2.desktop b/mail-client/thunderbird/files/icon/thunderbird-r2.desktop new file mode 100644 index 000000000000..20073ac30b93 --- /dev/null +++ b/mail-client/thunderbird/files/icon/thunderbird-r2.desktop @@ -0,0 +1,31 @@ +[Desktop Entry] +Version=1.0 +Name=@NAME@ +GenericName=Email +Comment=Send and Receive Email +Comment[ca]=Llegiu i escriviu correu +Comment[cs]=Čtení a psaní pošty +Comment[de]=Emails lesen und verfassen +Comment[fi]=Lue ja kirjoita sähköposteja +Comment[fr]=Lire et écrire des courriels +Comment[it]=Leggere e scrivere email +Comment[ja]=メールの読み書き +Comment[pl]=Czytanie i wysyłanie e-maili +Comment[pt_BR]=Ler e escrever suas mensagens +Comment[sv]=Läs och skriv e-post +Exec=@EXEC@ %u +Icon=@ICON@ +Terminal=false +Type=Application +MimeType=message/rfc822;text/calendar;x-scheme-handler/mailto; +StartupNotify=true +Categories=Network;Email;Calendar; +Keywords=email;messages;calendar +Actions=profile-manager-window; +StartupWMClass=thunderbird-esr + +[Desktop Action profile-manager-window] +Name=Open the Profile Manager +Name[de]=Profilverwaltung öffnen +Name[cs]=Správa profilů +Exec=@EXEC@ --ProfileManager diff --git a/mail-client/thunderbird/files/thunderbird-r1.sh b/mail-client/thunderbird/files/thunderbird-r1.sh new file mode 100644 index 000000000000..a433ee338577 --- /dev/null +++ b/mail-client/thunderbird/files/thunderbird-r1.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +## +## Usage: +## +## $ thunderbird +## +## This script is meant to run Mozilla Thunderbird in Gentoo. + +cmdname=$(basename "$0") + +## +## Variables +## +MOZ_ARCH=$(uname -m) +case ${MOZ_ARCH} in + x86_64|s390x|sparc64) + MOZ_LIB_DIR="@PREFIX@/lib64" + SECONDARY_LIB_DIR="@PREFIX@/lib" + ;; + *) + MOZ_LIB_DIR="@PREFIX@/lib" + SECONDARY_LIB_DIR="@PREFIX@/lib64" + ;; +esac + +MOZ_THUNDERBIRD_FILE="thunderbird" + +if [[ ! -r ${MOZ_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} ]]; then + if [[ ! -r ${SECONDARY_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} ]]; then + echo "Error: ${MOZ_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} not found" >&2 + if [[ -d ${SECONDARY_LIB_DIR} ]]; then + echo " ${SECONDARY_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} not found" >&2 + fi + exit 1 + fi + MOZ_LIB_DIR="${SECONDARY_LIB_DIR}" +fi +MOZILLA_FIVE_HOME="${MOZ_LIB_DIR}/thunderbird" +MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}" +MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_THUNDERBIRD_FILE}" + +## +## Enable Wayland backend? +## +if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then + if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_ENABLE_WAYLAND=1 + fi +fi + +## +## Use D-Bus remote exclusively when there's Wayland display. +## +if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_DBUS_REMOTE=1 +fi + +## +## Make sure that we set the plugin path +## +MOZ_PLUGIN_DIR="plugins" + +if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +else + MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +export MOZ_PLUGIN_PATH + +## +## Set MOZ_APP_LAUNCHER for gnome-session +## +export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}" + +## +## Disable the GNOME crash dialog, Mozilla has its own +## +if [[ "${XDG_CURRENT_DESKTOP}" == "GNOME" ]]; then + GNOME_DISABLE_CRASH_DIALOG=1 + export GNOME_DISABLE_CRASH_DIALOG +fi + +## +## Enable Xinput2 (#617344) +## + +# respect user settings +MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2:-auto} + +if [[ ${MOZ_USE_XINPUT2} == auto && -n ${WAYLAND_DISPLAY} ]]; then + # enabling XINPUT2 should be safe for all wayland users + MOZ_USE_XINPUT2=1 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == KDE ]]; then + # XINPUT2 is known to cause problems for KWin users + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == LXQT ]]; then + # LXQt uses KWin + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto ]]; then + # should work on Mate, Xfce, FluxBox, OpenBox and all the others ... + MOZ_USE_XINPUT2=1 +fi + +[[ ${MOZ_USE_XINPUT2} != 0 ]] && export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2} + +# Don't throw "old profile" dialog box. +export MOZ_ALLOW_DOWNGRADE=1 + +# Run the mail client +exec ${MOZ_PROGRAM} "${@}" diff --git a/mail-client/thunderbird/metadata.xml b/mail-client/thunderbird/metadata.xml new file mode 100644 index 000000000000..5c11d043ce55 --- /dev/null +++ b/mail-client/thunderbird/metadata.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>mozilla@gentoo.org</email> + <name>Gentoo Mozilla Team</name> + </maintainer> + <use> + <flag name="clang">Use Clang compiler instead of GCC</flag> + <flag name="eme-free">Disable EME (DRM plugin) capability at build time</flag> + <flag name="hwaccel">Force-enable hardware-accelerated rendering (Mozilla bug 594876)</flag> + <flag name="libproxy">Enable libproxy support</flag> + <flag name="pgo">Add support for profile-guided optimization using gcc-4.5, + for faster binaries. This option will double the compile time.</flag> + <flag name="pulseaudio">Add sound server support via media-libs/libpulse (may be PulseAudio or + Pipewire, or apulse if installed)</flag> + <flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag> + <flag name="system-av1">Use the system-wide <pkg>media-libs/dav1d</pkg> + and <pkg>media-libs/libaom</pkg> library instead of bundled.</flag> + <flag name="system-harfbuzz">Use the system-wide <pkg>media-libs/harfbuzz</pkg> + and <pkg>media-gfx/graphite2</pkg> instead of bundled.</flag> + <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg> + instead of bundled.</flag> + <flag name="system-jpeg">Use the system-wide <pkg>media-libs/libjpeg-turbo</pkg> + instead of bundled.</flag> + <flag name="system-libevent">Use the system-wide <pkg>dev-libs/libevent</pkg> + instead of bundled.</flag> + <flag name="system-librnp">Use system-wide <pkg>dev-util/librnp</pkg> instead of bundled one.</flag> + <flag name="system-libvpx">Use the system-wide <pkg>media-libs/libvpx</pkg> + instead of bundled.</flag> + <flag name="system-pipewire">Use system <pkg>media-video/pipewire</pkg> for WebRTC and screencast instead of bundled one</flag> + <flag name="system-png">Use the system-wide <pkg>media-libs/libpng</pkg> + instead of bundled (requires APNG patches)</flag> + <flag name="system-webp">Use the system-wide <pkg>media-libs/libwebp</pkg> + instead of bundled.</flag> + <flag name="wifi">Enable necko-wifi for NetworkManager integration, and access point MAC + address scanning for better precision with opt-in geolocation services</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:mozilla:thunderbird</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/thunderbird/thunderbird-140.10.1.ebuild b/mail-client/thunderbird/thunderbird-140.10.1.ebuild new file mode 100644 index 000000000000..ff0ef6314a2e --- /dev/null +++ b/mail-client/thunderbird/thunderbird-140.10.1.ebuild @@ -0,0 +1,1166 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-140esr-patches-09t.tar.xz" +FIREFOX_LOONG_PATCHSET="firefox-139-loong-patches-02.tar.xz" + +LLVM_COMPAT=( 19 20 21 ) + +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +RUST_MIN_VER="1.82.0" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \ + multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + loong? ( + https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} + )" +S="${WORKDIR}/${PN}-${PV%_*}" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="amd64 arm64 ~loong ~ppc64 ~x86" + +IUSE="+clang debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.27.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${TB_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.112.5 + >=dev-libs/nspr-4.36 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-apps/dbus + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-76.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( >=media-video/pipewire-1.4.7-r2:= ) + system-png? ( >=media-libs/libpng-1.6.58:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]] ; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + use loong && eapply "${WORKDIR}/firefox-loong-patches" + + # ICU's subslot change should trigger rebuild on Firefox if it is updated 77->78. + if use system-icu && has_version ">=dev-libs/icu-78.1" ; then + eapply "${FILESDIR}/firefox-146.0.1-icu78.patch" # bgo#967261 + fi + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + # glslopt: bgo#969412, bgo#969871 + moz_clear_vendor_checksums glslopt + # TB-specific + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/comm/third_party/rust/glslopt/.cargo-checksum.json || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-dbus \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use loong ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv ; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338 + if use riscv ; then + mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ver_replacing -lt 136.0 ; then + elog "In this version of Thunderbird, upstream introduced an in-app notification" + elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying" + elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't" + elog "wish to receive them." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-140.10.2.ebuild b/mail-client/thunderbird/thunderbird-140.10.2.ebuild new file mode 100644 index 000000000000..a51aca65925d --- /dev/null +++ b/mail-client/thunderbird/thunderbird-140.10.2.ebuild @@ -0,0 +1,1166 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-140esr-patches-10t.tar.xz" +FIREFOX_LOONG_PATCHSET="firefox-139-loong-patches-02.tar.xz" + +LLVM_COMPAT=( 19 20 21 ) + +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +RUST_MIN_VER="1.82.0" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \ + multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + loong? ( + https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} + )" +S="${WORKDIR}/${PN}-${PV%_*}" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="amd64 arm64 ~loong ~ppc64 ~x86" + +IUSE="+clang debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.27.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${TB_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.112.5 + >=dev-libs/nspr-4.36 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-apps/dbus + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-76.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( >=media-video/pipewire-1.4.7-r2:= ) + system-png? ( >=media-libs/libpng-1.6.58:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]] ; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + use loong && eapply "${WORKDIR}/firefox-loong-patches" + + # ICU's subslot change should trigger rebuild on Firefox if it is updated 77->78. + if use system-icu && has_version ">=dev-libs/icu-78.1" ; then + eapply "${FILESDIR}/firefox-146.0.1-icu78.patch" # bgo#967261 + fi + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + # glslopt: bgo#969412, bgo#969871 + moz_clear_vendor_checksums glslopt + # TB-specific + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/comm/third_party/rust/glslopt/.cargo-checksum.json || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-dbus \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use loong ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv ; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338 + if use riscv ; then + mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ver_replacing -lt 136.0 ; then + elog "In this version of Thunderbird, upstream introduced an in-app notification" + elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying" + elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't" + elog "wish to receive them." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-140.11.0.ebuild b/mail-client/thunderbird/thunderbird-140.11.0.ebuild new file mode 100644 index 000000000000..c2d5c9ff5bfb --- /dev/null +++ b/mail-client/thunderbird/thunderbird-140.11.0.ebuild @@ -0,0 +1,1166 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-140esr-patches-11t.tar.xz" +FIREFOX_LOONG_PATCHSET="firefox-139-loong-patches-02.tar.xz" + +LLVM_COMPAT=( 19 20 21 ) + +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +RUST_MIN_VER="1.82.0" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \ + multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + loong? ( + https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} + )" +S="${WORKDIR}/${PN}-${PV%_*}" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86" + +IUSE="+clang debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.27.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${TB_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.112.5 + >=dev-libs/nspr-4.36 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-apps/dbus + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-76.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( >=media-video/pipewire-1.4.7-r2:= ) + system-png? ( >=media-libs/libpng-1.6.58:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]] ; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + use loong && eapply "${WORKDIR}/firefox-loong-patches" + + # ICU's subslot change should trigger rebuild on Firefox if it is updated 77->78. + if use system-icu && has_version ">=dev-libs/icu-78.1" ; then + eapply "${FILESDIR}/firefox-146.0.1-icu78.patch" # bgo#967261 + fi + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + # glslopt: bgo#969412, bgo#969871 + moz_clear_vendor_checksums glslopt + # TB-specific + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/comm/third_party/rust/glslopt/.cargo-checksum.json || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-dbus \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use loong ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv ; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338 + if use riscv ; then + mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ver_replacing -lt 136.0 ; then + elog "In this version of Thunderbird, upstream introduced an in-app notification" + elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying" + elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't" + elog "wish to receive them." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-140.11.1.ebuild b/mail-client/thunderbird/thunderbird-140.11.1.ebuild new file mode 100644 index 000000000000..90446f5ae332 --- /dev/null +++ b/mail-client/thunderbird/thunderbird-140.11.1.ebuild @@ -0,0 +1,1166 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-140esr-patches-11t.tar.xz" +FIREFOX_LOONG_PATCHSET="firefox-139-loong-patches-02.tar.xz" + +LLVM_COMPAT=( 19 20 21 ) + +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +RUST_MIN_VER="1.82.0" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \ + multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + loong? ( + https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} + )" +S="${WORKDIR}/${PN}-${PV%_*}" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="amd64 arm64 ~loong ~ppc64 ~x86" + +IUSE="+clang debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.27.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${TB_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.112.5 + >=dev-libs/nspr-4.36 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-apps/dbus + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-76.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( >=media-video/pipewire-1.4.7-r2:= ) + system-png? ( >=media-libs/libpng-1.6.58:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]] ; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + use loong && eapply "${WORKDIR}/firefox-loong-patches" + + # ICU's subslot change should trigger rebuild on Firefox if it is updated 77->78. + if use system-icu && has_version ">=dev-libs/icu-78.1" ; then + eapply "${FILESDIR}/firefox-146.0.1-icu78.patch" # bgo#967261 + fi + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + # glslopt: bgo#969412, bgo#969871 + moz_clear_vendor_checksums glslopt + # TB-specific + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/comm/third_party/rust/glslopt/.cargo-checksum.json || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-dbus \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use loong ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv ; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338 + if use riscv ; then + mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ver_replacing -lt 136.0 ; then + elog "In this version of Thunderbird, upstream introduced an in-app notification" + elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying" + elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't" + elog "wish to receive them." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-150.0.1.ebuild b/mail-client/thunderbird/thunderbird-150.0.1.ebuild new file mode 100644 index 000000000000..990385ae643e --- /dev/null +++ b/mail-client/thunderbird/thunderbird-150.0.1.ebuild @@ -0,0 +1,1133 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-150-patches-04t.tar.xz" + +LLVM_COMPAT=( 21 22 ) + +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +RUST_MIN_VER="1.90.0" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \ + multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86" + +IUSE="+clang debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +system-librnp" + +# "-system-librnp" requires clang, bmo#2006910 +REQUIRED_USE="|| ( X wayland ) + !system-librnp? ( clang ) + debug? ( !system-av1 )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.29.1 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${TB_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.123.1 + >=dev-libs/nspr-4.38 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-apps/dbus + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-78.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( media-video/pipewire:= ) + system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +# Thunderbird-only RDEPEND. +RDEPEND+=" ~mail-client/thunderbird-l10n-${PV}" + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]] ; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 and bmo#1988166 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + rm -v "${WORKDIR}"/firefox-patches/*bmo-1988166-musl-remove-nonexisting-system-header-req.patch || die + fi + + # Enable jpeg-xl only in Firefox. + rm -v "${WORKDIR}"/firefox-patches/*bgo-928126-enable-jxl.patch || die + + if ! use llvm_slot_22 ; then + rm -v "${WORKDIR}"/firefox-patches/*bmo-2033279-make-rust-simd-work-with-rust-1.95-tb.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + # glslopt: bgo#969412, bgo#969871 + moz_clear_vendor_checksums glslopt + # moz_clear_vendor_checksums encoding_rs + # TB-specific + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/comm/third_party/rust/glslopt/.cargo-checksum.json || die + if use llvm_slot_22 ; then + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/comm/third_party/rust/encoding_rs/.cargo-checksum.json || die + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-dbus \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use loong ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338 + if use riscv ; then + mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + # mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening # not available in TB + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ver_replacing -lt 136.0 ; then + elog "In this version of Thunderbird, upstream introduced an in-app notification" + elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying" + elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't" + elog "wish to receive them." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-150.0.2.ebuild b/mail-client/thunderbird/thunderbird-150.0.2.ebuild new file mode 100644 index 000000000000..990385ae643e --- /dev/null +++ b/mail-client/thunderbird/thunderbird-150.0.2.ebuild @@ -0,0 +1,1133 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-150-patches-04t.tar.xz" + +LLVM_COMPAT=( 21 22 ) + +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +RUST_MIN_VER="1.90.0" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \ + multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86" + +IUSE="+clang debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +system-librnp" + +# "-system-librnp" requires clang, bmo#2006910 +REQUIRED_USE="|| ( X wayland ) + !system-librnp? ( clang ) + debug? ( !system-av1 )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.29.1 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${TB_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.123.1 + >=dev-libs/nspr-4.38 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-apps/dbus + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-78.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( media-video/pipewire:= ) + system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +# Thunderbird-only RDEPEND. +RDEPEND+=" ~mail-client/thunderbird-l10n-${PV}" + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]] ; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 and bmo#1988166 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + rm -v "${WORKDIR}"/firefox-patches/*bmo-1988166-musl-remove-nonexisting-system-header-req.patch || die + fi + + # Enable jpeg-xl only in Firefox. + rm -v "${WORKDIR}"/firefox-patches/*bgo-928126-enable-jxl.patch || die + + if ! use llvm_slot_22 ; then + rm -v "${WORKDIR}"/firefox-patches/*bmo-2033279-make-rust-simd-work-with-rust-1.95-tb.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + # glslopt: bgo#969412, bgo#969871 + moz_clear_vendor_checksums glslopt + # moz_clear_vendor_checksums encoding_rs + # TB-specific + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/comm/third_party/rust/glslopt/.cargo-checksum.json || die + if use llvm_slot_22 ; then + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/comm/third_party/rust/encoding_rs/.cargo-checksum.json || die + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-dbus \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use loong ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338 + if use riscv ; then + mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + # mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening # not available in TB + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ver_replacing -lt 136.0 ; then + elog "In this version of Thunderbird, upstream introduced an in-app notification" + elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying" + elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't" + elog "wish to receive them." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/tutanota-desktop-bin/Manifest b/mail-client/tutanota-desktop-bin/Manifest new file mode 100644 index 000000000000..8a29c6f24f12 --- /dev/null +++ b/mail-client/tutanota-desktop-bin/Manifest @@ -0,0 +1,6 @@ +DIST tutanota-desktop-bin-319.260107.1-sig.bin 256 BLAKE2B e60a48a030aab221dbe097661f22e63d2ed652a61cfd04c81e9a2181a926aa3338cc93a3219a68cf15af25497264013bf99e53777c2a312c404f2a91254eae26 SHA512 e28450cc8ba7149c9440ca9913ab1b8bed956119e0a6e01e22d405604ce06621c332facfff1a51a40ea5db875fdf6ca5618e69bf38656205899cdbb59add9406 +DIST tutanota-desktop-bin-319.260107.1-tutao-pub.pem 451 BLAKE2B 3072916b322c3a55b1e73526ce10a58555cbe3560f5bd01157bc03c3c25580ffc3f50642ea81657dd596b8899178bddef20dabc2186d3974dbae90deea5a6a22 SHA512 7c6cf9f1074c08b4d38567ced95159c0809af025efe01b0163d9bb5107daabfa873064255186c071a7dc3a9177ccd0c1b2fcc8b085bdbff234965a6710b3ae45 +DIST tutanota-desktop-bin-319.260107.1.AppImage 171416595 BLAKE2B 2c005b750caeefdff9f0ac75b30dd17042250fc2c564cb224c1da22a3abe5e7497b19fc65b2fc93297ac0af2a1ad76b377a9a5e06a584ab2aca9647f080e566b SHA512 b3733619567c5f6a71399bf180d21ba2fd9b6b9c348b737b4007bfd47d0a719d461aa5678393abf50cbe5d1acf9b8af51902649c7267e9b2041169461ac1cab8 +DIST tutanota-desktop-bin-335.260310.0-sig.bin 256 BLAKE2B 1a81f17b284d95d9af3bdae5dc4706bcd3ccda192dc4baec47e94d3844a6101108a4a575aa79546a4a5f6ecaeebfe5c21f002a0c61d15bacbff5d2e7dd7fdbee SHA512 35c198c9b661faeec3fdc35774146b7e6c83355a483c4deb4fdada2dec7ce08c4f00c1103291a27342af043934465157954f6deee629658688e1d5d044b2b2f7 +DIST tutanota-desktop-bin-335.260310.0-tutao-pub.pem 451 BLAKE2B 3072916b322c3a55b1e73526ce10a58555cbe3560f5bd01157bc03c3c25580ffc3f50642ea81657dd596b8899178bddef20dabc2186d3974dbae90deea5a6a22 SHA512 7c6cf9f1074c08b4d38567ced95159c0809af025efe01b0163d9bb5107daabfa873064255186c071a7dc3a9177ccd0c1b2fcc8b085bdbff234965a6710b3ae45 +DIST tutanota-desktop-bin-335.260310.0.AppImage 174344248 BLAKE2B 5499787d6fb01e05928a645d3b8232f6dba8054e574185438769010a4b740cc6dab206ecc9527af08c7774865a84ac7b42ea712735b31ec7dab609533970bc91 SHA512 e10a63d92cd393eb00802efc369e3b3eaabbded3706204293bd2a830203184ca3b78af30b79fda95a04b06cc7b2160bac258cf16be5246b68820f324b0458bcc diff --git a/mail-client/tutanota-desktop-bin/metadata.xml b/mail-client/tutanota-desktop-bin/metadata.xml new file mode 100644 index 000000000000..e5c6935a1ed4 --- /dev/null +++ b/mail-client/tutanota-desktop-bin/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>thysupremematrix@tuta.io</email> + <name>Abishek Jakkala</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/tutao/tutanota/issues</bugs-to> + <changelog>https://github.com/tutao/tutanota/releases</changelog> + </upstream> + <longdescription> + Tutanota is a desktop email client focused on secure and privacy-oriented + communication. It offers end-to-end encryption for emails, calendars, and + contacts, with built-in support for encrypted messaging between users. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/mail-client/tutanota-desktop-bin/tutanota-desktop-bin-319.260107.1.ebuild b/mail-client/tutanota-desktop-bin/tutanota-desktop-bin-319.260107.1.ebuild new file mode 100644 index 000000000000..0bbb2de1e0b1 --- /dev/null +++ b/mail-client/tutanota-desktop-bin/tutanota-desktop-bin-319.260107.1.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop xdg + +DESCRIPTION="Desktop client for Tutanota, the secure e-mail service" +HOMEPAGE="https://tuta.com/secure-email" +SRC_URI=" + https://app.tuta.com/desktop/tutanota-desktop-linux.AppImage -> ${P}.AppImage + https://app.tuta.com/desktop/linux-sig.bin -> ${P}-sig.bin + https://github.com/tutao/tutanota/raw/tutanota-desktop-release-${PV}/tutao-pub.pem -> ${P}-tutao-pub.pem +" + +S="${WORKDIR}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="bindist mirror strip" + +RDEPEND=" + app-accessibility/at-spi2-core:2 + app-crypt/libsecret + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/mesa + net-print/cups + sys-apps/dbus + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/pango +" + +BDEPEND="dev-libs/openssl" + +QA_PREBUILT="opt/tutanota-desktop/*" + +src_unpack() { + cp "${DISTDIR}/${P}.AppImage" "${WORKDIR}/" || die "Failed to copy AppImage" + chmod +x "${P}.AppImage" || die "Failed to make AppImage executable" + + einfo "Verifying AppImage signature..." + openssl dgst -sha512 \ + -verify "${DISTDIR}/${P}-tutao-pub.pem" \ + -signature "${DISTDIR}/${P}-sig.bin" \ + "${P}.AppImage" || die "Signature verification failed" + + einfo "Extracting AppImage..." + ./"${P}.AppImage" --appimage-extract >/dev/null || die "Failed to extract AppImage" +} + +src_prepare() { + default + + sed -i \ + -e "s|^Exec=.*|Exec=/opt/tutanota-desktop/tutanota-desktop %U|" \ + -e "/^X-AppImage-Version=/d" \ + -e "/^X-Desktop-File-Install-Version=/d" \ + squashfs-root/tutanota-desktop.desktop || die "Failed to fix desktop file" +} + +src_install() { + local install_dir="/opt/tutanota-desktop" + + insinto "${install_dir}" + doins -r squashfs-root/. + + fperms +x "${install_dir}/tutanota-desktop" + fperms +x "${install_dir}/chrome_crashpad_handler" + fperms 4755 "${install_dir}/chrome-sandbox" + + rm -rf "${ED}${install_dir}"/{AppRun,usr,tutanota-desktop.desktop,*.png} || die + + dosym "${optdir}/tutanota-desktop" /usr/bin/tutanota-desktop + + domenu squashfs-root/tutanota-desktop.desktop + + local size + for size in 16 24 32 48 64 128 256 512; do + if [[ -f squashfs-root/usr/share/icons/hicolor/${size}x${size}/apps/tutanota-desktop.png ]]; then + newicon -s ${size} \ + squashfs-root/usr/share/icons/hicolor/${size}x${size}/apps/tutanota-desktop.png \ + tutanota-desktop.png + fi + done +} diff --git a/mail-client/tutanota-desktop-bin/tutanota-desktop-bin-335.260310.0.ebuild b/mail-client/tutanota-desktop-bin/tutanota-desktop-bin-335.260310.0.ebuild new file mode 100644 index 000000000000..95f475a53459 --- /dev/null +++ b/mail-client/tutanota-desktop-bin/tutanota-desktop-bin-335.260310.0.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop xdg + +DESCRIPTION="Desktop client for Tutanota, the secure e-mail service" +HOMEPAGE="https://tuta.com/secure-email" +SRC_URI=" + https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${PV}/tutanota-desktop-linux.AppImage -> ${P}.AppImage + https://app.tuta.com/desktop/linux-sig.bin -> ${P}-sig.bin + https://github.com/tutao/tutanota/raw/tutanota-desktop-release-${PV}/tutao-pub.pem -> ${P}-tutao-pub.pem +" + +S="${WORKDIR}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="bindist mirror strip" + +RDEPEND=" + app-accessibility/at-spi2-core:2 + app-crypt/libsecret + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/mesa + net-print/cups + sys-apps/dbus + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/pango +" + +BDEPEND="dev-libs/openssl" + +QA_PREBUILT="opt/tutanota-desktop/*" + +src_unpack() { + cp "${DISTDIR}/${P}.AppImage" "${WORKDIR}/" || die "Failed to copy AppImage" + chmod +x "${P}.AppImage" || die "Failed to make AppImage executable" + + einfo "Verifying AppImage signature..." + openssl dgst -sha512 \ + -verify "${DISTDIR}/${P}-tutao-pub.pem" \ + -signature "${DISTDIR}/${P}-sig.bin" \ + "${P}.AppImage" || die "Signature verification failed" + + einfo "Extracting AppImage..." + ./"${P}.AppImage" --appimage-extract >/dev/null || die "Failed to extract AppImage" +} + +src_prepare() { + default + + sed -i \ + -e "s|^Exec=.*|Exec=/opt/tutanota-desktop/tutanota-desktop %U|" \ + -e "/^X-AppImage-Version=/d" \ + -e "/^X-Desktop-File-Install-Version=/d" \ + squashfs-root/tutanota-desktop.desktop || die "Failed to fix desktop file" +} + +src_install() { + local install_dir="/opt/tutanota-desktop" + + insinto "${install_dir}" + doins -r squashfs-root/. + + fperms +x "${install_dir}/tutanota-desktop" + fperms +x "${install_dir}/chrome_crashpad_handler" + fperms 4755 "${install_dir}/chrome-sandbox" + + rm -rf "${ED}${install_dir}"/{AppRun,usr,tutanota-desktop.desktop,*.png} || die + + dosym "${optdir}/tutanota-desktop" /usr/bin/tutanota-desktop + + domenu squashfs-root/tutanota-desktop.desktop + + local size + for size in 16 24 32 48 64 128 256 512; do + if [[ -f squashfs-root/usr/share/icons/hicolor/${size}x${size}/apps/tutanota-desktop.png ]]; then + newicon -s ${size} \ + squashfs-root/usr/share/icons/hicolor/${size}x${size}/apps/tutanota-desktop.png \ + tutanota-desktop.png + fi + done +} |
