Subject: bug#65456: [PATCH v3] self: Build guix/ and gnu/packages/ directories in 26 steps.

From: Janneke Nieuwenhuizen <[email-masked]>
Date: Thu, 24 Aug 2023 07:33:38 +0200

Janneke Nieuwenhuizen writes:

Hi!

> Ludovic Courtès writes:
>
> Hi!
>
>> Janneke Nieuwenhuizen <[email-masked]> skribis:
>>
[..]
>> In fact, guix/*.go is entirely missing, it seems:
>
> Right...that makes sense now that I look at the code again.
>
> Wait...I probably even experienced this breakage after running `guix
> pull' on the Hurd but failed to notice its cause, the missing guix/*.go,
> and ascribed it to "something" being broken on Hurd.  So the good news
> is that we'll most probably have guix pull work on the Hurd after fixing
> this!

So, some good news at last; I can confirm that using v4 of this patch we
now have "guix pull", pulling from a local git directory, now fully
working on the Hurd!  (When pulling from a git url, I get "Illegal
instruction" while receiving objects.)

See log below.

Greetings,
Janneke

/ssh:childhurd1:/root/src/guix/wip-hurd/ #$ guix pull --url=https://gitlab.com/janneke/guix --branch=wip-hurd
Updating channel 'guix' from Git repository at 'https://gitlab.com/janneke/guix'...
guix pull: error: Git error: the SSL certificate is invalid
/ssh:childhurd1:/root/src/guix/wip-hurd/ #$ guix pull --url=http://gitlab.com/janneke/guix --branch=wip-hurd
Updating channel 'guix' from Git repository at 'http://gitlab.com/janneke/guix'...
guix pull: error: Git error: the SSL certificate is invalid
/ssh:childhurd1:/root/src/guix/wip-hurd/ #$ guix install nss-certs
guix install: warning: Consider running 'guix pull' followed by
'guix package -u' to get up-to-date packages and security updates.

The following package will be installed:
   nss-certs 3.88.1

substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
The following derivations will be built:
  /gnu/store/z1jyx8lyhgr1gykiky5wjh5mncwvp6ls-profile.drv
  /gnu/store/p3kkmm8ap3z68irnzl6dsq9clkzrg9cj-nss-certs-3.88.1.drv
  /gnu/store/cjkisarl0gcwrvgcc3hklz63x7dz6ji2-nss-3.88.1.tar.xz.drv
  /gnu/store/iwsyc1bvgn9x7qg0x3an5g2q23a6l2xk-certdata2pem-0.0.0.drv

71.6 MB will be downloaded
 certdata2pem.c  2KiB                                 23KiB/s 00:00 [##################] 100.0%
 nss-3.88.1.tar.gz  68.3MiB                          2.1MiB/s 00:32 [##################] 100.0%
building /gnu/store/iwsyc1bvgn9x7qg0x3an5g2q23a6l2xk-certdata2pem-0.0.0.drv...
building /gnu/store/cjkisarl0gcwrvgcc3hklz63x7dz6ji2-nss-3.88.1.tar.xz.drv...
building /gnu/store/p3kkmm8ap3z68irnzl6dsq9clkzrg9cj-nss-certs-3.88.1.drv...
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
building directory of Info manuals...
building profile with 1 package...
killing process 174: Invalid argument
killing process 175: Invalid argument
/ssh:childhurd1:/root/src/guix/wip-hurd/ #$ guix pull --url=https://gitlab.com/janneke/guix --branch=wip-hurd
Updating channel 'guix' from Git repository at 'https://gitlab.com/janneke/guix'...
guix pull: error: Git error: the SSL certificate is invalid
/ssh:childhurd1:/root/src/guix/wip-hurd/ #$ bash -login
root@guixydevel ~/src/guix/wip-hurd# 
root@guixydevel ~/src/guix/wip-hurd# guix pull --url=https://gitlab.com/janneke/guix --branch=wip-hurd
Updating channel 'guix' from Git repository at 'https://gitlab.com/janneke/guix'...
receiving objects  49% [##################################                                   ]Illegal instruction (core dumped)
root@guixydevel ~/src/guix/wip-hurd# guix pull --url=$PWD --branch=wip-hurd
Updating channel 'guix' from Git repository at '/root/src/guix/wip-hurd'...
guix pull: error: Git error: cannot locate remote-tracking branch 'origin/keyring'
root@guixydevel ~/src/guix/wip-hurd# git branch keyring origin/keyring
branch 'keyring' set up to track 'origin/keyring'.
root@guixydevel ~/src/guix/wip-hurd# guix pull --url=$PWD --branch=wip-hurd
Updating channel 'guix' from Git repository at '/root/src/guix/wip-hurd'...
Authenticating channel 'guix', commits 9edb3f6 to beb2704 (26 new commits)...
guix pull: warning: pulled channel 'guix' from a mirror of https://git.savannah.gnu.org/git/guix.git, which might be stale
Building from this channel:
  guix      /root/src/guix/wip-hurd	beb2704
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
building /gnu/store/67p25fiinjvm1h0ga8bays6d0kyy0dp4-config.scm.drv...
building /gnu/store/iy189p9rd62ymac23l83h6vz86sx775y-git.scm.drv...
building /gnu/store/w5ld3vgpsd7im25zqjrk7rxpw3j6km3j-hash.scm.drv...
building /gnu/store/151iwm03mirbpbgsrrmxnpr97bj5w1ps-module-import.drv...
building /gnu/store/sdnlhfdqrg0kkh33adg4dcb15qnx4205-module-import.drv...
building /gnu/store/s835yp2frsy9mf4ha7q0b3mrg4mc78sc-module-import-compiled.drv...
building /gnu/store/sc3ik9br6k1fzkczg51qr54d9ilkl268-module-import-compiled.drv...
building /gnu/store/yn9hi0kmyygk29s79fa44nqh0wqip82n-compute-guix-derivation.drv...
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
 bash                                                       389KiB/s 00:02 | 907KiB transferred
 dbus-1.14.0                                                1.2MiB/s 00:00 | 355KiB transferred
 guile-json-3.5.0                                            5.9MiB/s 00:00 | 61KiB transferre|
 guix-1.4.0-12.329069a-checkout                            2.2MiB/s 00:09 | 20.3MiB transferred
 libdaemon-0.14                                           +inf.0TiB/s 00:00 | 39KiB transferred
 libevent-2.1.12                                            167KiB/s 00:03 | 463KiB transferred
 mkdir                                                      155KiB/s 00:03 | 432KiB transferred
 avahi-0.8                                                  229KiB/s 00:02 | 466KiB transferred
 tar                                                        3.2MiB/s 00:00 | 840KiB transferred
 guile-avahi-0.4.1                                            26KiB/s 00:03 | 73KiB transferred
 xz                                                         670KiB/s 00:01 | 529KiB transferred
building /gnu/store/nr3r518p14rj0672q37c320fkd00r01y-guix-daemon-1.4.0-12.329069a.drv...
\ 'build' phaseild-log 286 52
  CXX      nix/nix-daemon/guix_daemon-guix-daemon.o
| 'build' phase47
  CXX      nix/libstore/libstore_a-pathlocks.o
/ 'make-dynamic-linker-cache' phas/
killing process 283: Invalid argument
killing process 284: Invalid argument
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
The following derivations will be built:
  /gnu/store/k6z2f845lqzkz2h4q60w089rzl7p7ay7-profile.drv
  /gnu/store/k3rsfdspx1bqicpsv6vn6crw9lxqpwba-guix-beb270468.drv
  /gnu/store/8wyidapyb2qibc1qsizm6r64fz2xjcw9-guix-manual.drv
  /gnu/store/q2a7nzpg6i5qrh7w1mzzbp12lgwd0f75-guix-translated-texinfo.drv
  /gnu/store/9fcfgcbswidhr8snjf7zqfyn4znahnmf-guix-beb270468-modules.drv
  /gnu/store/2kdrxg03299x7n0gb3zrlwvrdgna3gi7-guix-packages-base-modules.drv
  /gnu/store/vz2mic633i2biqn8v4b4znkl8mxdyasy-guix-packages-base.drv
  /gnu/store/0hxl8ck28afjvx5q6ga0sgpfywbchizw-guix-core.drv
  /gnu/store/n8z3r1vp95lrzbbq17h04j087cm6hmv2-guix-core-source.drv
  /gnu/store/va8ncxqnbmljnxf5vn0rv62mz6lkyk0m-config.scm.drv
  /gnu/store/v7mn3gb4jbh0qq5yy161rckw4vww6gbv-guix-extra.drv
  /gnu/store/5qhkmkxwap8fykf5y1fwxxq9kz2yw2x2-guix-core-modules.drv
  /gnu/store/fwjkn1cf3yjxg8znddbri1f560g60rb2-guix-cli-core-modules.drv
  /gnu/store/x2h3sb1vpf2nf58byyxfgl79b4pyckn9-guix-cli-core.drv
  /gnu/store/l07fiikl45adg3iv6ff4p0f3qbf6splw-guix-system-modules.drv
  /gnu/store/gzgizh4wmbzdhdc9gmx9q9dz2jkxrdcd-guix-system.drv
  /gnu/store/i8qmsx9myyykv8s2n6f3mrg20nclb43k-guix-packages.drv
  /gnu/store/ljphi1irng8cc3vnqpfcfxy0rq1i4nv8-guix-config-modules.drv
  /gnu/store/f4n6bxkzb1r06j1r600ivdll3cbhcvxv-guix-config.drv
  /gnu/store/hq8s053m2bi184xr5wnymwi56hx2820k-guix-config-source.drv
  /gnu/store/k6mz0x5yv13dsmhg0247zj19yb5ckjp0-config.scm.drv
  /gnu/store/lqnmqbi39g7rxmfzs31ricahanaqmbbl-guix-packages-modules.drv
  /gnu/store/rcfi26j7jyfnmc9cwp2cznacmm40viii-guix-extra-modules.drv
  /gnu/store/sx0lrfjii302l72y2rzry1g1pn9x7awh-guix-system-tests-modules.drv
  /gnu/store/43qri996hp9lmjk3dbqp19w2j7s0ixf2-guix-system-tests.drv
  /gnu/store/z2wrv851s184asfp90zccmbzi37xbfmz-guix-cli.drv
  /gnu/store/650wrs5h0css6baqq2zyj4cyn46dlcyx-guix-home.drv
  /gnu/store/vvby7fdf2500fy7v6vl7jp6xcvd0psik-guix-cli-modules.drv
  /gnu/store/xj31wyyq7i234bgss9dbagcci8siny5s-guix-home-modules.drv
  /gnu/store/bjb1s22wxm427aig9kwygc7298nkzfjj-guix-daemon.drv
  /gnu/store/kfnmjag44n6d6giwkmlckf5gqnxx2wid-guix-command.drv
  /gnu/store/abh52n6ddp3i9w2hj75vqlgx44ynfwv5-guix-locale-guix-packages.drv
  /gnu/store/p9kdrf7vxihq5gl85wmlpqrz3pd16naq-guix-locale-guix.drv
  /gnu/store/shgbmdpa189mk7kza5fi6x1dmh0d9d0z-guix-module-union.drv
  /gnu/store/jl04xar2gc4c0aybslgcnzg2b8ir551p-guix-misc.drv
  /gnu/store/66fa0pvf2c24kl3dvhh4n4f8j4s0kzhi-guix-daemon.cil.drv
  /gnu/store/50fk0z57vprxh13pp000alz6200lm9r6-profile.drv
  /gnu/store/ij3cnmqmcfg8jd81j1k87xski8cifp2h-inferior-script.scm.drv

5 items will be downloaded
 module-import-compiled                                      800KiB/s 00:00 | 64KiB transferred
 guile-wrapper                                                160KiB/s 00:00 | 3KiB transferred
 module-import-compiled                                      541KiB/s 00:00 | 81KiB transferred
 module-import-compiled                                     860KiB/s 00:00 | 138KiB transferred
 module-import-compiled                                      328KiB/s 00:00 | 10KiB transferred
building /gnu/store/k6mz0x5yv13dsmhg0247zj19yb5ckjp0-config.scm.drv...
building /gnu/store/va8ncxqnbmljnxf5vn0rv62mz6lkyk0m-config.scm.drv...
building /gnu/store/hq8s053m2bi184xr5wnymwi56hx2820k-guix-config-source.drv...
building /gnu/store/n8z3r1vp95lrzbbq17h04j087cm6hmv2-guix-core-source.drv...
building /gnu/store/f4n6bxkzb1r06j1r600ivdll3cbhcvxv-guix-config.drv...
building /gnu/store/0hxl8ck28afjvx5q6ga0sgpfywbchizw-guix-core.drv...
building /gnu/store/ljphi1irng8cc3vnqpfcfxy0rq1i4nv8-guix-config-modules.drv...
building /gnu/store/5qhkmkxwap8fykf5y1fwxxq9kz2yw2x2-guix-core-modules.drv...
building /gnu/store/66fa0pvf2c24kl3dvhh4n4f8j4s0kzhi-guix-daemon.cil.drv...
building /gnu/store/v7mn3gb4jbh0qq5yy161rckw4vww6gbv-guix-extra.drv...
building /gnu/store/abh52n6ddp3i9w2hj75vqlgx44ynfwv5-guix-locale-guix-packages.drv...
building /gnu/store/rcfi26j7jyfnmc9cwp2cznacmm40viii-guix-extra-modules.drv...
building /gnu/store/p9kdrf7vxihq5gl85wmlpqrz3pd16naq-guix-locale-guix.drv...
building /gnu/store/jl04xar2gc4c0aybslgcnzg2b8ir551p-guix-misc.drv...
building /gnu/store/vz2mic633i2biqn8v4b4znkl8mxdyasy-guix-packages-base.drv...
building /gnu/store/q2a7nzpg6i5qrh7w1mzzbp12lgwd0f75-guix-translated-texinfo.drv...
building /gnu/store/x2h3sb1vpf2nf58byyxfgl79b4pyckn9-guix-cli-core.drv...
building /gnu/store/8wyidapyb2qibc1qsizm6r64fz2xjcw9-guix-manual.drv...
building /gnu/store/fwjkn1cf3yjxg8znddbri1f560g60rb2-guix-cli-core-modules.drv...
building /gnu/store/2kdrxg03299x7n0gb3zrlwvrdgna3gi7-guix-packages-base-modules.drv...
building /gnu/store/i8qmsx9myyykv8s2n6f3mrg20nclb43k-guix-packages.drv...
building /gnu/store/lqnmqbi39g7rxmfzs31ricahanaqmbbl-guix-packages-modules.drv...
building /gnu/store/gzgizh4wmbzdhdc9gmx9q9dz2jkxrdcd-guix-system.drv...
building /gnu/store/650wrs5h0css6baqq2zyj4cyn46dlcyx-guix-home.drv...
building /gnu/store/l07fiikl45adg3iv6ff4p0f3qbf6splw-guix-system-modules.drv...
building /gnu/store/z2wrv851s184asfp90zccmbzi37xbfmz-guix-cli.drv...
building /gnu/store/xj31wyyq7i234bgss9dbagcci8siny5s-guix-home-modules.drv...
building /gnu/store/vvby7fdf2500fy7v6vl7jp6xcvd0psik-guix-cli-modules.drv...
building /gnu/store/43qri996hp9lmjk3dbqp19w2j7s0ixf2-guix-system-tests.drv...
building /gnu/store/sx0lrfjii302l72y2rzry1g1pn9x7awh-guix-system-tests-modules.drv...
building /gnu/store/9fcfgcbswidhr8snjf7zqfyn4znahnmf-guix-beb270468-modules.drv...
building /gnu/store/shgbmdpa189mk7kza5fi6x1dmh0d9d0z-guix-module-union.drv...
building /gnu/store/kfnmjag44n6d6giwkmlckf5gqnxx2wid-guix-command.drv...
building /gnu/store/bjb1s22wxm427aig9kwygc7298nkzfjj-guix-daemon.drv...
building /gnu/store/k3rsfdspx1bqicpsv6vn6crw9lxqpwba-guix-beb270468.drv...
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
building directory of Info manuals...
building profile with 1 package...
building /gnu/store/ij3cnmqmcfg8jd81j1k87xski8cifp2h-inferior-script.scm.drv...
building package cache...
building profile with 1 package...
hint: Consider setting the necessary environment variables by running:

     GUIX_PROFILE="/root/.config/guix/current"
     . "$GUIX_PROFILE/etc/profile"

Alternately, see `guix package --search-paths -p "/root/.config/guix/current"'.

hint: After setting `PATH', run `hash guix' to make sure your shell refers to
`/root/.config/guix/current/bin/guix'.

root@guixydevel ~/src/guix/wip-hurd#      GUIX_PROFILE="/root/.config/guix/current"
     . "$GUIX_PROFILE/etc/profile"
~/src/guix/wip-hurd# type -p guix
/root/.config/guix/current/bin/guix
root@guixydevel ~/src/guix/wip-hurd# guix --version
guix (GNU Guix) beb27046836d60974390f6a940167e8b5def1066
Copyright (C) 2023 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.
root@guixydevel ~/src/guix/wip-hurd# guix describe
Generation 1	Aug 24 2023 01:34:21	(current)
  guix beb2704
    repository URL: /root/src/guix/wip-hurd
    branch: wip-hurd
    commit: beb27046836d60974390f6a940167e8b5def1066
root@guixydevel ~/src/guix/wip-hurd# guix shell -D guix
hint: Consider passing the `--check' option once to make sure your shell does not clobber
environment variables.

root@guixydevel ~/src/guix/wip-hurd [env]# guix build hello
substitute: updating substitutes from 'http://dezyne.org:8181'... 100.0%
The following file will be downloaded:
  /gnu/store/cqnh7hih2n42mfx3x9yy11i3jzyn6gqj-hello-2.12.1
substituting /gnu/store/cqnh7hih2n42mfx3x9yy11i3jzyn6gqj-hello-2.12.1...
downloading from http://dezyne.org:8181/nar/zstd/cqnh7hih2n42mfx3x9yy11i3jzyn6gqj-hello-2.12.1 ...
 hello-2.12.1                                                297KiB/s 00:00 | 74KiB transferred

/gnu/store/cqnh7hih2n42mfx3x9yy11i3jzyn6gqj-hello-2.12.1
root@guixydevel ~/src/guix/wip-hurd [env]# 

-- 
Janneke Nieuwenhuizen <[email-masked]>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com