Subject: bug#36592: closed (Re: bug#36592: no output for guix package -f when the file evaluates to nothing)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 20 Sep 2019 07:43:01 +0000

Your bug report

#36592: no output for guix package -f when the file evaluates to nothing

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

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

Subject: Re: bug#36592: no output for guix package -f when the file evaluates to nothing
From: Ludovic Courtès <[email-masked]>
To: Julien Lepiller <[email-masked]>
Cc: [email-masked]
Date: Fri, 20 Sep 2019 09:42:22 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Julien Lepiller <[email-masked]> 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’.

Subject: no output for guix package -f when the file evaluates to nothing
From: Julien Lepiller <[email-masked]>
To: [email-masked]
Date: Thu, 11 Jul 2019 11:31:04 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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.