summaryrefslogtreecommitdiff
path: root/www-apps/radicale
diff options
context:
space:
mode:
Diffstat (limited to 'www-apps/radicale')
-rw-r--r--www-apps/radicale/Manifest1
-rw-r--r--www-apps/radicale/files/radicale.init.d28
-rw-r--r--www-apps/radicale/radicale-2.1.10-r1.ebuild84
3 files changed, 113 insertions, 0 deletions
diff --git a/www-apps/radicale/Manifest b/www-apps/radicale/Manifest
new file mode 100644
index 0000000..2d8e116
--- /dev/null
+++ b/www-apps/radicale/Manifest
@@ -0,0 +1 @@
+DIST Radicale-2.1.10.tar.gz 77790 BLAKE2B 37061dd049dc918775f20b522ed86a47f32f34505c13763f8ae49ff007aca77f88caafc959be857c735c11b13506efdfc8413750808b88d5ea6dbe69e05f03ff SHA512 30fac6639e56bbd10664330d84ebba28b34005b4b4b4c5a6c22f53cb7e810ba4961cbd314e62fe33538674a2d4b45f14751f36ef5fa2ae2b7d44c1b1158f6e1c
diff --git a/www-apps/radicale/files/radicale.init.d b/www-apps/radicale/files/radicale.init.d
new file mode 100644
index 0000000..2035c8d
--- /dev/null
+++ b/www-apps/radicale/files/radicale.init.d
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE=/var/run/radicale.pid
+
+depend() {
+ use net
+ need localmount
+}
+
+start() {
+ ebegin "Starting radicale"
+ start-stop-daemon --start --quiet --background \
+ --user radicale \
+ --stdout-logger /usr/bin/logger \
+ --stderr-logger /usr/bin/logger \
+ --pidfile ${PIDFILE} --make-pidfile \
+ --exec /usr/bin/radicale -- --foreground
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping radicale"
+ start-stop-daemon --stop --quiet \
+ --pidfile ${PIDFILE}
+ eend $?
+}
diff --git a/www-apps/radicale/radicale-2.1.10-r1.ebuild b/www-apps/radicale/radicale-2.1.10-r1.ebuild
new file mode 100644
index 0000000..89f03ec
--- /dev/null
+++ b/www-apps/radicale/radicale-2.1.10-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python{3_4,3_5,3_6} )
+
+inherit distutils-r1 eutils user
+
+MY_PN="Radicale"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A simple CalDAV calendar server"
+HOMEPAGE="https://radicale.org/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+bcrypt"
+
+RDEPEND=">=dev-python/vobject-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7.3[${PYTHON_USEDEP}]
+ bcrypt? ( dev-python/passlib[bcrypt,${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+RDIR=/var/lib/radicale
+LDIR=/var/log/radicale
+
+pkg_pretend() {
+ if [[ -f ${RDIR}/.props && ${MERGE_TYPE} != buildonly ]]; then
+ eerror "It looks like you have a version 1 database in ${RDIR}."
+ eerror "You must convert this database to version 2 format before upgrading."
+ eerror "You may want to back up the old database before migrating."
+ eerror
+ eerror "If you have kept the Gentoo-default database configuration, this will work:"
+ eerror "1. Stop any running instance of Radicale."
+ eerror "2. Run \`radicale --export-storage ~/radicale-exported\`."
+ eerror "3. Run \`chown -R radicale: ~/radicale-exported\`"
+ eerror "4. Run \`mv \"${RDIR}\" \"${RDIR}.old\"\`."
+ eerror "5. Install Radicale version 2."
+ eerror "6. Run \`mv ~/radicale-exported \"${RDIR}/collections\"\`."
+ eerror
+ eerror "For more details, or if you are have a more complex configuration,"
+ eerror "please see the migration guide: https://radicale.org/1to2/"
+ eerror "If you do a custom migration, please ensure the database is cleaned out of"
+ eerror "${RDIR}, including the hidden .props file."
+ die
+ fi
+}
+
+pkg_setup() {
+ enewgroup radicale
+ enewuser radicale -1 -1 ${RDIR} radicale
+}
+
+python_install_all() {
+ rm README* || die
+
+ # init file
+ newinitd "${FILESDIR}"/radicale.init.d radicale
+
+ # directories
+ diropts -m0750 -oradicale -gradicale
+ keepdir ${RDIR}
+ diropts -m0755 -oradicale -gradicale
+ keepdir ${LDIR}
+
+ # config file
+ insinto /etc/${PN}
+ doins config logging
+
+ # fcgi and wsgi files
+ exeinto /usr/share/${PN}
+ doexe radicale.fcgi radicale.wsgi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ einfo "A sample WSGI script has been put into ${ROOT%/}/usr/share/${PN}."
+ einfo "You will also find there an example FastCGI script."
+}