bug#61236: [PATCH v2 2/2] gnu: ibus-speech-to-text: Fix lint warnings.

2023-02-11 Thread Liliana Marie Prikler
Am Freitag, dem 10.02.2023 um 13:49 -0500 schrieb sirga...@zoho.com:
> From: Luis Felipe 
> 
> * gnu/packages/ibus.scm (ibus-speech-to-text)[inputs]: Add
> bash-minimal.  Move desktop-file-utils, glib:bin and
> gobject-introspection to native-inputs.
> ---
Updated commit messages and pushed.

Cheers





bug#57501: call-with-file-lock does not remove lock file

2023-02-11 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> “call-with-file-lock” and “call-with-file-lock/no-wait” create a lock
> file but don’t remove the lock file when they exit.
>
> (guix build syscalls) defines these procedures with “dynamic-wind” so
> that the lock is always lifted with “unlock-file”.  While “unlock-file”
> uses the fcntl syscall to remove the lock on the file, the lock file
> itself is not deleted.
>
> I think it should be deleted.  When the lock file sticks around we may
> run into problems due to lock file ownership.  For example, imagine a
> cron job running as a different user that upgrades the contents of a
> user profile.  That cron job would leave behind an unlocked lock file
> owned by that user, preventing the owner of the profile from operating
> on the profile even though the lock has already been lifted with
> “unlock-file”.
>
> I propose letting either unlock-file or with-profile-lock delete the
> lock file.

Agreed.  Done in a68229b9a0f450db622511adfe00ff7307d745d3, thanks!

Ludo’.





bug#58033: PatchELF can create broken ELF binaries

2023-02-11 Thread Maxime Devos

I think I've found another instance of this bug.
Unlike , I'm getting an error 
message from validate-runpath, in the form of a type error.  Regardless 
of whether PatchELF's output is correct, I think there shouldn't be any 
type errors.


$ guix build -f guix.scm
[...]
validating RUNPATH of 1 binaries in 
"/gnu/store/cn7m18zrxp3ba8dxp6hy1w8jdr0kqp43-gearhead2-0.1/bin"...

error: in phase 'validate-runpath': uncaught exception:
wrong-type-arg "struct-vtable" "Wrong type argument in position ~A 
(expecting ~A): ~S" (1 "struct" #f) (#f)

phase `validate-runpath' failed after 0.0 seconds
Backtrace:
  18 (primitive-load "/gnu/store/ygpsgmga4qsp042z5nf9av4fm3y…")
In guix/build/gnu-build-system.scm:
906:2 17 (gnu-build #:source _ #:outputs _ #:inputs _ #:phases . #)
In ice-9/boot-9.scm:
  1752:10 16 (with-exception-handler _ _ #:unwind? _ # _)
In srfi/srfi-1.scm:
634:9 15 (for-each # …)
In ice-9/boot-9.scm:
  1752:10 14 (with-exception-handler _ _ #:unwind? _ # _)
In guix/build/gnu-build-system.scm:
   927:23 13 (_)
   567:16 12 (validate-runpath #:validate-runpath? _ # _ #:outputs _)
In guix/build/utils.scm:
   677:23 11 (loop ("/gnu/store/cn7m18zrxp3ba8dxp6hy1w8jdr0kqp43-g…") …)
   677:23 10 (loop ("/gnu/store/cn7m18zrxp3ba8dxp6hy1w8jdr0kqp43-g…") …)
In guix/build/gremlin.scm:
355:2  9 (validate-needed-in-runpath "/gnu/store/cn7m18zrxp3ba8…" …)
In ice-9/boot-9.scm:
  1752:10  8 (with-exception-handler _ _ #:unwind? _ # _)
In guix/build/gremlin.scm:
   368:20  7 (_)
   228:20  6 (elf-dynamic-info #< bytes: #vu8(127 69 76 70 2 1 …>)
In srfi/srfi-1.scm:
   586:17  5 (map1 (#< type: 29 value: 905 offset:…> …))
In guix/build/gremlin.scm:
   189:32  4 (interpret-dynamic-entry #< type: 29 val…>)
   166:14  3 (vma->offset #< bytes: #vu8(127 69 76 70 2 1 1 0 …> …)
In ice-9/boot-9.scm:
  1685:16  2 (raise-exception _ #:continuable? _)
  1683:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure struct-vtable: Wrong type argument in position 1 (expecting 
struct): #f
builder for 
`/gnu/store/3x0bsdyczsxjhmwynvb3mgh5x75i88s4-gearhead2-0.1.drv' failed 
with exit code 1


The file "guix.scm" contains the following (remember to comment-out 
#:strip-binaries? #false) (while there is a (license #f) line, that's 
just because I didn't fill everything in yet; the software is actually 
free):



(use-modules (guix gexp) (guix packages) (guix build-system gnu) (guix 
utils) (guix hash) (gnu packages pascal)

  (gnu packages sdl) (gnu packages elf))

(define (fpc-compilation-options)
  ;; -P and -T needs to be set for cross-compilation
  #~`(#$(cond ((target-aarch64?) "-Paarch64")
  ((target-ppc32?) "-Ppowerpc")
  ((target-ppc64le?) "-Ppowerpc64")
  ((target-x86-64?) "-Px86_64")
  ((target-x86-32?) "-Pi386")
  ((target-arm32?) "-Parm")
  (#true (error "unrecognised cross-compilation target")))
  #$(cond ((target-linux?) "-Tlinux")
  ((target-hurd?) "-Tlinux") ; untested, hopefully it's 
close enough

  (#true (error "unrecognised cross-compilation target")))
  "-O2" ; do some optimisations
  ;; Let fpc find libraries.
  ,@(append-map (lambda (x)
  (list (string-append "-Fl" x) ; fpc's equivalent 
of -L
(string-append "-Xr" x))) ; equivalent of 
-Wl,rpath

(string-split (getenv #$(if (%current-target-system)
"CROSS_LIBRARY_PATH"
"LIBRARY_PATH")) #\:

(package
  (name "gearhead2")
  (version "0.1") ; TODO
  (build-system gnu-build-system)
  (source (local-file "../gearhead-2" #:recursive? #true
  #:select? (negate vcs-file?)))
  (arguments
(list #:modules `((srfi srfi-1) ,@%gnu-build-system-modules)
  ;; #:strip-binaries? #true causes type errors in 
validate-runpath,

  ;; see .
  #:strip-binaries? #false ; strip-binaries? #true causes type 
errors in

  #:phases
  #~(modify-phases %standard-phases
  (delete 'configure)
  (replace 'build
(lambda _
  (apply invoke "fpc" "gearhead2" 
#$(fpc-compilation-options))

  ;; XXX: somehow the -Xr in fpc-compilation-options has no
  ;; effect.  Work-around this.
  (invoke "patchelf" "--set-rpath"
  (getenv #$(if (%current-target-system)
"CROSS_LIBRARY_PATH"
"LIBRARY_PATH"))
  "gearhead2")))
  (delete 'check) ; no test suite exists
  (replace 'install
(lambda _
  

bug#55098: ibus 1.5.24, ibus-daemon, X: Abnormal usage of RAM and CPU

2023-02-11 Thread Luis Felipe via Bug reports for GNU Guix
I don't see this issue anymore (currently on guix fb3085e).



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


signature.asc
Description: OpenPGP digital signature


bug#51505: Request for official docker image on dockerhub

2023-02-11 Thread Eugen Stan

Hi,

I also think it would be a great idea to have guix running inside docker.

I tried to adopt guix as a package maanger in our CI/CD pipeline and I 
could not run it inside a debian Docker image.


It seems guix has issues when running inside docker.
I found prior work here: https://github.com/metacall/guix .

Thanks,
--
Eugen Stan

+40770 941 271  / https://www.netdava.combegin:vcard
fn:Eugen Stan
n:Stan;Eugen
email;internet:eugen.s...@netdava.com
tel;cell:+40720898747
x-mozilla-html:FALSE
url:https://www.netdava.com
version:2.1
end:vcard



bug#54528: [PATCH] fix store-prefix for menu-entries

2023-02-11 Thread Stefan Karrmann
Dear Maxim Cournoyer,

here is a patch, that fixes the global store-prefix for grub menu-entries

on commit 58a95d599ee5d0dc6419d038b7317e1b77b11519

git apply fix-store-prefix-for-menu-entry.patch

Kind regards,
--
Dr. Stefan Karrmann
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index ecd44e7f3c..048b9ff8fd 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -378,22 +378,25 @@ (define (menu-entry->gexp entry)
   (device-mount-point (menu-entry-device-mount-point entry))
   (multiboot-kernel (menu-entry-multiboot-kernel entry))
   (chain-loader (menu-entry-chain-loader entry)))
+  ;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point.
+  ;; Use the right file names for LINUX and INITRD in case
+  ;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a
+  ;; separate partition. Then we don't use STORE-DIRECTORY-PREFIX.
+  ;; When STORE-DIRECTORY-PREFIX is defined, prepend it the linux and
+  ;; initrd paths, to allow booting from a Btrfs subvolume.
+  (define (normalize-or-grub path)
+"Normalize PATH if and only if DEVICE-MOUNT-POINT is \"/\"."
+(if (and (string? device-mount-point)
+ (string= "/" device-mount-point))
+(normalize-file path
+device-mount-point
+store-directory-prefix)
+path))
   (cond
(linux
 (let ((arguments (menu-entry-linux-arguments entry))
-  (linux (normalize-file linux
- device-mount-point
- store-directory-prefix))
-  (initrd (normalize-file (menu-entry-initrd entry)
-  device-mount-point
-  store-directory-prefix)))
-  ;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point.
-  ;; Use the right file names for LINUX and INITRD in case
-  ;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a
-  ;; separate partition.
-
-  ;; When STORE-DIRECTORY-PREFIX is defined, prepend it the linux and
-  ;; initrd paths, to allow booting from a Btrfs subvolume.
+  (linux (normalize-or-grub linux))
+  (initrd (normalize-or-grub (menu-entry-initrd entry
   #~(format port "menuentry ~s {
   ~a
   linux ~a ~a


bug#61329: Info

2023-02-11 Thread Michela Francesconi
Hello,

I am using an ssh account that connects to an external server, i have
downloaded through guix some software like samtools and bedtools but when i
try to use them in my directory it gives me this error:

-bash: samtools: command not found

In my direcory, however, there is the directry guix.profile and if I go
into the bin folder of this, I have everything I downloaded and if I run:

./samtools

In that direcory, I can see it and works. But how I can use that software
packages in another folder? I try with:

PATH=$PATH:~/home/hub_galli/mfrancesconi/.guix-profile/bin export PATH

But it doesn't work. What I'm doing wrong? You can help me?


Thank you and best regards

Michela


bug#61342: Quassel IRC service deletes nsfs mount on startup

2023-02-11 Thread Riley Smith via Bug reports for GNU Guix
Since quassel is the only irc client that has been packaged as a guix 
service, I decided to give it a shot on my server. On the same server I 
also have installed some custom services to create a new net namespace, 
initialize it, and launch some programs inside it. After starting the 
quassel service I discovered that on startup it was removing the nsfs 
mount that I had previously created with `ip netns add`. To reproduce:


1. first add `(service quassel-service-type)` to your system config and 
do a guix system reconfigure


2. stop the quassel service, `herd stop quassel`

3. create a new net namespace named 'test' with a corresponding nsfs 
mount with `ip netns add test`


4. Verify that the nsfs mount is present by running `ip netns list` or 
check the /proc/mounts file for the presence of the nsfs mount at 
/var/run/netns/test


5. start the quassel service, `herd start quassel`

The nsfs mount should now be deleted, and running `ip netns list` will 
report "Error: Peer netns reference is invalid." This was tested on a 
clean install using the latest guix as of Feb 6th. This could be a 
quassel issue unrelated to guix, but I don't know when I'll have time to 
test quassel in a different distro so I wanted to make the issue now so 
others are aware that it exists.



-Riley