Hi,
zimoun <[email protected]> skribis:
> …but breaks with relative path:
>
> $ cd /tmp/
> $ guix lint -L example hi -c source-file-name
> Backtrace:
> 13 (primitive-load "/home/sitour/.config/guix/current/bin/guix")
> In guix/ui.scm:
> 2150:12 12 (run-guix-command _ . _)
> In ice-9/boot-9.scm:
> 1736:10 11 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
> 1731:15 10 (with-exception-handler #<procedure 7ff41750b750 at
> ice-9/boot-9.scm:1815:7 (exn)> _ #:unwind? _ #:unwind-for-type _)
> In srfi/srfi-1.scm:
> 634:9 9 (for-each #<procedure 7ff4175090e0 at
> guix/scripts/lint.scm:222:23 (spec)> ("hi"))
> In guix/scripts/lint.scm:
> 65:4 8 (run-checkers #<package [email protected] example/hello.scm:8
> 7ff415cc7dc0> (#<<lint-checker> name: source-file-name descripti…>) …)
> In srfi/srfi-1.scm:
> 634:9 7 (for-each #<procedure 7ff40797f480 at
> guix/scripts/lint.scm:65:14 (checker)> (#<<lint-checker> name:
> source-file-name…>))
> In guix/scripts/lint.scm:
> 74:21 6 (_ _)
> In guix/lint.scm:
> 897:9 5 (check-source-file-name _)
> 148:18 4 (%make-warning #<package [email protected] example/hello.scm:8
> 7ff415cc7dc0> "the source file name should contain the package n…" …)
> In ice-9/boot-9.scm:
> 1731:15 3 (with-exception-handler #<procedure 7ff40797f1e0 at
> ice-9/boot-9.scm:1815:7 (exn)> _ #:unwind? _ #:unwind-for-type _)
> In ice-9/ports.scm:
> 440:11 2 (call-with-input-file #f #<procedure 7ff40797f120 at
> guix/packages.scm:482:11 (port)> #:binary _ #:encoding _ # _)
> In unknown file:
> 1 (open-file #f "r" #:encoding #f #:guess-encoding #f)
> In ice-9/boot-9.scm:
> 1669:16 0 (raise-exception _ #:continuable? _)
>
> ice-9/boot-9.scm:1669:16: In procedure raise-exception:
> Wrong type (expecting string): #f
>
>
> The reason is from ’package-field-location’ in (guix packages):
>
> (catch 'system-error
> (lambda ()
> ;; In general we want to keep relative file names for modules.
> (call-with-input-file (search-path %load-path file)
Indeed. Fixed in 9a38bed2cf32e9462badfa43e74cdd4580e804fc.
Thanks!
Ludo’.