Subject: bug#22836: closed (Re: bug#22836: “guix build-S” fails when “source” is #f)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 27 Sep 2016 09:48:01 +0000

Your bug report

#22836: “guix build -S” fails when “source” is #f

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

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

Subject: Re: bug#22836: “guix build -S” fails when “source” is #f
From: [email-masked] (Ludovic Courtès)
To: Ricardo Wurmus <[email-masked]>
Cc: [email-masked]
Date: Tue, 27 Sep 2016 11:47:42 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Ricardo Wurmus <[email-masked]> skribis:

> I just did this:
>
>     guix build -S xfce
>
> This resulted in this error message:
>
> ~~~~~~~~~~~~~~~~~~~~~~~
> Backtrace:
> In ice-9/boot-9.scm:
>  157: 18 [catch #t #<catch-closure 19a6780> ...]
> In unknown file:
>    ?: 17 [apply-smob/1 #<catch-closure 19a6780>]
> In ice-9/boot-9.scm:
>   63: 16 [call-with-prompt prompt0 ...]
> In ice-9/eval.scm:
>  432: 15 [eval # #]
> In ice-9/boot-9.scm:
> 2401: 14 [save-module-excursion #<procedure 19c4940 at ice-9/boot-9.scm:4045:3 ()>]
> 4050: 13 [#<procedure 19c4940 at ice-9/boot-9.scm:4045:3 ()>]
> 1724: 12 [%start-stack load-stack ...]
> 1729: 11 [#<procedure 19dbea0 ()>]
> In unknown file:
>    ?: 10 [primitive-load "/home/rekado/dev/guix/scripts/guix"]
> In guix/ui.scm:
> 1177: 9 [run-guix-command build "-S" "xfce"]
> In ice-9/boot-9.scm:
>  157: 8 [catch srfi-34 #<procedure 205a080 at guix/ui.scm:413:2 ()> ...]
>  157: 7 [catch system-error ...]
> In guix/scripts/build.scm:
>  638: 6 [#<procedure 205a120 at guix/scripts/build.scm:634:2 ()>]
>  591: 5 [options->derivations #<build-daemon 256.15 280efc0> (# # # # ...)]
> In srfi/srfi-1.scm:
>  646: 4 [append-map #<procedure 280ebc0 at guix/scripts/build.scm:591:16 (expr)> #]
>  578: 3 [map #<procedure 280ebc0 at guix/scripts/build.scm:591:16 (expr)> (#)]
> In guix/scripts/build.scm:
>  598: 2 [#<procedure 280ebc0 at guix/scripts/build.scm:591:16 (expr)> #]
> In guix/store.scm:
> 1017: 1 [#<procedure 206fbe0 at guix/store.scm:1016:26 (store . args)> # #f]
> In guix/packages.scm:
> 1073: 0 [origin->derivation #f "x86_64-linux"]
>
> guix/packages.scm:1073:2: In procedure origin->derivation:
> guix/packages.scm:1073:2: Throw to key `match-error' with args `("match" "no matching pattern" #f)'.
> ~~~~~~~~~~~~~~~~~~~~~~~
>
> That’s expected, because the “xfce” package is a meta-package and thus
> does not have any sources of its own.  The “source” field is “#f”.

Fixed in 8a54c0ec694ad6e22b155d167552b8fd0914e82d.

I made it a warning so that one can still use things like:

  guix build -S `guix package -A | cut -f1`

Thanks!

Ludo’.

Subject: “guix build -S” fails when“source” is #f
From: Ricardo Wurmus <[email-masked]>
To: [email-masked]
Date: Sun, 28 Feb 2016 11:58:34 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

I just did this:

    guix build -S xfce

This resulted in this error message:

~~~~~~~~~~~~~~~~~~~~~~~
Backtrace:
In ice-9/boot-9.scm:
 157: 18 [catch #t #<catch-closure 19a6780> ...]
In unknown file:
   ?: 17 [apply-smob/1 #<catch-closure 19a6780>]
In ice-9/boot-9.scm:
  63: 16 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 15 [eval # #]
In ice-9/boot-9.scm:
2401: 14 [save-module-excursion #<procedure 19c4940 at ice-9/boot-9.scm:4045:3 ()>]
4050: 13 [#<procedure 19c4940 at ice-9/boot-9.scm:4045:3 ()>]
1724: 12 [%start-stack load-stack ...]
1729: 11 [#<procedure 19dbea0 ()>]
In unknown file:
   ?: 10 [primitive-load "/home/rekado/dev/guix/scripts/guix"]
In guix/ui.scm:
1177: 9 [run-guix-command build "-S" "xfce"]
In ice-9/boot-9.scm:
 157: 8 [catch srfi-34 #<procedure 205a080 at guix/ui.scm:413:2 ()> ...]
 157: 7 [catch system-error ...]
In guix/scripts/build.scm:
 638: 6 [#<procedure 205a120 at guix/scripts/build.scm:634:2 ()>]
 591: 5 [options->derivations #<build-daemon 256.15 280efc0> (# # # # ...)]
In srfi/srfi-1.scm:
 646: 4 [append-map #<procedure 280ebc0 at guix/scripts/build.scm:591:16 (expr)> #]
 578: 3 [map #<procedure 280ebc0 at guix/scripts/build.scm:591:16 (expr)> (#)]
In guix/scripts/build.scm:
 598: 2 [#<procedure 280ebc0 at guix/scripts/build.scm:591:16 (expr)> #]
In guix/store.scm:
1017: 1 [#<procedure 206fbe0 at guix/store.scm:1016:26 (store . args)> # #f]
In guix/packages.scm:
1073: 0 [origin->derivation #f "x86_64-linux"]

guix/packages.scm:1073:2: In procedure origin->derivation:
guix/packages.scm:1073:2: Throw to key `match-error' with args `("match" "no matching pattern" #f)'.
~~~~~~~~~~~~~~~~~~~~~~~

That’s expected, because the “xfce” package is a meta-package and thus
does not have any sources of its own.  The “source” field is “#f”.

Guix should print a nice error message informing the user that the
requested package does not have any sources.

~~ Ricardo