Subject: bug#37332: closed (Re: bug#37332: opam->guix-package test fails)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 07 Sep 2019 20:29:02 +0000

Your bug report

#37332: opam->guix-package test fails

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].

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

Subject: Re: bug#37332: opam->guix-package test fails
From: Julien Lepiller <[email-masked]>
To: Wiktor Żelazny <[email-masked]>, [email-masked]
Date: Sat, 07 Sep 2019 22:28:24 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Le 7 septembre 2019 12:22:00 GMT+02:00, "Wiktor Żelazny" <[email-masked]> a écrit :
>My first post here. I’m assuming the bug number is going to be added
>automatically. My apologies in advance, if it’s not.
>
>I’m under GNU Guix SD (a new user), preparing to contribute my first
>package. While following [1], I’m getting FAIL for opam->guix-package
>after invoking `make check` in the Guix source tree.
>
>The relevant part of the test log:
>
>   FAIL: tests/opam
>   ================
>
>   test-name: opam->guix-package
>   location: /home/w/vurv/guix-git/tests/opam.scm:71
>   source:
>   + (test-assert
>   +   "opam->guix-package"
>   +   (mock ((guix import utils)
>   +          url-fetch
>   +          (lambda (url file-name)
>   +            (match url
>   +                   ("https://example.org/foo-1.0.0.tar.gz"
>   +                    (begin
>   +                      (mkdir-p "foo-1.0.0")
>   +                      (system* "tar" "czvf" file-name "foo-1.0.0/")
>   +                      (delete-file-recursively "foo-1.0.0")
>   +                      (set! test-source-hash
>+                        (call-with-input-file file-name
>port-sha256))))
>   +                   (_ (error "Unexpected URL: " url)))))
>   +         (let ((my-package
>   +                 (string-append
>   +                   test-repo
>   +                   "/packages/foo/foo.1.0.0")))
>   +           (mkdir-p my-package)
>   +           (with-output-to-file
>   +             (string-append my-package "/opam")
>   +             (lambda _ (format #t "~a" test-opam-file))))
>   +         (mock ((guix import opam)
>   +                get-opam-repository
>   +                (lambda _ test-repo))
>   +               (match (opam->guix-package "foo")
>   +                      (('package
>   +                        ('name "ocaml-foo")
>   +                        ('version "1.0.0")
>   +                        ('source
>   +                         ('origin
>   +                          ('method 'url-fetch)
>+                          ('uri
>"https://example.org/foo-1.0.0.tar.gz")
>   +                          ('sha256 ('base32 (? string? hash)))))
>   +                        ('build-system 'ocaml-build-system)
>   +                        ('inputs
>   +                         ('quasiquote
>+                          (("ocaml-zarith" ('unquote
>'ocaml-zarith)))))
>   +                        ('native-inputs
>   +                         ('quasiquote
>+                          (("ocaml-alcotest" ('unquote
>'ocaml-alcotest))
>   +                           ("ocamlbuild" ('unquote 'ocamlbuild)))))
>   +                        ('home-page "https://example.org/")
>   +                        ('synopsis "Some example package")
>+                        ('description "This package is just an
>example.")
>   +                        ('license #f))
>   +                       (string=?
>+                         (bytevector->nix-base32-string
>test-source-hash)
>   +                         hash))
>   +                      (x (pk 'fail x #f))))))
>   foo-1.0.0/
>
>;;; (fail (package (name "ocaml-foo") (version "1.0.0") (source (origin
>(method url-fetch) (uri "https://example.org/foo-1.0.0.tar.gz") (sha256
>(base32 "1krpnm4j5f8xi2h6jaq3v97alv9dz7v2mdw53a8sycw4i97qxkaq"))))
>(build-system ocaml-build-system) (propagated-inputs (quasiquote
>(("ocaml-zarith" (unquote ocaml-zarith))))) (native-inputs (quasiquote
>(("ocaml-alcotest" (unquote ocaml-alcotest)) ("ocamlbuild" (unquote
>ocamlbuild))))) (home-page "https://example.org/") (synopsis "Some
>example package") (description "This package is just an example.")
>(license #f)) #f)
>   actual-value: #f
>   result: FAIL
>
>Software versions:
>
>   GNU Guix: 66d2133 for invoking `guix environment`, d550845 for the
>   tested source tree
>   GNU Guile: 2.2.4
>   Guile-Gcrypt: 0.1.0
>   GnuTLS: 3.6.5
>   Guile-SQLite3: 0.1.0
>   Guile-Git: 0.2.0
>   Guile-JSON: 1.2.0
>   zlib: 1.2.11
>   GNU Make: 4.2.1
>
>In the mailing list archives, I can see some recurring opam/ocaml
>issues, but I’m not familiar with any of those, so I cannot judge what
>the problem could be. I will appreciate any hints.
>
>WŻ
>
>[1]: https://guix.gnu.org/manual/en/html_node/Building-from-Git.html

Thanks for the report! I recently changed the importer to use propagated inputs instead of inputs and forgot about the test. I just pushed 1d03a91 which fixes the test.

Subject: opam->guix-package test fails
From: Wiktor Żelazny <[email-masked]>
To: [email-masked]
Date: Sat, 7 Sep 2019 12:22:00 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

My first post here. I’m assuming the bug number is going to be added
automatically. My apologies in advance, if it’s not.

I’m under GNU Guix SD (a new user), preparing to contribute my first
package. While following [1], I’m getting FAIL for opam->guix-package
after invoking `make check` in the Guix source tree.

The relevant part of the test log:

   FAIL: tests/opam
   ================

   test-name: opam->guix-package
   location: /home/w/vurv/guix-git/tests/opam.scm:71
   source:
   + (test-assert
   +   "opam->guix-package"
   +   (mock ((guix import utils)
   +          url-fetch
   +          (lambda (url file-name)
   +            (match url
   +                   ("https://example.org/foo-1.0.0.tar.gz"
   +                    (begin
   +                      (mkdir-p "foo-1.0.0")
   +                      (system* "tar" "czvf" file-name "foo-1.0.0/")
   +                      (delete-file-recursively "foo-1.0.0")
   +                      (set! test-source-hash
   +                        (call-with-input-file file-name port-sha256))))
   +                   (_ (error "Unexpected URL: " url)))))
   +         (let ((my-package
   +                 (string-append
   +                   test-repo
   +                   "/packages/foo/foo.1.0.0")))
   +           (mkdir-p my-package)
   +           (with-output-to-file
   +             (string-append my-package "/opam")
   +             (lambda _ (format #t "~a" test-opam-file))))
   +         (mock ((guix import opam)
   +                get-opam-repository
   +                (lambda _ test-repo))
   +               (match (opam->guix-package "foo")
   +                      (('package
   +                        ('name "ocaml-foo")
   +                        ('version "1.0.0")
   +                        ('source
   +                         ('origin
   +                          ('method 'url-fetch)
   +                          ('uri "https://example.org/foo-1.0.0.tar.gz")
   +                          ('sha256 ('base32 (? string? hash)))))
   +                        ('build-system 'ocaml-build-system)
   +                        ('inputs
   +                         ('quasiquote
   +                          (("ocaml-zarith" ('unquote 'ocaml-zarith)))))
   +                        ('native-inputs
   +                         ('quasiquote
   +                          (("ocaml-alcotest" ('unquote 'ocaml-alcotest))
   +                           ("ocamlbuild" ('unquote 'ocamlbuild)))))
   +                        ('home-page "https://example.org/")
   +                        ('synopsis "Some example package")
   +                        ('description "This package is just an example.")
   +                        ('license #f))
   +                       (string=?
   +                         (bytevector->nix-base32-string test-source-hash)
   +                         hash))
   +                      (x (pk 'fail x #f))))))
   foo-1.0.0/

   ;;; (fail (package (name "ocaml-foo") (version "1.0.0") (source (origin (method url-fetch) (uri "https://example.org/foo-1.0.0.tar.gz") (sha256 (base32 "1krpnm4j5f8xi2h6jaq3v97alv9dz7v2mdw53a8sycw4i97qxkaq")))) (build-system ocaml-build-system) (propagated-inputs (quasiquote (("ocaml-zarith" (unquote ocaml-zarith))))) (native-inputs (quasiquote (("ocaml-alcotest" (unquote ocaml-alcotest)) ("ocamlbuild" (unquote ocamlbuild))))) (home-page "https://example.org/") (synopsis "Some example package") (description "This package is just an example.") (license #f)) #f)
   actual-value: #f
   result: FAIL

Software versions:

   GNU Guix: 66d2133 for invoking `guix environment`, d550845 for the
   tested source tree
   GNU Guile: 2.2.4
   Guile-Gcrypt: 0.1.0
   GnuTLS: 3.6.5
   Guile-SQLite3: 0.1.0
   Guile-Git: 0.2.0
   Guile-JSON: 1.2.0
   zlib: 1.2.11
   GNU Make: 4.2.1

In the mailing list archives, I can see some recurring opam/ocaml
issues, but I’m not familiar with any of those, so I cannot judge what
the problem could be. I will appreciate any hints.

WŻ

[1]: https://guix.gnu.org/manual/en/html_node/Building-from-Git.html