gnu: diamond: Update to 0.9.13.
[jackhill/guix/guix.git] / gnu / packages / dav.scm
CommitLineData
f75bbb02 1;;; GNU Guix --- Functional package management for GNU
945b6721 2;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
f75bbb02
LF
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages dav)
20 #:use-module (guix build-system python)
21 #:use-module (guix download)
22 #:use-module (guix licenses)
23 #:use-module (guix packages)
945b6721 24 #:use-module (gnu packages)
f75bbb02
LF
25 #:use-module (gnu packages python))
26
27(define-public radicale
28 (package
29 (name "radicale")
68f12ea0 30 (version "1.1.2")
f75bbb02
LF
31 (source (origin
32 (method url-fetch)
33 (uri (pypi-uri "Radicale" version))
34 (sha256
35 (base32
68f12ea0 36 "1g20p3998f46ywda7swv0py63wjbrhvk0nrafajlbb6wgzxjmqpb"))))
f75bbb02 37 (build-system python-build-system)
f76af41a 38 (arguments
425fabfc 39 '(#:tests? #f)) ; The tests are not distributed in the PyPi release.
f75bbb02
LF
40 (propagated-inputs
41 ;; TODO: Add python-pam
42 `(("python-requests" ,python-requests)))
43 (synopsis "Basic CalDAV and CardDAV server")
44 (description "Radicale is a CalDAV and CardDAV server for UNIX-like
45platforms. Calendars and address books are available for both local and remote
46access, possibly limited through authentication policies. They can be viewed
47and edited by calendar and contact clients on mobile phones or computers.
48
49Radicale intentionally does not fully comply with the CalDAV and CardDAV RFCs.
50Instead, it supports the CalDAV and CardDAV implementations of popular
51clients.")
52 (home-page "http://radicale.org/")
53 (license gpl3+)))
a2f6a3d5
LF
54
55(define-public vdirsyncer
56 (package
57 (name "vdirsyncer")
1ba940b5 58 (version "0.16.3")
a2f6a3d5
LF
59 (source (origin
60 (method url-fetch)
5f518cad 61 (uri (pypi-uri name version))
a2f6a3d5
LF
62 (sha256
63 (base32
1ba940b5 64 "0dpwbfi97ksijqng191659m8k0v215y8ld95w8gb126m4m96qpzw"))))
a2f6a3d5
LF
65 (build-system python-build-system)
66 (arguments
67 `(#:phases (modify-phases %standard-phases
f54cf642
LF
68 (replace 'check
69 (lambda* (#:key inputs outputs #:allow-other-keys)
70 (add-installed-pythonpath inputs outputs)
71 (setenv "DETERMINISTIC_TESTS" "true")
72 (setenv "DAV_SERVER" "radicale")
73 (setenv "REMOTESTORAGE_SERVER" "skip")
74 (zero? (system* "make" "test"))))
a2f6a3d5 75 (add-after 'install 'manpage
a08a8350
HG
76 (lambda* (#:key inputs outputs #:allow-other-keys)
77 (add-installed-pythonpath inputs outputs)
a2f6a3d5
LF
78 (zero? (system* "make" "--directory=docs/" "man"))
79 (install-file
80 "docs/_build/man/vdirsyncer.1"
81 (string-append
82 (assoc-ref outputs "out")
f54cf642 83 "/share/man/man1")))))))
a2f6a3d5 84 (native-inputs
36455a96 85 `(("python-setuptools-scm" ,python-setuptools-scm)
a2f6a3d5
LF
86 ("python-sphinx" ,python-sphinx)
87 ;; Required for testing
8c44dabc 88 ("python-hypothesis" ,python-hypothesis)
a2f6a3d5
LF
89 ("python-pytest" ,python-pytest)
90 ("python-pytest-localserver" ,python-pytest-localserver)
8c44dabc 91 ("python-pytest-subtesthack" ,python-pytest-subtesthack)
1ba940b5 92 ("python-urllib3" ,python-urllib3)
a2f6a3d5
LF
93 ("python-wsgi-intercept" ,python-wsgi-intercept)
94 ("radicale" ,radicale)))
95 (propagated-inputs
96 `(("python-atomicwrites" ,python-atomicwrites)
97 ("python-click" ,python-click)
98 ("python-click-log" ,python-click-log)
99 ("python-click-threading" ,python-click-threading)
a2f6a3d5
LF
100 ("python-requests-toolbelt" ,python-requests-toolbelt)))
101 (synopsis "Synchronize calendars and contacts")
102 (description "Vdirsyncer synchronizes your calendars and addressbooks
103between two storage locations. The most popular purpose is to
104synchronize a CalDAV or CardDAV server with a local folder or file. The
105local data can then be accessed via a variety of programs, none of which
106have to know or worry about syncing to a server.")
107 (home-page "https://github.com/untitaker/vdirsyncer")
477aa334 108 (license bsd-3)))