unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
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 --]

             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

  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=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 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).