Re: hydra.gnu.org off-line for maintenance

2018-10-26 Thread Luther Thompson
On Fri, 26 Oct 2018 00:23:57 -0400
George Clemmer  wrote:

> Leo Famulari  writes:
> 
> > On Thu, Oct 25, 2018 at 06:41:26PM -0400, Luther Thompson wrote:  
> >> How do we do that? I followed the link, but I can't find the info
> >> to pass to `guix archive --authorize` anywhere.  
> >
> > The signing keys can be found in the Guix package itself, at
> > 'share/guix/berlin.guixsd.org.pub'. For example:
> >
> > $ guix build guix
> > /gnu/store/zz3b7j4iv6v143v7cqyr77k83zc5n3zw-guix-0.15.0-6.f9a8fce
> > $ guix archive --authorize
> > < /gnu/store/guix-0.15.0-6.f9a8fce/share/guix/berlin.guixsd.org.pub
> >
> > It is described in the manual section Substitute Server
> > Authorization, although the use of 'prefix' in this context is a
> > little obscure:
> >
> > https://www.gnu.org/software/guix/manual/en/html_node/Substitute-Server-Authorization.html
> >
> > The keys can also be found in the Guix source code, which may be
> > more convenient:
> >
> > https://git.savannah.gnu.org/cgit/guix.git/tree/berlin.guixsd.org.pub  
> 
> Hi Luther,
> 
> In addition to what Leo said, I believe you also need to add this
> option ...
> 
> --substitute-urls=https://berlin.guixsd.org
> 
> ... to each guix command -or- add it to GUIX_BUILD_OPTIONS -or- add
> something like this to your system config ...
> 
> (define %my-services
>   (modify-services %base-services
> (guix-service-type config =>
>  (guix-configuration
>   (inherit config)
>   (substitute-urls (list
> "https://mirror.hydra.gnu.org; "https://hydra.gnu.org;
>  "https://berlin.guixsd.org;
>  ))
> ...
>   (services (cons*
>  ...
>%my-services))
> 
> HTH - George

Ok, I've followed Leo's and George's instructions, and it seems to be
working now. I see it downloading substitutes from both
berlin.guixsd.org and mirror.hydra.gnu.org. Thank you.

Luther



Re: Guix and Emacs Integration for Polyglot Development

2018-10-26 Thread George Clemmer


Hi Alex,

Oops, please disregard the problem reported earlier (cc below).  I had
the emacs-guix package installed at the same time the load path included
the source build. When I remove the package .. everything works fine.

George Clemmer  writes:

> Alex Kost  writes:
>
>>   Hint: since you are on this commit, you may check the new "M-x guix" -
>>   you will be the first person who will try it (maybe you will like it
>>   this time)  ;-)

I am sorry if I gave the impression that I disliked it. I do like the
new one better. It makes it easier to find and use Emacs-guix features.

I have another question. Is there a shortcut to
guix-installed-system-packages in the popup that I am missing?

> Yes, I saw that you moved the old guix to guix-command which sounds
> great and works here. Sadly, 'M-x guix' gives me a backtrace ...
>
> Debugger entered--Lisp error: (error "Autoloading file 
> /home/glc/gom/.gpm/gfg/emacs-guix/emacs-guix/elisp/guix-command.elc failed to 
> define function guix")
>   autoload-do-load((autoload "guix-command" "Popup window for 'guix'." t nil) 
> guix)
>   command-execute(guix record)
>   execute-extended-command(nil "guix" "guix")
>   funcall-interactively(execute-extended-command nil "guix" "guix")
>   call-interactively(execute-extended-command nil nil)
>   command-execute(execute-extended-command)



Evaluations on berlin.guixsd.org

2018-10-26 Thread Ludovic Courtès
Hello,

Clément Lassieur  skribis:

> But I noticed today that https://berlin.guixsd.org doesn't evaluate
> anything anymore[2], so you will only get old evaluations from it.

I believe this is fixed by fdf02484289e155de56e7320f7e1dd1e57431f4b.

Everyone: please make sure to run ‘guix lint’ before pushing, especially
when pushing patch series where it’s easy to overlook something.

The issue wasn’t easy to find in the middle of the Cuirass build log,
and it’s also problematic that Cuirass doesn’t distinguish between
failed evaluations and evaluations in progress.  We should look into
that sometime.  :-)

Thanks for the heads-up, Clément!

Ludo’.



Re: Guix and Emacs Integration for Polyglot Development

2018-10-26 Thread George Clemmer


Alex Kost  writes:

> George Clemmer (2018-10-26 00:59 -0400) wrote:
>
>> Hi Alex,
>
> Hello George!
>
>> I have been using code like ...
>>
>> (with-eval-after-load (quote guix-ui-profile)
>>   (setq guix-profiles
>>  (append (quote("/home/glc/gom/.guix-profile")) guix-profiles)))
>> (setq guix-current-profile "/home/glc/gom/.guix-profile")
>>
>> ... to add a "project" profile to *Guix Profile* and make it
>> current. This has my desired effect: "making" emacs-guix package-related
>> commands operate on a "project" profile instead of the "default user
>> profile". Using your commit ...
>>
>> 4ce2b6a * master origin/master Add new 'guix' command and rename the old
>> one to 'guix-command'
>
>   Hint: since you are on this commit, you may check the new "M-x guix" -
>   you will be the first person who will try it (maybe you will like it
>   this time)  ;-)

Yes, I saw that you moved the old guix to guix-command which sounds
great and works here. Sadly, 'M-x guix' gives me a backtrace ...

Debugger entered--Lisp error: (error "Autoloading file 
/home/glc/gom/.gpm/gfg/emacs-guix/emacs-guix/elisp/guix-command.elc failed to 
define function guix")
  autoload-do-load((autoload "guix-command" "Popup window for 'guix'." t nil) 
guix)
  command-execute(guix record)
  execute-extended-command(nil "guix" "guix")
  funcall-interactively(execute-extended-command nil "guix" "guix")
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

... with this emacs-guix config ...

;;; >>> /home/glc/gom//home/glc/gom/.gpm/gfg/emacs-guix/init.el
;; run emacs-guix from git checkout
(add-to-list 'load-path (substitute-in-file-name 
"$GPM_ROOT/.gpm/gfg/emacs-guix/emacs-guix/elisp"))
(require 'guix-autoloads nil t)

;; use guix from the Git working tree
(setq guix-load-path (substitute-in-file-name "$GPM_ROOT/.gpm/gfg/guix/guix"))

;; enable development mode 'C-c . _' functions in .scm buffers
(add-hook 'scheme-mode-hook 'guix-devel-mode)

;; don't use results, if any, of a guix pull
(setq guix-repl-use-latest nil)

;;; >>> /home/glc/gom//home/glc/gom/.gpm/gfg/geiser/init.el
;; run bleading-edge geiser
(load (substitute-in-file-name 
"$GPM_ROOT/.gpm/gfg/geiser/geiser/elisp/geiser-load") t)

;; enable development mode 'C-c . _' functions in .scm buffers
(add-hook 'scheme-mode-hook 'guix-devel-mode)

>> ... I tried "guix-set-emacs-environment" expecting it to be another way
>> to do the same thing.  I was surprised when it didn't add the "new"
>> profile to *Guix Profiles*. Shouldn't it do this, or am I missing
>> something? In fact, it doesn't seem to be doing anything :-(
>
> "M-x guix-set-emacs-environment" sets environment variables for Emacs
> itself!  For example, you may check "M-x getenv PATH" or other
> variables.  They should be augmented for the profile you selected.

Oh, DUH! Thanks!

- George



Re: Guix and Emacs Integration for Polyglot Development

2018-10-26 Thread Alex Kost
George Clemmer (2018-10-26 00:59 -0400) wrote:

> Hi Alex,

Hello George!

> I have been using code like ...
>
> (with-eval-after-load (quote guix-ui-profile)
>   (setq guix-profiles
>   (append (quote("/home/glc/gom/.guix-profile")) guix-profiles)))
> (setq guix-current-profile "/home/glc/gom/.guix-profile")
>
> ... to add a "project" profile to *Guix Profile* and make it
> current. This has my desired effect: "making" emacs-guix package-related
> commands operate on a "project" profile instead of the "default user
> profile". Using your commit ...
>
> 4ce2b6a * master origin/master Add new 'guix' command and rename the old
> one to 'guix-command'

  Hint: since you are on this commit, you may check the new "M-x guix" -
  you will be the first person who will try it (maybe you will like it
  this time)  ;-)

> ... I tried "guix-set-emacs-environment" expecting it to be another way
> to do the same thing.  I was surprised when it didn't add the "new"
> profile to *Guix Profiles*. Shouldn't it do this, or am I missing
> something? In fact, it doesn't seem to be doing anything :-(

"M-x guix-set-emacs-environment" sets environment variables for Emacs
itself!  For example, you may check "M-x getenv PATH" or other
variables.  They should be augmented for the profile you selected.

-- 
Alex



Re: hydra.gnu.org off-line for maintenance

2018-10-26 Thread Alex Vong
Hello,

For myself, I use the following option:

  --substitute-urls='https://berlin.guixsd.org https://mirror.guixsd.org 
https://mirror.hydra.gnu.org https://hydra.gnu.org'

I choose 'berlin.guixsd.org' to be the default because it seems to build
substitutes faster than 'hydra.gnu.org'.

Cheers,
Alex

Clément Lassieur  writes:

> Hi,
>
> Thomas Danckaert  writes:
>
>> Also, you may want to add this setting globally and permanently, so you don't
>> have to specify it every time you run guix.  You can do this by passing the
>> option to the guix daemon
>>
>>  - when using guix on another distribution with systemd, you can modify the
>> the ExecStart line in /etc/systemd/system/guix-daemon.service as follows:
>>
>> ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon
>> --build-users-group=guixbuild "--substitute-urls=https://mirror.hydra.gnu.org
>> https://berlin.guixsd.org;
>
> Note that https://mirror.hydra.gnu.org doesn't work well either[1].  You
> might be better off with just https://berlin.guixsd.org.
>
> But I noticed today that https://berlin.guixsd.org doesn't evaluate
> anything anymore[2], so you will only get old evaluations from it.
>
> At the moment I can't find any working solution.
>
> [1]: https://bugs.gnu.org/33151
> [2]: https://berlin.guixsd.org/jobset/guix-master
>
> Cheers,
> Clément


signature.asc
Description: PGP signature


Re: hydra.gnu.org off-line for maintenance

2018-10-26 Thread Tobias Geerinckx-Rice

Thorsten,

Thorsten Wilms wrote:

On 26/10/2018 11.28, Thomas Danckaert wrote:

ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon
--build-users-group=guixbuild
"--substitute-urls=https://mirror.hydra.gnu.org
https://berlin.guixsd.org;


Shouldn't that be:
---
ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon
--build-users-group=guixbuild
--substitute-urls="https://mirror.hydra.gnu.org 
https://hydra.gnu.org

https://berlin.guixsd.org;
---
?


Slow ol' hydra.gnu.org shouldn't be used directly like this, even 
though there's currently nothing stopping you from doing so and I 
suspect many do.


The mirror should suffice.

Kind regards,

T G-R



Re: hydra.gnu.org off-line for maintenance

2018-10-26 Thread Clément Lassieur
Hi,

Thomas Danckaert  writes:

> Also, you may want to add this setting globally and permanently, so you don't
> have to specify it every time you run guix.  You can do this by passing the
> option to the guix daemon
>
>  - when using guix on another distribution with systemd, you can modify the
> the ExecStart line in /etc/systemd/system/guix-daemon.service as follows:
>
> ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon
> --build-users-group=guixbuild "--substitute-urls=https://mirror.hydra.gnu.org
> https://berlin.guixsd.org;

Note that https://mirror.hydra.gnu.org doesn't work well either[1].  You
might be better off with just https://berlin.guixsd.org.

But I noticed today that https://berlin.guixsd.org doesn't evaluate
anything anymore[2], so you will only get old evaluations from it.

At the moment I can't find any working solution.

[1]: https://bugs.gnu.org/33151
[2]: https://berlin.guixsd.org/jobset/guix-master

Cheers,
Clément



Re: hydra.gnu.org off-line for maintenance

2018-10-26 Thread Thorsten Wilms

On 26/10/2018 11.28, Thomas Danckaert wrote:

Also, you may want to add this setting globally and permanently, so you 
don't have to specify it every time you run guix.  You can do this by 
passing the option to the guix daemon


  - when using guix on another distribution with systemd, you can modify 
the the ExecStart line in /etc/systemd/system/guix-daemon.service as 
follows:


ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon 
--build-users-group=guixbuild 
"--substitute-urls=https://mirror.hydra.gnu.org https://berlin.guixsd.org;


Shouldn't that be:
---
ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon 
--build-users-group=guixbuild 
--substitute-urls="https://mirror.hydra.gnu.org https://hydra.gnu.org 
https://berlin.guixsd.org;

---
?

By the way: when revisiting this issue, I found the manual a bit 
confusing.  You'll find all the information you need when you read the 
entire section on substitutes from front to back, but when you just try 
to find specific information using the headlines, it's a bit confusing.  
For example, to learn about --substitute-urls and the daemon settings 
for other substitute servers, you'll need to read "Official Substitute 
Server", which you might not do when looking to add another server.  The 
subtitle for "Substitute Server Authorization" says "How to enable or 
disable substitutes", but doesn't give all the information you need to 
enable another substitute server.


If people here agree, I'd be happy to send a documentation patch.


For whatever it may be worth, when I first read about 
https://berlin.guixsd.org, I wondered if it could/should be used 
additionally, looked at the documentation, found it confusing and then 
forgot about the issue.



--
Thorsten Wilms

thorwil's design for free software:
http://thorwil.wordpress.com/



Re: hydra.gnu.org off-line for maintenance

2018-10-26 Thread Thomas Danckaert

From: Jonathan Brielmaier 
Subject: Re: hydra.gnu.org off-line for maintenance
Date: Fri, 26 Oct 2018 08:01:11 +0200


It's described here:
https://www.gnu.org/software/guix/manual/en/guix.html#Substitute-Server-Authorization

So basically `guix archive --authorize < berlin.guixsd.org.pub`

and then run your commands with:
`--substitute-urls="https://berlin.guixsd.org`


Also, you may want to add this setting globally and permanently, so 
you don't have to specify it every time you run guix.  You can do 
this by passing the option to the guix daemon


 - when using guix on another distribution with systemd, you can 
modify the the ExecStart line in 
/etc/systemd/system/guix-daemon.service as follows:


ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon 
--build-users-group=guixbuild 
"--substitute-urls=https://mirror.hydra.gnu.org 
https://berlin.guixsd.org;


 - when using GuixSD, modify guix-service in your system 
configuration, by specifying the substitute-urls in the 
configuration. (see guix-configuration in 
https://www.gnu.org/software/guix/manual/en/html_node/Base-Services.html 
)


By the way: when revisiting this issue, I found the manual a bit 
confusing.  You'll find all the information you need when you read 
the entire section on substitutes from front to back, but when you 
just try to find specific information using the headlines, it's a bit 
confusing.  For example, to learn about --substitute-urls and the 
daemon settings for other substitute servers, you'll need to read 
"Official Substitute Server", which you might not do when looking to 
add another server.  The subtitle for "Substitute Server 
Authorization" says "How to enable or disable substitutes", but 
doesn't give all the information you need to enable another 
substitute server.


If people here agree, I'd be happy to send a documentation patch.

Sincerely,

Thomas