bug#54037: LD_LIBRARY_PATH=$LIBRARY_PATH caused wrong libraries to be loaded

2022-02-18 Thread Simen Endsjø


My guess is I wanted to force the foreign distro to load a guix
installed library (when compiling something on the foreign distro..?
can't remember). Running `$ LD_LIBRARY_PATH= guix pull` works as normal.
So this is, as it most often is, an user error. Sorry for the noise.





bug#40998: [PATCH v2 2/4] initrd: Use non-hyphenated kernel command-line parameter names.

2022-02-18 Thread Maxim Cournoyer
This is to make it less surprising, given the common convention sets forth by
the kernel Linux command-line parameters.

* gnu/build/linux-boot.scm (boot-system): Rename '--load', '--repl', '--root'
and '--system' to 'gnu.load', 'gnu.repl', 'root' and 'gnu.system',
respectively.  Adjust doc.
(find-long-option): Adjust doc.
* gnu/installer/parted.scm (installer-root-partition-path): Adjust accordingly.
* gnu/system.scm (bootable-kernel-arguments): Add a VERSION argument and
update doc.  Use VERSION to conditionally return old style vs new style initrd
arguments.
(%boot-parameters-version): Increment to 1.
(operating-system-boot-parameters): Adjust doc.
(operating-system-boot-parameters-file): Likewise.
* gnu/system/linux-initrd.scm (raw-initrd, base-initrd): Likewise.
* doc/guix.texi: Adjust doc.
* gnu/build/activation.scm (boot-time-system): Adjust accordingly.
* gnu/build/hurd-boot.scm (boot-hurd-system): Likewise.
* gnu/packages/commencement.scm (%final-inputs-riscv64): Adjust comment.
---
 doc/guix.texi | 12 +-
 gnu/build/activation.scm  |  4 ++--
 gnu/build/hurd-boot.scm   | 12 +-
 gnu/build/linux-boot.scm  | 30 +++
 gnu/installer/parted.scm  |  2 +-
 gnu/machine/ssh.scm   |  5 ++--
 gnu/packages/commencement.scm |  4 ++--
 gnu/system.scm| 45 ++-
 gnu/system/linux-initrd.scm   |  4 ++--
 9 files changed, 66 insertions(+), 52 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index a4145af7fd..d3f9216563 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -34901,7 +34901,7 @@ honors several options passed on the Linux kernel 
command line
 @code{-append} option of QEMU), notably:
 
 @table @code
-@item --load=@var{boot}
+@item gnu.load=@var{boot}
 Tell the initial RAM disk to load @var{boot}, a file containing a Scheme
 program, once it has mounted the root file system.
 
@@ -34909,7 +34909,7 @@ Guix uses this option to yield control to a boot 
program that runs the
 service activation programs and then spawns the GNU@tie{}Shepherd, the
 initialization system.
 
-@item --root=@var{root}
+@item root=@var{root}
 Mount @var{root} as the root file system.  @var{root} can be a device
 name like @code{/dev/sda1}, a file system label, or a file system UUID.
 When unspecified, the device name from the root file system of the
@@ -34934,7 +34934,7 @@ or @code{preen} to repair problems considered safe to 
repair automatically.
 @code{preen} is the default if this option is not present or if @var{level}
 is not one of the above.
 
-@item --system=@var{system}
+@item gnu.system=@var{system}
 Have @file{/run/booted-system} and @file{/run/current-system} point to
 @var{system}.
 
@@ -34946,7 +34946,7 @@ Instruct the initial RAM disk as well as the 
@command{modprobe} command
 must be a comma-separated list of module names---e.g.,
 @code{usbkbd,9pnet}.
 
-@item --repl
+@item gnu.repl
 Start a read-eval-print loop (REPL) from the initial RAM disk before it
 tries to load kernel modules and to mount the root file system.  Our
 marketing team calls it @dfn{boot-to-Guile}.  The Schemer in you will
@@ -34967,7 +34967,7 @@ here is how to use it and customize it further.
[#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f]
 Return a derivation that builds a raw initrd.  @var{file-systems} is
 a list of file systems to be mounted by the initrd, possibly in addition to
-the root file system specified on the kernel command line via @option{--root}.
+the root file system specified on the kernel command line via @option{root}.
 @var{linux-modules} is a list of kernel modules to be loaded at boot time.
 @var{mapped-devices} is a list of device mappings to realize before
 @var{file-systems} are mounted (@pxref{Mapped Devices}).
@@ -34997,7 +34997,7 @@ to it are lost.
 Return as a file-like object a generic initrd, with kernel
 modules taken from @var{linux}.  @var{file-systems} is a list of file-systems 
to be
 mounted by the initrd, possibly in addition to the root file system specified
-on the kernel command line via @option{--root}.  @var{mapped-devices} is a 
list of device
+on the kernel command line via @option{root}.  @var{mapped-devices} is a list 
of device
 mappings to realize before @var{file-systems} are mounted.
 
 When true, @var{keyboard-layout} is a @code{} record denoting
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index 9f6126023c..10c9045740 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -389,8 +389,8 @@ (define %current-system
   "/run/current-system")
 
 (define (boot-time-system)
-  "Return the '--system' argument passed on the kernel command line."
-  (find-long-option "--system" (if (string-contains %host-type "linux-gnu")
+  "Return the 'gnu.system' argument passed on the kernel command line."
+  (find-long-option "gnu.system" (if (string-contains %host-type "linux-gnu")
(linux

bug#40998: [PATCH v2 3/4] initrd: Honor rootfstype and rootflags command-line parameters.

2022-02-18 Thread Maxim Cournoyer
* gnu/build/linux-boot.scm (boot-system): Honor rootfstype and rootflags
arguments.  Update doc.  Error out in case there is insufficient information
with regard to the root file system.
Restore the behavior of inferring the root device from the root file system
from the operating system in case the root argument is not provided.
* doc/guix.texi (Initial RAM Disk): Document the new command-line parameters.
---
 doc/guix.texi| 10 
 gnu/build/linux-boot.scm | 55 ++--
 2 files changed, 46 insertions(+), 19 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index d3f9216563..ec1e49630f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -34915,6 +34915,16 @@ name like @code{/dev/sda1}, a file system label, or a 
file system UUID.
 When unspecified, the device name from the root file system of the
 operating system declaration is used.
 
+@item rootfstype=@var{type}
+Set the type of the root file system.  It overrides the @code{type}
+field of the root file system specified via the @code{operating-system}
+declaration, if any.
+
+@item rootflags=@var{options}
+Set the mount @emph{options} of the root file system.  It overrides the
+@code{options} field of the root file system specified via the
+@code{operating-system} declaration, if any.
+
 @item fsck.mode=@var{mode}
 Whether to check the @var{root} file system for errors before mounting
 it.  @var{mode} is one of @code{skip} (never check), @code{force} (always
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 179fb12a2b..2f8b114806 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -499,9 +499,9 @@ (define* (boot-system #:key
 KEYMAP-FILE is true), then setting up QEMU guest networking if
 QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems
 specified in MOUNTS, and finally booting into the new root if any.  The initrd
-supports kernel command-line parameters 'gnu.load' and 'gnu.repl'.  It also
+supports the kernel command-line options 'gnu.load' and 'gnu.repl'.  It also
 honors a subset of the Linux kernel command-line parameters such as
-'fsck.mode', 'resume', 'root' and 'rootdelay'.
+'fsck.mode', 'resume', 'rootdelay', rootflags and rootfstype.
 
 Mount the root file system, specified by the 'root' command-line argument, if
 any.
@@ -537,13 +537,30 @@ (define (device-string->file-system-device device-string)
  ;; over the ‘device’ field of the root  record.
  (root-device (and=> (find-long-option "root" args)
  device-string->file-system-device))
- (root-fs (or (find root-mount-point? mounts)
-  ;; Fall back to fictitious defaults.
-  (file-system (device (or root-device "/dev/root"))
-   (mount-point "/")
-   (type "ext4"
+ (rootfstype  (find-long-option "rootfstype" args))
+ (rootflags   (find-long-option "rootflags" args))
+ (root-fs*(find root-mount-point? mounts))
  (fsck.mode (find-long-option "fsck.mode" args)))
 
+(unless (or root-fs* (and root-device rootfstype))
+  (error "no root file system or 'root' and 'rootfstype' parameters"))
+
+;; If present, ‘root’ on the kernel command line takes precedence over
+;; the ‘device’ field of the root  record; likewise for
+;; the 'rootfstype' and 'rootflags' arguments.
+(define root-fs
+  (if root-fs*
+  (file-system
+(inherit root-fs*)
+(device (or root-device (file-system-device root-fs*)))
+(type (or rootfstype (file-system-type root-fs*)))
+(options (or rootflags (file-system-options root-fs*
+  (file-system
+(device root-device)
+(mount-point "/")
+(type rootfstype)
+(options rootflags
+
 (define (check? fs)
   (match fsck.mode
 ("skip"  #f)
@@ -615,18 +632,18 @@ (define (repair fs)
 
 (setenv "EXT2FS_NO_MTAB_OK" "1")
 
-(if root-device
-(mount-root-file-system (canonicalize-device-spec root-device)
-(file-system-type root-fs)
-#:volatile-root? volatile-root?
-#:flags (mount-flags->bit-mask
- (file-system-flags root-fs))
-#:options (file-system-options root-fs)
-#:check? (check? root-fs)
-#:skip-check-if-clean?
-(skip-check-if-clean? root-fs)
-#:repair (repair root-fs))
-(mount "none" "/root" "tmpfs"))
+;; Mount the root file 

bug#40998: [PATCH v2 4/4] initrd: Print its command-line parameters.

2022-02-18 Thread Maxim Cournoyer
* gnu/build/linux-boot.scm (boot-system): Print command-line parameters to
standard output.
---
 gnu/build/linux-boot.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 2f8b114806..30442ec8f8 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -542,6 +542,8 @@ (define (device-string->file-system-device device-string)
  (root-fs*(find root-mount-point? mounts))
  (fsck.mode (find-long-option "fsck.mode" args)))
 
+(format #t "initrd command-line parameters: ~a~%" args)
+
 (unless (or root-fs* (and root-device rootfstype))
   (error "no root file system or 'root' and 'rootfstype' parameters"))
 
-- 
2.34.0






bug#40998: [PATCH v2 1/4] system: Add a version field to the record.

2022-02-18 Thread Maxim Cournoyer
This version field exposes the (already present) version information of a boot
parameters file.

* gnu/system.scm (%boot-parameters-version): New variable.
()[version]: New field.
(read-boot-parameters): Use it.
(operating-system-boot-parameters-file): Likewise.
* tests/boot-parameters.scm (test-read-boot-parameters): Use
%boot-parameters-version as the default version value in the template.
---
 gnu/system.scm| 18 ++
 tests/boot-parameters.scm |  2 +-
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/gnu/system.scm b/gnu/system.scm
index cc925de16f..c29a44111b 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2020 Danny Milosavljevic 
 ;;; Copyright © 2020, 2021 Brice Waegeneire 
 ;;; Copyright © 2020 Florian Pelz 
-;;; Copyright © 2020 Maxim Cournoyer 
+;;; Copyright © 2020, 2022 Maxim Cournoyer 
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen 
 ;;; Copyright © 2020 Efraim Flashner 
 ;;; Copyright © 2021 Maxime Devos 
@@ -161,6 +161,8 @@ (define-module (gnu system)
 boot-parameters-kernel-arguments
 boot-parameters-initrd
 boot-parameters-multiboot-modules
+boot-parameters-version
+%boot-parameters-version
 read-boot-parameters
 read-boot-parameters-file
 boot-parameters->menu-entry
@@ -295,6 +297,8 @@ (define (operating-system-kernel-arguments os root-device)
 ;;; Boot parameters
 ;;;
 
+(define %boot-parameters-version 0)
+
 (define-record-type* 
   boot-parameters make-boot-parameters boot-parameters?
   (labelboot-parameters-label)
@@ -322,7 +326,9 @@ (define-record-type* 
   (kernel   boot-parameters-kernel)
   (kernel-arguments boot-parameters-kernel-arguments)
   (initrd   boot-parameters-initrd)
-  (multiboot-modules boot-parameters-multiboot-modules))
+  (multiboot-modules boot-parameters-multiboot-modules)
+  (version  boot-parameters-version  ;positive integer
+(default %boot-parameters-version)))
 
 (define (ensure-not-/dev device)
   "If DEVICE starts with a slash, return #f.  This is meant to filter out
@@ -359,12 +365,16 @@ (define uuid-sexp->uuid
(warning (G_ "unrecognized uuid ~a at '~a'~%") x (port-filename port))
#f)))
 
+  (define (version? n)
+(and (exact-integer? n) (not (negative? n
+
   (match (read port)
-(('boot-parameters ('version 0)
+(('boot-parameters ('version (? version? version))
('label label) ('root-device root)
('kernel kernel)
rest ...)
  (boot-parameters
+  (version version)
   (label label)
   (root-device (device-sexp->device root))
 
@@ -1500,7 +1510,7 @@ (define* (operating-system-boot-parameters-file os
system-kernel-arguments?)))
  (scheme-file "parameters"
   #~(boot-parameters
- (version 0)
+ (version #$(boot-parameters-version params))
  (label #$(boot-parameters-label params))
  (root-device
   #$(device->sexp
diff --git a/tests/boot-parameters.scm b/tests/boot-parameters.scm
index b2799d0596..d4b680df2e 100644
--- a/tests/boot-parameters.scm
+++ b/tests/boot-parameters.scm
@@ -101,7 +101,7 @@ (define (quote-uuid uuid)
 ;; Call read-boot-parameters with the desired string as input.
 (define* (test-read-boot-parameters
   #:key
-  (version 0)
+  (version %boot-parameters-version)
   (bootloader-name 'grub)
   (bootloader-menu-entries '())
   (label %default-label)
-- 
2.34.0






bug#47204: DrRacket fonts issue

2022-02-18 Thread Jack Hill

On Fri, 26 Mar 2021, Philip McGrath wrote:


Hi Jack,

I haven't been able to reproduce this yet, but I'm on a foreign distro, and I 
don't have any fonts explicitly installed via Guix. (For that matter, I don't 
have a monitor connected, just now: I've done this with X forwarding.) I do 
have a few debugging ideas you could try and see if they turn up anything 
interesting:


Hi, I tested again today with Guix commit 
27a91b2f57bd0bf7efab77eaeb4b920f162bf8c8 and I don't observe a font issue 
anymore, so I'm closing this issue.


Thanks for all the work you do to improve Racket in Guix,
Jack





bug#54057: epiphany: error while loading libwebkit2gtk cannot read file data

2022-02-18 Thread Jack Hill

Tags: notabug

This problem went away after I did `guix gc --verify=repair,contents`, so 
I'm closing this issue as notabug. At least it's not a bug in webkitgtk. 
Thanks for taking a look and sorry for the noise.


Best,
Jack





bug#54057: epiphany: error while loading libwebkit2gtk cannot read file data

2022-02-18 Thread Jack Hill

On Fri, 18 Feb 2022, Liliana Marie Prikler wrote:


Hmm, webkit changed some 15 hours ago [1].  CCing lfam to have a look
at this too.  Jack, does the parent commit [2] still work for you?

[1]
http://git.savannah.gnu.org/cgit/guix.git/commit/?id=f47125d2868315acc40379c8e859fb60d6942dad
[2]
http://git.savannah.gnu.org/cgit/guix.git/commit/?id=1d1a4efd8cdac3757792cfbae92440edc5c3a802


Yep, `$ guix time-machine --commit=1d1a4efd8cdac3757792cfbae92440edc5c3a802 -- 
shell epiphany -- epiphany`
seems to open a browser window and can browse at least one webpage. I do 
see messages like,


```
/run/current-system/profile/lib/gio/modules/libgioremote-volume-monitor.so: 
file too short
Failed to load module: 
/run/current-system/profile/lib/gio/modules/libgioremote-volume-monitor.so
/run/current-system/profile/lib/gio/modules/libgvfsdbus.so: file too short
Failed to load module: 
/run/current-system/profile/lib/gio/modules/libgvfsdbus.so
/run/current-system/profile/lib/gio/modules/libgioremote-volume-monitor.so: 
file too short
Failed to load module: 
/run/current-system/profile/lib/gio/modules/libgioremote-volume-monitor.so
/run/current-system/profile/lib/gio/modules/libgvfsdbus.so: file too short
Failed to load module: 
/run/current-system/profile/lib/gio/modules/libgvfsdbus.so
```

printed to the consol though. My system has been reconfigured with the 
same commit that I originally reported.


Best,
Jack





bug#54057: epiphany: error while loading libwebkit2gtk cannot read file data

2022-02-18 Thread Liliana Marie Prikler
Am Freitag, dem 18.02.2022 um 14:42 -0500 schrieb Jack Hill:
> On Fri, 18 Feb 2022, Liliana Marie Prikler wrote:
> 
> > Hi Jack,
> > 
> > what is the output of `ls -l
> > /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-
> > 2.34.6/lib/libwebkit2gtk-4.0.so.37`?  If that's an empty file, you'll
> > have to repair your store.
> > 
> > Cheers
> 
> Thanks for taking a look. It doesnt' look empty to me:
> 
> ```
> jackhill@leyden ~$ ls -l /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-
> webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37
> lrwxrwxrwx 1 root root 28 Dec 31  1969
> /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-
> 2.34.6/lib/libwebkit2gtk-4.0.so.37 -> libwebkit2gtk-4.0.so.37.55.9
> jackhill@leyden ~$ ls -l /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-
> webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37.55.9
> -r-xr-xr-x 2 root root 13631488 Dec 31  1969
> /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-
> 2.34.6/lib/libwebkit2gtk-4.0.so.37.55.9
> jackhill@leyden ~$ file /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-
> webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37.55.9
> /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-
> 2.34.6/lib/libwebkit2gtk-4.0.so.37.55.9: ELF 64-bit LSB shared object,
> x86-64, version 1 (GNU/Linux), dynamically linked, missing section
> headers at 81305720
> jackhill@leyden ~$ ldd /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-
> webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37.55.9
> not a dynamic executable
> ```
Hmm, webkit changed some 15 hours ago [1].  CCing lfam to have a look
at this too.  Jack, does the parent commit [2] still work for you?

[1]
http://git.savannah.gnu.org/cgit/guix.git/commit/?id=f47125d2868315acc40379c8e859fb60d6942dad
[2]
http://git.savannah.gnu.org/cgit/guix.git/commit/?id=1d1a4efd8cdac3757792cfbae92440edc5c3a802





bug#54057: epiphany: error while loading libwebkit2gtk cannot read file data

2022-02-18 Thread Jack Hill

On Fri, 18 Feb 2022, Liliana Marie Prikler wrote:


Hi Jack,

what is the output of `ls -l
/gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-
2.34.6/lib/libwebkit2gtk-4.0.so.37`?  If that's an empty file, you'll
have to repair your store.

Cheers


Thanks for taking a look. It doesnt' look empty to me:

```
jackhill@leyden ~$ ls -l 
/gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37
lrwxrwxrwx 1 root root 28 Dec 31  1969 
/gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37
 -> libwebkit2gtk-4.0.so.37.55.9
jackhill@leyden ~$ ls -l /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37.55.9 
-r-xr-xr-x 2 root root 13631488 Dec 31  1969 /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37.55.9
jackhill@leyden ~$ file /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37.55.9 
/gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37.55.9: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, missing section headers at 81305720
jackhill@leyden ~$ ldd /gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37.55.9 
not a dynamic executable

```





bug#54057: epiphany: error while loading libwebkit2gtk cannot read file data

2022-02-18 Thread Liliana Marie Prikler
Hi Jack,

what is the output of `ls -l
/gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-
2.34.6/lib/libwebkit2gtk-4.0.so.37`?  If that's an empty file, you'll
have to repair your store.

Cheers





bug#54057: epiphany: error while loading libwebkit2gtk cannot read file data

2022-02-18 Thread Jack Hill

Hi Guix,

Epiphany (a.k.a. GNOME Web) is having trouble loading the webkit shared 
library:


```
jackhill@leyden ~$ guix describe
Generation 61Feb 18 2022 11:47:21(current)
  guix 27a91b2
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 27a91b2f57bd0bf7efab77eaeb4b920f162bf8c8
jackhill@leyden ~$ guix shell epiphany -- epiphany
/gnu/store/ns3aks8xslgmgf98qb107gwzfxgj45k5-profile/bin/epiphany: error while 
loading shared libraries: 
/gnu/store/f965xf6iwll8cj2fb45bbqkj32n8dndb-webkitgtk-with-libsoup2-2.34.6/lib/libwebkit2gtk-4.0.so.37:
 cannot read file data
guix shell: error: epiphany: command not found
```

Best,
Jack





bug#54041: cannot load (gnu services virtualization)

2022-02-18 Thread Ricardo Wurmus


Ludovic Courtès  writes:

> Fixed in 01821914e272ed682dc83b5163c17a0345dcaf17.

Thank you!

-- 
Ricardo





bug#54011: FreeCAD: Unable to import STEP files

2022-02-18 Thread Jacob Hrbek

Thanks for working on it!

On 2/18/22 17:00, Guillaume Le Vaillant wrote:

Guillaume Le Vaillant  skribis:


When decompressing the zip file and importing the STEP file:

Traceback (most recent call last):
   File "", line 1, in 
   File 
"/gnu/store/cwfgf3xb2vfqckxqv196jz8xpbigxkqj-python-shiboken-2-5.15.2/lib/python3.9/site-packages/shiboken2/files.dir/shibokensupport/__feature__.py",
 line 142, in _import
 return original_import(name, *args, **kwargs)
: 
/gnu/store/pd0pxvnr3qdgcz37p80v6q8p0wk9xyfh-freecad-0.19.3-0.09a05a9/lib/Import.so: 
undefined symbol: 
_ZN3tbb6detail2r122cancel_group_executionERNS0_2d118task_group_contextE

I guess now we have to find where
'_ZN3tbb6detail2r122cancel_group_executionERNS0_2d118task_group_contextE'
is coming from.

It was coming from the fact that the freecad package had the tbb package
as dependency, but it also depends on opencascade-occt whic

h depends on

tbb-2020.
Fix pushed as 27a91b2f57bd0bf7efab77eaeb4b920f162bf8c8.


--
Jacob Hrbek, In support of ukraine sovereignty #supportUkraine



publickey - kreyren@rixotstudio.cz - 1677db82.asc
Description: application/pgp-keys


signature.asc
Description: OpenPGP digital signature


bug#54011: FreeCAD: Unable to import STEP files

2022-02-18 Thread Guillaume Le Vaillant
Guillaume Le Vaillant  skribis:

> When decompressing the zip file and importing the STEP file:
>
> Traceback (most recent call last):
>   File "", line 1, in 
>   File 
> "/gnu/store/cwfgf3xb2vfqckxqv196jz8xpbigxkqj-python-shiboken-2-5.15.2/lib/python3.9/site-packages/shiboken2/files.dir/shibokensupport/__feature__.py",
>  line 142, in _import
> return original_import(name, *args, **kwargs)
> : 
> /gnu/store/pd0pxvnr3qdgcz37p80v6q8p0wk9xyfh-freecad-0.19.3-0.09a05a9/lib/Import.so:
>  undefined symbol: 
> _ZN3tbb6detail2r122cancel_group_executionERNS0_2d118task_group_contextE
>
> I guess now we have to find where
> '_ZN3tbb6detail2r122cancel_group_executionERNS0_2d118task_group_contextE'
> is coming from.

It was coming from the fact that the freecad package had the tbb package
as dependency, but it also depends on opencascade-occt which depends on
tbb-2020.
Fix pushed as 27a91b2f57bd0bf7efab77eaeb4b920f162bf8c8.


signature.asc
Description: PGP signature


bug#40998: [PATCH 3/3] initrd: Print its command-line parameters.

2022-02-18 Thread Maxim Cournoyer
* gnu/build/linux-boot.scm (boot-system): Print command-line parameters to
standard output.
---
 gnu/build/linux-boot.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index b1573fe757..45be05d705 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -540,6 +540,8 @@ (define (device-string->file-system-device device-string)
  (root-fs*(find root-mount-point? mounts))
  (fsck.mode (find-long-option "fsck.mode" args)))
 
+(format #t "initrd command-line parameters: ~a~%" args)
+
 (unless (or root-fs* (and root-device rootfstype))
   (error "no root file system or 'root' and 'rootfstype' parameters"))
 
-- 
2.34.0






bug#40998: [PATCH 2/3] initrd: Honor rootfstype and rootflags command-line parameters.

2022-02-18 Thread Maxim Cournoyer
* gnu/build/linux-boot.scm (boot-system): Honor rootfstype and rootflags
arguments.  Update doc.  Error out in case there is insufficient information
with regard to the root file system.
Restore the behavior of inferring the root device from the root file system
from the operating system in case the root argument is not provided.
* doc/guix.texi (Initial RAM Disk): Document the new command-line parameters.
---
 doc/guix.texi| 10 +++
 gnu/build/linux-boot.scm | 59 +---
 2 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index ba613ea31f..cbfd9f68f2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -34915,6 +34915,16 @@ name like @code{/dev/sda1}, a file system label, or a 
file system UUID.
 When unspecified, the device name from the root file system of the
 operating system declaration is used.
 
+@item rootfstype=@var{type}
+Set the type of the root file system.  It overrides the @code{type}
+field of the root file system specified via the @code{operating-system}
+declaration, if any.
+
+@item rootflags=@var{options}
+Set the mount @emph{options} of the root file system.  It overrides the
+@code{options} field of the root file system specified via the
+@code{operating-system} declaration, if any.
+
 @item fsck.mode=@var{mode}
 Whether to check the @var{root} file system for errors before mounting
 it.  @var{mode} is one of @code{skip} (never check), @code{force} (always
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index d36601d824..b1573fe757 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -499,9 +499,9 @@ (define* (boot-system #:key
 KEYMAP-FILE is true), then setting up QEMU guest networking if
 QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems
 specified in MOUNTS, and finally booting into the new root if any.  The initrd
-supports kernel command-line options '--load' and '--repl'.  It also honors a
-subset of the Linux kernel command-line parameters such as 'fsck.mode',
-'resume', 'root' and 'rootdelay'.
+supports the kernel command-line options '--load' and '--repl'.  It
+also honors a subset of the Linux kernel command-line parameters such as
+'fsck.mode', 'resume', 'rootdelay', rootflags and rootfstype.
 
 Mount the root file system, specified by the 'root' command-line argument, if
 any.
@@ -533,17 +533,32 @@ (define (device-string->file-system-device device-string)
   (mount-essential-file-systems)
   (let* ((args(linux-command-line))
  (to-load (find-long-option "--load" args))
- ;; If present, ‘root’ on the kernel command line takes precedence
- ;; over the ‘device’ field of the root  record.
  (root-device (and=> (find-long-option "root" args)
  device-string->file-system-device))
- (root-fs (or (find root-mount-point? mounts)
-  ;; Fall back to fictitious defaults.
-  (file-system (device (or root-device "/dev/root"))
-   (mount-point "/")
-   (type "ext4"
+ (rootfstype  (find-long-option "rootfstype" args))
+ (rootflags   (find-long-option "rootflags" args))
+ (root-fs*(find root-mount-point? mounts))
  (fsck.mode (find-long-option "fsck.mode" args)))
 
+(unless (or root-fs* (and root-device rootfstype))
+  (error "no root file system or 'root' and 'rootfstype' parameters"))
+
+;; If present, ‘root’ on the kernel command line takes precedence over
+;; the ‘device’ field of the root  record; likewise for
+;; the 'rootfstype' and 'rootflags' arguments.
+(define root-fs
+  (if root-fs*
+  (file-system
+(inherit root-fs*)
+(device (or root-device (file-system-device root-fs*)))
+(type (or rootfstype (file-system-type root-fs*)))
+(options (or rootflags (file-system-options root-fs*
+  (file-system
+(device root-device)
+(mount-point "/")
+(type rootfstype)
+(options rootflags
+
 (define (check? fs)
   (match fsck.mode
 ("skip"  #f)
@@ -615,18 +630,18 @@ (define (repair fs)
 
 (setenv "EXT2FS_NO_MTAB_OK" "1")
 
-(if root-device
-(mount-root-file-system (canonicalize-device-spec root-device)
-(file-system-type root-fs)
-#:volatile-root? volatile-root?
-#:flags (mount-flags->bit-mask
- (file-system-flags root-fs))
-#:options (file-system-options root-fs)
-#:check? (check? r

bug#40998: [PATCH 1/3] initrd: Rename the '--root' initrd option to just 'root'.

2022-02-18 Thread Maxim Cournoyer
This is to make it less surprising, given the common convention sets forth by
the kernel Linux command-line parameters.

* gnu/build/linux-boot.scm (boot-system): Rename the '--root' option to
'root'.  Adjust doc.
* gnu/installer/parted.scm (installer-root-partition-path): Use 'root' instead
of '--root'.
* gnu/system.scm (bootable-kernel-arguments): Likewise.
(operating-system-boot-parameters): Adjust doc.
(operating-system-boot-parameters-file): Likewise.
* gnu/system/linux-initrd.scm (base-initrd): Likewise.
* doc/guix.texi: Adjust doc.
---
 doc/guix.texi   |  6 +++---
 gnu/build/linux-boot.scm| 20 ++--
 gnu/installer/parted.scm|  2 +-
 gnu/system.scm  |  8 
 gnu/system/linux-initrd.scm |  4 ++--
 5 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index a4145af7fd..ba613ea31f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -34909,7 +34909,7 @@ Guix uses this option to yield control to a boot 
program that runs the
 service activation programs and then spawns the GNU@tie{}Shepherd, the
 initialization system.
 
-@item --root=@var{root}
+@item root=@var{root}
 Mount @var{root} as the root file system.  @var{root} can be a device
 name like @code{/dev/sda1}, a file system label, or a file system UUID.
 When unspecified, the device name from the root file system of the
@@ -34967,7 +34967,7 @@ here is how to use it and customize it further.
[#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f]
 Return a derivation that builds a raw initrd.  @var{file-systems} is
 a list of file systems to be mounted by the initrd, possibly in addition to
-the root file system specified on the kernel command line via @option{--root}.
+the root file system specified on the kernel command line via @option{root}.
 @var{linux-modules} is a list of kernel modules to be loaded at boot time.
 @var{mapped-devices} is a list of device mappings to realize before
 @var{file-systems} are mounted (@pxref{Mapped Devices}).
@@ -34997,7 +34997,7 @@ to it are lost.
 Return as a file-like object a generic initrd, with kernel
 modules taken from @var{linux}.  @var{file-systems} is a list of file-systems 
to be
 mounted by the initrd, possibly in addition to the root file system specified
-on the kernel command line via @option{--root}.  @var{mapped-devices} is a 
list of device
+on the kernel command line via @option{root}.  @var{mapped-devices} is a list 
of device
 mappings to realize before @var{file-systems} are mounted.
 
 When true, @var{keyboard-layout} is a @code{} record denoting
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 0ae316849e..d36601d824 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -499,12 +499,12 @@ (define* (boot-system #:key
 KEYMAP-FILE is true), then setting up QEMU guest networking if
 QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems
 specified in MOUNTS, and finally booting into the new root if any.  The initrd
-supports kernel command-line options '--load', '--root', and '--repl'.  It
-also honors a subset of the documented Linux kernel command-line parameters
-such as 'fsck.mode', 'resume' and 'rootdelay'.
+supports kernel command-line options '--load' and '--repl'.  It also honors a
+subset of the Linux kernel command-line parameters such as 'fsck.mode',
+'resume', 'root' and 'rootdelay'.
 
-Mount the root file system, specified by the '--root' command-line argument,
-if any.
+Mount the root file system, specified by the 'root' command-line argument, if
+any.
 
 MOUNTS must be a list of  objects.
 
@@ -517,9 +517,9 @@ (define (root-mount-point? fs)
 (string=? (file-system-mount-point fs) "/"))
 
   (define (device-string->file-system-device device-string)
-;; The "--root=SPEC" kernel command-line option always provides a
-;; string, but the string can represent a device, an nfs-root, a UUID, or a
-;; label.  So check for all four.
+;; The "root=SPEC" kernel command-line option always provides a string,
+;; but the string can represent a device, an nfs-root, a UUID, or a label.
+;; So check for all four.
 (cond ((string-prefix? "/" device-string) device-string)
   ((string-contains device-string ":/") device-string) ; nfs-root
   ((uuid device-string) => identity)
@@ -533,9 +533,9 @@ (define (device-string->file-system-device device-string)
   (mount-essential-file-systems)
   (let* ((args(linux-command-line))
  (to-load (find-long-option "--load" args))
- ;; If present, ‘--root’ on the kernel command line takes 
precedence
+ ;; If present, ‘root’ on the kernel command line takes precedence
  ;; over the ‘device’ field of the root  record.
- (root-device (and=> (find-long-option "--root" args)
+ (root-device (and=> (find-long-option "root" args)
  device-

bug#54056: guix-data-service build failure, segfault probably related to guile@3.0.8

2022-02-18 Thread Christopher Baines
The recent derivation for the guix-data-service built with Guile 3.0.8
seems to often segfault when running the tests (see the failed builds
here [1]).

1: 
https://data.guix.gnu.org/gnu/store/qzxq38kpd2vrpj1xwgd5i3gjdkmmxmn1-guix-data-service-0.0.1-29.4a1088c.drv

With some help from IRC, I managed to get a core dump:

Core was generated by 
`/gnu/store/jjl6sa1bhjpj9cssi80yr4h8ihdgk34z-guile-3.0.8/bin/guile 
--no-auto-com'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x70720496 in ?? ()
[Current thread is 1 (LWP 2505)]
(gdb) bt
#0  0x70720496 in ?? ()
#1  0x00436488 in ?? ()
#2  0x719eb180 in ?? ()
#3  0x7fffea6ac858 in ?? ()
#4  0x77ee7ccc in scm_jit_enter_mcode (thread=0x775c8d80, 
mcode=0x439154 ) at jit.c:6038
#5  0x77f3cf3c in vm_regular_engine (thread=0x775c8d80) at 
vm-engine.c:360
#6  0x77f4a5e9 in scm_call_n (proc=, argv=, nargs=4) at vm.c:1608
#7  0x77eb2144 in scm_call_4 (proc=, arg1=, arg2=, arg3=, arg4=) at 
eval.c:517
#8  0x77eaedd0 in error_during_backtrace (data=0x71c2b080, 
tag=out-of-range, throw_args=0x7fffe5a9bb80) at backtrace.c:252
#9  0x77f68821 in scm_c_with_exception_handler.constprop.0 (type=#t, 
handler_data=handler_data@entry=0x7fff98b0, 
thunk_data=thunk_data@entry=0x7fff98b0, thunk=, 
handler=) at exceptions.c:167
#10 0x77f3a88f in scm_c_catch (tag=, body=, body_data=, handler=, 
handler_data=, pre_unwind_handler=pre_unwind_handler@entry=0x0, 
pre_unwind_handler_data=0x0) at throw.c:168
#11 0x77f3a8ae in scm_internal_catch (tag=, 
body=, body_data=, handler=, 
handler_data=) at throw.c:177
#12 0x77eaf005 in scm_display_backtrace_with_highlights 
(stack=stack@entry="#" = {...}, port=port@entry=# 71c2b080>, first=first@entry=#f, 
depth=depth@entry=#f, highlights=highlights@entry=()) at backtrace.c:277
#13 0x77eaf080 in scm_backtrace_with_highlights (highlights=()) at 
backtrace.c:310
#14 0x77f3d336 in vm_regular_engine (thread=0x775c8d80) at 
vm-engine.c:972
#15 0x77f4a5e9 in scm_call_n (proc=, argv=, nargs=4) at vm.c:1608
#16 0x77eb6571 in scm_apply_0 (proc=#, args=()) 
at eval.c:603
#17 0x77f3bc8d in scm_throw (key=match-error, args=("match" "no 
matching pattern" x86_64-linux)) at throw.c:262
#18 0x77edb239 in throw_ (key=, args=) at 
intrinsics.c:396
#19 0x77f3f137 in vm_regular_engine (thread=0x775c8d80) at 
vm-engine.c:1183
#20 0x77f4a5e9 in scm_call_n (proc=, argv=, nargs=1) at vm.c:1608
#21 0x77eb2457 in scm_primitive_eval (exp=) at eval.c:671
#22 0x77eeb239 in scm_primitive_load 
(filename=filename@entry="/tmp/guix-build-guix-data-service-0.0.1-29.4a1088c.drv-0/source/tests/jobs-load-new-guix-revision.scm")
 at load.c:131
#23 0x77eedff0 in scm_primitive_load_path (args=) at 
load.c:1267
#24 0x77f3d336 in vm_regular_engine (thread=0x775c8d80) at 
vm-engine.c:972
#25 0x77f4a5e9 in scm_call_n (proc=, argv=, nargs=1) at vm.c:1608
#26 0x77eb2457 in scm_primitive_eval (exp=, 
exp@entry=((@ (ice-9 control) %) (begin ((@@ (ice-9 command-line) load/lang) 
"./build-aux/test-driver.scm") (main (command-line)) (quit at eval.c:671
#27 0x77eb84b6 in scm_eval (exp=((@ (ice-9 control) %) (begin ((@@ 
(ice-9 command-line) load/lang) "./build-aux/test-driver.scm") (main 
(command-line)) (quit))), module_or_state="#" = {...}) at 
eval.c:705
#28 0x77f1c3b6 in scm_shell (argc=19, argv=0x7fffa6d8) at 
script.c:357
#29 0x77ec749c in invoke_main_func (body_data=0x7fffa590) at 
init.c:312
#30 0x77eb085a in c_body (d=0x7fffa4b0) at continuations.c:430
#31 0x77f3d336 in vm_regular_engine (thread=0x775c8d80) at 
vm-engine.c:972
#32 0x77f4a5e9 in scm_call_n (proc=, argv=, nargs=2) at vm.c:1608
#33 0x77eb209a in scm_call_2 (proc=, arg1=, arg2=) at eval.c:503
#34 0x77f68752 in scm_c_with_exception_handler.constprop.0 (type=#t, 
handler_data=handler_data@entry=0x7fffa440, 
thunk_data=thunk_data@entry=0x7fffa440, thunk=, 
handler=) at exceptions.c:170
#35 0x77f3a88f in scm_c_catch (tag=, body=, body_data=, handler=, 
handler_data=, pre_unwind_handler=, 
pre_unwind_handler_data=0x71c2b040) at throw.c:168
#36 0x77eb2e66 in scm_i_with_continuation_barrier 
(pre_unwind_handler=0x77eb2b80 , 
pre_unwind_handler_data=0x71c2b040, handler_data=0x7fffa4b0, 
handler=0x77eb98b0 , body_data=0x7fffa4b0, 
body=0x77eb0850 ) at continuations.c:368
#37 scm_c_with_continuation_barrier (func=, data=) at continuations.c:464
#38 0x77f39b39 in with_guile (base=0x7fffa538, data=0x7fffa560) 
at threads.c:645
#39 0x77e100ba in GC_call_with_stack_base () from 
/gnu/store/2lczkxbdbzh4gk7wh91bzrqrk7h5g1dl-libgc-8.0.4/lib/libgc.so.1
#40 0x77f328b8 in scm_i_with_guile (dynamic_state=, 
data=, fun

bug#54055: texlive-bin fails to build on armhf-linux, breaking guix pull

2022-02-18 Thread Christopher Baines

Christopher Baines  writes:

> Something I've noticed from data.guix.gnu.org, it fails to compute the
> guix derivation for armhf-linux because texlive-bin fails to build [1]
>
> 1: https://data.guix.gnu.org/job/28674
> phase `check' failed after 820.9 seconds
> command "make" "check" "-j" "8" failed with status 2
> builder for 
> `/gnu/store/hq3r8ayp8ak2p36y016x62f028m4miv1-texlive-bin-20210325.drv' failed 
> with exit code 1
> @ build-failed
> /gnu/store/hq3r8ayp8ak2p36y016x62f028m4miv1-texlive-bin-20210325.drv -
> 1 builder for
> `/gnu/store/hq3r8ayp8ak2p36y016x62f028m4miv1-texlive-bin-20210325.drv'
> failed with exit code 1
> cannot build derivation 
> `/gnu/store/gd3xkfbpfcv03y958ggmgnc150cz4r82-texlive-amsmath-59745.drv': 1 
> dependencies couldn't be built
> error: while computing manifest entry derivation for armhf-linux
> error %exception: (#<&message message: "You found a bug: the program
> '/gnu/store/s82qcdcxsyr16fp1db8n800jd171vk4v-compute-guix-derivation'\nfailed
> to compute the derivation for Guix (version:
> \"e9f9f291edafaa27fa6d7e9967909555a08d383e\"; system:
> \"armhf-linux\";\nhost version: \"1.3.0-21.e427593\"; pull-version:
> 1).\nPlease report the COMPLETE output above by email to
> .\n">)

I forgot an important link, here's a texlive-bin derivation on
data.guix.gnu.org, which links to some logs for failed builds [1]. I'm
not quite sure why the derivation here doesn't match up with the
derivation shown in the log above.

1: 
https://data.guix.gnu.org/gnu/store/vr6q02wyzjkbk35fkqcqi653csza22mw-texlive-bin-20210325.drv


signature.asc
Description: PGP signature


bug#54041: cannot load (gnu services virtualization)

2022-02-18 Thread Ludovic Courtès
Hi,

Ricardo Wurmus  skribis:

> When I add
>
> (service qemu-guest-agent-service-type)
>
> to the list of my services and add (gnu services virtualization) to the
> imports and then try to build my system configuration I get this error:
>
> guix system: error: #< file: "gnu/services/virtualization.scm" 
> line: 893 column: 18>: invalid G-expression input

Fixed in 01821914e272ed682dc83b5163c17a0345dcaf17.

I believe the bug has always been there.  There are no tests for this
service.  :-/

Ludo’.





bug#51801: No warning when attempting to build unsupported system with --system

2022-02-18 Thread Ludovic Courtès
Ludovic Courtès  skribis:

> Maxim Cournoyer  skribis:
>
>> I was surprised that:
>>
>> guix build fpc --system=armhf-linux
>>
>> would send me in a dead end without any word of caution, given that
>> armhf-linux is *not* listed in the supported-systems field.
>>
>> We should at least warn near the beginning of the build, and remind of
>> that fact at the end of the build in case of failure.
>
> I came up with the patches below.
>
> The first part forbids unsupported packages altogether in user-facing
> commands: ‘guix install’, ‘guix shell’, etc.  Until now, they’d just
> start building things that were bound to fail.
>
> The second part adds a mere warning for ‘guix build’ (it does not repeat
> it at the end, though).

I went ahead and pushed them:

  0ca26437cb guix build: Warn when attempting to build an unsupported package.
  5a57313918 profiles: 'profile-derivation' rejects unsupported packages.
  0572737a62 packages: 'package-transitive-supported-systems' ignores 
'%current-target-system'.

Ludo’.





bug#54055: texlive-bin fails to build on armhf-linux, breaking guix pull

2022-02-18 Thread Christopher Baines
Something I've noticed from data.guix.gnu.org, it fails to compute the
guix derivation for armhf-linux because texlive-bin fails to build [1]

1: https://data.guix.gnu.org/job/28674
phase `check' failed after 820.9 seconds
command "make" "check" "-j" "8" failed with status 2
builder for 
`/gnu/store/hq3r8ayp8ak2p36y016x62f028m4miv1-texlive-bin-20210325.drv' failed 
with exit code 1
@ build-failed 
/gnu/store/hq3r8ayp8ak2p36y016x62f028m4miv1-texlive-bin-20210325.drv - 1 
builder for 
`/gnu/store/hq3r8ayp8ak2p36y016x62f028m4miv1-texlive-bin-20210325.drv' failed 
with exit code 1
cannot build derivation 
`/gnu/store/gd3xkfbpfcv03y958ggmgnc150cz4r82-texlive-amsmath-59745.drv': 1 
dependencies couldn't be built
error: while computing manifest entry derivation for armhf-linux
error %exception: (#<&message message: "You found a bug: the program 
'/gnu/store/s82qcdcxsyr16fp1db8n800jd171vk4v-compute-guix-derivation'\nfailed 
to compute the derivation for Guix (version: 
\"e9f9f291edafaa27fa6d7e9967909555a08d383e\"; system: \"armhf-linux\";\nhost 
version: \"1.3.0-21.e427593\"; pull-version: 1).\nPlease report the COMPLETE 
output above by email to .\n">)

I've included what looks like the failure at the bottom of the email. I
did find a thread [2] which suggested this is a real upstream issue on
armhf-linux.

2: https://tug.org/pipermail/tlbuild/2021q1/004873.html





FAIL: tests/mendex
==

#!/gnu/store/97xwzdsw9p6019dbml5mzf781c7avfkq-bash-minimal-5.1.8/bin/sh -vx
# $Id: mendex.test 58575 2021-03-21 08:54:52Z takuji $
# Copyright 2017 Karl Berry 
# Copyright 2013 Peter Breitenlohner 
# You may freely use, modify and/or distribute this file.

TEXMFCNF=$srcdir/../kpathsea
+ TEXMFCNF=../../../texlive-20210325-source/texk/mendexk/../kpathsea
export TEXMFCNF
+ export TEXMFCNF

rm -f foo.*
+ rm -f 'foo.*'

./mendex $srcdir/tests/foo.idx -o foo.ind1 -t foo.ilg1 \
&& diff $srcdir/tests/foo.ind foo.ind1 || exit 1
+ ./mendex ../../../texlive-20210325-source/texk/mendexk/tests/foo.idx -o 
foo.ind1 -t foo.ilg1
This is mendex version 3.3 [21-Mar-2021] (utf8.uptex) (TeX Live 2021).
Scanning input file 
../../../texlive-20210325-source/texk/mendexk/tests/foo.idxdone (3 entries 
accepted, 0 rejected).
3 entries accepted, 0 rejected.
Sorting indexdone(0 comparisons).
Sorting pagesdone(4 comparisons).
Making index filedone.
0 warnings, written in foo.ilg1.
Output written in foo.ind1.
+ diff ../../../texlive-20210325-source/texk/mendexk/tests/foo.ind foo.ind1

cat $srcdir/tests/foo.idx | ./mendex >foo.ind2 2>foo.ilg2 \
&& diff $srcdir/tests/foo.ind foo.ind2 || exit 1
+ cat ../../../texlive-20210325-source/texk/mendexk/tests/foo.idx
+ ./mendex
+ diff ../../../texlive-20210325-source/texk/mendexk/tests/foo.ind foo.ind2

./mendex -U -d $srcdir/tests/uni.dict -s $srcdir/tests/uni.ist \
$srcdir/tests/uni.idx -o uni.ind1 -t uni.ilg1 \
&& diff $srcdir/tests/uni.ind uni.ind1 || exit 1
+ ./mendex -U -d ../../../texlive-20210325-source/texk/mendexk/tests/uni.dict 
-s ../../../texlive-20210325-source/texk/mendexk/tests/uni.ist 
../../../texlive-20210325-source/texk/mendexk/tests/uni.idx -o uni.ind1 -t 
uni.ilg1
This is mendex version 3.3 [21-Mar-2021] (utf8.uptex) (TeX Live 2021).
Scanning dictionary file 
../../../texlive-20210325-source/texk/mendexk/tests/uni.dictdone.
Scanning input file 
../../../texlive-20210325-source/texk/mendexk/tests/uni.idxdone (8 entries 
accepted, 0 rejected).
8 entries accepted, 0 rejected.
Sorting indexdone(24 comparisons).
Sorting pagesdone(0 comparisons).
Making index filedone.
0 warnings, written in uni.ilg1.
Output written in uni.ind1.
+ diff ../../../texlive-20210325-source/texk/mendexk/tests/uni.ind uni.ind1

cat $srcdir/tests/uni.idx | \
./mendex -U -d $srcdir/tests/uni.dict -s $srcdir/tests/uni.ist \
>uni.ind2 2>uni.ilg2 \
&& diff $srcdir/tests/uni.ind uni.ind2 || exit 1
+ cat ../../../texlive-20210325-source/texk/mendexk/tests/uni.idx
+ ./mendex -U -d ../../../texlive-20210325-source/texk/mendexk/tests/uni.dict 
-s ../../../texlive-20210325-source/texk/mendexk/tests/uni.ist
+ diff ../../../texlive-20210325-source/texk/mendexk/tests/uni.ind uni.ind2

# test for page_precedence
./mendex -s $srcdir/tests/pprec0.ist $srcdir/tests/pprecA.idx -o pprecA-0.ind1 
-t pprecA-0.ilg \
&& diff $srcdir/tests/pprecA-0.ind pprecA-0.ind1 || exit 1
+ ./mendex -s ../../../texlive-20210325-source/texk/mendexk/tests/pprec0.ist 
../../../texlive-20210325-source/texk/mendexk/tests/pprecA.idx -o pprecA-0.ind1 
-t pprecA-0.ilg
This is mendex version 3.3 [21-Mar-2021] (utf8.uptex) (TeX Live 2021).
Scanning input file 
../../../texlive-20210325-source/texk/mendexk/tests/pprecA.idxdone (9 
entries accepted, 0 rejected).
9 entries accepted, 0 rejected.
Sorting indexdone(0 comparisons).
Sorting pagesdone(27 comparisons).
Making index filedone.
0 warnings, written in pprecA-0.ilg.
Output written in pprecA

bug#48007: computing derivations through inferior takes twice as long

2022-02-18 Thread Ludovic Courtès
Hi,

Ludovic Courtès  skribis:

> Previously, each 'inferior-eval-with-store' would lead the inferior to
> connect to the named socket the parent is listening to.  With this
> change, the connection is established once for all and reused
> afterwards.
>
> * guix/inferior.scm ()[bridge-file-name]: Remove.
> (open-bidirectional-pipe): New procedure.
> (inferior-pipe): Use it instead of 'open-pipe*' and return two values.
> (port->inferior): Adjust call to 'inferior'.
> (open-inferior): Adjust to 'inferior-pipe' changes.
> (close-inferior): Remove 'inferior-bridge-file-name' handling.
> (open-store-bridge!): Switch back to 'call-with-temporary-directory'.
> Define '%bridge-socket' in the inferior, connected to the caller.
> (proxy): Change first argument to be an inferior.  Add 'reponse-port'
> and call to 'drain-input'.  Pass 'reponse-port' to 'select' and use it
> as a loop termination clause.
> (inferior-eval-with-store): Remove 'socket' and 'connect' calls from the
> inferior code, and use '%bridge-socket' instead.

[...]

> +(define (open-bidirectional-pipe command . args)
> +  "Open a bidirectional pipe to COMMAND invoked with ARGS and return it, as a
> +regular file port (socket).
> +
> +This is equivalent to (open-pipe* OPEN_BOTH ...) except that the result is a
> +regular file port that can be passed to 'select' ('open-pipe*' returns a
> +custom binary port)."
> +  (match (socketpair AF_UNIX SOCK_STREAM 0)
> +((parent . child)
> + (match (primitive-fork)

I noticed that there’s at least one case where this is used from a
multi-threaded program, and as we know, fork + threads don’t go well
together:

--8<---cut here---start->8---
$ make as-derivation
[…]
@ build-succeeded /gnu/store/n5jfi8pn1aq1ykmnq75xhr8ba2m7161l-profile.drv -
warning: call to primitive-fork while multiple threads are running;
 further behavior unspecified.  See "Processes" in the
 manual, for more information.
warning: call to primitive-fork while multiple threads are running;
 further behavior unspecified.  See "Processes" in the
 manual, for more information.
warning: call to primitive-fork while multiple threads are running;
 further behavior unspecified.  See "Processes" in the
 manual, for more information.
--8<---cut here---end--->8---

The threads are created in ‘build-aux/cuirass/evaluate.scm’.

In practice it’s OK because the code above calls ‘exec’ right away;
still, it’s annoying.

Ludo’.





bug#51317: wishlist: option to not display new packages when list-generations

2022-02-18 Thread zimoun
Hi,

On Thu, 17 Feb 2022 at 23:22, Ricardo Wurmus  wrote:

> Looks like newer versions of Guix no longer show the list of new
> packages.  Can this be closed now?

Yes, fixed by b9df2e2b4d8a8efa5983aeb69a5ed394e7bcba60.

Thanks for the follow-up.


Cheers,
simon