From: Maxime Devos <maximedevos@telenet.be>
To: 61212@debbugs.gnu.org
Subject: bug#61212: guix substitute: EEXISTS
Date: Wed, 1 Feb 2023 15:13:11 +0100 [thread overview]
Message-ID: <cb9eedb1-25aa-0f66-3f20-bdfecd60c05a@telenet.be> (raw)
[-- Attachment #1.1.1: Type: text/plain, Size: 19780 bytes --]
I'm getting the following error message when doing "guix home reconfigure":
retrying download of
'/gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3' with other
substitute URLs...
guix substitute: fout: mkdir: Bestand bestaat al
vervanging van /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3
mislukt
I.e.:
guix substitute: error: mkdir: File already exists.
substitution of [...] failed.
This "mkdir" error looks like a bug somewhere.
Note that I've configured the daemon with:
(build-accounts 40)
(extra-options '("--gc-keep-derivations" "--gc-keep-outputs"
"--max-jobs=14"))
so maybe this is a concurrency bug in the subsitution code of Guix.
Interestingly, /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3
does indeed exist:
stat /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3/
Bestand: /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3/
Grootte: 32 Blokken: 0 IO-blok: 4096 map
Apparaat: 17h/23d Inode: 48606737 Koppelingen: 1
Toegang: (0755/drwxr-xr-x) UID: ( 0/ root) GID: ( 0/
root)
Toegang: 2023-02-01 14:25:04.314541307 +0100
Gewijzigd: 2023-02-01 14:25:12.290587598 +0100
Veranderd: 2023-02-01 14:25:12.290587598 +0100
Ontstaan: 2023-02-01 14:25:04.314541307 +0100
(Looking at the clock, this directory _appears_ to be made after the
first run of "guix home reconfigure" and before the second run, but I
didn't look at the clock when doing the first run, so don't take my word
for it.)
Some untested hypotheses:
* The substitution code first tried to download from substitute server
A. It seemed to work for a while, so a bunch of files were being
written to /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3.
However, substitution server A bailed out for whatever reason, so
the substitution code stopped downloading and started with
downloading from server. While reasonable on its own, the
substitution code forgot that there still were some remains
from the previous attempt by server A and forgot to delete them
before unpacking the nar from server B.
* For some reason, the substitution of efl is done twice, each time in
a different max jobs (I'm running with --max-jobs=14, which I
_think_ enables concurrency by default instead of only setting a
maximum). Hence the two jobs step on each other toes.
* Maybe a previous build or substitution of efl was interrupted
or failed, but for whatever reason Guix didn't clean up afterwards,
and now during the substitution of efl, the substitution code
neglected to clean up the remains.
(I consider the first the most likely, given the "retrying download ...
with other substitute URLs" line.)
I've added the full output of "guix home reconfigure" below. As I did
"guix home reconfigure" twice in a row because the first one failed,
I've also included the output of the first command in case it's somehow
relevant.
(Also, lots of missing newlines in 'substitute: updating list of
substitutes ...')
> antipode@antipode ~$ guix home reconfigure ~/source-code/guix-configuration/home-configuration.scm
> substitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerkesubstitute: lijst van substituten van ‘https://ci.guix.gnu.org’ aan het bijwerken... 100.0%
> substitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bisubstitute: lijst van substituten van ‘https://bordeaux.guix.gnu.org’ aan het bijwerken... 100.0%
> substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het substitute: lijst van substituten van ‘https://substitutes.nonguix.org’ aan het bijwerken... 100.0%
> The following derivations will be built:
> /gnu/store/vxp570dv8h5mswhrhxwkikv4m48844ib-icedove-102.7.0.drv
> /gnu/store/g2ghyr5vzx9x2v5ry4w17crmx6g7j29l-libpng-apng-1.6.39.drv
> /gnu/store/0ps6aaj6ylgq5ljcafzplbdna2xf4lk5-libpng-1.6.39-apng.patch.gz.drv
> /gnu/store/kw34n5qiqk1y4nr6rjz07l9gdvhrf3v3-libpng-1.6.39.tar.xz.drv
> /gnu/store/wy59zlpj9qz5bbcr41893v6wsc3vbj96-icecat-102.7.0-guix0-preview1.drv
>
> 1.150,5 MB zal binnengehaald worden
> emacs-compat-29.1.3.1 78KiB 1.4MiB/s 00:00 [##################] 100.0%
> /gnu/store/0ps6aaj6ylgq5ljcafzplbdna2xf4lk5-libpng-1.6.39-apng.patch.gz.drv bouwen...
> /
> substitutie van /gnu/store/bblks4c4i69jcpwarfbqzp724k0cgh84-xdg-utils-1.1.3 is klaar
> /gnu/store/kw34n5qiqk1y4nr6rjz07l9gdvhrf3v3-libpng-1.6.39.tar.xz.drv bouwen...
> /
> substitutie van /gnu/store/316vagyi04jy2mxy4d2r2wdc6r8r15gr-emacs-magit-3.3.0-2.c883fab is klaar
> -
> substitutie van /gnu/store/idzvf47w9x3wk6ycyc9n453cqp8y6pcg-libgnome-2.32.1 is klaar
> |
> substitutie van /gnu/store/yl8lc7skdha6fgv5snw1glc7hn72a2ga-rust-cbindgen-0.23.0 is klaar
>
> substitutie van /gnu/store/3vyv00nfafqm2ngqj83jap50xkf4dnib-ffmpeg-5.1.2 is klaar
> /gnu/store/g2ghyr5vzx9x2v5ry4w17crmx6g7j29l-libpng-apng-1.6.39.drv bouwen...
> - 'build' fase
> substitutie van /gnu/store/i80akl23paxs4mqz70lmfaiknl94s31b-ffmpeg-jami-5.0.1 is klaar
> \ 'build' faseguix substitute: waarschuwing: tijdens het binnenhalen van https://substitutes.nonguix.org/nar/zstd/rk9njj43f1bllm2knsakq8iamnhrr688-firefox-109.0: de server is een beetje traag
> guix substitute: waarschuwing: probeer ‘--no-substitutes’ als het probleem hardnekkig is
> guix substitute: fout: connect*: Verbinding is verlopen
> vervanging van /gnu/store/rk9njj43f1bllm2knsakq8iamnhrr688-firefox-109.0 mislukt
> guix home: fout: some substitutes for the outputs of derivation `/gnu/store/ffgjc355r1warf1h1kqxhkk7laxy8kf9-firefox-109.0.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source
> antipode@antipode ~$ guix home reconfigure ~/source-code/guix-configuration/home-configuration.scm
> The following derivations will be built:
> /gnu/store/vxp570dv8h5mswhrhxwkikv4m48844ib-icedove-102.7.0.drv
> /gnu/store/g2ghyr5vzx9x2v5ry4w17crmx6g7j29l-libpng-apng-1.6.39.drv
> /gnu/store/wy59zlpj9qz5bbcr41893v6wsc3vbj96-icecat-102.7.0-guix0-preview1.drv
>
> 1.128,2 MB zal binnengehaald worden
> /gnu/store/g2ghyr5vzx9x2v5ry4w17crmx6g7j29l-libpng-apng-1.6.39.drv bouwen...
> - 'check' fase
> substitutie van /gnu/store/8qv0ih19dgv5v4svbvgygzd187fvq3d7-evolution-3.46.0 is klaar
>
> substitutie van /gnu/store/znm70qmra0xjgrn8qd02k7p070cj6aiw-qtbase-6.3.1 is klaar
> guix substitute: waarschuwing: tijdens het binnenhalen van https://ci.guix.gnu.org/nar/lzip/xdd3wqszjpqdz42vxkjs62r9vn0a80db-qtpositioning-6.3.1: de server is een beetje traag
> guix substitute: waarschuwing: probeer ‘--no-substitutes’ als het probleem hardnekkig is
> guix substitute: waarschuwing: tijdens het binnenhalen van https://ci.guix.gnu.org/nar/lzip/88c7xwkk191b4rmhzhq2a2n4gca0psil-qtsvg-6.3.1: de server is een beetje traag
> guix substitute: waarschuwing: probeer ‘--no-substitutes’ als het probleem hardnekkig is
> guix substitute: waarschuwing: tijdens het binnenhalen van https://ci.guix.gnu.org/nar/lzip/pcvlf9irb3jrjvf1zl5434cijiqcvdd7-qtdeclarative-6.3.1: de server is een beetje traag
> guix substitute: waarschuwing: probeer ‘--no-substitutes’ als het probleem hardnekkig is
>
> substitutie van /gnu/store/88c7xwkk191b4rmhzhq2a2n4gca0psil-qtsvg-6.3.1 is klaar
>
> substitutie van /gnu/store/xdd3wqszjpqdz42vxkjs62r9vn0a80db-qtpositioning-6.3.1 is klaar
> guix substitute: waarschuwing: tijdens het binnenhalen van https://ci.guix.gnu.org/nar/lzip/08r8kp99wr7ckg12ns28ir89hm0ppr9d-qtnetworkauth-6.3.1: de server is een beetje traag
> guix substitute: waarschuwing: probeer ‘--no-substitutes’ als het probleem hardnekkig is
>
> substitutie van /gnu/store/08r8kp99wr7ckg12ns28ir89hm0ppr9d-qtnetworkauth-6.3.1 is klaar
>
> substitutie van /gnu/store/pcvlf9irb3jrjvf1zl5434cijiqcvdd7-qtdeclarative-6.3.1 is klaar
>
> substitutie van /gnu/store/r4siy9s1vbzj0386mibdrkm3h8n836lm-qt5compat-6.3.1 is klaar
>
> substitutie van /gnu/store/qylfyv55y8iahq7r5vqascmsqq6269sf-qtmultimedia-6.3.1 is klaar
>
> substitutie van /gnu/store/akf2xghb77nj2iva7gbbb7yvqf1kqqag-libreoffice-7.4.3.2 is klaar
>
> substitutie van /gnu/store/y194ch6dkn971xph16gyg6p0j48z6ql4-endless-sky-0.9.16.1 is klaar
>
> substitutie van /gnu/store/zi56fka0w6s7ymm626kjfzz28bgkbapr-rust-1.60.0 is klaar
>
> substitutie van /gnu/store/1l25vd3l6mz6wbj6y5smik15l2hqmisv-thunderbird-102.7.0-checkout is klaar
> retrying download of '/gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3' with other substitute URLs...
> guix substitute: fout: mkdir: Bestand bestaat al
> vervanging van /gnu/store/xv60bjqprqr1v90fiv94y99cd0mhkm46-efl-1.26.3 mislukt
> guix home: fout: some substitutes for the outputs of derivation `/gnu/store/hi1mnvra4ww1p03ljs02fj8jpij2v2yc-jami-20221220.0956.79e1207.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
reply other threads:[~2023-02-01 14:14 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cb9eedb1-25aa-0f66-3f20-bdfecd60c05a@telenet.be \
--to=maximedevos@telenet.be \
--cc=61212@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).