unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 00/17] Add CalDAV and CardDAV programs
@ 2016-01-04  0:04 Leo Famulari
  2016-01-04  0:04 ` [PATCH 01/17] gnu: Add python-atomicwrites Leo Famulari
                   ` (16 more replies)
  0 siblings, 17 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:04 UTC (permalink / raw)
  To: guix-devel

These patches provide software for self-hosting calendars and contacts
(address book) servers using the CalDAV and CardDAV standards.

Notably, the patches add:

* radicale [0]: A basic CalDAV and CardDAV server.
* vdirsyncer [1]: A tool for synchronizing local CalDAV or CarDAV data
with a remote server, storing the data locally in something inspired by
Maildirs.
* khal [2]: A command line and curses calendar client.

Future work:

* Services for radicale (it's a server that supports multi-user
authentication) and vdirsyncer (this is a one-shot periodic sync tool;
a good fit for cron). I'm practicing my Scheme so that I can write
these, but I won't mind if someone beats me to it :)

* A client for working with the CardDAV info (khard? some email
client?).

Your thoughts are requested!

[0]
http://radicale.org/

[1]
https://github.com/untitaker/vdirsyncer

[2]
http://lostpackets.de/khal/

Leo Famulari (17):
  gnu: Add python-atomicwrites.
  gnu: Add python-requests-toolbelt.
  gnu: Add python-click-threading.
  gnu: Add python-click-log.
  gnu: Add python-apipkg.
  gnu: Add python-execnet.
  gnu: Add python-pytest-cache.
  gnu: Add python-pytest-localserver.
  gnu: Add python-wsgi-intercept.
  gnu: Add python-pytest-xprocess.
  gnu: Add radicale.
  gnu: Add vdirsyncer.
  gnu: Add python-icalendar.
  gnu: Add python-sphinxcontrib-newsfeed.
  gnu: Update python-tzlocal to 1.2.
  gnu: python-urwid: Disable failing test test_remove_watch_file.
  gnu: Add khal.

 gnu-system.am             |   1 +
 gnu/packages/calendar.scm |  79 +++++++++++-
 gnu/packages/dav.scm      | 108 +++++++++++++++++
 gnu/packages/python.scm   | 300 ++++++++++++++++++++++++++++++++++++++++++----
 4 files changed, 465 insertions(+), 23 deletions(-)
 create mode 100644 gnu/packages/dav.scm

-- 
2.6.4

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [PATCH 01/17] gnu: Add python-atomicwrites.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
@ 2016-01-04  0:04 ` Leo Famulari
  2016-01-06 19:02   ` Efraim Flashner
  2016-01-04  0:05 ` [PATCH 02/17] gnu: Add python-requests-toolbelt Leo Famulari
                   ` (15 subsequent siblings)
  16 siblings, 1 reply; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:04 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-atomicwrites): New variable.
---
 gnu/packages/python.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4ab1eed..496bdd9 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6620,3 +6620,20 @@ the standard library.")
 
 (define-public python2-contextlib2
   (package-with-python2 python-contextlib2))
+
+(define-public python-atomicwrites
+  (package
+    (name "python-atomicwrites")
+    (version "0.1.8")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "atomicwrites" version))
+             (sha256
+              (base32
+               "13nwk0gw0yb61pnf5vxs3fvhav6q3zrf08x9ggc93bnk5fsssx1j"))))
+    (build-system python-build-system)
+    (synopsis "Atomic file writes in Python")
+    (description "Library for atomic file writes using platform dependent tools
+for atomic filesystem operations.")
+    (home-page "https://github.com/untitaker/python-atomicwrites")
+    (license license:expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 02/17] gnu: Add python-requests-toolbelt.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
  2016-01-04  0:04 ` [PATCH 01/17] gnu: Add python-atomicwrites Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-04  0:05 ` [PATCH 03/17] gnu: Add python-click-threading Leo Famulari
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-requests-toolbelt): New variable.
---
 gnu/packages/python.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 496bdd9..8f05b5a 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6637,3 +6637,22 @@ the standard library.")
 for atomic filesystem operations.")
     (home-page "https://github.com/untitaker/python-atomicwrites")
     (license license:expat)))
+
+(define-public python-requests-toolbelt
+  (package
+    (name "python-requests-toolbelt")
+    (version "0.5.0")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "requests-toolbelt" version))
+             (sha256
+              (base32
+               "1kbms1s52dhb98vbpaprr15b0ijdbqp500lpfsyjccpd8cjkyngk"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-requests" ,python-requests)))
+    (synopsis "Extensions to python-requests")
+    (description "This is a toolbelt of useful classes and functions to be used
+with python-requests.")
+    (home-page "https://github.com/sigmavirus24/requests-toolbelt")
+    (license asl2.0)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 03/17] gnu: Add python-click-threading.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
  2016-01-04  0:04 ` [PATCH 01/17] gnu: Add python-atomicwrites Leo Famulari
  2016-01-04  0:05 ` [PATCH 02/17] gnu: Add python-requests-toolbelt Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-06 18:48   ` Eric Bavier
  2016-01-04  0:05 ` [PATCH 04/17] gnu: Add python-click-log Leo Famulari
                   ` (13 subsequent siblings)
  16 siblings, 1 reply; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-click-threading): New variable.
---
 gnu/packages/python.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8f05b5a..5d28bbb 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6656,3 +6656,22 @@ for atomic filesystem operations.")
 with python-requests.")
     (home-page "https://github.com/sigmavirus24/requests-toolbelt")
     (license asl2.0)))
+
+(define-public python-click-threading
+  (package
+    (name "python-click-threading")
+    (version "0.1.2")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "click-threading" version))
+             (sha256
+              (base32
+               "0jmrv4334lfxa2ss53c06dafdwqbk1pb3ihd26izn5igw1bm8145"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-click" ,python-click)))
+    (synopsis "Utilities for multithreading in Click")
+    (description "The package provides utilities for multithreading in Click
+applications.")
+    (home-page "https://github.com/click-contrib/click-threading")
+    (license license:expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 04/17] gnu: Add python-click-log.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (2 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 03/17] gnu: Add python-click-threading Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-06 19:04   ` Efraim Flashner
  2016-01-04  0:05 ` [PATCH 05/17] gnu: Add python-apipkg Leo Famulari
                   ` (12 subsequent siblings)
  16 siblings, 1 reply; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-click-log): New variable.
---
 gnu/packages/python.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5d28bbb..95de6b3 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6675,3 +6675,22 @@ with python-requests.")
 applications.")
     (home-page "https://github.com/click-contrib/click-threading")
     (license license:expat)))
+
+(define-public python-click-log
+  (package
+    (name "python-click-log")
+    (version "0.1.1")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "click-log" version))
+             (sha256
+              (base32
+               "1z3jdwjmwax159zrnyx830xa968rfqrpkm04ad5xqyh0269ydiqb"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-click" ,python-click)))
+    (synopsis "Logging for click applications")
+    (description "This package provides a Python library for logging for Click
+applications.")
+    (home-page "https://github.com/click-contrib/click-log")
+    (license license:expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 05/17] gnu: Add python-apipkg.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (3 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 04/17] gnu: Add python-click-log Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-04  0:05 ` [PATCH 06/17] gnu: Add python-execnet Leo Famulari
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-apipkg): New variable.
---
 gnu/packages/python.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 95de6b3..1680a17 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6694,3 +6694,25 @@ applications.")
 applications.")
     (home-page "https://github.com/click-contrib/click-log")
     (license license:expat)))
+
+(define-public python-apipkg
+  (package
+    (name "python-apipkg")
+    (version "1.4")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "apipkg" version))
+             (sha256
+              (base32
+               "1iks5701qnp3dlr3q1d9qm68y2plp2m029irhpz92a44psfkjf1f"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (propagated-inputs
+     `(("python-pytest" ,python-pytest)))
+    (synopsis "Namespace control and lazy-import mechanism")
+    (description "With apipkg you can control the exported namespace of a Python
+package and greatly reduce the number of imports for your users.  It is a small
+pure Python module that works on virtually all Python versions.")
+    (home-page "https://bitbucket.org/hpk42/apipkg")
+    (license license:expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 06/17] gnu: Add python-execnet.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (4 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 05/17] gnu: Add python-apipkg Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-06 18:57   ` Eric Bavier
  2016-01-04  0:05 ` [PATCH 07/17] gnu: Add python-pytest-cache Leo Famulari
                   ` (10 subsequent siblings)
  16 siblings, 1 reply; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-execnet): New variable.
---
 gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 1680a17..46b98f6 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6716,3 +6716,29 @@ package and greatly reduce the number of imports for your users.  It is a small
 pure Python module that works on virtually all Python versions.")
     (home-page "https://bitbucket.org/hpk42/apipkg")
     (license license:expat)))
+
+(define-public python-execnet
+  (package
+    (name "python-execnet")
+    (version "1.4.1")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "execnet" version))
+             (sha256
+              (base32
+               "1rpk1vyclhg911p3hql0m0nrpq7q7mysxnaaw6vs29cpa6kx8vgn"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools-scm" ,python-setuptools-scm)))
+    (propagated-inputs
+     `(("python-apipkg" ,python-apipkg)))
+    (synopsis "Rapid multi-Python deployment")
+    (description "Execnet provides a share-nothing model with
+channel-send/receive communication for distributing execution across many
+Python interpreters across version, platform and network barriers.  It has a
+minimal and fast API targetting the following uses:
+1) distribute tasks to (many) local or remote CPUs
+2) write and deploy hybrid multi-process applications
+3) write scripts to administer multiple environments")
+    (home-page "http://codespeak.net/execnet/")
+    (license license:expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 07/17] gnu: Add python-pytest-cache.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (5 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 06/17] gnu: Add python-execnet Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-04  0:05 ` [PATCH 08/17] gnu: Add python-pytest-localserver Leo Famulari
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-pytest-cache): New variable.
---
 gnu/packages/python.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 46b98f6..2cfdcaf 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6742,3 +6742,23 @@ minimal and fast API targetting the following uses:
 3) write scripts to administer multiple environments")
     (home-page "http://codespeak.net/execnet/")
     (license license:expat)))
+
+;;; The software provided by this package was integrated into pytest 2.8.
+(define-public python-pytest-cache
+  (package
+    (name "python-pytest-cache")
+    (version "1.0")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "pytest-cache" version))
+             (sha256
+              (base32
+               "1a873fihw4rhshc722j4h6j7g3nj7xpgsna9hhg3zn6ksknnhx5y"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-execnet" ,python-execnet)))
+    (synopsis "Py.test plugin with mechanisms for caching across test runs")
+    (description "The pytest-cache plugin provides tools to rerun failures from
+the last py.test invocation.")
+    (home-page "https://bitbucket.org/hpk42/pytest-cache/")
+    (license license:expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 08/17] gnu: Add python-pytest-localserver.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (6 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 07/17] gnu: Add python-pytest-cache Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-06 19:09   ` Eric Bavier
  2016-01-04  0:05 ` [PATCH 09/17] gnu: Add python-wsgi-intercept Leo Famulari
                   ` (8 subsequent siblings)
  16 siblings, 1 reply; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-pytest-localserver): New variable.
---
 gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2cfdcaf..0dfebf2 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6762,3 +6762,35 @@ minimal and fast API targetting the following uses:
 the last py.test invocation.")
     (home-page "https://bitbucket.org/hpk42/pytest-cache/")
     (license license:expat)))
+
+(define-public python-pytest-localserver
+  (package
+    (name "python-pytest-localserver")
+    (version "0.3.4")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "https://pypi.python.org/packages/source/p"
+                                 "/pytest-localserver/pytest-localserver-"
+                                 version ".zip"))
+             (sha256
+              (base32
+               "050q505a7gnsz7vqidw0w5dvxjb2flzi7z734agpjzmsl85c2bcx"))))
+    (build-system python-build-system)
+    (arguments
+      `(#:phases (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (zero? (system* "py.test" "--genscript=runtests.py"))
+             (zero? (system* "py.test")))))))
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (propagated-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-requests" ,python-requests)
+       ("python-six" ,python-six)
+       ("python-werkzeug" ,python-werkzeug)))
+    (synopsis "Py.test plugin to test server connections locally")
+    (description "Pytest-localserver is a plugin for the pytest testing
+framework which enables you to test server connections locally.")
+    (home-page "https://pypi.python.org/pypi/pytest-localserver")
+    (license license:expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 09/17] gnu: Add python-wsgi-intercept.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (7 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 08/17] gnu: Add python-pytest-localserver Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-04  0:05 ` [PATCH 10/17] gnu: Add python-pytest-xprocess Leo Famulari
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-wsgi-intercept): New variable.
---
 gnu/packages/python.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0dfebf2..437b66d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6794,3 +6794,30 @@ the last py.test invocation.")
 framework which enables you to test server connections locally.")
     (home-page "https://pypi.python.org/pypi/pytest-localserver")
     (license license:expat)))
+
+(define-public python-wsgi-intercept
+  (package
+    (name "python-wsgi-intercept")
+    (version "0.10.3")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "wsgi_intercept" version))
+             (sha256
+              (base32
+               "0xyfchacywb1mql84270mcidsqc5ssyspd18yacjk82x2xc68h0r"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-pytest" ,python-pytest)))
+    (propagated-inputs
+     `(("python-httplib2" ,python-httplib2)
+       ("python-requests" ,python-requests)))
+    (synopsis "Puts a WSGI application in place of a real URI for testing")
+    (description "Wsgi_intercept installs a WSGI application in place of a real
+URI for testing.  Testing a WSGI application normally involves starting a
+server at a local host and port, then pointing your test code to that address.
+Instead, this library lets you intercept calls to any specific host/port
+combination and redirect them into a WSGI application importable by your test
+program.  Thus, you can avoid spawning multiple processes or threads to test
+your Web app.")
+    (home-page "https://github.com/cdent/wsgi-intercept")
+    (license license:expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 10/17] gnu: Add python-pytest-xprocess.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (8 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 09/17] gnu: Add python-wsgi-intercept Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-04  0:05 ` [PATCH 11/17] gnu: Add radicale Leo Famulari
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-pytest-xprocess): New variable.
---
 gnu/packages/python.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 437b66d..2f7c14e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6821,3 +6821,24 @@ program.  Thus, you can avoid spawning multiple processes or threads to test
 your Web app.")
     (home-page "https://github.com/cdent/wsgi-intercept")
     (license license:expat)))
+
+(define-public python-pytest-xprocess
+  (package
+    (name "python-pytest-xprocess")
+    (version "0.9.1")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "pytest-xprocess" version))
+             (sha256
+              (base32
+               "17zlql1xqw3ywcgwwbqmw633aly99lab12hm02asr8awvg5603pp"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-pytest-cache" ,python-pytest-cache)
+       ("python-psutil" ,python-psutil)))
+    (synopsis "Pytest plugin to manage external processes across test runs")
+    (description "Pytest-xprocess is an experimental py.test plugin for managing
+processes across test runs.")
+    (home-page "https://bitbucket.org/pytest-dev/pytest-xprocess")
+    (license license:expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 11/17] gnu: Add radicale.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (9 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 10/17] gnu: Add python-pytest-xprocess Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-04  0:05 ` [PATCH 12/17] gnu: Add vdirsyncer Leo Famulari
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/dav.scm (radicale): New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am        |  1 +
 gnu/packages/dav.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 gnu/packages/dav.scm

diff --git a/gnu-system.am b/gnu-system.am
index c0f8fac..37cd719 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -80,6 +80,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/databases.scm			\
   gnu/packages/datamash.scm			\
   gnu/packages/datastructures.scm		\
+  gnu/packages/dav.scm				\
   gnu/packages/dc.scm				\
   gnu/packages/debug.scm			\
   gnu/packages/dejagnu.scm			\
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
new file mode 100644
index 0000000..07fdcb1
--- /dev/null
+++ b/gnu/packages/dav.scm
@@ -0,0 +1,50 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages dav)
+  #:use-module (guix build-system python)
+  #:use-module (guix download)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (gnu packages python))
+
+(define-public radicale
+  (package
+    (name "radicale")
+    (version "1.0.1")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "Radicale" version))
+             (sha256
+              (base32
+               "0q0vxqg32lp9bzbqn06x7igwq3a9hcmpspvj3icyf0rlg786i2p1"))))
+    (build-system python-build-system)
+    (propagated-inputs
+      ;; TODO: Add python-pam
+     `(("python-requests" ,python-requests)))
+    (synopsis "Basic CalDAV and CardDAV server")
+    (description "Radicale is a CalDAV and CardDAV server for UNIX-like
+platforms.  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.
+
+Radicale intentionally does not fully comply with the CalDAV and CardDAV RFCs.
+Instead, it supports the CalDAV and CardDAV implementations of popular
+clients.")
+    (home-page "http://radicale.org/")
+    (license gpl3+)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 12/17] gnu: Add vdirsyncer.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (10 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 11/17] gnu: Add radicale Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-06 19:11   ` Efraim Flashner
  2016-01-04  0:05 ` [PATCH 13/17] gnu: Add python-icalendar Leo Famulari
                   ` (4 subsequent siblings)
  16 siblings, 1 reply; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/dav.scm (vdirsyncer): New variable.
---
 gnu/packages/dav.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
index 07fdcb1..10ca0b2 100644
--- a/gnu/packages/dav.scm
+++ b/gnu/packages/dav.scm
@@ -48,3 +48,61 @@ Instead, it supports the CalDAV and CardDAV implementations of popular
 clients.")
     (home-page "http://radicale.org/")
     (license gpl3+)))
+
+(define-public vdirsyncer
+  (package
+    (name "vdirsyncer")
+    (version "0.7.5")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "vdirsyncer" version))
+             (sha256
+              (base32
+               "0dvar4k95n689fgw5gy19mb7ggaw32c8j2gbglr33wn7pbxc2l9z"))))
+    (build-system python-build-system)
+    (arguments
+      `(#:phases (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (setenv "DAV_SERVER" "radicale")
+             (setenv "REMOTESTORAGE_SERVER" "skip")
+             (zero? (system* "py.test"))))
+         ;; vdirsyncer requires itself to be installed in order to build
+         ;; the manpage.
+         (add-after 'install 'manpage
+           (lambda* (#:key outputs #:allow-other-keys)
+             (setenv "PYTHONPATH"
+                     (string-append
+                       (getenv "PYTHONPATH")
+                       ":" (assoc-ref outputs "out")))
+             (zero? (system* "make" "--directory=docs/" "man"))
+             (install-file
+               "docs/_build/man/vdirsyncer.1"
+               (string-append
+                 (assoc-ref outputs "out")
+                 "/share/man/man1")))))))
+    (native-inputs
+     `(("python-oauthlib" ,python-oauthlib)
+       ("python-setuptools-scm" ,python-setuptools-scm)
+       ("python-sphinx" ,python-sphinx)
+       ;; Required for testing
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-localserver" ,python-pytest-localserver)
+       ("python-pytest-xprocess" ,python-pytest-xprocess)
+       ("python-wsgi-intercept" ,python-wsgi-intercept)
+       ("radicale" ,radicale)))
+    (propagated-inputs
+     `(("python-atomicwrites" ,python-atomicwrites)
+       ("python-click" ,python-click)
+       ("python-click-log" ,python-click-log)
+       ("python-click-threading" ,python-click-threading)
+       ("python-lxml" ,python-lxml) ; which one?
+       ("python-requests-toolbelt" ,python-requests-toolbelt)))
+    (synopsis "Synchronize calendars and contacts")
+    (description "Vdirsyncer synchronizes your calendars and addressbooks
+between two storages.  The most popular purpose is to synchronize a CalDAV or
+CardDAV server with a local folder or file.  The local data can then be
+accessed via a variety of programs, none of which have to know or worry about
+syncing to a server.")
+    (home-page "https://github.com/untitaker/vdirsyncer")
+    (license expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 13/17] gnu: Add python-icalendar.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (11 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 12/17] gnu: Add vdirsyncer Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-04  0:05 ` [PATCH 14/17] gnu: Add python-sphinxcontrib-newsfeed Leo Famulari
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-icalendar): New variable.
---
 gnu/packages/python.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2f7c14e..7478472 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6842,3 +6842,23 @@ your Web app.")
 processes across test runs.")
     (home-page "https://bitbucket.org/pytest-dev/pytest-xprocess")
     (license license:expat)))
+
+(define-public python-icalendar
+  (package
+    (name "python-icalendar")
+    (version "3.9.1")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "icalendar" version))
+             (sha256
+              (base32
+               "0fhrczdj3jxy5bvswphp3vys7vwv5c9bpwg7asykqwa3z6253q6q"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-dateutil-2" ,python-dateutil-2)
+       ("python-pytz" ,python-pytz)))
+    (synopsis "Python library for parsing iCalendar files")
+    (description "The icalendar package is a parser/generator of iCalendar
+files for use with Python.")
+    (home-page "https://github.com/collective/icalendar")
+    (license bsd-2)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 14/17] gnu: Add python-sphinxcontrib-newsfeed.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (12 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 13/17] gnu: Add python-icalendar Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-04  0:05 ` [PATCH 15/17] gnu: Update python-tzlocal to 1.2 Leo Famulari
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-sphinxcontrib-newsfeed): New variable.
---
 gnu/packages/python.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 7478472..fca11c1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6862,3 +6862,23 @@ processes across test runs.")
 files for use with Python.")
     (home-page "https://github.com/collective/icalendar")
     (license bsd-2)))
+
+(define-public python-sphinxcontrib-newsfeed
+  (package
+    (name "python-sphinxcontrib-newsfeed")
+    (version "0.1.4")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "sphinxcontrib-newsfeed" version))
+             (sha256
+              (base32
+               "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-docutils" ,python-docutils)
+       ("python-sphinx" ,python-sphinx)))
+    (synopsis "News Feed extension for Sphinx")
+    (description "Sphinxcontrib-newsfeed is an extension for adding a simple
+Blog, News or Announcements section to a Sphinx website.")
+    (home-page "https://bitbucket.org/prometheus/sphinxcontrib-newsfeed")
+    (license bsd-2)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 15/17] gnu: Update python-tzlocal to 1.2.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (13 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 14/17] gnu: Add python-sphinxcontrib-newsfeed Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-06 19:14   ` Efraim Flashner
  2016-01-04  0:05 ` [PATCH 16/17] gnu: python-urwid: Disable failing test test_remove_watch_file Leo Famulari
  2016-01-04  0:05 ` [PATCH 17/17] gnu: Add khal Leo Famulari
  16 siblings, 1 reply; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-tzlocal): Update to 1.2.
[source]: Use pypi-uri.
[arguments]: Remove the custom 'unpack phase.
[native-inputs]: Remove unzip, python-setuptools.
[propagated-inputs]: Add python-pytz.
---
 gnu/packages/python.scm | 23 ++++-------------------
 1 file changed, 4 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index fca11c1..4af9354 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1014,31 +1014,16 @@ doing practical, real world data analysis in Python.")
 (define-public python-tzlocal
   (package
     (name "python-tzlocal")
-    (version "1.1.1")
+    (version "1.2")
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "https://pypi.python.org/packages/source/t/"
-                          "tzlocal/tzlocal-" version ".zip"))
+      (uri (pypi-uri "tzlocal" version))
       (sha256
        (base32
-        "1m3y918c3chf41fwg2bx4w42bqsjzn3dyvvcmwwy13c8gj6zssv9"))))
+        "12wsw2fl3adrqrwghasld57bhqdrzn0crblqrci1p5acd0ni53s3"))))
     (build-system python-build-system)
-    (native-inputs
-     `(("unzip" ,unzip)
-       ("python-setuptools" ,python-setuptools)))
-    (inputs `(("python-pytz" ,python-pytz)))
-    (arguments
-     `(#:phases
-       (alist-replace
-        'unpack
-        (lambda _
-          (let ((unzip (string-append (assoc-ref %build-inputs "unzip")
-                                      "/bin/unzip"))
-                (source (assoc-ref %build-inputs "source")))
-            (and (zero? (system* unzip source))
-                 (chdir (string-append "tzlocal-" ,version)))))
-        %standard-phases)))
+    (propagated-inputs `(("python-pytz" ,python-pytz)))
     (home-page "https://github.com/regebro/tzlocal")
     (synopsis
      "Local timezone information for Python")
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 16/17] gnu: python-urwid: Disable failing test test_remove_watch_file.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (14 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 15/17] gnu: Update python-tzlocal to 1.2 Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-04  0:05 ` [PATCH 17/17] gnu: Add khal Leo Famulari
  16 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-urwid)[arguments]: Add
'disable-failing-test' phase.
[source]: Use pypi-uri.
---
 gnu/packages/python.scm | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4af9354..171221b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4324,13 +4324,22 @@ and written in Python.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://pypi.python.org/packages/source/u/urwid/urwid-"
-             version ".tar.gz"))
+       (uri (pypi-uri "urwid" version))
        (sha256
         (base32
          "18mb0yy94sjc434rd61m2sfnw27sa0nyrszpj5a9r9zh7fnlzw19"))))
     (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; Disable failing test. Bug filed upstream:
+         ;; https://github.com/wardi/urwid/issues/164
+         ;; TODO: check again for python-urwid > 1.3.0 or python > 3.4.3.
+         (add-after 'unpack 'disable-failing-test
+          (lambda _
+            (substitute* "urwid/tests/test_event_loops.py"
+              (("test_remove_watch_file")
+                "disable_remove_watch_file")))))))
     (native-inputs `(("python-setuptools" ,python-setuptools)))
     (home-page "http://urwid.org")
     (synopsis "Console user interface library for Python")
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 17/17] gnu: Add khal.
  2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
                   ` (15 preceding siblings ...)
  2016-01-04  0:05 ` [PATCH 16/17] gnu: python-urwid: Disable failing test test_remove_watch_file Leo Famulari
@ 2016-01-04  0:05 ` Leo Famulari
  2016-01-06 19:23   ` Efraim Flashner
  2016-01-06 19:31   ` Eric Bavier
  16 siblings, 2 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-04  0:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/calendar.scm (khal): New variable.
---
 gnu/packages/calendar.scm | 79 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 78 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 7e87fbb..d8f9627 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
+;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,8 +23,14 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system python)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages dav)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages icu4c)
-  #:use-module (gnu packages perl))
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages python))
 
 (define-public libical
   (package
@@ -50,3 +57,73 @@
      "Libical is an implementation of the iCalendar protocols and protocol
 data units.")
     (license lgpl2.1)))
+
+(define-public khal
+  (package
+    (name "khal")
+    (version "0.7.0")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "khal" version))
+             (sha256
+              (base32
+               "00llxj7cv31mjsx0j6zxmyi9s1q20yvfkn025xcy8cv1ylfwic66"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+        ;; Patch sent upstream: https://github.com/geier/khal/pull/307
+        (add-after
+          'unpack 'patch-broken-path
+          (lambda _
+            (substitute* "doc/source/Makefile"
+              (("../../../khal/khal/settings/khal.spec")
+               "../../khal/settings/khal.spec" ))))
+        ;; Bug reported: https://github.com/geier/khal/issues/309
+        (add-after 'unpack 'disable-test
+          (lambda _
+            (substitute* "tests/khalendar_test.py"
+                         (("test_only_update_old_event")
+                          "disabled_only_update_old_event"))))
+        ;; Building the manpage requires khal to be installed.
+        (add-after 'install 'manpage
+          (lambda* (#:key outputs #:allow-other-keys)
+            (setenv "PYTHONPATH"
+                    (string-append
+                      (getenv "PYTHONPATH")
+                      ":" (assoc-ref outputs "out")))
+            (zero? (system* "make" "--directory=doc/" "man"))
+            (install-file
+              "doc/build/man/khal.1"
+              (string-append
+                (assoc-ref outputs "out")
+                "/share/man/man1"))))
+        (replace 'check
+          (lambda* (#:key inputs #:allow-other-keys)
+            ;; The tests require us to choose a timezone.
+            (setenv "TZ"
+                    (string-append (assoc-ref inputs "tzdata")
+                                   "/share/zoneinfo/Zulu"))
+            (zero? (system* "py.test" "tests")))))))
+    (native-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-setuptools-scm" ,python-setuptools-scm)
+       ;; Required for tests
+       ("tzdata" ,tzdata)
+       ;; Required to build manpage
+       ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)
+       ("python-sphinx" ,python-sphinx)))
+    (inputs
+     `(("sqlite" ,sqlite)))
+    (propagated-inputs
+     `(("python-configobj" ,python-configobj)
+       ("python-dateutil-2" ,python-dateutil-2)
+       ("python-icalendar" ,python-icalendar)
+       ("python-tzlocal" ,python-tzlocal)
+       ("python-urwid" ,python-urwid)
+       ("python-pyxdg" ,python-pyxdg)
+       ("vdirsyncer" ,vdirsyncer)))
+    (synopsis "CLI and TUI calendar program")
+    (description "Khal is a standards based CLI and TUI calendar program, able
+to synchronize with CalDAV servers through vdirsyncer.")
+    (home-page "http://lostpackets.de/khal/")
+    (license expat)))
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* Re: [PATCH 03/17] gnu: Add python-click-threading.
  2016-01-04  0:05 ` [PATCH 03/17] gnu: Add python-click-threading Leo Famulari
@ 2016-01-06 18:48   ` Eric Bavier
  2016-01-07 16:48     ` Leo Famulari
  0 siblings, 1 reply; 36+ messages in thread
From: Eric Bavier @ 2016-01-06 18:48 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel, guix-devel-bounces+ericbavier=openmailbox.org

On 2016-01-03 18:05, Leo Famulari wrote:
> * gnu/packages/python.scm (python-click-threading): New variable.
> ---
>  gnu/packages/python.scm | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 8f05b5a..5d28bbb 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6656,3 +6656,22 @@ for atomic filesystem operations.")
>  with python-requests.")
>      (home-page "https://github.com/sigmavirus24/requests-toolbelt")
>      (license asl2.0)))
> +
> +(define-public python-click-threading
> +  (package
> +    (name "python-click-threading")
> +    (version "0.1.2")
> +    (source (origin
> +             (method url-fetch)
> +             (uri (pypi-uri "click-threading" version))
> +             (sha256
> +              (base32
> +               
> "0jmrv4334lfxa2ss53c06dafdwqbk1pb3ihd26izn5igw1bm8145"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +     `(("python-click" ,python-click)))
> +    (synopsis "Utilities for multithreading in Click")
> +    (description "The package provides utilities for multithreading in

s/The/This/ for consistency with other package descriptions.

-- 
`~Eric

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 06/17] gnu: Add python-execnet.
  2016-01-04  0:05 ` [PATCH 06/17] gnu: Add python-execnet Leo Famulari
@ 2016-01-06 18:57   ` Eric Bavier
  2016-01-07 16:48     ` Leo Famulari
  0 siblings, 1 reply; 36+ messages in thread
From: Eric Bavier @ 2016-01-06 18:57 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel, guix-devel-bounces+ericbavier=openmailbox.org

On 2016-01-03 18:05, Leo Famulari wrote:
> * gnu/packages/python.scm (python-execnet): New variable.
> ---
>  gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
[...]
> +    (description "Execnet provides a share-nothing model with
> +channel-send/receive communication for distributing execution across 
> many
> +Python interpreters across version, platform and network barriers.  It 
> has a
> +minimal and fast API targetting the following uses:
> +1) distribute tasks to (many) local or remote CPUs
> +2) write and deploy hybrid multi-process applications
> +3) write scripts to administer multiple environments")

We should use texinfo @enumerate here instead:

@enumerate
@item distribute tasks to (many) local or remote CPUs
@item write and deploy hybrid multi-process applications
@item write scripts to administer multiple environments
@end enumerate

Or @itemize, but http://bugs.gnu.org/21772 as noted in 
gnu/packages/python.scm

> +    (home-page "http://codespeak.net/execnet/")
> +    (license license:expat)))

-- 
`~Eric

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 01/17] gnu: Add python-atomicwrites.
  2016-01-04  0:04 ` [PATCH 01/17] gnu: Add python-atomicwrites Leo Famulari
@ 2016-01-06 19:02   ` Efraim Flashner
  2016-01-07 16:48     ` Leo Famulari
  0 siblings, 1 reply; 36+ messages in thread
From: Efraim Flashner @ 2016-01-06 19:02 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1481 bytes --]

On Sun,  3 Jan 2016 19:04:59 -0500
Leo Famulari <leo@famulari.name> wrote:

> * gnu/packages/python.scm (python-atomicwrites): New variable.
> ---
>  gnu/packages/python.scm | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 4ab1eed..496bdd9 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6620,3 +6620,20 @@ the standard library.")
>  
>  (define-public python2-contextlib2
>    (package-with-python2 python-contextlib2))
> +
> +(define-public python-atomicwrites
> +  (package
> +    (name "python-atomicwrites")
> +    (version "0.1.8")
> +    (source (origin
> +             (method url-fetch)
> +             (uri (pypi-uri "atomicwrites" version))
> +             (sha256
> +              (base32
> +               "13nwk0gw0yb61pnf5vxs3fvhav6q3zrf08x9ggc93bnk5fsssx1j"))))
> +    (build-system python-build-system)
> +    (synopsis "Atomic file writes in Python")
> +    (description "Library for atomic file writes using platform dependent tools
> +for atomic filesystem operations.")
> +    (home-page "https://github.com/untitaker/python-atomicwrites")
> +    (license license:expat)))

Is this python 3 only?

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 04/17] gnu: Add python-click-log.
  2016-01-04  0:05 ` [PATCH 04/17] gnu: Add python-click-log Leo Famulari
@ 2016-01-06 19:04   ` Efraim Flashner
  2016-01-07 16:49     ` Leo Famulari
  0 siblings, 1 reply; 36+ messages in thread
From: Efraim Flashner @ 2016-01-06 19:04 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1638 bytes --]

On Sun,  3 Jan 2016 19:05:02 -0500
Leo Famulari <leo@famulari.name> wrote:

> * gnu/packages/python.scm (python-click-log): New variable.
> ---
>  gnu/packages/python.scm | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 5d28bbb..95de6b3 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6675,3 +6675,22 @@ with python-requests.")
>  applications.")
>      (home-page "https://github.com/click-contrib/click-threading")
>      (license license:expat)))
> +
> +(define-public python-click-log
> +  (package
> +    (name "python-click-log")
> +    (version "0.1.1")
> +    (source (origin
> +             (method url-fetch)
> +             (uri (pypi-uri "click-log" version))
> +             (sha256
> +              (base32
> +               "1z3jdwjmwax159zrnyx830xa968rfqrpkm04ad5xqyh0269ydiqb"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +     `(("python-click" ,python-click)))
> +    (synopsis "Logging for click applications")
> +    (description "This package provides a Python library for logging for Click
									^^^
	I think you can leave out this "for" ----------------------------^
> +applications.")
> +    (home-page "https://github.com/click-contrib/click-log")
> +    (license license:expat)))

Also, is this python-3 only?

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 08/17] gnu: Add python-pytest-localserver.
  2016-01-04  0:05 ` [PATCH 08/17] gnu: Add python-pytest-localserver Leo Famulari
@ 2016-01-06 19:09   ` Eric Bavier
  2016-01-07 16:49     ` Leo Famulari
  0 siblings, 1 reply; 36+ messages in thread
From: Eric Bavier @ 2016-01-06 19:09 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel, guix-devel-bounces+ericbavier=openmailbox.org

On 2016-01-03 18:05, Leo Famulari wrote:
> * gnu/packages/python.scm (python-pytest-localserver): New variable.
> ---
>  gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 2cfdcaf..0dfebf2 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6762,3 +6762,35 @@ minimal and fast API targetting the following 
> uses:
>  the last py.test invocation.")
>      (home-page "https://bitbucket.org/hpk42/pytest-cache/")
>      (license license:expat)))
> +
> +(define-public python-pytest-localserver
> +  (package
> +    (name "python-pytest-localserver")
> +    (version "0.3.4")
> +    (source (origin
> +             (method url-fetch)
> +             (uri (string-append 
> "https://pypi.python.org/packages/source/p"
> +                                 
> "/pytest-localserver/pytest-localserver-"
> +                                 version ".zip"))

When https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00224.html 
goes through, we should be able to use pypi-url here again.

-- 
`~Eric

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 12/17] gnu: Add vdirsyncer.
  2016-01-04  0:05 ` [PATCH 12/17] gnu: Add vdirsyncer Leo Famulari
@ 2016-01-06 19:11   ` Efraim Flashner
  0 siblings, 0 replies; 36+ messages in thread
From: Efraim Flashner @ 2016-01-06 19:11 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 3525 bytes --]

On Sun,  3 Jan 2016 19:05:10 -0500
Leo Famulari <leo@famulari.name> wrote:

> * gnu/packages/dav.scm (vdirsyncer): New variable.
> ---
>  gnu/packages/dav.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 58 insertions(+)
> 
> diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
> index 07fdcb1..10ca0b2 100644
> --- a/gnu/packages/dav.scm
> +++ b/gnu/packages/dav.scm
> @@ -48,3 +48,61 @@ Instead, it supports the CalDAV and CardDAV implementations of popular
>  clients.")
>      (home-page "http://radicale.org/")
>      (license gpl3+)))
> +
> +(define-public vdirsyncer
> +  (package
> +    (name "vdirsyncer")
> +    (version "0.7.5")
> +    (source (origin
> +             (method url-fetch)
> +             (uri (pypi-uri "vdirsyncer" version))
> +             (sha256
> +              (base32
> +               "0dvar4k95n689fgw5gy19mb7ggaw32c8j2gbglr33wn7pbxc2l9z"))))
> +    (build-system python-build-system)
> +    (arguments
> +      `(#:phases (modify-phases %standard-phases
> +         (replace 'check
> +           (lambda _
> +             (setenv "DAV_SERVER" "radicale")
> +             (setenv "REMOTESTORAGE_SERVER" "skip")
> +             (zero? (system* "py.test"))))
> +         ;; vdirsyncer requires itself to be installed in order to build
> +         ;; the manpage.
> +         (add-after 'install 'manpage
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (setenv "PYTHONPATH"
> +                     (string-append
> +                       (getenv "PYTHONPATH")
> +                       ":" (assoc-ref outputs "out")))
> +             (zero? (system* "make" "--directory=docs/" "man"))
> +             (install-file
> +               "docs/_build/man/vdirsyncer.1"
> +               (string-append
> +                 (assoc-ref outputs "out")
> +                 "/share/man/man1")))))))
> +    (native-inputs
> +     `(("python-oauthlib" ,python-oauthlib)
> +       ("python-setuptools-scm" ,python-setuptools-scm)
> +       ("python-sphinx" ,python-sphinx)
> +       ;; Required for testing
> +       ("python-pytest" ,python-pytest)
> +       ("python-pytest-localserver" ,python-pytest-localserver)
> +       ("python-pytest-xprocess" ,python-pytest-xprocess)
> +       ("python-wsgi-intercept" ,python-wsgi-intercept)
> +       ("radicale" ,radicale)))
> +    (propagated-inputs
> +     `(("python-atomicwrites" ,python-atomicwrites)
> +       ("python-click" ,python-click)
> +       ("python-click-log" ,python-click-log)
> +       ("python-click-threading" ,python-click-threading)
> +       ("python-lxml" ,python-lxml) ; which one?
> +       ("python-requests-toolbelt" ,python-requests-toolbelt)))
> +    (synopsis "Synchronize calendars and contacts")
> +    (description "Vdirsyncer synchronizes your calendars and addressbooks
> +between two storages.  The most popular purpose is to synchronize a CalDAV or

how about "between two storage locations."

> +CardDAV server with a local folder or file.  The local data can then be
> +accessed via a variety of programs, none of which have to know or worry about
> +syncing to a server.")
> +    (home-page "https://github.com/untitaker/vdirsyncer")
> +    (license expat)))



-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 15/17] gnu: Update python-tzlocal to 1.2.
  2016-01-04  0:05 ` [PATCH 15/17] gnu: Update python-tzlocal to 1.2 Leo Famulari
@ 2016-01-06 19:14   ` Efraim Flashner
  2016-01-07 16:49     ` Leo Famulari
  0 siblings, 1 reply; 36+ messages in thread
From: Efraim Flashner @ 2016-01-06 19:14 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2318 bytes --]

On Sun,  3 Jan 2016 19:05:13 -0500
Leo Famulari <leo@famulari.name> wrote:

> * gnu/packages/python.scm (python-tzlocal): Update to 1.2.
> [source]: Use pypi-uri.
> [arguments]: Remove the custom 'unpack phase.
> [native-inputs]: Remove unzip, python-setuptools.
> [propagated-inputs]: Add python-pytz.
> ---
>  gnu/packages/python.scm | 23 ++++-------------------
>  1 file changed, 4 insertions(+), 19 deletions(-)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index fca11c1..4af9354 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -1014,31 +1014,16 @@ doing practical, real world data analysis in Python.")
>  (define-public python-tzlocal
>    (package
>      (name "python-tzlocal")
> -    (version "1.1.1")
> +    (version "1.2")
>      (source
>       (origin
>        (method url-fetch)
> -      (uri (string-append "https://pypi.python.org/packages/source/t/"
> -                          "tzlocal/tzlocal-" version ".zip"))
> +      (uri (pypi-uri "tzlocal" version))
>        (sha256
>         (base32
> -        "1m3y918c3chf41fwg2bx4w42bqsjzn3dyvvcmwwy13c8gj6zssv9"))))
> +        "12wsw2fl3adrqrwghasld57bhqdrzn0crblqrci1p5acd0ni53s3"))))
>      (build-system python-build-system)
> -    (native-inputs
> -     `(("unzip" ,unzip)
> -       ("python-setuptools" ,python-setuptools)))
> -    (inputs `(("python-pytz" ,python-pytz)))
> -    (arguments
> -     `(#:phases
> -       (alist-replace
> -        'unpack
> -        (lambda _
> -          (let ((unzip (string-append (assoc-ref %build-inputs "unzip")
> -                                      "/bin/unzip"))
> -                (source (assoc-ref %build-inputs "source")))
> -            (and (zero? (system* unzip source))
> -                 (chdir (string-append "tzlocal-" ,version)))))
> -        %standard-phases)))
> +    (propagated-inputs `(("python-pytz" ,python-pytz)))
>      (home-page "https://github.com/regebro/tzlocal")
>      (synopsis
>       "Local timezone information for Python")

This one looks good to me

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 17/17] gnu: Add khal.
  2016-01-04  0:05 ` [PATCH 17/17] gnu: Add khal Leo Famulari
@ 2016-01-06 19:23   ` Efraim Flashner
  2016-01-07 16:49     ` Leo Famulari
  2016-01-06 19:31   ` Eric Bavier
  1 sibling, 1 reply; 36+ messages in thread
From: Efraim Flashner @ 2016-01-06 19:23 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 4925 bytes --]

On Sun,  3 Jan 2016 19:05:15 -0500
Leo Famulari <leo@famulari.name> wrote:

> * gnu/packages/calendar.scm (khal): New variable.
> ---
>  gnu/packages/calendar.scm | 79 ++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 78 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
> index 7e87fbb..d8f9627 100644
> --- a/gnu/packages/calendar.scm
> +++ b/gnu/packages/calendar.scm
> @@ -1,5 +1,6 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2015 David Thompson <davet@gnu.org>
> +;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -22,8 +23,14 @@
>    #:use-module (guix packages)
>    #:use-module (guix download)
>    #:use-module (guix build-system cmake)
> +  #:use-module (guix build-system python)
> +  #:use-module (gnu packages base)
> +  #:use-module (gnu packages databases)
> +  #:use-module (gnu packages dav)
> +  #:use-module (gnu packages freedesktop)
>    #:use-module (gnu packages icu4c)
> -  #:use-module (gnu packages perl))
> +  #:use-module (gnu packages perl)
> +  #:use-module (gnu packages python))
>  
>  (define-public libical
>    (package
> @@ -50,3 +57,73 @@
>       "Libical is an implementation of the iCalendar protocols and protocol
>  data units.")
>      (license lgpl2.1)))
> +
> +(define-public khal
> +  (package
> +    (name "khal")
> +    (version "0.7.0")
> +    (source (origin
> +             (method url-fetch)
> +             (uri (pypi-uri "khal" version))
> +             (sha256
> +              (base32
> +               "00llxj7cv31mjsx0j6zxmyi9s1q20yvfkn025xcy8cv1ylfwic66"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:phases (modify-phases %standard-phases
> +        ;; Patch sent upstream: https://github.com/geier/khal/pull/307
> +        (add-after
> +          'unpack 'patch-broken-path

move these to the previous line for consistancy

> +          (lambda _
> +            (substitute* "doc/source/Makefile"
> +              (("../../../khal/khal/settings/khal.spec")
> +               "../../khal/settings/khal.spec" ))))
> +        ;; Bug reported: https://github.com/geier/khal/issues/309
> +        (add-after 'unpack 'disable-test
> +          (lambda _
> +            (substitute* "tests/khalendar_test.py"
> +                         (("test_only_update_old_event")
> +                          "disabled_only_update_old_event"))))
> +        ;; Building the manpage requires khal to be installed.
> +        (add-after 'install 'manpage
> +          (lambda* (#:key outputs #:allow-other-keys)
> +            (setenv "PYTHONPATH"
> +                    (string-append
> +                      (getenv "PYTHONPATH")
> +                      ":" (assoc-ref outputs "out")))

stylistic change, I would put the ":" on the previous line. The assoc-ref
also if it all fits within 80 characters.

> +            (zero? (system* "make" "--directory=doc/" "man"))
> +            (install-file
> +              "doc/build/man/khal.1"
> +              (string-append
> +                (assoc-ref outputs "out")
> +                "/share/man/man1"))))

would these 3 lines fit on one line?

> +        (replace 'check
> +          (lambda* (#:key inputs #:allow-other-keys)
> +            ;; The tests require us to choose a timezone.
> +            (setenv "TZ"
> +                    (string-append (assoc-ref inputs "tzdata")
> +                                   "/share/zoneinfo/Zulu"))
> +            (zero? (system* "py.test" "tests")))))))
> +    (native-inputs
> +     `(("python-pytest" ,python-pytest)
> +       ("python-setuptools-scm" ,python-setuptools-scm)
> +       ;; Required for tests
> +       ("tzdata" ,tzdata)
> +       ;; Required to build manpage
> +       ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)
> +       ("python-sphinx" ,python-sphinx)))
> +    (inputs
> +     `(("sqlite" ,sqlite)))
> +    (propagated-inputs
> +     `(("python-configobj" ,python-configobj)
> +       ("python-dateutil-2" ,python-dateutil-2)
> +       ("python-icalendar" ,python-icalendar)
> +       ("python-tzlocal" ,python-tzlocal)
> +       ("python-urwid" ,python-urwid)
> +       ("python-pyxdg" ,python-pyxdg)
> +       ("vdirsyncer" ,vdirsyncer)))
> +    (synopsis "CLI and TUI calendar program")
> +    (description "Khal is a standards based CLI and TUI calendar program, able
> +to synchronize with CalDAV servers through vdirsyncer.")
> +    (home-page "http://lostpackets.de/khal/")
> +    (license expat)))



-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 17/17] gnu: Add khal.
  2016-01-04  0:05 ` [PATCH 17/17] gnu: Add khal Leo Famulari
  2016-01-06 19:23   ` Efraim Flashner
@ 2016-01-06 19:31   ` Eric Bavier
  2016-01-07 16:50     ` Leo Famulari
  1 sibling, 1 reply; 36+ messages in thread
From: Eric Bavier @ 2016-01-06 19:31 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel, guix-devel-bounces+ericbavier=openmailbox.org

On 2016-01-03 18:05, Leo Famulari wrote:
> * gnu/packages/calendar.scm (khal): New variable.
> ---
>  gnu/packages/calendar.scm | 79 
> ++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 78 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
> index 7e87fbb..d8f9627 100644
> --- a/gnu/packages/calendar.scm
> +++ b/gnu/packages/calendar.scm
> @@ -1,5 +1,6 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2015 David Thompson <davet@gnu.org>
> +;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -22,8 +23,14 @@
>    #:use-module (guix packages)
>    #:use-module (guix download)
>    #:use-module (guix build-system cmake)
> +  #:use-module (guix build-system python)
> +  #:use-module (gnu packages base)
> +  #:use-module (gnu packages databases)
> +  #:use-module (gnu packages dav)
> +  #:use-module (gnu packages freedesktop)
>    #:use-module (gnu packages icu4c)
> -  #:use-module (gnu packages perl))
> +  #:use-module (gnu packages perl)
> +  #:use-module (gnu packages python))
> 
>  (define-public libical
>    (package
> @@ -50,3 +57,73 @@
>       "Libical is an implementation of the iCalendar protocols and 
> protocol
>  data units.")
>      (license lgpl2.1)))
> +
> +(define-public khal
> +  (package
> +    (name "khal")
> +    (version "0.7.0")
> +    (source (origin
> +             (method url-fetch)
> +             (uri (pypi-uri "khal" version))
> +             (sha256
> +              (base32
> +               
> "00llxj7cv31mjsx0j6zxmyi9s1q20yvfkn025xcy8cv1ylfwic66"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:phases (modify-phases %standard-phases
> +        ;; Patch sent upstream: https://github.com/geier/khal/pull/307
> +        (add-after
> +          'unpack 'patch-broken-path
> +          (lambda _
> +            (substitute* "doc/source/Makefile"
> +              (("../../../khal/khal/settings/khal.spec")
> +               "../../khal/settings/khal.spec" ))))

This should perhaps be moved to an origin snippet since the fix is not 
specific to the guix build, so that users who want to `guix build 
--sources khal` get working source.


> +        ;; Bug reported: https://github.com/geier/khal/issues/309
> +        (add-after 'unpack 'disable-test
> +          (lambda _
> +            (substitute* "tests/khalendar_test.py"
> +                         (("test_only_update_old_event")
> +                          "disabled_only_update_old_event"))))
> +        ;; Building the manpage requires khal to be installed.
> +        (add-after 'install 'manpage
> +          (lambda* (#:key outputs #:allow-other-keys)
> +            (setenv "PYTHONPATH"
> +                    (string-append
> +                      (getenv "PYTHONPATH")
> +                      ":" (assoc-ref outputs "out")))
> +            (zero? (system* "make" "--directory=doc/" "man"))
> +            (install-file
> +              "doc/build/man/khal.1"
> +              (string-append
> +                (assoc-ref outputs "out")
> +                "/share/man/man1"))))
> +        (replace 'check
> +          (lambda* (#:key inputs #:allow-other-keys)
> +            ;; The tests require us to choose a timezone.
> +            (setenv "TZ"
> +                    (string-append (assoc-ref inputs "tzdata")
> +                                   "/share/zoneinfo/Zulu"))
> +            (zero? (system* "py.test" "tests")))))))
> +    (native-inputs
> +     `(("python-pytest" ,python-pytest)
> +       ("python-setuptools-scm" ,python-setuptools-scm)
> +       ;; Required for tests
> +       ("tzdata" ,tzdata)
> +       ;; Required to build manpage
> +       ("python-sphinxcontrib-newsfeed" 
> ,python-sphinxcontrib-newsfeed)
> +       ("python-sphinx" ,python-sphinx)))
> +    (inputs
> +     `(("sqlite" ,sqlite)))
> +    (propagated-inputs
> +     `(("python-configobj" ,python-configobj)
> +       ("python-dateutil-2" ,python-dateutil-2)
> +       ("python-icalendar" ,python-icalendar)
> +       ("python-tzlocal" ,python-tzlocal)
> +       ("python-urwid" ,python-urwid)
> +       ("python-pyxdg" ,python-pyxdg)
> +       ("vdirsyncer" ,vdirsyncer)))
> +    (synopsis "CLI and TUI calendar program")

How about "Console calendar program"?

> +    (description "Khal is a standards based CLI and TUI calendar 
> program, able

ditto

> +to synchronize with CalDAV servers through vdirsyncer.")
> +    (home-page "http://lostpackets.de/khal/")
> +    (license expat)))

-- 
`~Eric

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 03/17] gnu: Add python-click-threading.
  2016-01-06 18:48   ` Eric Bavier
@ 2016-01-07 16:48     ` Leo Famulari
  0 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-07 16:48 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel, guix-devel-bounces+ericbavier=openmailbox.org

On Wed, Jan 06, 2016 at 12:48:35PM -0600, Eric Bavier wrote:
> On 2016-01-03 18:05, Leo Famulari wrote:
> >* gnu/packages/python.scm (python-click-threading): New variable.
> >---
> > gnu/packages/python.scm | 19 +++++++++++++++++++
> > 1 file changed, 19 insertions(+)
> >
> >diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> >index 8f05b5a..5d28bbb 100644
> >--- a/gnu/packages/python.scm
> >+++ b/gnu/packages/python.scm
> >@@ -6656,3 +6656,22 @@ for atomic filesystem operations.")
> > with python-requests.")
> >     (home-page "https://github.com/sigmavirus24/requests-toolbelt")
> >     (license asl2.0)))
> >+
> >+(define-public python-click-threading
> >+  (package
> >+    (name "python-click-threading")
> >+    (version "0.1.2")
> >+    (source (origin
> >+             (method url-fetch)
> >+             (uri (pypi-uri "click-threading" version))
> >+             (sha256
> >+              (base32
> >+               "0jmrv4334lfxa2ss53c06dafdwqbk1pb3ihd26izn5igw1bm8145"))))
> >+    (build-system python-build-system)
> >+    (propagated-inputs
> >+     `(("python-click" ,python-click)))
> >+    (synopsis "Utilities for multithreading in Click")
> >+    (description "The package provides utilities for multithreading in
> 
> s/The/This/ for consistency with other package descriptions.

Done.

> 
> -- 
> `~Eric

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 06/17] gnu: Add python-execnet.
  2016-01-06 18:57   ` Eric Bavier
@ 2016-01-07 16:48     ` Leo Famulari
  0 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-07 16:48 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel, guix-devel-bounces+ericbavier=openmailbox.org

On Wed, Jan 06, 2016 at 12:57:29PM -0600, Eric Bavier wrote:
> On 2016-01-03 18:05, Leo Famulari wrote:
> >* gnu/packages/python.scm (python-execnet): New variable.
> >---
> > gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
> > 1 file changed, 26 insertions(+)
> [...]
> >+    (description "Execnet provides a share-nothing model with
> >+channel-send/receive communication for distributing execution across many
> >+Python interpreters across version, platform and network barriers.  It
> >has a
> >+minimal and fast API targetting the following uses:
> >+1) distribute tasks to (many) local or remote CPUs
> >+2) write and deploy hybrid multi-process applications
> >+3) write scripts to administer multiple environments")
> 
> We should use texinfo @enumerate here instead:
> 
> @enumerate
> @item distribute tasks to (many) local or remote CPUs
> @item write and deploy hybrid multi-process applications
> @item write scripts to administer multiple environments
> @end enumerate

Thanks for the tip. Done.

> 
> Or @itemize, but http://bugs.gnu.org/21772 as noted in
> gnu/packages/python.scm
> 
> >+    (home-page "http://codespeak.net/execnet/")
> >+    (license license:expat)))
> 
> -- 
> `~Eric

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 01/17] gnu: Add python-atomicwrites.
  2016-01-06 19:02   ` Efraim Flashner
@ 2016-01-07 16:48     ` Leo Famulari
  2016-01-10  2:48       ` Leo Famulari
  0 siblings, 1 reply; 36+ messages in thread
From: Leo Famulari @ 2016-01-07 16:48 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

On Wed, Jan 06, 2016 at 09:02:10PM +0200, Efraim Flashner wrote:
> On Sun,  3 Jan 2016 19:04:59 -0500
> Leo Famulari <leo@famulari.name> wrote:
> 
> > * gnu/packages/python.scm (python-atomicwrites): New variable.
> > ---
> >  gnu/packages/python.scm | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> > 
> > diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> > index 4ab1eed..496bdd9 100644
> > --- a/gnu/packages/python.scm
> > +++ b/gnu/packages/python.scm
> > @@ -6620,3 +6620,20 @@ the standard library.")
> >  
> >  (define-public python2-contextlib2
> >    (package-with-python2 python-contextlib2))
> > +
> > +(define-public python-atomicwrites
> > +  (package
> > +    (name "python-atomicwrites")
> > +    (version "0.1.8")
> > +    (source (origin
> > +             (method url-fetch)
> > +             (uri (pypi-uri "atomicwrites" version))
> > +             (sha256
> > +              (base32
> > +               "13nwk0gw0yb61pnf5vxs3fvhav6q3zrf08x9ggc93bnk5fsssx1j"))))
> > +    (build-system python-build-system)
> > +    (synopsis "Atomic file writes in Python")
> > +    (description "Library for atomic file writes using platform dependent tools
> > +for atomic filesystem operations.")
> > +    (home-page "https://github.com/untitaker/python-atomicwrites")
> > +    (license license:expat)))
> 
> Is this python 3 only?

The upstream developer has communicated that they intend to officially
stop supporting Python 2 [0] in the software that uses this library. And
I think have already stopped supporting it unofficially [1].

So based on [0] I didn't include a python-2 package variant. If somebody
wants one, I can ask upstream if it's supported for this library.

[0]
https://github.com/untitaker/vdirsyncer/issues/219

[1]
https://github.com/untitaker/vdirsyncer/issues/316

> 
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 04/17] gnu: Add python-click-log.
  2016-01-06 19:04   ` Efraim Flashner
@ 2016-01-07 16:49     ` Leo Famulari
  0 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-07 16:49 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

On Wed, Jan 06, 2016 at 09:04:51PM +0200, Efraim Flashner wrote:
> On Sun,  3 Jan 2016 19:05:02 -0500
> Leo Famulari <leo@famulari.name> wrote:
> 
> > * gnu/packages/python.scm (python-click-log): New variable.
> > ---
> >  gnu/packages/python.scm | 19 +++++++++++++++++++
> >  1 file changed, 19 insertions(+)
> > 
> > diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> > index 5d28bbb..95de6b3 100644
> > --- a/gnu/packages/python.scm
> > +++ b/gnu/packages/python.scm
> > @@ -6675,3 +6675,22 @@ with python-requests.")
> >  applications.")
> >      (home-page "https://github.com/click-contrib/click-threading")
> >      (license license:expat)))
> > +
> > +(define-public python-click-log
> > +  (package
> > +    (name "python-click-log")
> > +    (version "0.1.1")
> > +    (source (origin
> > +             (method url-fetch)
> > +             (uri (pypi-uri "click-log" version))
> > +             (sha256
> > +              (base32
> > +               "1z3jdwjmwax159zrnyx830xa968rfqrpkm04ad5xqyh0269ydiqb"))))
> > +    (build-system python-build-system)
> > +    (propagated-inputs
> > +     `(("python-click" ,python-click)))
> > +    (synopsis "Logging for click applications")
> > +    (description "This package provides a Python library for logging for Click
> 									^^^
> 	I think you can leave out this "for" ----------------------------^

Done.

> > +applications.")
> > +    (home-page "https://github.com/click-contrib/click-log")
> > +    (license license:expat)))
> 
> Also, is this python-3 only?

This has the same author as python-atomicwrites, who is moving away from
Python 2.

> 
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 08/17] gnu: Add python-pytest-localserver.
  2016-01-06 19:09   ` Eric Bavier
@ 2016-01-07 16:49     ` Leo Famulari
  0 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-07 16:49 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel, guix-devel-bounces+ericbavier=openmailbox.org

On Wed, Jan 06, 2016 at 01:09:41PM -0600, Eric Bavier wrote:
> On 2016-01-03 18:05, Leo Famulari wrote:
> >* gnu/packages/python.scm (python-pytest-localserver): New variable.
> >---
> > gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++
> > 1 file changed, 32 insertions(+)
> >
> >diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> >index 2cfdcaf..0dfebf2 100644
> >--- a/gnu/packages/python.scm
> >+++ b/gnu/packages/python.scm
> >@@ -6762,3 +6762,35 @@ minimal and fast API targetting the following uses:
> > the last py.test invocation.")
> >     (home-page "https://bitbucket.org/hpk42/pytest-cache/")
> >     (license license:expat)))
> >+
> >+(define-public python-pytest-localserver
> >+  (package
> >+    (name "python-pytest-localserver")
> >+    (version "0.3.4")
> >+    (source (origin
> >+             (method url-fetch)
> >+             (uri (string-append
> >"https://pypi.python.org/packages/source/p"
> >+
> >"/pytest-localserver/pytest-localserver-"
> >+                                 version ".zip"))
> 
> When https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00224.html
> goes through, we should be able to use pypi-url here again.

Nice, hopefully it is available soon.

> 
> -- 
> `~Eric

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 15/17] gnu: Update python-tzlocal to 1.2.
  2016-01-06 19:14   ` Efraim Flashner
@ 2016-01-07 16:49     ` Leo Famulari
  0 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-07 16:49 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

On Wed, Jan 06, 2016 at 09:14:26PM +0200, Efraim Flashner wrote:
> On Sun,  3 Jan 2016 19:05:13 -0500
> Leo Famulari <leo@famulari.name> wrote:
> 
> > * gnu/packages/python.scm (python-tzlocal): Update to 1.2.
> > [source]: Use pypi-uri.
> > [arguments]: Remove the custom 'unpack phase.
> > [native-inputs]: Remove unzip, python-setuptools.
> > [propagated-inputs]: Add python-pytz.
> > ---
> >  gnu/packages/python.scm | 23 ++++-------------------
> >  1 file changed, 4 insertions(+), 19 deletions(-)
> > 
> > diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> > index fca11c1..4af9354 100644
> > --- a/gnu/packages/python.scm
> > +++ b/gnu/packages/python.scm
> > @@ -1014,31 +1014,16 @@ doing practical, real world data analysis in Python.")
> >  (define-public python-tzlocal
> >    (package
> >      (name "python-tzlocal")
> > -    (version "1.1.1")
> > +    (version "1.2")
> >      (source
> >       (origin
> >        (method url-fetch)
> > -      (uri (string-append "https://pypi.python.org/packages/source/t/"
> > -                          "tzlocal/tzlocal-" version ".zip"))
> > +      (uri (pypi-uri "tzlocal" version))
> >        (sha256
> >         (base32
> > -        "1m3y918c3chf41fwg2bx4w42bqsjzn3dyvvcmwwy13c8gj6zssv9"))))
> > +        "12wsw2fl3adrqrwghasld57bhqdrzn0crblqrci1p5acd0ni53s3"))))
> >      (build-system python-build-system)
> > -    (native-inputs
> > -     `(("unzip" ,unzip)
> > -       ("python-setuptools" ,python-setuptools)))
> > -    (inputs `(("python-pytz" ,python-pytz)))
> > -    (arguments
> > -     `(#:phases
> > -       (alist-replace
> > -        'unpack
> > -        (lambda _
> > -          (let ((unzip (string-append (assoc-ref %build-inputs "unzip")
> > -                                      "/bin/unzip"))
> > -                (source (assoc-ref %build-inputs "source")))
> > -            (and (zero? (system* unzip source))
> > -                 (chdir (string-append "tzlocal-" ,version)))))
> > -        %standard-phases)))
> > +    (propagated-inputs `(("python-pytz" ,python-pytz)))
> >      (home-page "https://github.com/regebro/tzlocal")
> >      (synopsis
> >       "Local timezone information for Python")
> 
> This one looks good to me

Agreed, it's nice to get rid of all that.

> 
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 17/17] gnu: Add khal.
  2016-01-06 19:23   ` Efraim Flashner
@ 2016-01-07 16:49     ` Leo Famulari
  0 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-07 16:49 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

On Wed, Jan 06, 2016 at 09:23:54PM +0200, Efraim Flashner wrote:
> On Sun,  3 Jan 2016 19:05:15 -0500
> Leo Famulari <leo@famulari.name> wrote:
> 
> > * gnu/packages/calendar.scm (khal): New variable.
> > ---
> >  gnu/packages/calendar.scm | 79 ++++++++++++++++++++++++++++++++++++++++++++++-
> >  1 file changed, 78 insertions(+), 1 deletion(-)
> > 
> > diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
> > index 7e87fbb..d8f9627 100644
> > --- a/gnu/packages/calendar.scm
> > +++ b/gnu/packages/calendar.scm
> > @@ -1,5 +1,6 @@
> >  ;;; GNU Guix --- Functional package management for GNU
> >  ;;; Copyright © 2015 David Thompson <davet@gnu.org>
> > +;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
> >  ;;;
> >  ;;; This file is part of GNU Guix.
> >  ;;;
> > @@ -22,8 +23,14 @@
> >    #:use-module (guix packages)
> >    #:use-module (guix download)
> >    #:use-module (guix build-system cmake)
> > +  #:use-module (guix build-system python)
> > +  #:use-module (gnu packages base)
> > +  #:use-module (gnu packages databases)
> > +  #:use-module (gnu packages dav)
> > +  #:use-module (gnu packages freedesktop)
> >    #:use-module (gnu packages icu4c)
> > -  #:use-module (gnu packages perl))
> > +  #:use-module (gnu packages perl)
> > +  #:use-module (gnu packages python))
> >  
> >  (define-public libical
> >    (package
> > @@ -50,3 +57,73 @@
> >       "Libical is an implementation of the iCalendar protocols and protocol
> >  data units.")
> >      (license lgpl2.1)))
> > +
> > +(define-public khal
> > +  (package
> > +    (name "khal")
> > +    (version "0.7.0")
> > +    (source (origin
> > +             (method url-fetch)
> > +             (uri (pypi-uri "khal" version))
> > +             (sha256
> > +              (base32
> > +               "00llxj7cv31mjsx0j6zxmyi9s1q20yvfkn025xcy8cv1ylfwic66"))))
> > +    (build-system python-build-system)
> > +    (arguments
> > +     `(#:phases (modify-phases %standard-phases
> > +        ;; Patch sent upstream: https://github.com/geier/khal/pull/307
> > +        (add-after
> > +          'unpack 'patch-broken-path
> 
> move these to the previous line for consistancy

Done.

> 
> > +          (lambda _
> > +            (substitute* "doc/source/Makefile"
> > +              (("../../../khal/khal/settings/khal.spec")
> > +               "../../khal/settings/khal.spec" ))))
> > +        ;; Bug reported: https://github.com/geier/khal/issues/309
> > +        (add-after 'unpack 'disable-test
> > +          (lambda _
> > +            (substitute* "tests/khalendar_test.py"
> > +                         (("test_only_update_old_event")
> > +                          "disabled_only_update_old_event"))))
> > +        ;; Building the manpage requires khal to be installed.
> > +        (add-after 'install 'manpage
> > +          (lambda* (#:key outputs #:allow-other-keys)
> > +            (setenv "PYTHONPATH"
> > +                    (string-append
> > +                      (getenv "PYTHONPATH")
> > +                      ":" (assoc-ref outputs "out")))
> 
> stylistic change, I would put the ":" on the previous line. The assoc-ref
> also if it all fits within 80 characters.

All on one line!

> 
> > +            (zero? (system* "make" "--directory=doc/" "man"))
> > +            (install-file
> > +              "doc/build/man/khal.1"
> > +              (string-append
> > +                (assoc-ref outputs "out")
> > +                "/share/man/man1"))))
> 
> would these 3 lines fit on one line?

Yes!

> 
> > +        (replace 'check
> > +          (lambda* (#:key inputs #:allow-other-keys)
> > +            ;; The tests require us to choose a timezone.
> > +            (setenv "TZ"
> > +                    (string-append (assoc-ref inputs "tzdata")
> > +                                   "/share/zoneinfo/Zulu"))
> > +            (zero? (system* "py.test" "tests")))))))
> > +    (native-inputs
> > +     `(("python-pytest" ,python-pytest)
> > +       ("python-setuptools-scm" ,python-setuptools-scm)
> > +       ;; Required for tests
> > +       ("tzdata" ,tzdata)
> > +       ;; Required to build manpage
> > +       ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)
> > +       ("python-sphinx" ,python-sphinx)))
> > +    (inputs
> > +     `(("sqlite" ,sqlite)))
> > +    (propagated-inputs
> > +     `(("python-configobj" ,python-configobj)
> > +       ("python-dateutil-2" ,python-dateutil-2)
> > +       ("python-icalendar" ,python-icalendar)
> > +       ("python-tzlocal" ,python-tzlocal)
> > +       ("python-urwid" ,python-urwid)
> > +       ("python-pyxdg" ,python-pyxdg)
> > +       ("vdirsyncer" ,vdirsyncer)))
> > +    (synopsis "CLI and TUI calendar program")
> > +    (description "Khal is a standards based CLI and TUI calendar program, able
> > +to synchronize with CalDAV servers through vdirsyncer.")
> > +    (home-page "http://lostpackets.de/khal/")
> > +    (license expat)))
> 
> 
> 
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 17/17] gnu: Add khal.
  2016-01-06 19:31   ` Eric Bavier
@ 2016-01-07 16:50     ` Leo Famulari
  0 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-07 16:50 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel, guix-devel-bounces+ericbavier=openmailbox.org

On Wed, Jan 06, 2016 at 01:31:05PM -0600, Eric Bavier wrote:
> On 2016-01-03 18:05, Leo Famulari wrote:
> >* gnu/packages/calendar.scm (khal): New variable.
> >---
> > gnu/packages/calendar.scm | 79
> >++++++++++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 78 insertions(+), 1 deletion(-)
> >
> >diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
> >index 7e87fbb..d8f9627 100644
> >--- a/gnu/packages/calendar.scm
> >+++ b/gnu/packages/calendar.scm
> >@@ -1,5 +1,6 @@
> > ;;; GNU Guix --- Functional package management for GNU
> > ;;; Copyright © 2015 David Thompson <davet@gnu.org>
> >+;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
> > ;;;
> > ;;; This file is part of GNU Guix.
> > ;;;
> >@@ -22,8 +23,14 @@
> >   #:use-module (guix packages)
> >   #:use-module (guix download)
> >   #:use-module (guix build-system cmake)
> >+  #:use-module (guix build-system python)
> >+  #:use-module (gnu packages base)
> >+  #:use-module (gnu packages databases)
> >+  #:use-module (gnu packages dav)
> >+  #:use-module (gnu packages freedesktop)
> >   #:use-module (gnu packages icu4c)
> >-  #:use-module (gnu packages perl))
> >+  #:use-module (gnu packages perl)
> >+  #:use-module (gnu packages python))
> >
> > (define-public libical
> >   (package
> >@@ -50,3 +57,73 @@
> >      "Libical is an implementation of the iCalendar protocols and
> >protocol
> > data units.")
> >     (license lgpl2.1)))
> >+
> >+(define-public khal
> >+  (package
> >+    (name "khal")
> >+    (version "0.7.0")
> >+    (source (origin
> >+             (method url-fetch)
> >+             (uri (pypi-uri "khal" version))
> >+             (sha256
> >+              (base32
> >+               "00llxj7cv31mjsx0j6zxmyi9s1q20yvfkn025xcy8cv1ylfwic66"))))
> >+    (build-system python-build-system)
> >+    (arguments
> >+     `(#:phases (modify-phases %standard-phases
> >+        ;; Patch sent upstream: https://github.com/geier/khal/pull/307
> >+        (add-after
> >+          'unpack 'patch-broken-path
> >+          (lambda _
> >+            (substitute* "doc/source/Makefile"
> >+              (("../../../khal/khal/settings/khal.spec")
> >+               "../../khal/settings/khal.spec" ))))
> 
> This should perhaps be moved to an origin snippet since the fix is not
> specific to the guix build, so that users who want to `guix build --sources
> khal` get working source.

That's a good point. Now I see the value of origin snippets :)

> 
> 
> >+        ;; Bug reported: https://github.com/geier/khal/issues/309
> >+        (add-after 'unpack 'disable-test
> >+          (lambda _
> >+            (substitute* "tests/khalendar_test.py"
> >+                         (("test_only_update_old_event")
> >+                          "disabled_only_update_old_event"))))
> >+        ;; Building the manpage requires khal to be installed.
> >+        (add-after 'install 'manpage
> >+          (lambda* (#:key outputs #:allow-other-keys)
> >+            (setenv "PYTHONPATH"
> >+                    (string-append
> >+                      (getenv "PYTHONPATH")
> >+                      ":" (assoc-ref outputs "out")))
> >+            (zero? (system* "make" "--directory=doc/" "man"))
> >+            (install-file
> >+              "doc/build/man/khal.1"
> >+              (string-append
> >+                (assoc-ref outputs "out")
> >+                "/share/man/man1"))))
> >+        (replace 'check
> >+          (lambda* (#:key inputs #:allow-other-keys)
> >+            ;; The tests require us to choose a timezone.
> >+            (setenv "TZ"
> >+                    (string-append (assoc-ref inputs "tzdata")
> >+                                   "/share/zoneinfo/Zulu"))
> >+            (zero? (system* "py.test" "tests")))))))
> >+    (native-inputs
> >+     `(("python-pytest" ,python-pytest)
> >+       ("python-setuptools-scm" ,python-setuptools-scm)
> >+       ;; Required for tests
> >+       ("tzdata" ,tzdata)
> >+       ;; Required to build manpage
> >+       ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)
> >+       ("python-sphinx" ,python-sphinx)))
> >+    (inputs
> >+     `(("sqlite" ,sqlite)))
> >+    (propagated-inputs
> >+     `(("python-configobj" ,python-configobj)
> >+       ("python-dateutil-2" ,python-dateutil-2)
> >+       ("python-icalendar" ,python-icalendar)
> >+       ("python-tzlocal" ,python-tzlocal)
> >+       ("python-urwid" ,python-urwid)
> >+       ("python-pyxdg" ,python-pyxdg)
> >+       ("vdirsyncer" ,vdirsyncer)))
> >+    (synopsis "CLI and TUI calendar program")
> 
> How about "Console calendar program"?

That is better.

Before pushing, I'll wait a while longer in case there are more comments.

> 
> >+    (description "Khal is a standards based CLI and TUI calendar program,
> >able
> 
> ditto
> 
> >+to synchronize with CalDAV servers through vdirsyncer.")
> >+    (home-page "http://lostpackets.de/khal/")
> >+    (license expat)))
> 
> -- 
> `~Eric

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH 01/17] gnu: Add python-atomicwrites.
  2016-01-07 16:48     ` Leo Famulari
@ 2016-01-10  2:48       ` Leo Famulari
  0 siblings, 0 replies; 36+ messages in thread
From: Leo Famulari @ 2016-01-10  2:48 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

On Thu, Jan 07, 2016 at 11:48:57AM -0500, Leo Famulari wrote:
> On Wed, Jan 06, 2016 at 09:02:10PM +0200, Efraim Flashner wrote:
> > On Sun,  3 Jan 2016 19:04:59 -0500
> > Leo Famulari <leo@famulari.name> wrote:
> > 
> > > * gnu/packages/python.scm (python-atomicwrites): New variable.

[...]

> > Is this python 3 only?
> 
> The upstream developer has communicated that they intend to officially
> stop supporting Python 2 [0] in the software that uses this library. And
> I think have already stopped supporting it unofficially [1].
> 
> So based on [0] I didn't include a python-2 package variant. If somebody
> wants one, I can ask upstream if it's supported for this library.

I asked [0] and he does intend to continue supporting Python 2 in this
and in python-click-log.

However, the Python 2 variants require python2-setuptools. Since they
can't be automatically translated, I believe that when trying to use
them, we will hit the same issue as in #22013 [1]. Is that right?

If there is no user of the Python 2 variants, I see no reason to include
them until the problem in that bug is resolved, if it applies here.

[0]
https://github.com/untitaker/vdirsyncer/issues/316#issuecomment-169734694

[1]
http://debbugs.gnu.org/db/22/22013.html

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2016-01-10  2:48 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-04  0:04 [PATCH 00/17] Add CalDAV and CardDAV programs Leo Famulari
2016-01-04  0:04 ` [PATCH 01/17] gnu: Add python-atomicwrites Leo Famulari
2016-01-06 19:02   ` Efraim Flashner
2016-01-07 16:48     ` Leo Famulari
2016-01-10  2:48       ` Leo Famulari
2016-01-04  0:05 ` [PATCH 02/17] gnu: Add python-requests-toolbelt Leo Famulari
2016-01-04  0:05 ` [PATCH 03/17] gnu: Add python-click-threading Leo Famulari
2016-01-06 18:48   ` Eric Bavier
2016-01-07 16:48     ` Leo Famulari
2016-01-04  0:05 ` [PATCH 04/17] gnu: Add python-click-log Leo Famulari
2016-01-06 19:04   ` Efraim Flashner
2016-01-07 16:49     ` Leo Famulari
2016-01-04  0:05 ` [PATCH 05/17] gnu: Add python-apipkg Leo Famulari
2016-01-04  0:05 ` [PATCH 06/17] gnu: Add python-execnet Leo Famulari
2016-01-06 18:57   ` Eric Bavier
2016-01-07 16:48     ` Leo Famulari
2016-01-04  0:05 ` [PATCH 07/17] gnu: Add python-pytest-cache Leo Famulari
2016-01-04  0:05 ` [PATCH 08/17] gnu: Add python-pytest-localserver Leo Famulari
2016-01-06 19:09   ` Eric Bavier
2016-01-07 16:49     ` Leo Famulari
2016-01-04  0:05 ` [PATCH 09/17] gnu: Add python-wsgi-intercept Leo Famulari
2016-01-04  0:05 ` [PATCH 10/17] gnu: Add python-pytest-xprocess Leo Famulari
2016-01-04  0:05 ` [PATCH 11/17] gnu: Add radicale Leo Famulari
2016-01-04  0:05 ` [PATCH 12/17] gnu: Add vdirsyncer Leo Famulari
2016-01-06 19:11   ` Efraim Flashner
2016-01-04  0:05 ` [PATCH 13/17] gnu: Add python-icalendar Leo Famulari
2016-01-04  0:05 ` [PATCH 14/17] gnu: Add python-sphinxcontrib-newsfeed Leo Famulari
2016-01-04  0:05 ` [PATCH 15/17] gnu: Update python-tzlocal to 1.2 Leo Famulari
2016-01-06 19:14   ` Efraim Flashner
2016-01-07 16:49     ` Leo Famulari
2016-01-04  0:05 ` [PATCH 16/17] gnu: python-urwid: Disable failing test test_remove_watch_file Leo Famulari
2016-01-04  0:05 ` [PATCH 17/17] gnu: Add khal Leo Famulari
2016-01-06 19:23   ` Efraim Flashner
2016-01-07 16:49     ` Leo Famulari
2016-01-06 19:31   ` Eric Bavier
2016-01-07 16:50     ` Leo Famulari

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).