Re: git guix checkout automation for contributors

2022-09-25 Thread kiasoc5
Isn't there a checkout cache in ~/.cache/guix? Can guix edit be pointed
to the git repo in the cache as opposed to the system's?



Re: GNU Guix on iPad2 (A1395)

2022-09-25 Thread Csepp


Jacob Hrbek  writes:

> Context: I have this iPad 2 that I got as a gift from a friend who was 
> upgrading on the newer version to try
> to get me to like Apple. I hate it and it was in my storage unused for many 
> years so now I am trying to get
> GNU Guix on it with GNOME.
>
> To achieve this I merged the required packages in guix 
> (https://issues.guix.gnu.org/57902 and
> https://issues.guix.gnu.org/57871) and thanks to the jailbreaking community i 
> can use Checkm8 exploit
> (https://github.com/axi0mX/ipwndfu) to get full write access to the device 
> and unlock the bootloader to
> boot unsigned OS and linux-libre seems to have all required drivers to run on 
> the device, see the current
> progress in https://git.dotya.ml/kreyren/kreyren/issues/30
>
> The issue is that i can't get libusbmuxd (the daemon used to communicate with 
> iDevices from Linux) to
> work on GNU Guix likely due to a configuration error in guix to perform the 
> exploit and install guix, can
> someone help? https://github.com/libimobiledevice/ideviceinstaller/issues/147
>
> Any relevant info on how to get iPad 2 or other iDevices to work with GNU 
> Guix also appreciated.
>
> -- Jacob "Kreyren" Hrbek

Not a real answer, but have you tried contacting projects like
postmarketOS?  They have much more experience with this sort of thing
and might be able to help with configuration issues.



Re: What happens when you build a Guix package at every step?

2022-09-25 Thread david larsson

On 2022-09-25 19:28, jgart wrote:

What would be the best way to illustrate the levels of nesting and code
paths that get traversed when building a Guix package?

I'd like to make some sequence diagram notation or something else to
better understand what happens in a visual way.

wdyt


I like your idea! I'm probably not the most qualified person to answer 
it, since I am (also?) mainly using guix as a sparetime "hobby", but 
still very interested in learning more about it on a deeper level, which 
is a challenge. Some visual aids would definitely be helpful.


I think a shell of an answer would be to link together the following 
things in such a diagram:


1. gexps
2. the store
3. derivations
4. build systems
5. a package

Building a package in the repl, kind of illustrates the code paths via 
code modules used:


scheme@(guix-user)> ,use (guix gexp)
scheme@(guix-user)> ,use (guix store)
scheme@(guix-user)> ,use (guix derivations)
scheme@(guix-user)> ,use (gnu packages bash)

However, in my opinion, the reason we look for the diagram is partially 
bcs of that the concepts of the related things are relatively high level 
so that it takes a while to grasp them, just like monads or maybe higher 
order functions.


However, to continue the repl example:

scheme@(guix-user)> (define (sh-symlink)
  (gexp->derivation "sh"
#~(symlink (string-append #$bash "/bin/bash")
   #$output)))
scheme@(guix-user)> (build-derivations (open-connection) 
`(,(run-with-store (open-connection) (sh-symlink

$1 = #t

Now if you run just the (run-with-store (open-connection) (sh-symlink)) 
you will see the derivation path output, and if you then open a new 
terminal you can cat /gnu/store/shcvi6d1vgry26sq1i3qdmgsmh0n6wmi-sh.drv 
to see the build script without building it.


Now, to build a "package" after above code is loaded:
scheme@(guix-user)> ,use (guix packages)
scheme@(guix-user)> (build-derivations (open-connection) 
`(,(package-derivation (open-connection) bash)))
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 
100.0%
fetching path 
`/gnu/store/vk4r0x7baig8jnmsqrgrqpyq8qxr4gm3-bash-5.0.16-doc'...
Downloading 
https://ci.guix.gnu.org/nar/lzip/vk4r0x7baig8jnmsqrgrqpyq8qxr4gm3-bash-5.0.16-doc...
bash-5.0.16-doc  290KiB  750KiB/s 00:00 [##] 
100.0%

$2 = #t

And to only "inspect" it (so you can cat the /gnu/store/paths):
scheme@(guix-user)> (package-derivation (open-connection) bash)
$4 = #/gnu/store/cklj3xvrzrc930qwj1brmwr2dz4zbgd6-bash-5.0.16.drv => 
/gnu/store/vk4r0x7baig8jnmsqrgrqpyq8qxr4gm3-bash-5.0.16-doc 
/gnu/store/v1xc4405s7xilmwhhkdj8z55wa2wlr8y-bash-5.0.16-include 
/gnu/store/87kif0bpf0anwbsaw0jvg8fyciw4sz67-bash-5.0.16 7fc3d283e500>


Concepts:
  - code staging or "delayed evaluation" concepts
  - what is the store and what is a build environment
  - what is a derivation
  - and finally build systems (normal build steps) and a package (incl. 
dependency graphs).


The start reference point: 
https://guix.gnu.org/manual/en/html_node/Defining-Packages.html



I hope above helps.

Best regards,
David



Re: Capitole du Libre at Toulouse

2022-09-25 Thread Vagrant Cascadian
On 2022-09-25, Andreas Enge wrote:
> I am not quite sure how one presents a distribution at a booth, since
> there is not really much to attract the eye, or is there?

I know Debian used to have an automated debian-installer running on a
screen looping through all the supported languages of the installer.
Would be cool to implement something similar for Guix someday, but
probably not in a few weeks...

Maybe just a screen capture with large fonts of someone doing some guixy
things and play it on a loop?


live well,
  vagrant


signature.asc
Description: PGP signature


What happens when you build a Guix package at every step?

2022-09-25 Thread jgart
What would be the best way to illustrate the levels of nesting and code
paths that get traversed when building a Guix package?

I'd like to make some sequence diagram notation or something else to
better understand what happens in a visual way.

wdyt



Re: emacs-flymake-collection fails at install phase

2022-09-25 Thread jgart
On Sat, 24 Sep 2022 18:02:48 -0500 jgart  wrote:
> $ lr /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/environment-variables
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source/.github
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source/.github/header.jpg
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source/.github/workflows
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source/.github/workflows/lint.yml
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source/.github/workflows/test.yml
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source/.gitignore
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source/LICENSE
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source/Makefile
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source/README.org
> /tmp/guix-build-emacs-flymake-collection-1.0.1.drv-0/source/src

Am I being a silly guixer here and should be cd'ing into src? ^^^



Re: git guix checkout automation for contributors

2022-09-25 Thread Maxime Devos


On 25-09-2022 17:04, Danny Milosavljevic wrote:

Also, this doesn't work:

On Sun, 25 Sep 2022 16:06:06 +0200
Danny Milosavljevic  wrote:

(1) install the guix system
(2) log in as regular user
(3c) git clone --depth=1https://git.savannah.gnu.org/git/guix.git  guix \
&& cd guix \
&& guix shell


This issue had been reported in :

Liliana Marie Prikler wrote:

What would happen on the top-level of the Guix source tree or deep
inside the tree of a guile package that deals with manifests, that
aren't necessarily related to Guix?  I think we should try searching
for something less ambiguous first (".guix-shell/manifest" perhaps?)
and maybe also provide further options after manifest.scm (e.g. build-
aux/guix.scm or etc/guix.scm)


This issue was considered unlikely:

Ludovic Courtès wrote:

You mean a directory that contains a file named ‘guix.scm’ or
‘manifest.scm’ but that happens to do something completely unrelated?

We can never rule this out, but I’d say it’s unlikely (these two
conventions are rather well established) and it’s up to the user to pay
attention.

WDYT?


Later shown to be incorrect on the top-level of the Guix source tree 
more explicitly:


Maxime Devos wrote:

Guix itself doesn't follow this convention: the guix source tree has an 
unrelated
"guix.scm" file, that doesn't evaluate to a package.  I'd expect that running
"guix shell" within the guix source tree would be equivalent to
"guix environment guix", but currently this doesn't seem to be the case.


As such, it was proposed to leave out auto-detection of ‘guix.scm’:

Liliana Marie Prikler wrote: > Leaving out the auto-detection of 
‘guix.scm’ and ‘manifest.scm’ for now

is a good idea, given that Guix itself would be an edge-case for that.
[ proposed alternative solution ]


It was agreed that auto-detection fails here:

Ludovic Courtès wrote:

Guix itself doesn't follow this convention: the guix source tree has an 
unrelated
"guix.scm" file, that doesn't evaluate to a package.


Indeed, but that’s because Guix predates the convention.  :-)

Toggle quote (4 lines)

I'd expect that running "guix shell" within the guix source tree would
be equivalent to "guix environment guix", but currently this doesn't
seem to be the case.


Right, it would fail poorly in this particular case.


... and then ignored, AFAICT.

Greetings,
Maxime.


OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


Re: git guix checkout automation for contributors

2022-09-25 Thread Danny Milosavljevic
Also, this doesn't work:

On Sun, 25 Sep 2022 16:06:06 +0200
Danny Milosavljevic  wrote:

(1) install the guix system
(2) log in as regular user
(3c) git clone --depth=1 https://git.savannah.gnu.org/git/guix.git guix \
   && cd guix \
   && guix shell

Even after doing

echo /home/dannym/../guix >> 
/home/dannym/.config/guix/shell-authorized-directories

I get:

guix shell: loading environment from '/home/dannym/backup/g1/guix/guix.scm'...
Backtrace:
  14 (primitive-load "/home/dannym/.config/guix/current/bin/?")
In guix/ui.scm:
   2263:7 13 (run-guix . _)
  2226:10 12 (run-guix-command _ . _)
In ice-9/boot-9.scm:
  1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
  1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
In guix/store.scm:
   656:37  9 (thunk)
   1295:8  8 (call-with-build-handler # ?)
In guix/status.scm:
815:4  7 (call-with-status-report _ _)
In guix/scripts/environment.scm:
320:4  6 (_)
In srfi/srfi-1.scm:
   673:15  5 (append-map _ _ . _)
   586:29  4 (map1 _)
   586:17  3 (map1 ((load package "/home/dannym/backup/g1/guix/?") ?))
In guix/scripts/environment.scm:
306:4  2 (packages->outputs _ _)
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern" 
#)'.


pgpgX7B2ZACvX.pgp
Description: OpenPGP digital signature


git guix checkout automation for contributors

2022-09-25 Thread Danny Milosavljevic
Hi,

So there were some comments on https://news.ycombinator.com/item?id=32960308
about getting started with contributing to Guix.

It turns out that the barrier of entry for editing existing packages is
kinda high (I tried it myself--putting myself into the mindset of a
beginner).

For example:

(1) Install the guix system
(2) Log in as regular user
(3) guix edit nano
(4) It opens a file from /gnu/store that you cannot edit.

Uhh. That's... not ideal. Maybe instead error out with a hint on what you need
to do in order to provide a local checkout? Or do we want viewing to work?

Ok, so let's say we are a little more knowledgeable:

(1) Install the guix system
(2) Log in as regular user
(3a) if [ ! -d src ]
  then
mkdir src
cd src
  else
cd src
  fi \
  && if [ ! -d guix ]
  then
git clone --depth=1 https://git.savannah.gnu.org/git/guix.git guix
  else
(cd guix && git pull --rebase)
  fi \
  && cd guix \
  && guix shell -C -D guix -- ./bootstrap \
  && guix shell -C -D guix -- ./configure --localstatedir=/var --disable-daemon 
\
  && guix shell -C -D guix -- make -j5 \ <--- takes forever to build
  && ./pre-inst-env guix edit nano \
  && git add gnu/packages/*.scm

Ok, that worked.

But there are a lot of ways that can be done wrong.

Weird way it can be done wrong:

(1) install the guix system
(2) log in as regular user
(3b) git clone --depth=1 https://git.savannah.gnu.org/git/guix.git guix \
  && cd guix \
  && guix shell -C -D guix -- ./bootstrap \
  && guix shell -C -D guix -- ./configure --localstatedir=/var --disable-daemon 
\
  && ./pre-inst-env guix edit nano

It will open the file in /gnu/store . WTF? I'm pretty sure that that's a bug.

./pre-inst-env does exist--but it does some weird things if you don't
compile beforehand.

Also, can we put a variant of (3a) into a command "guix prepare-edit" or
something?
It has always bothered me how manual and magical-commandy it is otherwise
(what you actually need to do also changed over the years--not good).


pgp_9jOkgNAMH.pgp
Description: OpenPGP digital signature


Re: Capitole du Libre at Toulouse

2022-09-25 Thread Oliver Propst

On 2022-09-25 11:30, Andreas Enge wrote:

Hello,
Hi Anderas I think this sounds very interesting initiative. Thanks very 
much posting information about this.



Julien pointed out that the Capitole du Libre is going to take place
in Toulouse on the weekend of November 19 and 20:
   https://capitoledulibre.org/
and wondered whether we should ask for a booth. Time for this is 
running

out, we have until tomorrow, Monday, evening...
If we can afford it and people are interested in volunteering for the 
booth (and give submit a talk) why not.



The first question is whether we will be enough people; it looks like
Julien and I will be free, but two is not a lot, since of course we 
would

also like to wander around. With a lack of members in the Southwest of
France in Guix Europe, I took the liberty to cross-post guix-devel.
Would others be available and like to join?


I'm could be interested to join the efforts.


I am not quite sure how one presents a distribution at a booth, since
there is not really much to attract the eye, or is there?


If we just have *something* to show I guess we there should not to much 
of a hassle to have a conversation about Guix from that point on. In 
general I guess to be present at a conference like Capitole du Libre 
could be a great place to spread knowledge and interest about Guix, 
computational science etc.


Think if we had something like a booklet about Guix we could give out to 
participants at events like this that could be great I think...


--
Kinds regards Oliver Propst
https://twitter.com/Opropst



Fwd: Re: Capitole du Libre at Toulouse

2022-09-25 Thread Oliver Propst




 Original Message 
Subject: Re: Capitole du Libre at Toulouse
Date: 2022-09-25 15:46
From: Oliver Propst 
To: Andreas Enge 

On 2022-09-25 11:30, Andreas Enge wrote:

Hello,
Hi Andreas I think this sounds very interesting initiative. Thanks very 
much posting information about this.



Julien pointed out that the Capitole du Libre is going to take place
in Toulouse on the weekend of November 19 and 20:
   https://capitoledulibre.org/
and wondered whether we should ask for a booth. Time for this is 
running

out, we have until tomorrow, Monday, evening...
If we can afford it and people are interested in volunteering for the 
booth (and give submit a talk) why not.



The first question is whether we will be enough people; it looks like
Julien and I will be free, but two is not a lot, since of course we 
would

also like to wander around. With a lack of members in the Southwest of
France in Guix Europe, I took the liberty to cross-post guix-devel.
Would others be available and like to join?


I'm could be interested to join the efforts.


I am not quite sure how one presents a distribution at a booth, since
there is not really much to attract the eye, or is there?


If we just have *something* to show I guess we there should not to much 
of a hassle to have a conversation about Guix from that point on. In 
general I guess to be present at a conference like Capitole du Libre 
could be a great place to spread knowledge and interest about Guix, 
computational science etc.


Think if we had something like a booklet about Guix we could give out to 
participants at events like this that could be great I think...


--
Kinds regards Oliver Propst
https://twitter.com/Opropst



Re: Capitole du Libre at Toulouse

2022-09-25 Thread Nicolas Goaziou
Hello,

Andreas Enge  writes:

> Would others be available and like to join?

I may be able to come, at least some part of the week-end.

> I am not quite sure how one presents a distribution at a booth, since
> there is not really much to attract the eye, or is there?

Who cares about the distribution? Just distribute stickers! :)

Anyway, Debian and Mageia, at least, are usually there. So, why not
Guix?

Regards,
-- 
Nicolas Goaziou



Re: A golden GNU for you

2022-09-25 Thread Luis Felipe
Hi Felix,


On Sunday, September 25th, 2022 at 03:43, Felix Lechner via "Development of GNU 
Guix and the GNU System distribution."  wrote:

> Hi,
> 

> When reading about the reopening of Bhutan and its cross-country trail
> [1] I came across a lesser-known species of gnu goat that due to its
> yellow color could be an appropriate mascot for our beloved Guix.
> Sorry this message came late for the ten-year party. [2]
> 

> Unlike the African wildebeest that served as the inspiration for the
> GNU Project [3] Bhutan's takins—their national animals—also come in a
> golden color. [4] The golden variety lives exclusively in a mountain
> range in China and is very cute. [5][6]
> 

> There are also Sichuan takins [7] that are gold and black, and perhaps
> an even better fit!

I did know about the golden wildebeest that is more similar to a blue 
wildebeest (not many pics around though), but I didn't know about any of these 
furry animals, thanks for sharing.


> 

> P.S. I looked for a better Guix mailing list for a lighthearted
> message but could not find one.

I think it's ok. Things related to the guix-artwork repository have been 
discussed here before.

publickey - luis.felipe.la@protonmail.com - 0x12DE1598.asc
Description: application/pgp-keys


signature.asc
Description: OpenPGP digital signature


Re: Pick your team!

2022-09-25 Thread Lars-Dominik Braun
Hi Mathieu,

> 1. Defining your team scope, if you are already part of a team
I pushed scopes for the Haskell and Python teams, but especially for the
latter packages are all over the place and barely covered by file-based
scopes unfortunately.

Cheers,
Lars




Re: 02/04: services: Add samba service.

2022-09-25 Thread Lars-Dominik Braun
Hi Mathieu,

> I noticed that while the "samba" test
> works fine on my machine, it fails on the CI:
> https://ci.guix.gnu.org/build/1495525/log/raw
> any idea why?
it works on my machine too. The log above says 

---snip---
This is the GNU system.  Welcome.
komputilo login: In execvp of 
/gnu/store/996q9xpmk73l1z8mjx1yix3ri629jprb-samba-4.16.4/bin/smbclient: Invalid 
argument
In execvp of 
/gnu/store/996q9xpmk73l1z8mjx1yix3ri629jprb-samba-4.16.4/bin/smbclient: Invalid 
argument
---snap---

and the test is locally using a different smbclient
(/gnu/store/mmnawpyk0zn08cvhypj8a7ir95mk5fag-samba-4.16.4/bin/smbclient)
for me.

Lars




Capitole du Libre at Toulouse

2022-09-25 Thread Andreas Enge
Hello,

Julien pointed out that the Capitole du Libre is going to take place
in Toulouse on the weekend of November 19 and 20:
   https://capitoledulibre.org/
and wondered whether we should ask for a booth. Time for this is running
out, we have until tomorrow, Monday, evening...

The first question is whether we will be enough people; it looks like
Julien and I will be free, but two is not a lot, since of course we would
also like to wander around. With a lack of members in the Southwest of
France in Guix Europe, I took the liberty to cross-post guix-devel.
Would others be available and like to join?

I am not quite sure how one presents a distribution at a booth, since
there is not really much to attract the eye, or is there?
In any case, I took one of the Guix kakemonos home; in case I forget,
remind me that it is on an upper shelf in my (nicely painted) bikeshed.

All the best,

Andreas




Pick your team!

2022-09-25 Thread Mathieu Othacehe


Hello,

We recently introduced a teams.scm[1] file defining different teams such
as "Julia team", "Lisp team" or "Mentors".

If you are a newcomer seeking for some guidance to contribute to a Lisp
package, you can run the following command:

--8<---cut here---start->8---
mathieu@meije ~/guix [env]$ ./etc/teams.scm list-members lisp
Guillaume Le Vaillant 
jgart 
--8<---cut here---end--->8---

so that you know who can help you with you endeavor.

Now, we are going a step further, and by running:

--8<---cut here---start->8---
mathieu@meije ~/guix [env]$ git send-email --to XXX@@debbugs.gnu.org 
$(./etc/teams.scm cc-members HEAD~2 HEAD) *.patch
--8<---cut here---end--->8---

the teams concerned by the two last commits you are sending to review
will automatically by put in CC.

This is automatic but not magic! It works by defining a scope of files
that are mentored by a team. For instance, the installer team has the
following scope:

--8<---cut here---start->8---
(define-team installer
  (team 'installer
#:name "Installer script and system installer"
#:scope
(list (make-regexp "^guix/installer(\\.scm$|/)"
--8<---cut here---end--->8---

So, we can all improve this mechanism by:

1. Defining your team scope, if you are already part of a team

2. Joining a team

To do that, you can send patches to the etc/teams.scm.in file.

Thanks,

Mathieu

[1]: https://git.savannah.gnu.org/cgit/guix.git/tree/etc/teams.scm.in



Re: 02/04: services: Add samba service.

2022-09-25 Thread Mathieu Othacehe


Hello,

Thanks for this new service :) I noticed that while the "samba" test
works fine on my machine, it fails on the CI:

https://ci.guix.gnu.org/build/1495525/log/raw

any idea why?

Mathieu



PACKAGE MANAGEMENT IN GO

2022-09-25 Thread jgart
https://invidious.tiekoetter.com/watch?v=K8cL7Hw7g2E