Re: [PATCH v2 3/6] gnu: Add python-dulwich.
Committed as d83d87225980cec4926aec03280ad3533b778281 to python-tests.
Re: [PATCH v2 3/6] gnu: Add python-dulwich.
> or alternatively, would (which "git") work? Yes. I'll use it.
Re: [PATCH v2 3/6] gnu: Add python-dulwich.
> Why is this necessary? Git is available in PATH, no? Yes, but their tests use Popen with a custom environment which doesn't include the PATH variable at all. Also, if one messes it up the git invocation tests will be skipped and "succeed"!
Re: [PATCH v2 3/6] gnu: Add python-dulwich.
On Wed, Jan 18, 2017 at 06:48:46PM +0100, Marius Bakke wrote: > Danny Milosavljevic writes: > > > * gnu/packages/python.scm (python-dulwich, python2-dulwich): New variables. > > --- > > gnu/packages/python.scm | 44 > > 1 file changed, 44 insertions(+) > > > > diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm > > index 6c7a6353d..b064c9f47 100644 > > --- a/gnu/packages/python.scm > > +++ b/gnu/packages/python.scm > > @@ -12740,3 +12740,47 @@ Features: > > @item Compiles templates into optimized, yet readable, Python code. > > @end enumerate") > > (license (license:x11-style "file://LICENSE" > > + > > +(define-public python-dulwich > > + (package > > +(name "python-dulwich") > > +(version "0.16.3") > > +(source > > + (origin > > +(method url-fetch) > > +(uri (pypi-uri "dulwich" version)) > > Upstream provides the same releaases on their home page. I would add > > (uri (list (string-append "https://www.dulwich.io/releases/dulwich-"; > version ".tar.gz") > (pypi-uri "cram" version))) > > > +(sha256 > > + (base32 > > "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als" > > +(build-system python-build-system) > > +(arguments > > + `(#:phases > > + (modify-phases %standard-phases > > + (add-before 'check 'fix-tests > > + (lambda* (#:key inputs #:allow-other-keys) > > + (substitute* "dulwich/tests/compat/utils.py" > > + (("'git'") (string-append "'" > > + (assoc-ref inputs "git") > > + "/bin/git'"))) > > Why is this necessary? Git is available in PATH, no? or alternatively, would (which "git") work? > > > + (substitute* '("dulwich/tests/test_repository.py" > > +"dulwich/tests/test_hooks.py") > > + (("#!/bin/sh") (string-append "#!" (which "sh" > > + (setenv "TEST_RUNNER" "unittest") > > + (setenv "PYTHONHASHSEED" "random") > > + #t) > > +(propagated-inputs > > + `(("python-fastimport" ,python-fastimport))) > > +(native-inputs > > + `(("python-mock" ,python-mock) > > + ("python-geventhttpclient" ,python-geventhttpclient) > > + ("git" ,git))) > > +(home-page "https://www.dulwich.io/";) > > +(synopsis "Git implementation in Python") > > +(description "Dulwich is an implementation of the Git file formats and > > +protocols written in pure Python.") > > +;; dual-licensed > > +(license (list license:asl2.0 license:gpl2+ > > Please clarify whether it's both, or either. Otherwise LGTM, thanks! -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted signature.asc Description: PGP signature
Re: [PATCH v2 3/6] gnu: Add python-dulwich.
Danny Milosavljevic writes: > * gnu/packages/python.scm (python-dulwich, python2-dulwich): New variables. > --- > gnu/packages/python.scm | 44 > 1 file changed, 44 insertions(+) > > diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm > index 6c7a6353d..b064c9f47 100644 > --- a/gnu/packages/python.scm > +++ b/gnu/packages/python.scm > @@ -12740,3 +12740,47 @@ Features: > @item Compiles templates into optimized, yet readable, Python code. > @end enumerate") > (license (license:x11-style "file://LICENSE" > + > +(define-public python-dulwich > + (package > +(name "python-dulwich") > +(version "0.16.3") > +(source > + (origin > +(method url-fetch) > +(uri (pypi-uri "dulwich" version)) Upstream provides the same releaases on their home page. I would add (uri (list (string-append "https://www.dulwich.io/releases/dulwich-"; version ".tar.gz") (pypi-uri "cram" version))) > +(sha256 > + (base32 "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als" > +(build-system python-build-system) > +(arguments > + `(#:phases > + (modify-phases %standard-phases > + (add-before 'check 'fix-tests > + (lambda* (#:key inputs #:allow-other-keys) > + (substitute* "dulwich/tests/compat/utils.py" > + (("'git'") (string-append "'" > + (assoc-ref inputs "git") > + "/bin/git'"))) Why is this necessary? Git is available in PATH, no? > + (substitute* '("dulwich/tests/test_repository.py" > +"dulwich/tests/test_hooks.py") > + (("#!/bin/sh") (string-append "#!" (which "sh" > + (setenv "TEST_RUNNER" "unittest") > + (setenv "PYTHONHASHSEED" "random") > + #t) > +(propagated-inputs > + `(("python-fastimport" ,python-fastimport))) > +(native-inputs > + `(("python-mock" ,python-mock) > + ("python-geventhttpclient" ,python-geventhttpclient) > + ("git" ,git))) > +(home-page "https://www.dulwich.io/";) > +(synopsis "Git implementation in Python") > +(description "Dulwich is an implementation of the Git file formats and > +protocols written in pure Python.") > +;; dual-licensed > +(license (list license:asl2.0 license:gpl2+ Please clarify whether it's both, or either. Otherwise LGTM, thanks! signature.asc Description: PGP signature
[PATCH v2 3/6] gnu: Add python-dulwich.
* gnu/packages/python.scm (python-dulwich, python2-dulwich): New variables. --- gnu/packages/python.scm | 44 1 file changed, 44 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6c7a6353d..b064c9f47 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -12740,3 +12740,47 @@ Features: @item Compiles templates into optimized, yet readable, Python code. @end enumerate") (license (license:x11-style "file://LICENSE" + +(define-public python-dulwich + (package +(name "python-dulwich") +(version "0.16.3") +(source + (origin +(method url-fetch) +(uri (pypi-uri "dulwich" version)) +(sha256 + (base32 "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als" +(build-system python-build-system) +(arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'fix-tests + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "dulwich/tests/compat/utils.py" + (("'git'") (string-append "'" + (assoc-ref inputs "git") + "/bin/git'"))) + + + (substitute* '("dulwich/tests/test_repository.py" +"dulwich/tests/test_hooks.py") + (("#!/bin/sh") (string-append "#!" (which "sh" + (setenv "TEST_RUNNER" "unittest") + (setenv "PYTHONHASHSEED" "random") + #t) +(propagated-inputs + `(("python-fastimport" ,python-fastimport))) +(native-inputs + `(("python-mock" ,python-mock) + ("python-geventhttpclient" ,python-geventhttpclient) + ("git" ,git))) +(home-page "https://www.dulwich.io/";) +(synopsis "Git implementation in Python") +(description "Dulwich is an implementation of the Git file formats and +protocols written in pure Python.") +;; dual-licensed +(license (list license:asl2.0 license:gpl2+ + +(define-public python2-dulwich + (package-with-python2 python-dulwich))