Subject: bug#33238: Fail nicely when profile is not found

From: swedebugia <[email-masked]>
Date: Fri, 2 Nov 2018 09:00:17 +0100

Hi

I installed guix from AUR and ran into this:

$ guix pull -l
Backtrace:
            8 (apply-smob/1 #<catch-closure 55dd9a29b6e0>)
In ice-9/boot-9.scm:
     705:2  7 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
     619:8  6 (_ #(#(#<directory (guile-user) 55dd9a356140>)))
In guix/ui.scm:
   1578:12  5 (run-guix-command _ . _)
In ice-9/boot-9.scm:
     829:9  4 (catch srfi-34 #<procedure 55dd9b57f7e0 at guix/ui.scm…> …)
     829:9  3 (catch system-error #<procedure 55dd9b57f880 at guix/s…> …)
     829:9  2 (catch git-error #<procedure 55dd9b57f640 at guix/scri…> …)
     829:9  1 (catch system-error #<procedure 55dd9acab900 at guix/s…> …)
In unknown file:
            0 (raise #<condition &profile-not-found-error [profile: "…>)

ERROR: In procedure raise:
Wrong type (expecting exact integer): #<condition 
&profile-not-found-error [profile: "/home/egil/.config/guix/current"] 
55dd9ac9a240>

The install went fine but guix is not working :/ so I will do a manual 
binary install instead.

I could try crafting a patch testing if the directory exist if somebody 
is willing to point me to the right file (and perhaps an example of a 
procedure that can check this)

Cheers
Swedebugia

$ guix --version
guix (GNU Guix) 0.15.0
Copyright (C) 2018 the Guix authors
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.