Circular dependency woes with gcc variables

2022-12-01 Thread Maxim Cournoyer
Hi,

After struggling for a couple hours (!) with top level cycles when
attempting to use the procedures from (gnu packages cross-base), I've
decided to try to have top level pre-defined variables for these in a
new module.  The idea was that a new module could minimize the
inter-dependencies at the top level:

Put in : gnu/packages/cross-toolchains.scm
--8<---cut here---start->8---
(define-module (gnu packages cross-toolchains)
  #:use-module (gnu packages cross-base)
  #:autoload (gnu packages gcc) (gcc-9))

(define-public xgcc-armhf
  (let ((triplet "arm-linux-gnueabihf"))
(cross-gcc triplet
   #:xbinutils (cross-binutils triplet)
   #:libc (cross-libc triplet

(define-public xgcc-armhf-9
  (let ((triplet "arm-linux-gnueabihf"))
(cross-gcc triplet
   #:xgcc gcc-9
   #:xbinutils (cross-binutils triplet)
   #:libc (cross-libc triplet
  #:xgcc gcc-9
--8<---cut here---end--->8---

And register in gnu/local.mk like:

--8<---cut here---start->8---
modified   gnu/local.mk
@@ -185,6 +185,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/crates-graphics.scm \
   %D%/packages/crates-gtk.scm  \
   %D%/packages/cross-base.scm  \
+  %D%/packages/cross-toolchains.scm\
   %D%/packages/crypto.scm  \
   %D%/packages/cryptsetup.scm  \
   %D%/packages/cups.scm\
--8<---cut here---end--->8---

When we try to build, we get:

--8<---cut here---start->8---
Compiling Scheme modules...
[ 78%] LOAD gnu/packages/cross-toolchains.scm
error: failed to load 'gnu/packages/cross-toolchains.scm':
ice-9/eval.scm:293:34: No variable named gcc-9 in #
--8<---cut here---end--->8---

Is there a way to get passed that?  Everything I've tried (lazily
resolving gcc-9, delaying via 'delay', etc. hasn't worked).  It'd be
nice to have the cross-compilers more readily available/usable.

-- 
Thanks,
Maxim



Heads-up: ABI changed, rebuild needed

2022-12-01 Thread Ludovic Courtès
Hi!

With the changes resulting from ,
specifically commit 7c1161dba4c8930d3a500a72ccaaaf50df73f466, the record
ABI has changed so we need to run:

  make clean-go && make

Ludo’.



Re: GNU Guix 1.4.0rc1 available for testing!

2022-12-01 Thread Svante Signell
On Thu, 2022-12-01 at 10:17 +0100, Ludovic Courtès wrote:
> Hello Guix!
> 
> The first release candidate of the upcoming 1.4.0 release is now
> available for testing:

What about hurd?



Re: GNU Guix 1.4.0rc1 available for testing!

2022-12-01 Thread Luis Felipe
Hello Guix :)

Just to report that I installed the Guix System successfully in my new-old 
machine using 
https://alpha.gnu.org/gnu/guix/guix-system-install-1.4.0rc1.x86_64-linux.iso:

OS: Guix System x86_64
Host: 20324 Lenovo IdeaPad Flex 10
Kernel: 6.0.10-gnu
Uptime: 26 mins
Packages: 59 (guix-system), 2 (guix-user)
Shell: bash 5.1.8
Resolution: 1366x768
DE: GNOME 42.4
Theme: Adwaita [GTK2/3]
Icons: Adwaita [GTK2/3]
Terminal: .kgx-real
CPU: Intel Celeron N2806 (2) @ 1.999GHz
GPU: Intel Atom Processor Z36xxx/Z37xxx Series Graphics & Display
Memory: 1109MiB / 1871MiB

Thanks a lot for the hard work!

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


signature.asc
Description: OpenPGP digital signature


Re: Help with G-expression

2022-12-01 Thread zimoun
Hi,

On Thu, 01 Dec 2022 at 18:21, "("  wrote:
> On Thu Dec 1, 2022 at 5:34 PM GMT, zimoun wrote:
>> View build log at 
>> '/var/log/guix/drvs/g1/jbxhhz4b7zcyixhy4vw13brn2fncia-module-import-compiled.drv.gz'.
>
> What's in this file? :)

--8<---cut here---start->8---
Backtrace:
  16 (primitive-load "/gnu/store/hld85lyaq7k2h4qzbmlgiflypcx?")
In ice-9/eval.scm:
619:8 15 (_ #f)
In srfi/srfi-1.scm:
   460:18 14 (fold # ?)
   460:18 13 (fold # ?)
In ice-9/eval.scm:
619:8 12 (_ #(#(#) # ?))
In ice-9/boot-9.scm:
   2835:4 11 (save-module-excursion #)
In unknown file:
  10 (primitive-load "./guix/profiles.scm")
In ice-9/eval.scm:
   721:20  9 (primitive-eval (define-module (guix profiles) # (# ?) ?))
In ice-9/psyntax.scm:
  1230:36  8 (expand-top-sequence ((define-module (guix #) # (?) ?)) ?)
  1222:19  7 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?)
   259:10  6 (parse _ (("placeholder" placeholder)) (()) _ c (eval) ?)
In ice-9/eval.scm:
   293:34  5 (_ #)
In ice-9/boot-9.scm:
   3409:4  4 (define-module* _ #:filename _ #:pure _ #:version _ # _ ?)
  2594:24  3 (call-with-deferred-observers #)
  3422:24  2 (_)
   222:17  1 (map1 (((guix config) #:select (%state-directory)) (?) ?))
   3329:6  0 (resolve-interface (guix config) #:select _ #:hide _ # _ ?)

ice-9/boot-9.scm:3329:6: In procedure resolve-interface:
no code for module (guix config)
--8<---cut here---end--->8---

Then,

(guix utils)
(guix memoization)
(guix profiling)
(guix build syscalls)

and I stopped try-error the game before completing. :-)


Cheers,
simon



Re: Help with G-expression

2022-12-01 Thread (
On Thu Dec 1, 2022 at 5:34 PM GMT, zimoun wrote:
> View build log at 
> '/var/log/guix/drvs/g1/jbxhhz4b7zcyixhy4vw13brn2fncia-module-import-compiled.drv.gz'.

What's in this file? :)

-- (


signature.asc
Description: PGP signature


Help with G-expression

2022-12-01 Thread zimoun
Hi,

Trying to make a Guix script for extracting BigBlueButton videos – the
ones from Café Guix for instance – I am very puzzled by G-expression.

Well, I am trying to adapt this one [1].  But I am failing…

The manual has this example [1],

--8<---cut here---start->8---
(with-imported-modules '((guix build utils))  ;import it
  (computed-file "empty-tree"
 #~(begin
 ;; Put it in scope.
 (use-modules (guix build utils))

 ;; Happily use its 'mkdir-p' procedure.
 (mkdir-p (string-append #$output "/a/b/c")
--8<---cut here---end--->8---

Which I turn into a function, and from “guix repl”

--8<---cut here---start->8---
scheme@(guix-user)> (define (work)
  (with-imported-modules '((guix build utils))  ;import it
(computed-file "empty-tree"
   #~(begin
   ;; Put it in scope.
   (use-modules (guix build utils))

   ;; Happily use its 'mkdir-p' procedure.
   (mkdir-p (string-append #$output "/a/b/c"))

scheme@(guix-user)> ,build (work)
$1 = "/gnu/store/d8psk7dsczqj65sc8bqigpi6ffhd0wvn-empty-tree"
--8<---cut here---end--->8---

where “tree /gnu/store/d8psk7dsczqj65sc8bqigpi6ffhd0wvn-empty-tree” shows the 
tree a/b/c.  So far, so
good.

If instead, I just add the module (guix profiles), then it fails.

--8<---cut here---start->8---
scheme@(guix-user)> (define (fail)
  (with-imported-modules '((guix build utils)
   (guix profiles))  ;import it
(computed-file "empty-tree"
   #~(begin
   ;; Put it in scope.
   (use-modules (guix build utils))

   ;; Happily use its 'mkdir-p' procedure.
   (mkdir-p (string-append #$output "/a/b/c"))
scheme@(guix-user)> ,build (fail)
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 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
building 
/gnu/store/g1jbxhhz4b7zcyixhy4vw13brn2fncia-module-import-compiled.drv...
 50% [ 
]builder for 
`/gnu/store/g1jbxhhz4b7zcyixhy4vw13brn2fncia-module-import-compiled.drv' failed 
with exit code 1
build of /gnu/store/g1jbxhhz4b7zcyixhy4vw13brn2fncia-module-import-compiled.drv 
failed
View build log at 
'/var/log/guix/drvs/g1/jbxhhz4b7zcyixhy4vw13brn2fncia-module-import-compiled.drv.gz'.
cannot build derivation 
`/gnu/store/ln5yb7lvdknr3azc5zh2m3239adgmsjj-empty-tree.drv': 1 dependencies 
couldn't be built
While executing meta-command:
ERROR:
  1. :
  message: "build of 
`/gnu/store/ln5yb7lvdknr3azc5zh2m3239adgmsjj-empty-tree.drv' failed"
  status: 100
--8<---cut here---end--->8---

Well, the message is not really helping. :-)

Then, because I am not sure to fully understand the difference, let add
’source-module-closure’.

--8<---cut here---start->8---
scheme@(guix-user)> ,use(guix modules)
scheme@(guix-user)> (define (fail-again)
  (with-imported-modules (source-module-closure
  '((guix build utils)
(guix profiles)))  ;import it
(computed-file "empty-tree"
   #~(begin
   ;; Put it in scope.
   (use-modules (guix build utils))

   ;; Happily use its 'mkdir-p' procedure.
   (mkdir-p (string-append #$output "/a/b/c"))
scheme@(guix-user)> ,build (fail-again)
While executing meta-command:
Throw to key `match-error' with args `("match" "no matching pattern" 
(#:declarative? #f #:export (%guix-package-name %guix-version 
%guix-bug-report-address %guix-home-page-url %channel-metadata %system 
%store-directory %state-directory %store-database-directory %config-directory 
%gzip %bzip2 %xz)))'.
--8<---cut here---end--->8---

Ah, another message.  Not helping either. :-)


What do I miss or am doing wrong?


1: 

2: https://guix.gnu.org/manual/devel/en/guix.html#Build-Utilities

Cheers,
simon



Re: GNU Guix 1.4.0rc1 available for testing!

2022-12-01 Thread Luis Felipe
Hello,


On Thursday, December 1st, 2022 at 09:17, Ludovic Courtès  wrote:


> system installation:
> https://alpha.gnu.org/gnu/guix/guix-system-install-1.4.0rc1.i686-linux.iso
> https://alpha.gnu.org/gnu/guix/guix-system-install-1.4.0rc1.x86_64-linux.iso

I get 404 for the latter :)

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


signature.asc
Description: OpenPGP digital signature


Guile-Gcrypt 0.4.0 released

2022-12-01 Thread Ludovic Courtès
I’m pleased to announce Guile-Gcrypt version 0.4.0:

  git clone https://notabug.org/cwebber/guile-gcrypt.git
  cd guile-gcrypt
  git checkout v0.4.0  # or 425554d4327eeeb60c39e3d4a1b7bc5e36b63953
  git tag -v v0.4.0

The ‘git tag -v’ command checks the authenticity of your checkout.
You may need to retrieve the signing key first:

  gpg --keyserver pool.sks-keyservers.net \
  --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5

Guile-Gcrypt provides Guile 3.0/2.x bindings to the GNU Libgcrypt
cryptography library.  It provides modules for cryptographic hash
functions, message authentication codes (MAC), public-key cryptography,
strong randomness, and more.

Excerpt from the ‘NEWS’ file:

  * Changes in 0.4.0 (since 0.3.0)
  ** ‘base64-encode’ and ‘base64-decode’ now let you optionally control padding
  ** New supported algorithms added to (gcrypt hash)
  ** New supported algorithms added to (gcrypt mac)
  ** Improvements and fixes to the manual

Guile-Gcrypt does not currently wrap all the Libgcrypt API.  Your help
in improving it is very welcome!  For bug reports and patches, see:

  https://notabug.org/cwebber/guile-gcrypt

Plain email to Chris or myself or guile-user would also work fine.  :-)

Ludo’.


signature.asc
Description: PGP signature


GNU Guix 1.4.0rc1 available for testing!

2022-12-01 Thread Ludovic Courtès
Hello Guix!

The first release candidate of the upcoming 1.4.0 release is now
available for testing:

  source:
https://alpha.gnu.org/gnu/guix/guix-1.4.0rc1.tar.gz

  binary tarball (to install on a “foreign distro”):
https://alpha.gnu.org/gnu/guix/guix-binary-1.4.0rc1.aarch64-linux.tar.xz
https://alpha.gnu.org/gnu/guix/guix-binary-1.4.0rc1.armhf-linux.tar.xz
https://alpha.gnu.org/gnu/guix/guix-binary-1.4.0rc1.i686-linux.tar.xz
https://alpha.gnu.org/gnu/guix/guix-binary-1.4.0rc1.powerpc64le-linux.tar.xz
https://alpha.gnu.org/gnu/guix/guix-binary-1.4.0rc1.x86_64-linux.tar.xz

  system installation:
https://alpha.gnu.org/gnu/guix/guix-system-install-1.4.0rc1.i686-linux.iso
https://alpha.gnu.org/gnu/guix/guix-system-install-1.4.0rc1.x86_64-linux.iso

  virtual machine image:

https://alpha.gnu.org/gnu/guix/guix-system-vm-image-1.4.0rc1.x86_64-linux.qcow2

SHA256 hashes:

  2d9486b0689bf74d38ed4e09b020543d66cc1d9f2ec64e82557f6bebcf54c711  
guix-1.4.0rc1.tar.gz
  3853608a25e3540270900060e34b8ac973d69d2d64b2fc65981e2578fd4c09ba  
guix-binary-1.4.0rc1.aarch64-linux.tar.xz
  1f871cd1a54b347c6311503ed4d68a663af74c187131477d4d067221692e3eee  
guix-binary-1.4.0rc1.armhf-linux.tar.xz
  5abe711d2570032e807db1740b6c3d44ca3ecc552ff3677180c07cc39a4476ff  
guix-binary-1.4.0rc1.i686-linux.tar.xz
  4425d3d3e6c5a9f8a3aacab9579d7a96180e6dac7f60a04d2360dd5d1409b96d  
guix-binary-1.4.0rc1.powerpc64le-linux.tar.CZ
  63ac7e299c9d6cfc185d8f49c5672656c8836531e1c25566861899d6f72d0bad  
guix-binary-1.4.0rc1.x86_64-linux.tar.xz
  b13f8d65a05afc1ca178617d9e8e6e55d399717a114f90048e519d21800904f1  
guix-system-install-1.4.0rc1.i686-linux.iso
  57367f2a89f1c0a6929f363bf19ec4b73bef443ffb84c6c5ddbdd76e96adc7c0  
guix-system-install-1.4.0rc1.x86_64-linux.iso
  e1751326b5d1849dc7b21454c45decf9489e57b2049b49ffe7e77258dba5  
guix-system-vm-image-1.4.0rc1.x86_64-linux.qcow2

All these files have an associated ‘.sig’, an OpenPGP signature that you
can verify as explained at
 [0].

You can help by:

  1. Testing the binary tarball on the distro of your choice.  You can
 download  and uncomment the
 ‘GNU_URL’ variable assignment that refers to alpha.gnu.org.  It
 should pick up 1.4.0rc1 automatically.

  2. Testing the graphical installer of Guix System (the ISO images).

  3. Testing the VM image, along the lines of
 .

Please report success to guix-devel@gnu.org, and report bugs and
annoyances to bug-g...@gnu.org.

Thanks in advance!

Ludo’.

[0] Replacing https://sv.gnu.org/people/viewgpg.php?user_id=127547 by
https://sv.gnu.org/people/viewgpg.php?user_id=15145 in the
instructions.  This will only be reflected on the website after the
release is made.


signature.asc
Description: PGP signature