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