Subject: bug#42543: lint failure for packages on load path specified with -L

From: zimoun <[email-masked]>
Date: Thu, 6 Aug 2020 00:33:05 +0200

Hi Ludo,

I confirm the bug and please consider the fix sent in this thread:

http://issues.guix.gnu.org/42543#2

Well, it tweaks using 'canonicalize-path' which is maybe not the right
thing. Let me know.

Cheers,
simon

On Wednesday, 5 August 2020, Ludovic Courtès <[email-masked]> wrote:

> Hi,
>
> Jack Hill <[email-masked]> skribis:
>
> > jackhill@alperton ~$ guix lint -L lint-test my-hello
> > Backtrace:[email-masked] [formatting]...
> >            8 (primitive-load "/home/jackhill/.config/guix/current/bi…")
> > In guix/ui.scm:
> >   1974:12  7 (run-guix-command _ . _)
> > In ice-9/boot-9.scm:
> >   1736:10  6 (with-exception-handler _ _ #:unwind? _ # _)
> > In guix/store.scm:
> >    631:22  5 (thunk)
> > In srfi/srfi-1.scm:
> >     634:9  4 (for-each #<procedure 7f40c0484020 at guix/scripts/lin…> …)
> > In guix/scripts/lint.scm:
> >      60:4  3 (run-checkers _ _ #:store _)
> > In srfi/srfi-1.scm:
> >     634:9  2 (for-each #<procedure 7f40b2ab53f0 at guix/scripts/lin…> …)
> >     241:2  1 (for-each _ _)
> > In ice-9/boot-9.scm:
> >   1669:16  0 (raise-exception _ #:continuable? _)
> >
> > ice-9/boot-9.scm:1669:16: In procedure raise-exception:
> > In procedure for-each: Wrong type argument: #f
>
> I can’t reproduce this problem:
>
> --8<---------------cut here---------------start------------->8---
> $ cat /tmp/t/my-hello.scm
> (define-module (my-hello)
>   #:use-module (guix build-system gnu)
>   #:use-module (guix download)
>   #:use-module (guix licenses)
>   #:use-module (guix packages))
>
> (define-public my-hello
>   (package
>     (name "my-hello")
>     (version "2.10")
>     (source (origin
>               (method url-fetch)
>               (uri (string-append "mirror://gnu/hello/hello-" version
>                                   ".tar.gz"))
>               (sha256
>                (base32
>                 "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
>     (build-system gnu-build-system)
>     (synopsis "Hello, GNU world: An example GNU package")
>     (description
>      "GNU Hello prints the message \"Hello, world!\" and then exits.  It
> serves as an example of standard GNU coding practices.  As such, it
> supports
> command-line arguments, multiple languages, and so on.")
>     (home-page "https://www.gnu.org/software/hello/")
>     (license gpl3+)))
> $ guix lint -L /tmp/t my-hello
> $ echo $?
> 0
> $ guix show -L /tmp/t my-hello
> name: my-hello
> version: 2.10
> outputs: out
> systems: x86_64-linux i686-linux
> dependencies:
> location: /tmp/t/my-hello.scm:8:2
> homepage: https://www.gnu.org/software/hello/
> license: GPL 3+
> synopsis: Saluton, mondo GNU: ekzemplo de pako GNU
> description: GNU Hello montras la mesaĝon "Hello, world!" kaj finiĝas.  Ĝi
> funkcias kiel ekzemplo de norma
> + kodumada tradicio de GNU.  Tiel, ĝi subtenas komand-liniajn argumentojn,
> plurajn lingvojn, kaj tiel plu.
>
> $ guix describe
> Generacio 152   Aug 04 2020 17:34:23    (nuna)
>   guix abe3c5e
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: abe3c5ed7d04985c987e6c81aeb1284354ea0c77
> --8<---------------cut here---------------end--------------->8---
>
> Do you still have this problem?
>
> (Besides, ‘canonicalize-path’ should be used sparsely: it’s quite
> expensive and sometimes confusing for users.  With the proposed patches,
> “-L /does/not/exist” would now lead to an error.)
>
> Thanks,
> Ludo’.
>
>
>
>