commit:     bbf423c1a494c9e17e1f7dafaf52164c3f0205e2
Author:     Henning Schild <henning <AT> hennsch <DOT> de>
AuthorDate: Mon Aug  5 15:06:14 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Aug 13 12:34:26 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbf423c1

www-apps/radicale: add openrc service description

Closes: https://bugs.gentoo.org/935897
Signed-off-by: Henning Schild <henning <AT> hennsch.de>
Closes: https://github.com/gentoo/gentoo/pull/37980
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-apps/radicale/files/radicale-r4.init.d | 28 ++++++++++
 www-apps/radicale/radicale-3.1.9-r1.ebuild | 90 ++++++++++++++++++++++++++++++
 2 files changed, 118 insertions(+)

diff --git a/www-apps/radicale/files/radicale-r4.init.d 
b/www-apps/radicale/files/radicale-r4.init.d
new file mode 100644
index 000000000000..b83d91d79a04
--- /dev/null
+++ b/www-apps/radicale/files/radicale-r4.init.d
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="A simple CalDAV (calendar) and CardDAV (contact) server"
+PIDFILE=/run/radicale.pid
+
+depend() {
+       need localmount
+}
+
+start() {
+       ebegin "Starting radicale"
+               start-stop-daemon --start --quiet --background \
+               --user radicale \
+               --umask 0027 \
+               --stderr-logger /usr/bin/logger \
+               --pidfile ${PIDFILE} --make-pidfile \
+               --exec /usr/bin/radicale
+       eend $?
+}
+
+stop() {
+       ebegin "Stopping radicale"
+               start-stop-daemon --stop --quiet \
+               --pidfile ${PIDFILE}
+       eend $?
+}

diff --git a/www-apps/radicale/radicale-3.1.9-r1.ebuild 
b/www-apps/radicale/radicale-3.1.9-r1.ebuild
new file mode 100644
index 000000000000..3ba042c24436
--- /dev/null
+++ b/www-apps/radicale/radicale-3.1.9-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 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/bcrypt[${PYTHON_USEDEP}]
+       dev-python/defusedxml[${PYTHON_USEDEP}]
+       dev-python/passlib[${PYTHON_USEDEP}]
+       dev-python/python-dateutil[${PYTHON_USEDEP}]
+       dev-python/vobject[${PYTHON_USEDEP}]
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       sys-apps/util-linux
+"
+
+BDEPEND="
+       test? (
+               <dev-python/pytest-8[${PYTHON_USEDEP}]
+               dev-python/waitress[${PYTHON_USEDEP}]
+       )
+"
+
+distutils_enable_tests pytest
+
+RDIR=/var/lib/"${PN}"
+
+DOCS=( DOCUMENTATION.md CHANGELOG.md )
+
+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}"
+
+       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
+}

Reply via email to