kallithea dependencies

  • Done
  • quality assurance status badge
Details
4 participants
  • ng0
  • Christopher Baines
  • Maxim Cournoyer
  • Ricardo Wurmus
Owner
unassigned
Submitted by
ng0
Severity
normal
N
(address . guix-patches@gnu.org)
20170214201318.bwtznida7x5jxy5b@wasp
This adds dependencies for kallithea.
I lost track of the state of things. I know this was reviews in the
past, then the python build system changed and now I hope not too many
people have done duplicate work and added software I packaged in here.

gnu: Add python-geventhttpclient.
gnu: Add python-fastimport.
gnu: Add python-dulwich.
gnu: Add mercurial@3.7.3.
gnu: Add python2-mysql-python.
gnu: Add python-dulwich-0.9.9.
gnu: Add python-repoze-lru.
gnu: Add python-routes.
gnu: Add python-routes-1.13.
gnu: Add python-urlobject.
gnu: Add python-urlobject-2.3.4.
gnu: Add python-docutils-0.11.
gnu: Add python-markdown-2.2.1.
gnu: Add python2-babel-1.3.
gnu: Add python-pyparsing-1.5.0.
gnu: Add python-amqplib.
gnu: Add python2-kombu-1.
gnu: Add kallithea.

Excluding kallithea, because this still needs some service.
--
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 01/18] gnu: Add python-geventhttpclient.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ng0@we.make.ritual.n0.is)
20170214201602.10864-1-contact.ng0@cryptolab.net
From: ng0 <ng0@we.make.ritual.n0.is>

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

Toggle diff (51 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 35ab30ecc..8b6e55d0b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -10373,6 +10373,44 @@ to provide a high-level synchronous API on top of the libev event loop.")
(define-public python2-gevent
(package-with-python2 python-gevent))
+(define-public python-geventhttpclient
+ (package
+ (name "python-geventhttpclient")
+ (version "1.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "geventhttpclient" version))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; https://github.com/gwik/geventhttpclient/pull/82
+ (delete-file-recursively "src/geventhttpclient/tests/__pycache__")))
+ (sha256
+ (base32
+ "07d0q3wzmml75227r6y6mrl5a0zpf4v9gj0ni5rhbyzmaj4az1xx"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-certifi" ,python-certifi)
+ ("python-gevent" ,python-gevent)
+ ("python-six" ,python-six)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (home-page "https://github.com/gwik/geventhttpclient")
+ (synopsis "Http client library for gevent")
+ (description
+ "High performance, concurrent HTTP client library for Python using gevent.")
+ (license (list license:expat
+ ;; http_parser.c is based on src/http/ngx_http_parse.c
+ ;; from NGINX copyright Igor Sysoev
+ license:bsd-3))
+ (properties `((python2-variant . ,(delay python2-geventhttpclient))))))
+
+(define-public python2-geventhttpclient
+ (package
+ (inherit (package-with-python2
+ (strip-python2-variant python-geventhttpclient)))))
+
(define-public python-twisted
(package
(name "python-twisted")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 02/18] gnu: Add python-fastimport.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ng0@we.make.ritual.n0.is)
20170214201602.10864-2-contact.ng0@cryptolab.net
From: ng0 <ng0@we.make.ritual.n0.is>

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

Toggle diff (38 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8b6e55d0b..4019cc01b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1573,6 +1573,31 @@ software.")
(define-public python2-extras
(package-with-python2 python-extras))
+(define-public python-fastimport
+ (package
+ (name "python-fastimport")
+ (version "0.9.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fastimport" version))
+ (sha256
+ (base32
+ "1aqjsin4rmqm7ln4j0p73fzxifws6c6ikgyhav7r137m2ixsxl43"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ; No tests
+ (home-page "htps://github.com/jelmer/python-fastimport")
+ (synopsis "VCS fastimport/fastexport parser")
+ (description
+ "Library for parsing the fastimport VCS serialization format.")
+ (license license:gpl2+)))
+
+(define-public python2-fastimport
+ (package
+ (inherit (package-with-python2
+ (strip-python2-variant python-fastimport)))))
+
(define-public python-mimeparse
(package
(name "python-mimeparse")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 04/18] gnu: Add mercurial@3.7.3.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ng0@we.make.ritual.n0.is)
20170214201602.10864-4-contact.ng0@cryptolab.net
From: ng0 <ng0@we.make.ritual.n0.is>

* gnu/packages/version-control.scm (mercurial@3.7.3): New variable.
---
gnu/packages/version-control.scm | 13 +++++++++++++
1 file changed, 13 insertions(+)

Toggle diff (26 lines)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 5c371b0ba..60e4df4df 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -671,6 +671,19 @@ It efficiently handles projects of any size
and offers an easy and intuitive interface.")
(license license:gpl2+)))
+(define-public mercurial@3.7.3
+ (package
+ (inherit mercurial)
+ (version "3.7.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.mercurial-scm.org/"
+ "release/mercurial-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0c2vkad9piqkggyk8y310rf619qgdfcwswnk3nv21mg2fhnw96f0"))))))
+
(define-public neon
(package
(name "neon")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 07/18] gnu: Add python-repoze-lru.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-7-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (38 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index c603d0778..fb296e712 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2030,6 +2030,31 @@ result back.")
(define-public python2-pytest-xdist
(package-with-python2 python-pytest-xdist))
+(define-public python-repoze-lru
+ (package
+ (name "python-repoze-lru")
+ (version "0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "repoze.lru" version))
+ (sha256
+ (base32
+ "0cdx3fq67qfcdrb3h9rjjcvks2zfrgyd834indncplqnywxk4yhg"))))
+ (build-system python-build-system)
+ (home-page "http://www.repoze.org")
+ (synopsis "Tiny LRU cache implementation and decorator")
+ (description
+ "Repoze integrates Zope technologies with WSGI and reusable Python middleware.")
+ (properties `((python2-variant . ,(delay python2-repoze-lru))))
+ (license license:repoze)))
+
+(define-public python2-repoze-lru
+ (let ((base (package-with-python2
+ (strip-python2-variant python-repoze-lru))))
+ (package
+ (inherit base))))
+
(define-public python-scripttest
(package
(name "python-scripttest")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 11/18] gnu: Add python-urlobject-2.3.4.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-11-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (31 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 189720b0a..3b3c221bd 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1820,6 +1820,24 @@ standard library.")
(package
(inherit base))))
+;; kallithea-0.3.2 needs this version.
+(define-public python-urlobject-2.3.4
+ (package
+ (inherit python-urlobject)
+ (version "2.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "URLObject" version))
+ (sha256
+ (base32
+ "0mq4vy80xgvivh7zikf50awi5mw0pi601740bz0m8lnanlnrh85k"))))))
+
+(define-public python2-urlobject-2.3.4
+ (let ((base (package-with-python2 (strip-python2-variant python-urlobject-2.3.4))))
+ (package
+ (inherit base))))
+
(define-public python-py
(package
(name "python-py")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 09/18] gnu: Add python-routes-1.13.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-9-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (40 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d37bcbc6b..7c02f86f1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2087,6 +2087,33 @@ result back.")
(package
(inherit base))))
+;; Required by kallithea-0.3.2
+(define-public python-routes-1.13
+ (package
+ (inherit python-routes)
+ (version "1.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Routes" version))
+ (sha256
+ (base32
+ "19r4yr4nyz8iw3ykp8mc93xjlaybjgzyi7lhwf1azdydayix20yc"))))
+ (inputs
+ `(("python-repoze-lru" ,python-repoze-lru)
+ ("python-six" ,python-six)
+ ("python-coverage" ,python-coverage)
+ ("python-webob" ,python-webob)
+ ("python-webtest" ,python-webtest)
+ ("python-nose" ,python-nose)
+ ("python-paste" ,python-paste)))))
+
+(define-public python2-routes-1.13
+ (let ((base (package-with-python2
+ (strip-python2-variant python-routes-1.13))))
+ (package
+ (inherit base))))
+
(define-public python-scripttest
(package
(name "python-scripttest")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 10/18] gnu: Add python-urlobject.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-10-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (36 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 7c02f86f1..189720b0a 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1797,6 +1797,29 @@ standard library.")
"@code{pafy} is a python library to retrieve YouTube content and metadata.")
(license license:lgpl3+)))
+(define-public python-urlobject
+ (package
+ (name "python-urlobject")
+ (version "2.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "URLObject" version))
+ (sha256
+ (base32
+ "0mswa40s1m5hs5yydb75i2bqb0l49gn0mmkzb0g5nj493nl0h3yx"))))
+ (build-system python-build-system)
+ (home-page "http://github.com/zacharyvoase/urlobject")
+ (synopsis "Utility class for manipulating URLs")
+ (description
+ "URLObject is a utility class for manipulating URLs.")
+ (license license:public-domain)))
+
+(define-public python2-urlobject
+ (let ((base (package-with-python2 (strip-python2-variant python-urlobject))))
+ (package
+ (inherit base))))
+
(define-public python-py
(package
(name "python-py")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 13/18] gnu: Add python-markdown-2.2.1.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-13-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (31 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index acf0c6234..4f935d50e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6342,6 +6342,24 @@ markdown_py is also provided to convert Markdown files to HTML.")
(define-public python2-markdown
(package-with-python2 python-markdown))
+;; kallithea-0.3.2 needs this
+(define-public python-markdown-2.2.1
+ (package
+ (inherit python-markdown)
+ (version "2.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Markdown" version))
+ (sha256
+ (base32
+ "1dj4mgflxm1xgyxlwrpv0psv1grnvrplaz3a6glsywdbrvps3fgq"))))
+ (arguments
+ `(#:tests? #f)))) ;Tests require an old version of nose.
+
+(define-public python2-markdown-2.2.1
+ (package-with-python2 python-markdown-2.2.1))
+
(define-public python-ptyprocess
(package
(name "python-ptyprocess")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:16
[PATCH 17/18] gnu: Add python2-kombu-1.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-17-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (49 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index ddb7edbf3..a4e3ff700 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9646,6 +9646,42 @@ RabbitMQ messaging server is the most popular implementation.")
(native-inputs `(("python2-unittest2" ,python2-unittest2)
,@(package-native-inputs kombu))))))
+;; This is required for pyparsing-1.5.0, which is required by
+;; celery-2.2.5 which is required by kallithea-0.3.2.
+(define-public python2-kombu-1
+ (package
+ (name "python2-kombu-1")
+ (version "1.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "kombu" version))
+ (sha256
+ (base32
+ "0vvfmjq4r55zslrfpamkg557qb6n291krzk39xzw12fxwbd6llmf"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2))
+ (inputs
+ `(("python2-amqplib" ,python2-amqplib)
+ ("python2-unittest2" ,python2-unittest2)))
+ (propagated-inputs
+ `(("python2-anyjson" ,python2-anyjson)
+ ("python2-amqp" ,python2-amqp)))
+ (native-inputs
+ `(("python2-mock" ,python2-mock)
+ ("python2-nose" ,python2-nose)))
+ (home-page "http://kombu.readthedocs.org")
+ (synopsis "Message passing library for Python")
+ (description
+ "The aim of Kombu is to make messaging in Python as easy as
+possible by providing an idiomatic high-level interface for the AMQ protocol,
+and also provide proven and tested solutions to common messaging problems.
+AMQP is the Advanced Message Queuing Protocol, an open standard protocol for
+message orientation, queuing, routing, reliability and security, for which the
+RabbitMQ messaging server is the most popular implementation.")
+ (license license:bsd-3)))
+
(define-public python-billiard
(package
(name "python-billiard")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 06/18] gnu: Add python-dulwich-0.9.9.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-6-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (38 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index ba2ff596c..c603d0778 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -796,6 +796,31 @@ available in pure Python.")
(inherit (package-with-python2
(strip-python2-variant python-dulwich)))))
+;; kallithea-0.3.2 needs dulwich-0.9.9
+(define-public python-dulwich-0.9.9
+ (package
+ (inherit python-dulwich)
+ (name "python-dulwich-0.9.9")
+ (version "0.9.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dulwich.io/releases/dulwich-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15l45063rpb5jn2c5b4x82fcjdg7p1bxnj9jh810032diln7ckh8"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-mock" ,python-mock)
+ ("python-gevent" ,python-gevent)
+ ("python-geventhttpclient" ,python-geventhttpclient)
+ ("python-fastimport" ,python-fastimport)))))
+
+(define-public python2-dulwich-0.9.9
+ (package
+ (inherit (package-with-python2
+ (strip-python2-variant python-dulwich-0.9.9)))))
+
(define-public python-h5py
(package
(name "python-h5py")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 03/18] gnu: Add python-dulwich.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ng0@we.make.ritual.n0.is)
20170214201602.10864-3-contact.ng0@cryptolab.net
From: ng0 <ng0@we.make.ritual.n0.is>

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

Toggle diff (46 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4019cc01b..aaa6ba111 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -763,6 +763,39 @@ NetCDF files can also be read and modified. Python-HDF4 is a fork of
(define-public python2-hdf4
(package-with-python2 python-hdf4))
+(define-public python-dulwich
+ (package
+ (name "python-dulwich")
+ (version "0.14.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dulwich" version))
+ (sha256
+ (base32
+ "14xsyxha6qyxxyf0ma3zv1sy31iy22vzwayk519n7a1gwzk4j7vw"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ;Swift module not yet ported to python3, 5 tests fail
+ (inputs
+ `(("python-mock" ,python-mock)
+ ("python-gevent" ,python-gevent)
+ ("python-geventhttpclient" ,python-geventhttpclient)
+ ("python-fastimport" ,python-fastimport)))
+ (home-page "https://www.dulwich.io/")
+ (synopsis "Python Git Library")
+ (description
+ "Dulwich is a Python implementation of the Git file formats and
+protocols, which does not depend on Git itself. All functionality is
+available in pure Python.")
+ (license (list license:asl2.0 license:gpl2+))
+ (properties `((python2-variant . ,(delay python2-dulwich))))))
+
+(define-public python2-dulwich
+ (package
+ (inherit (package-with-python2
+ (strip-python2-variant python-dulwich)))))
+
(define-public python-h5py
(package
(name "python-h5py")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 14/18] gnu: Add python2-babel-1.3.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-14-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

* gnu/packages/python.scm (python2-babel-1.3): New variabel.
---
gnu/packages/python.scm | 13 +++++++++++++
1 file changed, 13 insertions(+)

Toggle diff (26 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4f935d50e..8eebde62b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -691,6 +691,19 @@ etc. ")
(define-public python2-babel
(package-with-python2 python-babel))
+;; needed for kallithea-0.3.2
+(define-public python2-babel-1.3
+ (package
+ (inherit python2-babel)
+ (version "1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Babel" version))
+ (sha256
+ (base32
+ "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz"))))))
+
(define-public python2-backport-ssl-match-hostname
(package
(name "python2-backport-ssl-match-hostname")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 05/18] gnu: Add python2-mysql-python.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ng0@we.make.ritual.n0.is)
20170214201602.10864-5-contact.ng0@cryptolab.net
From: ng0 <ng0@we.make.ritual.n0.is>

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

Toggle diff (41 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index aaa6ba111..ba2ff596c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3801,6 +3801,34 @@ toolkits.")
,@(fold alist-delete (package-propagated-inputs matplotlib)
'("python-pycairo" "python-pygobject" "python-tkinter")))))))
+(define-public python2-mysql-python
+ (package
+ (name "python2-mysql-python")
+ (version "1.2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "MySQL-python" version ".zip"))
+ (sha256
+ (base32
+ "0x0c2jg0bb3pp84njaqiic050qkyd7ymwhfvhipnimg58yv40441"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ;Tests require a running mysqld at /run/mysqld/mysqld.sock
+ #:python ,python-2)) ;Application is python2 only
+ (inputs
+ `(("unzip" ,unzip)
+ ("mysql" ,mysql)
+ ("zlib" ,zlib)
+ ("openssl" ,openssl)
+ ("python2-sphinx" ,python2-sphinx)
+ ("python2-nose" ,python2-nose)))
+ (home-page "https://github.com/farcepest/MySQLdb1")
+ (synopsis "Python interface to MySQL")
+ (description "MySQLdb is an interface to the popular MySQL
+database server for Python.")
+ (license license:gpl3)))
+
(define-public python2-pysnptools
(package
(name "python2-pysnptools")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:16
[PATCH 15/18] gnu: Add python-pyparsing-1.5.0.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-15-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (27 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8eebde62b..a72f5ac76 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3773,6 +3773,20 @@ that client code uses to construct the grammar directly in Python code.")
(define-public python2-pyparsing
(package-with-python2 python-pyparsing))
+;; Version required by kallithea-0.3.2
+(define-public python2-pyparsing-1.5.0
+ (package
+ (inherit python2-pyparsing)
+ (name "python2-pyparsing")
+ (version "1.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyparsing" version))
+ (sha256
+ (base32
+ "0ff1fgvmvin32xcmnz7xcz4rn57987m52cs91wmjr00qbf09x895"))))))
+
(define-public python-numpydoc
(package
(name "python-numpydoc")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:16
[PATCH 16/18] gnu: Add python-amqplib.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-16-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (38 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index a72f5ac76..ddb7edbf3 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9583,6 +9583,31 @@ alternative when librabbitmq is not available.")
#:tests? #f
,@(package-arguments amqp))))))
+(define-public python-amqplib
+ (package
+ (name "python-amqplib")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "amqplib" version ".tgz"))
+ (sha256
+ (base32
+ "0nvy45bb9ws1kmpczpqkkpgzqrzc0h2323zmzchzs2m6h6v6jgc4"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/barryp/py-amqplib")
+ (synopsis "AMQP Client Library")
+ (description "Python client for the Advanced Message Queuing Procotol (AMQP)")
+ (license license:gpl2+)))
+
+(define-public python2-amqplib
+ (let ((amqplib (package-with-python2
+ (strip-python2-variant python-amqplib))))
+ (package
+ (inherit amqplib)
+ (arguments
+ `(#:tests? #f))))) ;;There are no python2 tests.
+
(define-public python-kombu
(package
(name "python-kombu")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 12/18] gnu: Add python-docutils-0.11.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-12-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (29 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 3b3c221bd..acf0c6234 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3091,6 +3091,22 @@ reStructuredText.")
(define-public python2-docutils
(package-with-python2 python-docutils))
+;; kallithea-0.3.2 needs this
+(define-public python-docutils-0.11
+ (package
+ (inherit python-docutils)
+ (version "0.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "docutils" version))
+ (sha256
+ (base32
+ "1jbybs5a396nrjy9m13pgvsxdwaj7jw7nsawkhl4fi1nvxm1dx4s"))))))
+
+(define-public python2-docutils-0.11
+ (package-with-python2 python-docutils-0.11))
+
(define-public python-pygments
(package
(name "python-pygments")
--
2.11.1
C
C
contact.ng0 wrote on 14 Feb 2017 21:15
[PATCH 08/18] gnu: Add python-routes.
(address . 25733@debbugs.gnu.org)(name . ng0)(address . ngillmann@runbox.com)
20170214201602.10864-8-contact.ng0@cryptolab.net
From: ng0 <ngillmann@runbox.com>

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

Toggle diff (45 lines)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index fb296e712..d37bcbc6b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2055,6 +2055,38 @@ result back.")
(package
(inherit base))))
+(define-public python-routes
+ (package
+ (name "python-routes")
+ (version "2.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Routes" version))
+ (sha256
+ (base32
+ "0l83p5prsjq0cccm6596dpv1inlafa1p7q1v8rrvi40ivjsq1hwq"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-repoze-lru" ,python-repoze-lru)
+ ("python-six" ,python-six)
+ ("python-coverage" ,python-coverage)
+ ("python-webob" ,python-webob)
+ ("python-webtest" ,python-webtest)
+ ("python-nose" ,python-nose)))
+ (home-page "http://routes.readthedocs.org/")
+ (synopsis "Routing Recognition and Generation Tools")
+ (description
+ "Routing package for Python that matches URLs to dicts and vice versa.")
+ (properties `((python2-variant . ,(delay python2-routes))))
+ (license license:expat)))
+
+(define-public python2-routes
+ (let ((base (package-with-python2
+ (strip-python2-variant python-routes))))
+ (package
+ (inherit base))))
+
(define-public python-scripttest
(package
(name "python-scripttest")
--
2.11.1
R
R
Ricardo Wurmus wrote on 18 Feb 2017 12:37
Re: bug#25733: [PATCH 01/18] gnu: Add python-geventhttpclient.
(address . contact.ng0@cryptolab.net)
87y3x3sp9p.fsf@elephly.net
Hi ng0,

Toggle quote (15 lines)
> +(define-public python-geventhttpclient
> + (package
> + (name "python-geventhttpclient")
> + (version "1.3.1")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "geventhttpclient" version))
> + (modules '((guix build utils)))
> + (snippet
> + '(begin
> + ;; https://github.com/gwik/geventhttpclient/pull/82
> + (delete-file-recursively
> "src/geventhttpclient/tests/__pycache__")))

Please end the snippet with “#t”. Please also extend the comment,
e.g. “Remove bundled foo. Frobnicate the bar. See https://…”.

Toggle quote (11 lines)
> + (sha256
> + (base32
> + "07d0q3wzmml75227r6y6mrl5a0zpf4v9gj0ni5rhbyzmaj4az1xx"))))
> + (build-system python-build-system)
> + (inputs
> + `(("python-certifi" ,python-certifi)
> + ("python-gevent" ,python-gevent)
> + ("python-six" ,python-six)
> + ("python-pytest" ,python-pytest)
> + ("python-pytest-runner" ,python-pytest-runner)))

These should not be inputs but propagated inputs like all other packages
providing Python libraries. Python *applications* are wrapped, so they
don’t need propagation, but libraries still do.

Toggle quote (3 lines)
> + (synopsis "Http client library for gevent")

What is “gevent”? Could this be made more obvious by saying e.g. “for
the gevent framework” (I don’t know if it is a framework)?

Please spell “Http” as “HTTP”.

Toggle quote (4 lines)
> + (description
> + "High performance, concurrent HTTP client library for Python
> using gevent.")

Please provide a full description, i.e. using full sentences.

Toggle quote (5 lines)
> + (license (list license:expat
> + ;; http_parser.c is based on src/http/ngx_http_parse.c
> + ;; from NGINX copyright Igor Sysoev
> + license:bsd-3))

The comment referencing nginx is not needed, but a comment above the
license field is needed that explains why there are two licenses. If
only “http_parser.c” is under BSD 3 then please put that in the comment
above the license field.

Toggle quote (2 lines)
> + (properties `((python2-variant . ,(delay python2-geventhttpclient))))))

Why is this needed?

Toggle quote (6 lines)
> +(define-public python2-geventhttpclient
> + (package
> + (inherit (package-with-python2
> + (strip-python2-variant python-geventhttpclient)))))
> +

Same question as above: why is “package-with-python2” not enough in this
case?

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 12:47
Re: bug#25733: [PATCH 02/18] gnu: Add python-fastimport.
(address . contact.ng0@cryptolab.net)
87wpcnsou3.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (31 lines)
> From: ng0 <ng0@we.make.ritual.n0.is>
>
> * gnu/packages/python.scm (python-fastimport): New variable.
> ---
> gnu/packages/python.scm | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 8b6e55d0b..4019cc01b 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -1573,6 +1573,31 @@ software.")
> (define-public python2-extras
> (package-with-python2 python-extras))
>
> +(define-public python-fastimport
> + (package
> + (name "python-fastimport")
> + (version "0.9.6")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "fastimport" version))
> + (sha256
> + (base32
> + "1aqjsin4rmqm7ln4j0p73fzxifws6c6ikgyhav7r137m2ixsxl43"))))
> + (build-system python-build-system)
> + (arguments
> + `(#:tests? #f)) ; No tests
> + (home-page "htps://github.com/jelmer/python-fastimport")

https ?------------^

Toggle quote (2 lines)
> + (synopsis "VCS fastimport/fastexport parser")

I don’t know what this means. Please try to make it clearer.

Toggle quote (3 lines)
> + (description
> + "Library for parsing the fastimport VCS serialization format.")

Please use full sentences in descriptions and expand abbreviations. Use
“@dfn{Very Cool System} (VCS)” for bonus points :)

Toggle quote (8 lines)
> + (license license:gpl2+)))
> +
> +(define-public python2-fastimport
> + (package
> + (inherit (package-with-python2
> + (strip-python2-variant python-fastimport)))))
> +

This doesn’t look correct. I think a plain “package-with-python2”
package would be sufficient here. Let’s fight cargo computing by only
writing code that needs to be there :)

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 12:57
Re: bug#25733: [PATCH 03/18] gnu: Add python-dulwich.
(address . contact.ng0@cryptolab.net)
87vas7socn.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (30 lines)
> From: ng0 <ng0@we.make.ritual.n0.is>
>
> * gnu/packages/python.scm (python-dulwich): New variable.
> ---
> gnu/packages/python.scm | 33 +++++++++++++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 4019cc01b..aaa6ba111 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -763,6 +763,39 @@ NetCDF files can also be read and modified. Python-HDF4 is a fork of
> (define-public python2-hdf4
> (package-with-python2 python-hdf4))
>
> +(define-public python-dulwich
> + (package
> + (name "python-dulwich")
> + (version "0.14.1")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "dulwich" version))
> + (sha256
> + (base32
> + "14xsyxha6qyxxyf0ma3zv1sy31iy22vzwayk519n7a1gwzk4j7vw"))))
> + (build-system python-build-system)
> + (arguments
> + `(#:tests? #f)) ;Swift module not yet ported to python3, 5 tests fail

Please provide more context. What Swift module does this refer to? Is
this part of Dulwich? Please write “Python 3” instead of “python3”. In
general it would be good to use full sentences in comments that are not
completely obvious.

Toggle quote (2 lines)
> + (inputs

These are probably propagated-inputs.

Toggle quote (2 lines)
> + `(("python-mock" ,python-mock)

This looks like an input that’s only needed for tests, so maybe it
should be a native input. (Honestly, I’m not sure if the distinction
between native and target makes sense in a cross-building context for
Python modules, so maybe ignore this.)

Toggle quote (6 lines)
> + ("python-gevent" ,python-gevent)
> + ("python-geventhttpclient" ,python-geventhttpclient)
> + ("python-fastimport" ,python-fastimport)))
> + (home-page "https://www.dulwich.io/")
> + (synopsis "Python Git Library")

Please use lower case.

Toggle quote (5 lines)
> + (description
> + "Dulwich is a Python implementation of the Git file formats and
> +protocols, which does not depend on Git itself. All functionality is
> +available in pure Python.")

What is an implementation of a file format? Is this a library to read
and write these file formats?

Toggle quote (2 lines)
> + (license (list license:asl2.0 license:gpl2+))

Please add a comment explaining what this list means.

Toggle quote (2 lines)
> + (properties `((python2-variant . ,(delay python2-dulwich))))))

Why is this needed?

Toggle quote (7 lines)
> +
> +(define-public python2-dulwich
> + (package
> + (inherit (package-with-python2
> + (strip-python2-variant python-dulwich)))))
> +

Same question as above.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 13:00
Re: bug#25733: [PATCH 04/18] gnu: Add mercurial@3.7.3.
(address . contact.ng0@cryptolab.net)
87tw7rso7z.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (4 lines)
> From: ng0 <ng0@we.make.ritual.n0.is>
>
> * gnu/packages/version-control.scm (mercurial@3.7.3): New variable.

[…]

Toggle quote (2 lines)
> +(define-public mercurial@3.7.3

The variable name should be “mercurial-3.7.3” (if the exact version
number is important).

Why does it have to be this particular version? If any of the 3.7
series is sufficient then it should be called “mercurial-3.7”; if any
version 3.x is okay, then it should be called “mercurial-3”.

Please add a comment above this package definition that explains why
this particular variant is required, so that we know whether it is fine
to update or remove it in the future.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 13:05
Re: bug#25733: [PATCH 05/18] gnu: Add python2-mysql-python.
(address . contact.ng0@cryptolab.net)
87shnbsnz0.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (31 lines)
> From: ng0 <ng0@we.make.ritual.n0.is>
>
> * gnu/packages/python.scm (python2-mysql-python): New variable.
> ---
> gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index aaa6ba111..ba2ff596c 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -3801,6 +3801,34 @@ toolkits.")
> ,@(fold alist-delete (package-propagated-inputs matplotlib)
> '("python-pycairo" "python-pygobject" "python-tkinter")))))))
>
> +(define-public python2-mysql-python
> + (package
> + (name "python2-mysql-python")
> + (version "1.2.5")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "MySQL-python" version ".zip"))
> + (sha256
> + (base32
> + "0x0c2jg0bb3pp84njaqiic050qkyd7ymwhfvhipnimg58yv40441"))))
> + (build-system python-build-system)
> + (arguments
> + `(#:tests? #f ;Tests require a running mysqld at /run/mysqld/mysqld.sock
> + #:python ,python-2)) ;Application is python2 only

“Python 2 only”

Toggle quote (3 lines)
> + (inputs
> + `(("unzip" ,unzip)

This is a native input.

[…]
Toggle quote (3 lines)
> + ("python2-sphinx" ,python2-sphinx)
> + ("python2-nose" ,python2-nose)))

Are these only needed at test time or also at runtime? If they are
needed at runtime they should be propagated.

Toggle quote (6 lines)
> + (synopsis "Python interface to MySQL")
> + (description "MySQLdb is an interface to the popular MySQL
> +database server for Python.")
> + (license license:gpl3)))

This doesn’t look right.

“_mysql.c” is licensed under GPLv2+. I don’t see any mention of the
GPLv3.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 13:08
Re: bug#25733: [PATCH 06/18] gnu: Add python-dulwich-0.9.9.
(address . contact.ng0@cryptolab.net)
87r32vsnum.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (21 lines)
> From: ng0 <ngillmann@runbox.com>
>
> * gnu/packages/python.scm (python-dulwich-0.9.9): New variable.
> ---
> gnu/packages/python.scm | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index ba2ff596c..c603d0778 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -796,6 +796,31 @@ available in pure Python.")
> (inherit (package-with-python2
> (strip-python2-variant python-dulwich)))))
>
> +;; kallithea-0.3.2 needs dulwich-0.9.9
> +(define-public python-dulwich-0.9.9
> + (package
> + (inherit python-dulwich)
> + (name "python-dulwich-0.9.9")

The version number should not be part of the name. The name should be
inherited.

Toggle quote (10 lines)
> + (version "0.9.9")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (string-append "https://dulwich.io/releases/dulwich-" version ".tar.gz"))
> + (sha256
> + (base32
> + "15l45063rpb5jn2c5b4x82fcjdg7p1bxnj9jh810032diln7ckh8"))))
> + (build-system python-build-system)

You don’t need to override the “build-system” field.

Toggle quote (6 lines)
> + (inputs
> + `(("python-mock" ,python-mock)
> + ("python-gevent" ,python-gevent)
> + ("python-geventhttpclient" ,python-geventhttpclient)
> + ("python-fastimport" ,python-fastimport)))))

Why can’t you reuse the inputs (which should be propagated inputs) from
the “python-dulwich” package?

Toggle quote (6 lines)
> +(define-public python2-dulwich-0.9.9
> + (package
> + (inherit (package-with-python2
> + (strip-python2-variant python-dulwich-0.9.9)))))
> +

Is the variant for Python 2 needed at all? I’d rather not add it unless
a package depends on it.

Additionally, the same question as before applies: why use
“strip-python2-variant” here?

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 13:13
Re: bug#25733: [PATCH 07/18] gnu: Add python-repoze-lru.
(address . contact.ng0@cryptolab.net)
87poifsnlz.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (30 lines)
> From: ng0 <ngillmann@runbox.com>
>
> * gnu/packages/python.scm (python-repoze-lru): New variable.
> ---
> gnu/packages/python.scm | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index c603d0778..fb296e712 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -2030,6 +2030,31 @@ result back.")
> (define-public python2-pytest-xdist
> (package-with-python2 python-pytest-xdist))
>
> +(define-public python-repoze-lru
> + (package
> + (name "python-repoze-lru")
> + (version "0.6")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "repoze.lru" version))
> + (sha256
> + (base32
> + "0cdx3fq67qfcdrb3h9rjjcvks2zfrgyd834indncplqnywxk4yhg"))))
> + (build-system python-build-system)
> + (home-page "http://www.repoze.org")
> + (synopsis "Tiny LRU cache implementation and decorator")

Please expand “LRU”.

Toggle quote (4 lines)
> + (description
> + "Repoze integrates Zope technologies with WSGI and reusable
> Python middleware.")

Both synopsis and description could be improved. The synopsis is better
than the description. The fact that “Zope technologies” are used does
not describe the package.

Toggle quote (2 lines)
> + (properties `((python2-variant . ,(delay python2-repoze-lru))))

I don’t think this is needed.

Toggle quote (2 lines)
> + (license license:repoze)))

There is no such license. You could use “license:non-copyleft” here
with “http://repoze.org/license.html”as the argument.

Toggle quote (8 lines)
> +
> +(define-public python2-repoze-lru
> + (let ((base (package-with-python2
> + (strip-python2-variant python-repoze-lru))))
> + (package
> + (inherit base))))
> +

This is really convoluted for no obvious gain. Why did you choose this
over:

(define-public python2-repoze-lru
(package-with-python2 python-repoze-lru))

?

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 13:15
Re: bug#25733: [PATCH 08/18] gnu: Add python-routes.
(address . contact.ng0@cryptolab.net)
87o9xzsnjd.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (4 lines)
> From: ng0 <ngillmann@runbox.com>
>
> * gnu/packages/python.scm (python-routes): New variable.

[…]

Toggle quote (14 lines)
> +(define-public python-routes
> + (package
> + (name "python-routes")
> + (version "2.3.1")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "Routes" version))
> + (sha256
> + (base32
> + "0l83p5prsjq0cccm6596dpv1inlafa1p7q1v8rrvi40ivjsq1hwq"))))
> + (build-system python-build-system)
> + (inputs

propagated-inputs.

Toggle quote (9 lines)
> + `(("python-repoze-lru" ,python-repoze-lru)
> + ("python-six" ,python-six)
> + ("python-coverage" ,python-coverage)
> + ("python-webob" ,python-webob)
> + ("python-webtest" ,python-webtest)
> + ("python-nose" ,python-nose)))
> + (home-page "http://routes.readthedocs.org/")
> + (synopsis "Routing Recognition and Generation Tools")

Please pay attention to upper vs lower case.

Toggle quote (4 lines)
> + (description
> + "Routing package for Python that matches URLs to dicts and vice
> versa.")

Please use full sentences.

Toggle quote (2 lines)
> + (properties `((python2-variant . ,(delay python2-routes))))

Please explain why this is needed.

Toggle quote (9 lines)
> + (license license:expat)))
> +
> +(define-public python2-routes
> + (let ((base (package-with-python2
> + (strip-python2-variant python-routes))))
> + (package
> + (inherit base))))
> +

The same comment applies here as for the other patches in this series.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 13:16
Re: bug#25733: [PATCH 09/18] gnu: Add python-routes-1.13.
(address . contact.ng0@cryptolab.net)
87mvdjsnh1.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (36 lines)
> From: ng0 <ngillmann@runbox.com>
>
> * gnu/packages/python.scm (python-routes-1.13): 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 d37bcbc6b..7c02f86f1 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -2087,6 +2087,33 @@ result back.")
> (package
> (inherit base))))
>
> +;; Required by kallithea-0.3.2
> +(define-public python-routes-1.13
> + (package
> + (inherit python-routes)
> + (version "1.13")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "Routes" version))
> + (sha256
> + (base32
> + "19r4yr4nyz8iw3ykp8mc93xjlaybjgzyi7lhwf1azdydayix20yc"))))
> + (inputs
> + `(("python-repoze-lru" ,python-repoze-lru)
> + ("python-six" ,python-six)
> + ("python-coverage" ,python-coverage)
> + ("python-webob" ,python-webob)
> + ("python-webtest" ,python-webtest)
> + ("python-nose" ,python-nose)
> + ("python-paste" ,python-paste)))))

No need to override the inputs (which should be propagated) here. Just
inherit them.

Toggle quote (7 lines)
> +(define-public python2-routes-1.13
> + (let ((base (package-with-python2
> + (strip-python2-variant python-routes-1.13))))
> + (package
> + (inherit base))))
> +

See my comments on similar cases in your other patches.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 13:18
Re: bug#25733: [PATCH 10/18] gnu: Add python-urlobject.
(address . contact.ng0@cryptolab.net)
87lgt3sneb.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (5 lines)
> From: ng0 <ngillmann@runbox.com>
>
> * gnu/packages/python.scm (python-urlobject): New variable.
> ---

[…]

Toggle quote (18 lines)
> +(define-public python-urlobject
> + (package
> + (name "python-urlobject")
> + (version "2.4.2")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "URLObject" version))
> + (sha256
> + (base32
> + "0mswa40s1m5hs5yydb75i2bqb0l49gn0mmkzb0g5nj493nl0h3yx"))))
> + (build-system python-build-system)
> + (home-page "http://github.com/zacharyvoase/urlobject")
> + (synopsis "Utility class for manipulating URLs")
> + (description
> + "URLObject is a utility class for manipulating URLs.")
> + (license license:public-domain)))

Okay.

Toggle quote (6 lines)
> +(define-public python2-urlobject
> + (let ((base (package-with-python2 (strip-python2-variant python-urlobject))))
> + (package
> + (inherit base))))
> +

Why?

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 13:19
Re: bug#25733: [PATCH 11/18] gnu: Add python-urlobject-2.3.4.
(address . contact.ng0@cryptolab.net)
87k28nsnc4.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (5 lines)
> From: ng0 <ngillmann@runbox.com>
>
> * gnu/packages/python.scm (python-urlobject-2.3.4): New variable.
> ---

[…]

Toggle quote (13 lines)
> +;; kallithea-0.3.2 needs this version.
> +(define-public python-urlobject-2.3.4
> + (package
> + (inherit python-urlobject)
> + (version "2.3.4")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "URLObject" version))
> + (sha256
> + (base32
> + "0mq4vy80xgvivh7zikf50awi5mw0pi601740bz0m8lnanlnrh85k"))))))

Okay.

Toggle quote (6 lines)
> +(define-public python2-urlobject-2.3.4
> + (let ((base (package-with-python2 (strip-python2-variant python-urlobject-2.3.4))))
> + (package
> + (inherit base))))
> +

Same comment as before: please don’t make this more complicated than it
needs to be.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
R
R
Ricardo Wurmus wrote on 18 Feb 2017 13:21
Re: bug#25733: [PATCH 12/18] gnu: Add python-docutils-0.11.
(address . contact.ng0@cryptolab.net)
87ino7sn8d.fsf@elephly.net
contact.ng0@cryptolab.net writes:

Toggle quote (5 lines)
> From: ng0 <ngillmann@runbox.com>
>
> * gnu/packages/python.scm (python-docutils-0.11): New variable.
> ---

[…]

Toggle quote (2 lines)
> +;; kallithea-0.3.2 needs this

I wonder: does Kallithea *really* need these particular versions or does
it just have overly strict version checks?

Toggle quote (12 lines)
> +(define-public python-docutils-0.11
> + (package
> + (inherit python-docutils)
> + (version "0.11")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "docutils" version))
> + (sha256
> + (base32
> + "1jbybs5a396nrjy9m13pgvsxdwaj7jw7nsawkhl4fi1nvxm1dx4s"))))))

Okay.

Toggle quote (4 lines)
> +(define-public python2-docutils-0.11
> + (package-with-python2 python-docutils-0.11))
> +

Much better! But: I’d rather not add the Python 2 variant unless it’s
really needed. If Kallithea really just needs the Python 2 variant,
then please do not add the Python 3 variant. The same comment applies
to all other patches in this series that add variants like this.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
N
(name . Ricardo Wurmus)(address . rekado@elephly.net)
20170218153117.j2h5voptiwbwidby@wasp
On 17-02-18 13:21:54, Ricardo Wurmus wrote:
Toggle quote (45 lines)
>
> contact.ng0@cryptolab.net writes:
>
> > From: ng0 <ngillmann@runbox.com>
> >
> > * gnu/packages/python.scm (python-docutils-0.11): New variable.
> > ---
>
> […]
>
> > +;; kallithea-0.3.2 needs this
>
> I wonder: does Kallithea *really* need these particular versions or does
> it just have overly strict version checks?
>
> > +(define-public python-docutils-0.11
> > + (package
> > + (inherit python-docutils)
> > + (version "0.11")
> > + (source
> > + (origin
> > + (method url-fetch)
> > + (uri (pypi-uri "docutils" version))
> > + (sha256
> > + (base32
> > + "1jbybs5a396nrjy9m13pgvsxdwaj7jw7nsawkhl4fi1nvxm1dx4s"))))))
>
> Okay.
>
> > +(define-public python2-docutils-0.11
> > + (package-with-python2 python-docutils-0.11))
> > +
>
> Much better! But: I’d rather not add the Python 2 variant unless it’s
> really needed. If Kallithea really just needs the Python 2 variant,
> then please do not add the Python 3 variant. The same comment applies
> to all other patches in this series that add variants like this.
>
> --
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
> https://elephly.net
>

Thanks for your review, I'll send updates soon.
I think the weird constructions of some python2 variants originated in
the fact that the branch is too old to remember why I did it ;)

So here's my idea: I'll send an email upstream and ask about the
restrictions and if we could simply use a newer version, current one,
etc etc. I have not been following kallithea development since I packaged
this, but I know there has been no new release. These patches just reflect
what I tested, and I didn't even get to kallithea itself
afaik because I still needed dependencies for running tests.

Does this sound appropriate for you?
--
N
Re: bug#25733: [PATCH 10/18] gnu: Add python-urlobject.
(name . Ricardo Wurmus)(address . rekado@elephly.net)
20170218153241.bxz3vlkkxjbxwweo@wasp
On 17-02-18 13:18:20, Ricardo Wurmus wrote:
Toggle quote (38 lines)
>
> contact.ng0@cryptolab.net writes:
>
> > From: ng0 <ngillmann@runbox.com>
> >
> > * gnu/packages/python.scm (python-urlobject): New variable.
> > ---
>
> […]
>
> > +(define-public python-urlobject
> > + (package
> > + (name "python-urlobject")
> > + (version "2.4.2")
> > + (source
> > + (origin
> > + (method url-fetch)
> > + (uri (pypi-uri "URLObject" version))
> > + (sha256
> > + (base32
> > + "0mswa40s1m5hs5yydb75i2bqb0l49gn0mmkzb0g5nj493nl0h3yx"))))
> > + (build-system python-build-system)
> > + (home-page "http://github.com/zacharyvoase/urlobject")
> > + (synopsis "Utility class for manipulating URLs")
> > + (description
> > + "URLObject is a utility class for manipulating URLs.")
> > + (license license:public-domain)))
>
> Okay.
>
> > +(define-public python2-urlobject
> > + (let ((base (package-with-python2 (strip-python2-variant python-urlobject))))
> > + (package
> > + (inherit base))))
> > +
>
> Why?

My guess is that it had something to do with delayed python2 variants,
but I might be wrong (see last email I've sent).
Toggle quote (7 lines)
> --
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
> https://elephly.net
>

N
Re: bug#25733: [PATCH 08/18] gnu: Add python-routes.
(name . Ricardo Wurmus)(address . rekado@elephly.net)
20170218153638.iczcgvvaawg4zior@wasp
On 17-02-18 13:15:18, Ricardo Wurmus wrote:
Toggle quote (42 lines)
>
> contact.ng0@cryptolab.net writes:
>
> > From: ng0 <ngillmann@runbox.com>
> >
> > * gnu/packages/python.scm (python-routes): New variable.
>
> […]
>
> > +(define-public python-routes
> > + (package
> > + (name "python-routes")
> > + (version "2.3.1")
> > + (source
> > + (origin
> > + (method url-fetch)
> > + (uri (pypi-uri "Routes" version))
> > + (sha256
> > + (base32
> > + "0l83p5prsjq0cccm6596dpv1inlafa1p7q1v8rrvi40ivjsq1hwq"))))
> > + (build-system python-build-system)
> > + (inputs
>
> propagated-inputs.
>
> > + `(("python-repoze-lru" ,python-repoze-lru)
> > + ("python-six" ,python-six)
> > + ("python-coverage" ,python-coverage)
> > + ("python-webob" ,python-webob)
> > + ("python-webtest" ,python-webtest)
> > + ("python-nose" ,python-nose)))
> > + (home-page "http://routes.readthedocs.org/")
> > + (synopsis "Routing Recognition and Generation Tools")
>
> Please pay attention to upper vs lower case.
>
> > + (description
> > + "Routing package for Python that matches URLs to dicts and vice
> > versa.")
>
> Please use full sentences.

Most of the time those were simple packages where I would need to add
more than they do, but I can simply extend them so that the sentences
are correct, like "@code{foo} is a Foomatic package for Python which
does Foomagic in a foomatic way."

Toggle quote (4 lines)
> > + (properties `((python2-variant . ,(delay python2-routes))))
>
> Please explain why this is needed.

Does any delayed variant do this? Back when I looked at them, none did
do this. More or less, build fails unless I add this for all packages
where it has been added.
Toggle quote (18 lines)
> > + (license license:expat)))
> > +
> > +(define-public python2-routes
> > + (let ((base (package-with-python2
> > + (strip-python2-variant python-routes))))
> > + (package
> > + (inherit base))))
> > +
>
> The same comment applies here as for the other patches in this series.
>
> --
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
> https://elephly.net
>

C
C
Christopher Baines wrote on 19 Mar 2018 09:06
control message for bug #25733
(address . control@debbugs.gnu.org)
87r2og5w20.fsf@cbaines.net
tags 25733 patch
C
C
Christopher Baines wrote on 19 Mar 2018 09:06
(address . control@debbugs.gnu.org)
87po405w1t.fsf@cbaines.net
tags 25733 moreinfo
M
M
Maxim Cournoyer wrote on 21 Apr 2020 05:27
Re: bug#25733: kallithea dependencies
(name . ng0)(address . contact.ng0@cryptolab.net)(address . 25733-close@debbugs.gnu.org)
87v9ltiklu.fsf@gmail.com
Hello,

ng0 <contact.ng0@cryptolab.net> writes:

Toggle quote (26 lines)
> This adds dependencies for kallithea.
> I lost track of the state of things. I know this was reviews in the
> past, then the python build system changed and now I hope not too many
> people have done duplicate work and added software I packaged in here.
>
> gnu: Add python-geventhttpclient.
> gnu: Add python-fastimport.
> gnu: Add python-dulwich.
> gnu: Add mercurial@3.7.3.
> gnu: Add python2-mysql-python.
> gnu: Add python-dulwich-0.9.9.
> gnu: Add python-repoze-lru.
> gnu: Add python-routes.
> gnu: Add python-routes-1.13.
> gnu: Add python-urlobject.
> gnu: Add python-urlobject-2.3.4.
> gnu: Add python-docutils-0.11.
> gnu: Add python-markdown-2.2.1.
> gnu: Add python2-babel-1.3.
> gnu: Add python-pyparsing-1.5.0.
> gnu: Add python-amqplib.
> gnu: Add python2-kombu-1.
> gnu: Add kallithea.
>
> Excluding kallithea, because this still needs some service.

I looked into this, but given it's 3 years old and that Kallithea has
evolved quite in that time (see its requirements at
many of the above packages are no longer needed by Kallithea (and many
have since made their way into Guix).

Hence, I'm closing this ticket. Feel free to repoen/send a fresh batch
of patches.

Thank you,

Maxim
?