summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenning Schild <henning@hennsch.de>2024-08-05 17:06:14 +0200
committerJoonas Niilola <juippis@gentoo.org>2024-08-13 15:34:26 +0300
commitbbf423c1a494c9e17e1f7dafaf52164c3f0205e2 (patch)
tree41391207b69e15a0489e1c73468aba9bad66074b /www-apps
parentapp-admin/cdist: update Manifest (diff)
downloadgentoo-bbf423c1a494c9e17e1f7dafaf52164c3f0205e2.tar.gz
gentoo-bbf423c1a494c9e17e1f7dafaf52164c3f0205e2.tar.bz2
gentoo-bbf423c1a494c9e17e1f7dafaf52164c3f0205e2.zip
www-apps/radicale: add openrc service description
Closes: https://bugs.gentoo.org/935897 Signed-off-by: Henning Schild <henning@hennsch.de> Closes: https://github.com/gentoo/gentoo/pull/37980 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-apps')
-rw-r--r--www-apps/radicale/files/radicale-r4.init.d28
-rw-r--r--www-apps/radicale/radicale-3.1.9-r1.ebuild90
2 files changed, 118 insertions, 0 deletions
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
+}