gnu: Add python-paste.

* gnu/packages/python.scm (python-paste, python2-paste): New variables.
* gnu/packages/patches/python-paste-remove-timing-test.patch: New file.
* gnu/packages/patches/python-paste-remove-website-test.patch: New file.
* gnu-system.am (dist_patch_DATA): Add them.
master
Christopher Allan Webber 2016-02-25 11:01:45 -08:00
parent e62b5c6903
commit c4a7904c21
4 changed files with 87 additions and 0 deletions

View File

@ -679,6 +679,8 @@ dist_patch_DATA = \
gnu/packages/patches/python-ipython-inputhook-ctype.patch \
gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
gnu/packages/patches/python-configobj-setuptools.patch \
gnu/packages/patches/python-paste-remove-website-test.patch \
gnu/packages/patches/python-paste-remove-timing-test.patch \
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
gnu/packages/patches/qemu-CVE-2015-8558.patch \
gnu/packages/patches/qemu-CVE-2015-8567.patch \

View File

@ -0,0 +1,16 @@
Remove this test to verify that things were modified since a certain time.
That assumption doesn't hold up when your environment doesn't have access to a
real clock and thinks it's living in 1970 :)
--- a/tests/test_fileapp.py 2015-04-23 13:48:37.000000000 -0700
+++ b/tests/test_fileapp.py 2016-02-22 19:20:08.332802417 -0800
@@ -223,8 +223,6 @@
status=304)
res = app.get('/', headers={'If-None-Match': 'asdf'},
status=200)
- res = app.get('/', headers={'If-Modified-Since': 'Sat, 1 Jan 2005 12:00:00 GMT'},
- status=200)
res = app.get('/', headers={'If-Modified-Since': last_mod + '; length=100'},
status=304)
res = app.get('/', headers={'If-Modified-Since': 'invalid date'},

View File

@ -0,0 +1,21 @@
Remove the test to see if the Python Paste website is up.
Obviously without network access there is no way for us to check this, and
it's pretty strange to test a project's website when you really mean to test
the project anyhow...
--- a/tests/test_proxy.py 2016-02-22 19:13:04.040117767 -0800
+++ b/tests/test_proxy.py 2016-02-22 19:13:04.040117767 -0800
@@ -1,12 +1,3 @@
from paste import proxy
from paste.fixture import TestApp
-def test_paste_website():
- # Not the most robust test...
- # need to test things like POSTing to pages, and getting from pages
- # that don't set content-length.
- app = proxy.Proxy('http://pythonpaste.org')
- app = TestApp(app)
- res = app.get('/')
- assert 'documentation' in res
-

View File

@ -7774,6 +7774,54 @@ file.")
(define-public python2-pastedeploy
(package-with-python2 python-pastedeploy))
(define-public python-paste
(package
(name "python-paste")
(version "2.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Paste" version))
(sha256
(base32
"16dsv9qi0r4qsrsb6dilpq2rx0fnglvh36flzywcdnm2jg43mb5d"))
(patches (list (search-patch
"python-paste-remove-website-test.patch")
(search-patch
"python-paste-remove-timing-test.patch")))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)))
(propagated-inputs
`(;; Uses pkg_resources provided by setuptools internally.
("python-setuptools" ,python-setuptools)
("python-six" ,python-six)))
(arguments
'(;; Tests don't pass on Python 3, but work fine on Python 2.
;; (As of 2.0.2, Python 3 support in Paste is presently a bit broken,
;; but is usable enough for the minimal amount it's used in MediaGoblin
;; still... things should be better by the next Paste release.)
#:tests? #f))
(home-page "http://pythonpaste.org")
(synopsis
"Python web development tools, focusing on WSGI")
(description
"Paste provides a variety of web development tools and middleware which
can be nested together to build web applications. Paste's design closely
follows ideas flowing from WSGI (Web Standard Gateway Interface).")
(license license:expat)
(properties `((python2-variant . ,(delay python2-paste))))))
(define-public python2-paste
(let ((paste (package-with-python2
(strip-python2-variant python-paste))))
(package
(inherit paste)
(arguments
;; Tests are back for Python 2!
`(#:tests? #t
,@(package-arguments paste))))))
(define-public python-pyquery
(package
(name "python-pyquery")