commit: 2366a6275eda717b0cec2520d7dfc9c26cd98a5b Author: Henning Schild <henning <AT> hennsch <DOT> de> AuthorDate: Wed Feb 11 08:25:11 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Feb 11 23:56:26 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2366a627
www-apps/radicale: bump to 3.6.0 This one uses libpass but can officially be used with old passlib as well. In order for that to work we need to force a bcrypt version < 5, so we RDEPEND on that for now. In the future the whole passlib/libpass story will hopefully resolve and we can get back to no patching and optfeature. Closes: https://bugs.gentoo.org/968579 Signed-off-by: Henning Schild <henning <AT> hennsch.de> Part-of: https://github.com/gentoo/gentoo/pull/45749 Closes: https://github.com/gentoo/gentoo/pull/45749 Signed-off-by: Sam James <sam <AT> gentoo.org> www-apps/radicale/Manifest | 1 + www-apps/radicale/radicale-3.6.0.ebuild | 111 ++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+) diff --git a/www-apps/radicale/Manifest b/www-apps/radicale/Manifest index 87027950d108..cd7acf7d5a5b 100644 --- a/www-apps/radicale/Manifest +++ b/www-apps/radicale/Manifest @@ -1 +1,2 @@ DIST Radicale-3.5.10.gh.tar.gz 235636 BLAKE2B 86c89271172206f5ec9bb10b666f229667ce3515016e90728c6dfe71992a77dd20fced46b35ebb8b38f880a4fd272756cbfbb9ce6ce708e0df2e8746df27ea9b SHA512 d7906d300fa68b81fd84520862581c565caa9b000202674827eb8a4954a8375f94857fc6c2c85e710285fca859e378a4bab50404b6fd31f398a397edfaab4aaf +DIST Radicale-3.6.0.gh.tar.gz 240268 BLAKE2B c4daeee664886e7bf3738596cfd4d7355d2ee1a8c103c660eef7a7523dce7da55ef832bec51fd8ccec6d6f9d217f1866767e61bd796992db884af6f0a5689f94 SHA512 c091da37da4da4319f8c7651f8eb7bf3162b765667e718afef0849432f8b634fcb666a29cfd68698189ffc25b30dde612232d3dae5f965fd879e0b16e7c14ceb diff --git a/www-apps/radicale/radicale-3.6.0.ebuild b/www-apps/radicale/radicale-3.6.0.ebuild new file mode 100644 index 000000000000..5daa41e402ad --- /dev/null +++ b/www-apps/radicale/radicale-3.6.0.ebuild @@ -0,0 +1,111 @@ +# 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_{10..14} ) + +inherit distutils-r1 optfeature systemd + +MY_P=${P^} +DESCRIPTION="A simple CalDAV calendar server" +HOMEPAGE="https://radicale.org/" +SRC_URI=" + https://github.com/Kozea/Radicale/archive/refs/tags/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" + +RDEPEND=" + >=acct-user/radicale-0-r2 + acct-group/radicale + dev-python/defusedxml[${PYTHON_USEDEP}] + dev-python/passlib[${PYTHON_USEDEP}] + dev-python/vobject[${PYTHON_USEDEP}] + sys-apps/util-linux +" + +# was optfeature but need to stay below version 5 +# https://github.com/Kozea/Radicale/issues/1980 +RDEPEND="${RDEPEND} + <dev-python/bcrypt-5[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/waitress[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +RDIR=/var/lib/"${PN}" + +DOCS=( DOCUMENTATION.md CHANGELOG.md ) + +src_prepare() { + default + + # use passlib over libpass + # https://github.com/Kozea/Radicale/issues/1980 + sed -i -e 's|libpass[^"]*|passlib|' pyproject.toml || die +} + +python_test() { + epytest -o addopts= radicale/tests/ +} + +python_install_all() { + rm README* || die + # init file + newinitd "${FILESDIR}"/radicale-r4.init.d radicale + systemd_dounit "${FILESDIR}/${PN}.service" + + # directories + keepdir "${RDIR}" + fperms 0750 "${RDIR}" + fowners "${PN}:${PN}" "${RDIR}" + + # config file + insinto /etc/"${PN}" + doins config + + # fcgi and wsgi files + exeinto /usr/share/"${PN}" + doexe radicale.wsgi + + distutils-r1_python_install_all +} + +pkg_postinst() { + local _erdir="${EROOT}${RDIR}" + + ewarn "" + ewarn "Since 3.5.0 the default [auth] type is \"denyall\". You need to" + ewarn "change your config if you used the default type so far!" + ewarn "" + einfo "A sample WSGI script has been put into ${EROOT}/usr/share/${PN}." + einfo "You will also find there an example FastCGI script." + if [[ $(stat --format="%U:%G:%a" "${_erdir}") != "${PN}:${PN}:750" ]] + then + ewarn "" + ewarn "Unsafe file permissions detected on ${_erdir}." + ewarn "This probably comes from an earlier version of this ebuild." + ewarn "To fix run:" + ewarn "# \`chown -R ${PN}:${PN} ${_erdir}\`" + ewarn "# \`chmod 0750 ${_erdir}\`" + ewarn "# \`chmod -R o= ${_erdir}\`" + fi + + optfeature "Publish changes to rabbitmq" dev-python/pika + optfeature "LDAP/LDAPS authentication" dev-python/ldap3 dev-python/python-ldap + ## TODO make that an optfeature again after libpass/passlib takeover + # optfeature "bcrypt password hashing" dev-python/bcrypt + optfeature "argon2 password hashing" dev-python/argon2-cffi +}
