From: Giovanni Biscuolo <g@xelera.eu>
To: guix-devel@gnu.org
Subject: Guix direct checkout hacking
Date: Sat, 16 Mar 2019 12:24:27 +0100 [thread overview]
Message-ID: <87y35ft638.fsf@roquette.mug.biscuolo.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 4819 bytes --]
Hi Guix!
I'm learning to hack Guix following Pierre Neidhardt (kudos!) tutorial
[1] and the contributing section [2] of the manual
I want to hack Guix in my local working dir ($GUIX_CHECKOUT in the
tutorial) cloned while ago and periodically updated, I'd also like to do
my testing in a *separate* dedicated subdirectory,
e.g. $GUIX_CHECKOUT/packaging-tutorial for *strong* separation of my
high-volatile-and-useless tests from upstream (and I'm too lazy to setup
a channel for this simple use-case)
I still don't use "The Perfect Setup" because I want to do this "the
hard way" :-), aka using a simple terminal application (no eshell) and
the command line
I've some question and comments...
1. the hacking environment (aka "Building from Git)
I regurarly "git pull" in $GUIX_CHECKOUT and then "guix environment
guix": is it sufficient and necessary to "/.bootstrap" and then
"/.configure" every time I enter the environment in order to have a
working build environment?
Do I really need to "make check" every time I "activate" the devel
environment or after every "git pull" of my $GUIX_CHECKOUT?
Do I neeed to regurarly "make clean-go" to get rid of compiled .go or I
can ignore this step? If this step should be regurarly done: when?
(this is not documented, just my curiosity)
2. building (aka Running Guix Before It Is Installed)
I start the build daemon in the environment:
sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
The above command starts the deamon in foreground and should be
"manually" backugrounded (CTRL-Z && bg %<n>) to be able to continue to
use the environment: further hacking *cannot* be done in another
termininal, out of the environment configured in 1.
Furthermore, the guix-deamon process started in the environment must be
"manually killed" at the end of the "hacking session" (exit the
environment): right?
Should this be documented in the "7.2 Running Guix Before It Is
Installed" section of the manual?
Lastly, testing the building of the hello packages, gives me this error:
--8<---------------cut here---------------start------------->8---
(anemone)[~/{git}/giovanni.biscuolo.net/guix]-
giovanni@anemone: time ./pre-inst-env guix build hello
;;; note: source file /home/giovanni/{git}/giovanni.biscuolo.net/guix/guix/config.scm
;;; newer than compiled /home/giovanni/.cache/guile/ccache/2.2-LE-8-3.A/home/giovanni/{git}/giovanni.biscuolo.net/guix/guix/config.scm.go
accepted connection from pid 8872, user giovanni
substitute: ;;; note: source file /home/giovanni/{git}/giovanni.biscuolo.net/guix/guix/config.scm
substitute: ;;; newer than compiled /home/giovanni/.cache/guile/ccache/2.2-LE-8-3.A/home/giovanni/{git}/giovanni.biscuolo.net/guix/guix/config.scm.go
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
building /gnu/store/5fb2krx4aw8i54q066x16a1k6axf0cxm-hello-2.10.tar.gz.drv...
error: failed to run download program '/home/giovanni/{git}/giovanni.biscuolo.net/guix/nix/scripts/download': Permission denied
builder for `/gnu/store/5fb2krx4aw8i54q066x16a1k6axf0cxm-hello-2.10.tar.gz.drv' failed with exit code 1
build of /gnu/store/5fb2krx4aw8i54q066x16a1k6axf0cxm-hello-2.10.tar.gz.drv failed
View build log at '/usr/local/var/log/guix/drvs/5f/b2krx4aw8i54q066x16a1k6axf0cxm-hello-2.10.tar.gz.drv.bz2'.
cannot build derivation `/gnu/store/7b0rzwcbdml7z4njkv8jw7qb60y3hzra-hello-2.10.drv': 1 dependencies couldn't be built
guix build: error: build of `/gnu/store/7b0rzwcbdml7z4njkv8jw7qb60y3hzra-hello-2.10.drv' failed
Some deprecated features have been used. Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information. Set it to "no" to suppress
this message.
--8<---------------cut here---------------end--------------->8---
what am I doing wrong?
I got the same error even after deleting
/home/giovanni/.cache/guile/ccache/2.2-LE-8-3.A/home/giovanni/{git}/giovanni.biscuolo.net/guix/guix/config.scm.go
I triple checked the "Running Guix Before It Is Installed" [3] section
of the manual and did all described in 1. tree times, I still cannot
figure out if I'm doing something wrong
I suspect I have a problem with the build process started in the
environment, but still don't know what and how to solve
(end of the first part)
Thanks!
Giovanni
[1] https://guix.info/blog/2018/a-packaging-tutorial-for-guix/
[2]
https://www.gnu.org/software/guix/manual/en/html_node/Contributing.html#Contributing
[3] https://www.gnu.org/software/guix/manual/en/html_node/Running-Guix-Before-It-Is-Installed.html#Running-Guix-Before-It-Is-Installed
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
next reply other threads:[~2019-03-16 11:38 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-16 11:24 Giovanni Biscuolo [this message]
2019-03-16 11:54 ` Guix direct checkout hacking Danny Milosavljevic
2019-03-16 14:39 ` Giovanni Biscuolo
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y35ft638.fsf@roquette.mug.biscuolo.net \
--to=g@xelera.eu \
--cc=guix-devel@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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.