Re: [PATCH v2 3/6] gnu: Add python-dulwich.

2017-01-19 Thread Danny Milosavljevic
Committed as d83d87225980cec4926aec03280ad3533b778281 to python-tests.



Re: [PATCH v2 3/6] gnu: Add python-dulwich.

2017-01-19 Thread Danny Milosavljevic
> or alternatively, would (which "git") work?

Yes. I'll use it.



Re: [PATCH v2 3/6] gnu: Add python-dulwich.

2017-01-19 Thread Danny Milosavljevic
> 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.

2017-01-18 Thread Efraim Flashner
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.

2017-01-18 Thread Marius Bakke
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.

2017-01-17 Thread Danny Milosavljevic
* 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))