Subject: Re: bug#28138: bug build python-pygit2 on guix 0.13

From: Marius Bakke <[email-masked]>
Date: Fri, 18 Aug 2017 21:43:53 +0200

Adrien Marin <[email-masked]> writes:

> Hi, 
>
> yesterday ,I updated guix and try to install my package's new version and the install fail because of pygit2 error. 
>
> I've found a bug with the package python-pygit2 when I tried to build it: 
>
> " #error You need a compatible libgit2 version (v0.25.x)" 
>
> so I change in the definition of python-pygit2, in propagated input : 
>
> ("libgit2" ,libgit2) ---> ("libgit2-0.25.1" ,libgit2-0.25.1) 
>
> and add the definition of libgit2-0.25.1 in my own package 
>
>
>
> after that, i get another issue during the build of python-pygit2, during the check phase : 
>
>>ERROR: test_describe_pattern (test.test_describe.DescribeTest)
>>----------------------------------------------------------------------
>>Traceback (most recent call last):
>>  File "/tmp/guix-build-python-pygit2-0.25.0.drv-0/pygit2-0.25.0/test/test_describe.py", line 70, in test_describe_pattern
>>   self.assertEqual('public/tag2-2-g2be5719', self.repo.describe(pattern='public/*'))
>>  File "/tmp/guix-build-python-pygit2-0.25.0.drv-0/pygit2-0.25.0/pygit2/repository.py", line 728, in describe
>>    check_error(err)
>>  File "/tmp/guix-build-python-pygit2-0.25.0.drv-0/pygit2-0.25.0/pygit2/errors.py", line 64, in check_error
>>    raise GitError(message)
>>_pygit2.GitError: Cannot describe - No reference found, cannot describe anything.
>>
>>----------------------------------------------------------------------
>>Ran 266 tests in 11.741s
>>
>>FAILED (errors=1)
>>phase `check' failed after 18.0 seconds
>>builder for `/gnu/store/1f3nya5lmmwxyhvc6yalzyn2irwrpkk9-python-pygit2-0.25.0.drv' failed with exit code 1
>>@ build-failed /gnu/store/1f3nya5lmmwxyhvc6yalzyn2irwrpkk9-python-pygit2-0.25.0.drv - 1 builder for `/gnu/store/1f3nya5lmmwxyhvc6yalzyn2irwrpkk9-python-pygit2-0.25.0.drv' failed with exit code 1
>>guix build: error: build failed: build of `/gnu/store/1f3nya5lmmwxyhvc6yalzyn2irwrpkk9-python-pygit2-0.25.0.drv' failed 
>
> so I looked the dependencies of python-pygit2 and saw that python-cffi changed version in guix 0.13 than my old version 
>
> so I force the 1.4.2 version of python-cffi in the definition of pygit2 AND IT'S WORKING!! 

Hi Adrien,

Sorry you had to go through this trouble!  But your workaround is pretty
impressive :-)  It's the way to go if you want to use the existing Guix
package definition with custom versions.

Note that you can inherit package definitions so that you (typically)
only have to override the source, instead of copying the whole thing.

Anyway, I went ahead and updated pygit2 to 0.26, which matches the
current libgit2 version and also is compatible with python-cffi-1.10.
Can you try to pull 'master' and see if it works for you?

Thanks for the report!