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

2017-08-18 Thread Adrien Marin
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!! 


there is the definition of olds version for python-cffi and libgit2 

define-public libgit2
  (package
(name "libgit2")
(version "0.25.1")
(source (origin
  (method url-fetch)
  (uri (string-append "https://github.com/libgit2/libgit2/";
  "archive/v" version ".tar.gz"))
  (file-name (string-append name "-" version ".tar.gz"))
  (sha256
   (base32
"1cdwcw38frc1wf28x5ppddazv9hywc718j92f3xa3ybzzycyds3s"
(build-system cmake-build-system)
(arguments
 `(#:phases
   (modify-phases %standard-phases
 (add-after 'unpack 'fix-hardcoded-paths
   (lambda _
 (substitute* "tests/repo/init.c"
   (("#!/bin/sh") (string-append "#!" (which "sh"
 (substitute* "tests/clar/fs.h"
   (("/bin/cp") (which "cp"))
   (("/bin/rm") (which "rm")))
 #t))
 ;; Run checks more verbosely.
 (replace 'check
   (lambda _ (zero? (system* "./libgit2_clar" "-v" "-Q")))
(inputs
 `(("libssh2" ,libssh2)
   ("libcurl" ,curl)
   ("python" ,python-wrapper)
   ("openssl" ,openssl)))
(native-inputs
 `(("pkg-config" ,pkg-config)))
(home-page "https://libgit2.github.com/";)
(synopsis "Library providing Git core methods")
(description
 "Libgit2 is a portable, pure C implementation of the Git core methods
provided as a re-entrant linkable library with a solid API, allowing you to
write native speed custom Git applications in any language with bindings.")
;; GPLv2 with linking exception
(license license:gpl2))) 

(define-public python-cffi-1.4.2 
(package 
(name "python-cffi") 
(version "1.4.2") 
(source 
(origin 
(method url-fetch) 
(uri (pypi-uri "cffi" version)) 
(sha256 
(base32 "161rj52rzi3880lij17d6i9kvgkiwjilrqjs8405k8sf6ryif7cg" 
(build-system python-build-system) 
(outputs '("out" "doc")) 
(inputs 
`(("libffi" ,libffi))) 
(propagated-inputs ; required at run-time 
`(("python-pycparser" ,python-pycparser))) 
(native-inputs 
`(("pkg-config" ,pkg-config) 
("python-sphinx" ,python-sphinx) 
("python-pytest" ,python-pytest))) 
(arguments 
`(#:phases 
(alist-cons-after 
'install 'install-doc 
(lambda* (#:key outputs #:allow-other-keys) 
(let* ((data (string-append (assoc-ref outputs "doc") "/share")) 
(doc (string-append data "/doc/" ,name "-" ,version)) 
(html (string-append doc "/html"))) 
(with-directory-excursion "doc" 
(system* "make" "html") 
(mkdir-p html) 
(copy-recursively "build/html" html)) 
(copy-file "LICENSE" (string-append doc "/LICENSE" 
%standard-phases))) 
(home-page "http://cffi.readthedocs.org";) 
(synopsis "Foreign function interface for Python") 
(description 
"Foreign Function Interface for Python calling C code.") 
(license lic

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

2017-08-18 Thread Marius Bakke
Adrien Marin  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!


signature.asc
Description: PGP signature


bug#28144: info-dir ERROR: no code for module (guix build utils)

2017-08-18 Thread Christopher Baines
I've had the following issue a few times now, it seems that somehow,
the info-dir builder can be incorrectly generated, without the usual
module import stuff.

The most recent time this occurred, I worked around this by finding the
guix package in the store which I thought was being used at the time,
and explicitly garbage collected it (guix gc -d ...). I then rebuilt
it, and this seemed to work around the problem. I was using the same
guix package, pinned to an revision in a git repository.


The builder starts with:

  (begin (use-modules (guix build utils)


This is the error which you get:

The following derivations will be built:
   /gnu/store/8qi10kwz4ghabdj5p7s252z11snvhhgf-profile.drv
   /gnu/store/0jxiph2hvmvakcj6gkz9d00a8ncma903-info-dir.drv
Backtrace:
In ice-9/boot-9.scm:
 160: 18 [catch #t # ...]
In unknown file:
   ?: 17 [apply-smob/1 #]
In ice-9/boot-9.scm:
  66: 16 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 15 [eval # #]
In ice-9/boot-9.scm:
2412: 14 [save-module-excursion #]
4089: 13 [#]
1734: 12 [%start-stack load-stack #]
1739: 11 [#]
In unknown file:
   ?: 10 [primitive-load 
"/gnu/store/9ywpf5jc12svv04gvbx96j5z1kpllwn4-info-dir-builder"]
In ice-9/eval.scm:
 505: 9 [# (begin # # # ...)]
In ice-9/psyntax.scm:
1107: 8 [expand-top-sequence ((begin # # # ...)) () ((top)) ...]
 990: 7 [scan ((begin (use-modules # # ...) (define # #) ...)) () ...]
 990: 6 [scan ((use-modules # # ...) (define # #) (define # #) ...) () ...]
 279: 5 [scan ((# #) #(syntax-object *unspecified* # #)) () (()) ...]
In ice-9/boot-9.scm:
3622: 4 [process-use-modules ((#) (#) (#) (#))]
 712: 3 [map # (# # # 
#)]
3623: 2 [# (#)]
2903: 1 [resolve-interface (guix build utils) #:select ...]
In unknown file:
   ?: 0 [scm-error misc-error #f ...]

ERROR: In procedure scm-error:
ERROR: no code for module (guix build utils)
builder for `/gnu/store/0jxiph2hvmvakcj6gkz9d00a8ncma903-info-dir.drv' failed 
with exit code 1


pgpC7ucMQ7CxX.pgp
Description: OpenPGP digital signature