Radicale3: import Radicale-3.0.6 as wip/Radicale3

Package is based on net/Radicale2.

The Radicale Project is a complete CalDAV (calendar) and CardDAV
(contact) server solution.

Calendars and address books are available for both local and remote
access, possibly limited through authentication policies. They can be
viewed and edited by calendar and contact clients on mobile phones or
computers.
This commit is contained in:
snow flurry 2020-11-04 19:59:14 -08:00
parent d174a3c09e
commit 072d881061
7 changed files with 270 additions and 0 deletions

View File

@ -35,6 +35,7 @@ SUBDIR+= PatternPaint
SUBDIR+= PyBabelFish
SUBDIR+= Pythonol
SUBDIR+= Qweyboard
SUBDIR+= Radicale3
SUBDIR+= R-BiocGenerics
SUBDIR+= R-C50
SUBDIR+= R-MySQL

7
Radicale3/DESCR Normal file
View File

@ -0,0 +1,7 @@
The Radicale Project is a complete CalDAV (calendar) and CardDAV
(contact) server solution.
Calendars and address books are available for both local and remote
access, possibly limited through authentication policies. They can be
viewed and edited by calendar and contact clients on mobile phones or
computers.

55
Radicale3/Makefile Normal file
View File

@ -0,0 +1,55 @@
# $NetBSD: Makefile,v 1.10 2020/07/13 20:05:12 wiz Exp $
DISTNAME= Radicale-3.0.6
CATEGORIES= net time www
MASTER_SITES= ${MASTER_SITE_PYPI:=R/Radicale/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://radicale.org/
COMMENT= CalDAV (calendar) and CardDAV (contact) server
LICENSE= gnu-gpl-v3
EGDIR= share/examples/radicale
RADICALE_USER?= www
RADICALE_GROUP?= www
PKG_GROUPS= ${RADICALE_GROUP}
PKG_USERS= ${RADICALE_USER}:${RADICALE_GROUP}
PYTHON_VERSIONS_INCOMPATIBLE= 27
INSTALLATION_DIRS= ${EGDIR}
OWN_DIRS= ${PKG_SYSCONFDIR}/radicale
CONF_FILES+= ${EGDIR}/config ${PKG_SYSCONFDIR}/radicale/config
RCD_SCRIPTS= radicale
FILES_SUBST+= RADICALE_USER=${RADICALE_USER}
FILES_SUBST+= RADICALE_GROUP=${RADICALE_GROUP}
FILES_SUBST+= PYTHONBIN=${PYTHONBIN}
SUBST_CLASSES+= config
SUBST_SED.config+= -e 's,/etc,${PKG_SYSCONFDIR},g'
SUBST_SED.config+= -e 's,/var/lib,${PREFIX}/share,g'
SUBST_FILES.config+= radicale/config.py config rights
SUBST_STAGE.config= pre-configure
SUBST_MESSAGE.config= Fixing path to configuration file.
SUBST_CLASSES+= server
SUBST_SED.server+= -e 's,\#filesystem_folder,filesystem_folder,'
SUBST_FILES.server+= config
SUBST_STAGE.server= pre-configure
SUBST_MESSAGE.server= Override default collection location
DEPENDS+= ${PYPKGPREFIX}-vobject-[0-9]*:../../textproc/py-vobject
DEPENDS+= ${PYPKGPREFIX}-defusedxml-[0-9]*:../../textproc/py-defusedxml
DEPENDS+= ${PYPKGPREFIX}-dateutil-[0-9]*:../../time/py-dateutil
# for md5 htpasswd_encryption method
DEPENDS+= ${PYPKGPREFIX}-passlib-[0-9]*:../../security/py-passlib
post-install:
${INSTALL_DATA} ${WRKSRC}/config ${DESTDIR}${PREFIX}/${EGDIR}/config
PYTHON_VERSIONED_DEPENDENCIES+= setuptools
.include "../../lang/python/egg.mk"
.include "../../lang/python/versioned_dependencies.mk"
.include "../../mk/bsd.pkg.mk"

166
Radicale3/PLIST Normal file
View File

@ -0,0 +1,166 @@
@comment $NetBSD$
bin/radicale
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
${PYSITELIB}/radicale/__init__.py
${PYSITELIB}/radicale/__init__.pyc
${PYSITELIB}/radicale/__init__.pyo
${PYSITELIB}/radicale/__main__.py
${PYSITELIB}/radicale/__main__.pyc
${PYSITELIB}/radicale/__main__.pyo
${PYSITELIB}/radicale/app/__init__.py
${PYSITELIB}/radicale/app/__init__.pyc
${PYSITELIB}/radicale/app/__init__.pyo
${PYSITELIB}/radicale/app/delete.py
${PYSITELIB}/radicale/app/delete.pyc
${PYSITELIB}/radicale/app/delete.pyo
${PYSITELIB}/radicale/app/get.py
${PYSITELIB}/radicale/app/get.pyc
${PYSITELIB}/radicale/app/get.pyo
${PYSITELIB}/radicale/app/head.py
${PYSITELIB}/radicale/app/head.pyc
${PYSITELIB}/radicale/app/head.pyo
${PYSITELIB}/radicale/app/mkcalendar.py
${PYSITELIB}/radicale/app/mkcalendar.pyc
${PYSITELIB}/radicale/app/mkcalendar.pyo
${PYSITELIB}/radicale/app/mkcol.py
${PYSITELIB}/radicale/app/mkcol.pyc
${PYSITELIB}/radicale/app/mkcol.pyo
${PYSITELIB}/radicale/app/move.py
${PYSITELIB}/radicale/app/move.pyc
${PYSITELIB}/radicale/app/move.pyo
${PYSITELIB}/radicale/app/options.py
${PYSITELIB}/radicale/app/options.pyc
${PYSITELIB}/radicale/app/options.pyo
${PYSITELIB}/radicale/app/post.py
${PYSITELIB}/radicale/app/post.pyc
${PYSITELIB}/radicale/app/post.pyo
${PYSITELIB}/radicale/app/propfind.py
${PYSITELIB}/radicale/app/propfind.pyc
${PYSITELIB}/radicale/app/propfind.pyo
${PYSITELIB}/radicale/app/proppatch.py
${PYSITELIB}/radicale/app/proppatch.pyc
${PYSITELIB}/radicale/app/proppatch.pyo
${PYSITELIB}/radicale/app/put.py
${PYSITELIB}/radicale/app/put.pyc
${PYSITELIB}/radicale/app/put.pyo
${PYSITELIB}/radicale/app/report.py
${PYSITELIB}/radicale/app/report.pyc
${PYSITELIB}/radicale/app/report.pyo
${PYSITELIB}/radicale/auth/__init__.py
${PYSITELIB}/radicale/auth/__init__.pyc
${PYSITELIB}/radicale/auth/__init__.pyo
${PYSITELIB}/radicale/auth/htpasswd.py
${PYSITELIB}/radicale/auth/htpasswd.pyc
${PYSITELIB}/radicale/auth/htpasswd.pyo
${PYSITELIB}/radicale/auth/http_x_remote_user.py
${PYSITELIB}/radicale/auth/http_x_remote_user.pyc
${PYSITELIB}/radicale/auth/http_x_remote_user.pyo
${PYSITELIB}/radicale/auth/none.py
${PYSITELIB}/radicale/auth/none.pyc
${PYSITELIB}/radicale/auth/none.pyo
${PYSITELIB}/radicale/auth/remote_user.py
${PYSITELIB}/radicale/auth/remote_user.pyc
${PYSITELIB}/radicale/auth/remote_user.pyo
${PYSITELIB}/radicale/config.py
${PYSITELIB}/radicale/config.pyc
${PYSITELIB}/radicale/config.pyo
${PYSITELIB}/radicale/httputils.py
${PYSITELIB}/radicale/httputils.pyc
${PYSITELIB}/radicale/httputils.pyo
${PYSITELIB}/radicale/item/__init__.py
${PYSITELIB}/radicale/item/__init__.pyc
${PYSITELIB}/radicale/item/__init__.pyo
${PYSITELIB}/radicale/item/filter.py
${PYSITELIB}/radicale/item/filter.pyc
${PYSITELIB}/radicale/item/filter.pyo
${PYSITELIB}/radicale/log.py
${PYSITELIB}/radicale/log.pyc
${PYSITELIB}/radicale/log.pyo
${PYSITELIB}/radicale/pathutils.py
${PYSITELIB}/radicale/pathutils.pyc
${PYSITELIB}/radicale/pathutils.pyo
${PYSITELIB}/radicale/rights/__init__.py
${PYSITELIB}/radicale/rights/__init__.pyc
${PYSITELIB}/radicale/rights/__init__.pyo
${PYSITELIB}/radicale/rights/authenticated.py
${PYSITELIB}/radicale/rights/authenticated.pyc
${PYSITELIB}/radicale/rights/authenticated.pyo
${PYSITELIB}/radicale/rights/from_file.py
${PYSITELIB}/radicale/rights/from_file.pyc
${PYSITELIB}/radicale/rights/from_file.pyo
${PYSITELIB}/radicale/rights/owner_only.py
${PYSITELIB}/radicale/rights/owner_only.pyc
${PYSITELIB}/radicale/rights/owner_only.pyo
${PYSITELIB}/radicale/rights/owner_write.py
${PYSITELIB}/radicale/rights/owner_write.pyc
${PYSITELIB}/radicale/rights/owner_write.pyo
${PYSITELIB}/radicale/server.py
${PYSITELIB}/radicale/server.pyc
${PYSITELIB}/radicale/server.pyo
${PYSITELIB}/radicale/storage/__init__.py
${PYSITELIB}/radicale/storage/__init__.pyc
${PYSITELIB}/radicale/storage/__init__.pyo
${PYSITELIB}/radicale/storage/multifilesystem/__init__.py
${PYSITELIB}/radicale/storage/multifilesystem/__init__.pyc
${PYSITELIB}/radicale/storage/multifilesystem/__init__.pyo
${PYSITELIB}/radicale/storage/multifilesystem/cache.py
${PYSITELIB}/radicale/storage/multifilesystem/cache.pyc
${PYSITELIB}/radicale/storage/multifilesystem/cache.pyo
${PYSITELIB}/radicale/storage/multifilesystem/create_collection.py
${PYSITELIB}/radicale/storage/multifilesystem/create_collection.pyc
${PYSITELIB}/radicale/storage/multifilesystem/create_collection.pyo
${PYSITELIB}/radicale/storage/multifilesystem/delete.py
${PYSITELIB}/radicale/storage/multifilesystem/delete.pyc
${PYSITELIB}/radicale/storage/multifilesystem/delete.pyo
${PYSITELIB}/radicale/storage/multifilesystem/discover.py
${PYSITELIB}/radicale/storage/multifilesystem/discover.pyc
${PYSITELIB}/radicale/storage/multifilesystem/discover.pyo
${PYSITELIB}/radicale/storage/multifilesystem/get.py
${PYSITELIB}/radicale/storage/multifilesystem/get.pyc
${PYSITELIB}/radicale/storage/multifilesystem/get.pyo
${PYSITELIB}/radicale/storage/multifilesystem/history.py
${PYSITELIB}/radicale/storage/multifilesystem/history.pyc
${PYSITELIB}/radicale/storage/multifilesystem/history.pyo
${PYSITELIB}/radicale/storage/multifilesystem/lock.py
${PYSITELIB}/radicale/storage/multifilesystem/lock.pyc
${PYSITELIB}/radicale/storage/multifilesystem/lock.pyo
${PYSITELIB}/radicale/storage/multifilesystem/meta.py
${PYSITELIB}/radicale/storage/multifilesystem/meta.pyc
${PYSITELIB}/radicale/storage/multifilesystem/meta.pyo
${PYSITELIB}/radicale/storage/multifilesystem/move.py
${PYSITELIB}/radicale/storage/multifilesystem/move.pyc
${PYSITELIB}/radicale/storage/multifilesystem/move.pyo
${PYSITELIB}/radicale/storage/multifilesystem/sync.py
${PYSITELIB}/radicale/storage/multifilesystem/sync.pyc
${PYSITELIB}/radicale/storage/multifilesystem/sync.pyo
${PYSITELIB}/radicale/storage/multifilesystem/upload.py
${PYSITELIB}/radicale/storage/multifilesystem/upload.pyc
${PYSITELIB}/radicale/storage/multifilesystem/upload.pyo
${PYSITELIB}/radicale/storage/multifilesystem/verify.py
${PYSITELIB}/radicale/storage/multifilesystem/verify.pyc
${PYSITELIB}/radicale/storage/multifilesystem/verify.pyo
${PYSITELIB}/radicale/utils.py
${PYSITELIB}/radicale/utils.pyc
${PYSITELIB}/radicale/utils.pyo
${PYSITELIB}/radicale/web/__init__.py
${PYSITELIB}/radicale/web/__init__.pyc
${PYSITELIB}/radicale/web/__init__.pyo
${PYSITELIB}/radicale/web/internal.py
${PYSITELIB}/radicale/web/internal.pyc
${PYSITELIB}/radicale/web/internal.pyo
${PYSITELIB}/radicale/web/internal_data/css/icon.png
${PYSITELIB}/radicale/web/internal_data/css/main.css
${PYSITELIB}/radicale/web/internal_data/fn.js
${PYSITELIB}/radicale/web/internal_data/index.html
${PYSITELIB}/radicale/web/none.py
${PYSITELIB}/radicale/web/none.pyc
${PYSITELIB}/radicale/web/none.pyo
${PYSITELIB}/radicale/xmlutils.py
${PYSITELIB}/radicale/xmlutils.pyc
${PYSITELIB}/radicale/xmlutils.pyo
share/examples/radicale/config

7
Radicale3/TODO Normal file
View File

@ -0,0 +1,7 @@
As of 3.0.0, Radicale no longer provides a daemonize function, instead
relying on the service manager. Currently handling backgrounding the
process with nohup.
Since all log data is output to stderr, the rc.d script will need to
manage storing that. Not sure if the best method of handling this is by
dumping stderr to @VARBASE@/log, or to use something like logger(1).

6
Radicale3/distinfo Normal file
View File

@ -0,0 +1,6 @@
$NetBSD: distinfo,v 1.4 2017/09/04 10:35:44 prlw1 Exp $
SHA1 (Radicale-3.0.6.tar.gz) = 9c0eedda373cf8ba5abca1cb3d7f16f61c166b09
RMD160 (Radicale-3.0.6.tar.gz) = d499cd93ff45320c3264ea1628142111a759cf8c
SHA512 (Radicale-3.0.6.tar.gz) = dfc4e5c0cdb8037e1c04eca7df095f5b4a4a096b8c501d6d1f22eb63c0038f63a9fa6a1c65c92af17ebef4c973472938bac44b7cc3ca0eff7b83be82fe459077
Size (Radicale-3.0.6.tar.gz) = 102983 bytes

View File

@ -0,0 +1,28 @@
#!@RCD_SCRIPTS_SHELL@
#
# $NetBSD: radicale.sh,v 1.1 2017/07/01 05:57:07 darcy Exp $
#
# PROVIDE: radicale
# REQUIRE: DAEMON
# KEYWORD: shutdown
$_rc_subr_loaded . /etc/rc.subr
name="radicale"
rcvar=$name
radicale_user=@RADICALE_USER@
radicale_group=@RADICALE_GROUP@
command="@PREFIX@/bin/radicale"
start_cmd="radicale_start"
command_interpreter="@PYTHONBIN@"
required_files="@PKG_SYSCONFDIR@/radicale/config"
pidfile="@VARBASE@/run/${name}.pid"
radicale_start()
{
nohup ${command} ${command_args} </dev/null >/dev/null 2>&1 &
echo $! >${pidfile}
}
load_rc_config $name
run_rc_command "$1"