--- Begin Message ---
Subject: |
no output for guix package -f when the file evaluates to nothing |
Date: |
Thu, 11 Jul 2019 11:31:04 +0200 |
User-agent: |
K-9 Mail for Android |
Users tend to copy what they see in our code base, so it's not rare to have to
help them realise that if their last statement is (define-public ...), the file
doesn't evaluate to a package.
Running guix build -f mypackage.scm at least gives an error saying it doesn't
know how to compile #<unspecified>.
Running guix package -f mypackage.scm returns immediately with no error message
and a status of 0, but doesn't actually build or install anything. You can even
try with an empty file :)
There should be an error message, and probably even a hint.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#36592: no output for guix package -f when the file evaluates to nothing |
Date: |
Fri, 20 Sep 2019 09:42:22 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello,
Julien Lepiller <address@hidden> skribis:
> Users tend to copy what they see in our code base, so it's not rare to have
> to help them realise that if their last statement is (define-public ...), the
> file doesn't evaluate to a package.
>
> Running guix build -f mypackage.scm at least gives an error saying it doesn't
> know how to compile #<unspecified>.
>
> Running guix package -f mypackage.scm returns immediately with no error
> message and a status of 0, but doesn't actually build or install anything.
> You can even try with an empty file :)
>
> There should be an error message, and probably even a hint.
Fixed in f9c0400392843540a87985a67ffb9fb6e4dbc2fa. It doesn’t provide a
hint though.
I thought we may want to provide ‘load*’ a type predicate that it would
check, so that it can say “got #<undefined>, expected <package>”.
However, we’d need a contract rather than a mere predicate to have nice
error reporting, so I decided to punt on this for now.
Ludo’.
--- End Message ---