Re: [PATCH 2/3] gnu: Update python-fixtures

2015-10-09 Thread Ludovic Courtès
Cyril Roelandt  skribis:

> On 09/27/2015 10:17 PM, Ludovic Courtès wrote:
>> Yeah, two commits would do IMO: one to add python-pbr-0.11, and the
>> other one for the rest.
>> 
>> Could you do that?  This patch series needs to go in before it
>> accumulates dust.
>
> No, it'd be a bloody pain.
>
> If I just add python-pbr-0.11, then I'd have to change its inputs in the
> next patch (python-fixtures -> python-fixtures-0.3.16), so it adds weird
> stuff in the next commit.
>
> The thing is, this is a terrible mess, and the only way to have
> something easily understandable in the git history is to do this in one
> single, clean commit. I'm already having a hard time resisting the urge
> of writing a 3-paragraph commit log to explain everything ;)

Well OK, if that’s what it takes, let’s do it.

Thanks,
Ludo’.



Re: [PATCH 2/3] gnu: Update python-fixtures

2015-10-08 Thread Cyril Roelandt
On 09/27/2015 10:17 PM, Ludovic Courtès wrote:
> Yeah, two commits would do IMO: one to add python-pbr-0.11, and the
> other one for the rest.
> 
> Could you do that?  This patch series needs to go in before it
> accumulates dust.

No, it'd be a bloody pain.

If I just add python-pbr-0.11, then I'd have to change its inputs in the
next patch (python-fixtures -> python-fixtures-0.3.16), so it adds weird
stuff in the next commit.

The thing is, this is a terrible mess, and the only way to have
something easily understandable in the git history is to do this in one
single, clean commit. I'm already having a hard time resisting the urge
of writing a 3-paragraph commit log to explain everything ;)


Cyril.



Re: [PATCH 2/3] gnu: Update python-fixtures

2015-09-27 Thread Ludovic Courtès
Cyril Roelandt  skribis:

> On 09/22/2015 09:16 PM, Thompson, David wrote:
>> On Mon, Sep 21, 2015 at 6:31 PM, Cyril Roelandt  wrote:
>>> * gnu/packages/python.scm (python-fixtures): Update.
>>> * gnu/packages/python.scm (python-fixtures-0.3.16,
>>>   python2-fixtures-0.3.16, python-pbr-0.11,
>>>   python2-pbr-0.11): New variables.
>>> * gnu/packages/python.scm (python-testrepository): Use 
>>> python-fxitures-0.3.16
>>>   instead of python-fixtures in the inputs.
>> 
>> One package update or new package per patch, please.
>> 
>
> I know it is usually done like this, but I feel this is a bit special,
> since all these changes are only done in order to update
> python-fixtures. I could have:
>
> 1) renamed python-fixtures to python-fixtures-0.3.16 and changed inputs
> from "python-fixtures" to "python-fixtures-0.3.16" for all packages that
> depend on fixtures
> 2) added python-pbr-0.11
> 3) added python-fixtures
> 4) changed inputs from "python-fixtures-0.3.16" to "python-fixtures" for
> all packages that depend on fixtures
>
> But I feel it would be incredibly confusing when looking at "git log". WDYT?

Yeah, two commits would do IMO: one to add python-pbr-0.11, and the
other one for the rest.

Could you do that?  This patch series needs to go in before it
accumulates dust.

Thanks,
Ludo’.



Re: [PATCH 2/3] gnu: Update python-fixtures

2015-09-22 Thread Cyril Roelandt
On 09/22/2015 09:16 PM, Thompson, David wrote:
> On Mon, Sep 21, 2015 at 6:31 PM, Cyril Roelandt  wrote:
>> * gnu/packages/python.scm (python-fixtures): Update.
>> * gnu/packages/python.scm (python-fixtures-0.3.16,
>>   python2-fixtures-0.3.16, python-pbr-0.11,
>>   python2-pbr-0.11): New variables.
>> * gnu/packages/python.scm (python-testrepository): Use python-fxitures-0.3.16
>>   instead of python-fixtures in the inputs.
> 
> One package update or new package per patch, please.
> 

I know it is usually done like this, but I feel this is a bit special,
since all these changes are only done in order to update
python-fixtures. I could have:

1) renamed python-fixtures to python-fixtures-0.3.16 and changed inputs
from "python-fixtures" to "python-fixtures-0.3.16" for all packages that
depend on fixtures
2) added python-pbr-0.11
3) added python-fixtures
4) changed inputs from "python-fixtures-0.3.16" to "python-fixtures" for
all packages that depend on fixtures

But I feel it would be incredibly confusing when looking at "git log". WDYT?

Cyril.



Re: [PATCH 2/3] gnu: Update python-fixtures

2015-09-22 Thread Thompson, David
On Mon, Sep 21, 2015 at 6:31 PM, Cyril Roelandt  wrote:
> * gnu/packages/python.scm (python-fixtures): Update.
> * gnu/packages/python.scm (python-fixtures-0.3.16,
>   python2-fixtures-0.3.16, python-pbr-0.11,
>   python2-pbr-0.11): New variables.
> * gnu/packages/python.scm (python-testrepository): Use python-fxitures-0.3.16
>   instead of python-fixtures in the inputs.

One package update or new package per patch, please.

- Dave



Re: [PATCH 2/3] gnu: Update python-fixtures

2015-09-22 Thread Mathieu Lirzin
I can't help much about the circular dependency problem.  I think it is
important to avoid propagation of inputs from old versions, but I don't
know if this is feasible.  Here are my usual cosmetic comments :)


Cyril Roelandt  writes:

> * gnu/packages/python.scm (python-fixtures): Update.
> * gnu/packages/python.scm (python-fixtures-0.3.16,
>   python2-fixtures-0.3.16, python-pbr-0.11,
>   python2-pbr-0.11): New variables.
> * gnu/packages/python.scm (python-testrepository): Use python-fxitures-0.3.16
^^^
fixtures
>   instead of python-fixtures in the inputs.

[...]

> +(define-public python-pbr-0.11
> +  (package
> +(name "python-pbr")
> +(version "0.11.0")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> + "https://pypi.python.org/packages/source/p/pbr/pbr-";
> + version ".tar.gz"))
> +   (sha256
> +(base32
> + "0v9gb7gyqf7q9s99l0nnjj9ww9b0jvyqlwm4d56pcyinxydddw6p"
> +(build-system python-build-system)
> +(arguments
> + `(#:tests? #f)) ;; Most tests seem to use the Internet.

 `(#:tests? #f));most tests seem to use the internet

--
Mathieu Lirzin



[PATCH 2/3] gnu: Update python-fixtures

2015-09-21 Thread Cyril Roelandt
* gnu/packages/python.scm (python-fixtures): Update.
* gnu/packages/python.scm (python-fixtures-0.3.16,
  python2-fixtures-0.3.16, python-pbr-0.11,
  python2-pbr-0.11): New variables.
* gnu/packages/python.scm (python-testrepository): Use python-fxitures-0.3.16
  instead of python-fixtures in the inputs.
---
 gnu/packages/python.scm | 75 +++--
 1 file changed, 73 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index a8d811e..a3de1a7 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1675,7 +1675,14 @@ protocol.")
 (define-public python2-subunit
   (package-with-python2 python-subunit))
 
-(define-public python-fixtures
+;; Recent versions of python-fixtures need a recent version of python-pbr,
+;; which needs a recent version of python-fixtures. To fix this circular
+;; dependency, we keep old versions of python-fixtures and python-pbr to
+;; bootstrap the whole thing:
+;; - python-fixtures-0.3.16 is used to build python-pbr-0.11
+;; - python-pbr-0.11 is used to build python-fixtures
+;; - python-fixtures is used to build python-pbr
+(define-public python-fixtures-0.3.16
   (package
 (name "python-fixtures")
 (version "0.3.16")
@@ -1700,6 +1707,70 @@ protocol.")
 Python tests.")
 (license (list bsd-3 asl2.0 ; at user's option
 
+(define-public python2-fixtures-0.3.16
+  (package-with-python2 python-fixtures-0.3.16))
+
+(define-public python-pbr-0.11
+  (package
+(name "python-pbr")
+(version "0.11.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/source/p/pbr/pbr-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0v9gb7gyqf7q9s99l0nnjj9ww9b0jvyqlwm4d56pcyinxydddw6p"
+(build-system python-build-system)
+(arguments
+ `(#:tests? #f)) ;; Most tests seem to use the Internet.
+(inputs
+  `(("python-fixtures-0.3.16" ,python-fixtures-0.3.16)
+("python-pip" ,python-pip)
+("python-setuptools" ,python-setuptools)))
+(home-page "https://launchpad.net/pbr";)
+(synopsis "Change the default behavior of Python’s setuptools")
+(description
+  "Python Build Reasonableness (PBR) is a library that injects some useful
+and sensible default behaviors into your setuptools run.")
+(license asl2.0)))
+
+(define-public python2-pbr-0.11
+  (package-with-python2 python-pbr-0.11))
+
+(define-public python-fixtures
+  (package
+(name "python-fixtures")
+(version "1.3.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/source/f/fixtures/fixtures-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1khpywdh91ijryhxjxiyyi5rmbimhl8hwbbf8lazhgzq6yxz6g5n"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-six" ,python-six)
+   ("python-pbr-0.11" ,python-pbr-0.11)))
+(inputs
+ `(("python-pip" ,python-pip)
+   ("python-setuptools" ,python-setuptools)
+   ;; Tests
+   ("python-testtools" ,python-testtools)))
+(arguments
+ '(#:tests? #f)) ; no setup.py test command
+(home-page "https://launchpad.net/python-fixtures";)
+(synopsis "Python test fixture library")
+(description
+ "Fixtures provides a way to create reusable state, useful when writing
+Python tests.")
+(license (list bsd-3 asl2.0 ; at user's option
+
 (define-public python2-fixtures
   (package-with-python2 python-fixtures))
 
@@ -1718,7 +1789,7 @@ Python tests.")
  "1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m"
 (build-system python-build-system)
 (propagated-inputs
- `(("python-fixtures" ,python-fixtures)
+ `(("python-fixtures-0.3.16" ,python-fixtures-0.3.16)
("python-testtools" ,python-testtools)))
 (inputs
  `(("python-setuptools" ,python-setuptools)
-- 
2.1.4