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

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 07 Apr 2020 19:14:01 +0000

Your bug report

#28138: bug build python-pygit2 on guix 0.13

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
28138: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=28138
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#28138: bug build python-pygit2 on guix 0.13
From: Marius Bakke <[email-masked]>
To: Adrien Marin <[email-masked]>, [email-masked]
Date: Tue, 07 Apr 2020 21:13:42 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

This was fixed a long time ago, closing.

Subject: bug build python-pygit2 on guix 0.13
From: Adrien Marin <[email-masked]>
To: [email-masked]
Date: Fri, 18 Aug 2017 16:26:04 +0200 (CEST)
List-Id: <debbugs-submit.debbugs.gnu.org>

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 license:expat)))