bug#62890: StumpWM fails to start - Read only file system

2024-06-29 Thread Guillaume Le Vaillant
Thanks for testing. Patch applied as
a46908620fac09bd8ccd0f587a27e86035d3b1d7.


signature.asc
Description: PGP signature


bug#62890: StumpWM fails to start - Read only file system

2024-06-28 Thread Richard Sent
Hi Guillaume,

Thanks, your patch works for me! I don't expect many use cases to break
from this (how many people want to install stumpwm lib but not stumpwm
proper), but there's probably a fair amount of configs that'll break.
Maybe it deserves a NEWS entry.

I dream of the day https://issues.guix.gnu.org/48907 is fixed.

While testing this I noticed that the error message can be even less
descriptive than reported previously. With my current StumpWM config,
without your patch, and with grafts enabled I get the following error:

> Memory fault in 0x.

Yeah, that's a fun one to debug. Very informative . I spent far too
long bisecting a big Guix commit list before realizing this was ALSO a
grafting issue.

-- 
Take it easy,
Richard Sent
Making my computer weirder one commit at a time.





bug#62890: StumpWM fails to start - Read only file system

2024-06-24 Thread Guillaume Le Vaillant
Hi.
Here's a patch for using a single output for stumpwm instead of having
a separate lib output. Could you check if it works for you?

From 48133ed3d6b4991c18b9c481eb5e0c62662c7e38 Mon Sep 17 00:00:00 2001
Message-ID: <48133ed3d6b4991c18b9c481eb5e0c62662c7e38.1719221599.git@posteo.net>
From: Guillaume Le Vaillant 
Date: Mon, 24 Jun 2024 11:00:44 +0200
Subject: [PATCH] gnu: stumpwm: Use a single output.

This is a warkaround for the excess library grafts issue that can prevent
stumpwm from working properly. See  and
.

* gnu/packages/wm.scm (stumpwm)[outputs]: Remove "lib" output.
  [arguments]: Remove references to the "lib" output from phases.
  (stumpwm+slynk, stumpwm-contrib, sbcl-stumpwm-pamixer,
  sbcl-stumpwm-ttf-fonts, sbcl-stumpwm-stumptray, sbcl-stumpwm-disk,
  sbcl-stumpwm-screenshot, sbcl-stumpwm-notify,
  sbcl-stumpwm-battery-portable)[inputs]: Replace '(stumpwm "lib")'
  with 'stumpwm'.

Change-Id: I3d8f025057965032c40ea833d3ebe62f9700071d
---
 gnu/packages/wm.scm | 40 ++--
 1 file changed, 14 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index c3cd596e6c..d82ea8aab4 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -2426,7 +2426,6 @@ (define-public stumpwm
  (list sbcl-alexandria
sbcl-cl-ppcre
sbcl-clx))
-(outputs '("out" "lib"))
 (arguments
  (list
   #:phases
@@ -2439,12 +2438,12 @@ (define-public stumpwm
   (add-after 'create-asdf-configuration 'build-program
 (lambda* (#:key outputs #:allow-other-keys)
   (build-program
-   (string-append (assoc-ref outputs "out") "/bin/stumpwm")
+   (string-append #$output "/bin/stumpwm")
outputs
#:entry-program '((stumpwm:stumpwm) 0
   (add-after 'build-program 'create-desktop-file
 (lambda* (#:key outputs #:allow-other-keys)
-  (let* ((out (assoc-ref outputs "out"))
+  (let* ((out #$output)
  (xsessions (string-append out "/share/xsessions")))
 (mkdir-p xsessions)
 (call-with-output-file
@@ -2461,7 +2460,7 @@ (define-public stumpwm
out))
   (add-after 'install 'install-manual
 (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
-  (let* ((out  (assoc-ref outputs "out"))
+  (let* ((out  #$output)
  (info (string-append out "/share/info")))
 (invoke "./autogen.sh")
 (invoke "sh" "./configure" "SHELL=sh")
@@ -2469,8 +2468,7 @@ (define-public stumpwm
 (install-file "stumpwm.info" info
   (add-after 'install-manual 'remove-temporary-cache
 (lambda* (#:key outputs #:allow-other-keys)
-  (delete-file-recursively (string-append (assoc-ref outputs "lib")
-  "/.cache")))
+  (delete-file-recursively (string-append #$output "/.cache")))
 (synopsis "Window manager written in Common Lisp")
 (description
  "Stumpwm is a window manager written entirely in Common Lisp.
@@ -2490,10 +2488,8 @@ (define-public stumpwm+slynk
   (package
 (inherit stumpwm)
 (name "stumpwm-with-slynk")
-(outputs '("out"))
 (inputs
- `(("stumpwm" ,stumpwm "lib")
-   ("slynk" ,sbcl-slynk)))
+ (list sbcl-slynk stumpwm))
 (arguments
  (substitute-keyword-arguments (package-arguments stumpwm)
((#:phases phases)
@@ -2508,8 +2504,7 @@ (define-public stumpwm+slynk
 #:dependencies '("stumpwm" "slynk")
 #:dependency-prefixes
 (map (lambda (input) (assoc-ref inputs input))
- '("stumpwm" "slynk")))
- #t)))
+ '("stumpwm" "sbcl-slynk"))
(delete 'copy-source)
(delete 'build)
(delete 'check)
@@ -2533,7 +2528,7 @@ (define stumpwm-contrib
   (base32 "1g8h2vd5qsmaiz6ixlx9ykrv6a08izmkf0js18fvljvznpyhsznz"
   (build-system asdf-build-system/sbcl)
   (inputs
-   `(("stumpwm" ,stumpwm "lib")))
+   (list stumpwm))
   (home-page "https://github.com/stumpwm/stumpwm-contrib;)
   (synopsis "StumpWM extra modules")
   (description "This package provides extra modules for StumpWM.")
@@ -2578,7 +2573,7 @@ (define-public sbcl-stumpwm-pamixer
 (sha256
  (base32
   "0djcrr16bx40l7b60d4j507vk5l42fdgmjpgrnk86z1ba8wlqim8"
-  (inputs (list pamixer `(,stumpwm "lib")))
+  (inputs (list pamixer stumpwm))
   (build-system asdf-build-system/sbcl)
   (arguments
(list #:asd-systems ''("pamixer")
@@ -2620,8 

bug#62890: StumpWM fails to start - Read only file system

2024-05-27 Thread Richard Sent
Richard Sent  writes:

> Packages that depend on say, A:lib graft their own copies of A:lib that
> is distinct from grafting A:out and A:lib together. This behavior
> confuses asdf-build-system and leads to breakage.

I should rephase this. asdf-build-system is doing its job just fine. I
don't think it's the build-system that's broken. It's that splitting
outputs like this simply leads to incompatibility with asdf itself.

That being said, I've never actually /used/ asdf. I welcome thoughts
from my betters! :)

-- 
Take it easy,
Richard Sent
Making my computer weirder one commit at a time.





bug#62890: StumpWM fails to start - Read only file system

2023-04-25 Thread Guillaume Le Vaillant
I think the issue comes from grafts.

Without grafts, the ASDF configuration is coherent; the path for
stumpwm's sources and libraries is the same everywhere (here in
stumpwm:lib and sbcl-stumpwm-cpu):

--8<---cut here---start->8---
$ cat $(guix build --no-grafts stumpwm | grep 
'lib$')/etc/common-lisp/*/50-stumpwm.conf
(("/gnu/store/v18hzbid3rjblz35s69w4c0gcsx9f9w9-stumpwm-22.11-lib/share/common-lisp/sbcl/stumpwm"
  :**/
  :*.*.*)
 
("/gnu/store/v18hzbid3rjblz35s69w4c0gcsx9f9w9-stumpwm-22.11-lib/lib/common-lisp/sbcl/stumpwm"
  :**/
  :*.*.*))

(:tree 
"/gnu/store/v18hzbid3rjblz35s69w4c0gcsx9f9w9-stumpwm-22.11-lib/share/common-lisp/sbcl/stumpwm")

$ cat $(guix build --no-grafts 
sbcl-stumpwm-cpu)/etc/common-lisp/*/50-stumpwm.conf
(("/gnu/store/v18hzbid3rjblz35s69w4c0gcsx9f9w9-stumpwm-22.11-lib/share/common-lisp/sbcl/stumpwm"
  :**/
  :*.*.*)
 
("/gnu/store/v18hzbid3rjblz35s69w4c0gcsx9f9w9-stumpwm-22.11-lib/lib/common-lisp/sbcl/stumpwm"
  :**/
  :*.*.*))

(:tree 
"/gnu/store/v18hzbid3rjblz35s69w4c0gcsx9f9w9-stumpwm-22.11-lib/share/common-lisp/sbcl/stumpwm")
--8<---cut here---end--->8---


With grafts, we get different paths, which probably explains why ASDF
fails to find the compiled Lisp files it is looking for:

--8<---cut here---start->8---
$ cat $(guix build stumpwm | grep 'lib$')/etc/common-lisp/*/50-stumpwm.conf
(("/gnu/store/wsjyjqf20ldbmgdq96h73qikmwhxv36c-stumpwm-22.11-lib/share/common-lisp/sbcl/stumpwm"
  :**/
  :*.*.*)
 
("/gnu/store/wsjyjqf20ldbmgdq96h73qikmwhxv36c-stumpwm-22.11-lib/lib/common-lisp/sbcl/stumpwm"
  :**/
  :*.*.*))

(:tree 
"/gnu/store/wsjyjqf20ldbmgdq96h73qikmwhxv36c-stumpwm-22.11-lib/share/common-lisp/sbcl/stumpwm")

$ cat $(guix build sbcl-stumpwm-cpu)/etc/common-lisp/*/50-stumpwm.conf
(("/gnu/store/h8i8mwsgjb96r407xqa2sf56clgy7r7c-stumpwm-22.11-lib/share/common-lisp/sbcl/stumpwm"
  :**/
  :*.*.*)
 
("/gnu/store/h8i8mwsgjb96r407xqa2sf56clgy7r7c-stumpwm-22.11-lib/lib/common-lisp/sbcl/stumpwm"
  :**/
  :*.*.*))

(:tree 
"/gnu/store/h8i8mwsgjb96r407xqa2sf56clgy7r7c-stumpwm-22.11-lib/share/common-lisp/sbcl/stumpwm")
--8<---cut here---end--->8---


signature.asc
Description: PGP signature


bug#62890: StumpWM fails to start - Read only file system

2023-04-24 Thread Guillaume Le Vaillant
Kjartan Óli Águstsson  skribis:

> I just started experiencing an issue with stumpwm where it fails to
> start, complaining about a read only file system.  A web search for the
> error message leads me to
> https://lists.gnu.org/archive/html/help-guix/2021-02/msg00080.html,
> which sounds exactly like the problem I'm experiencing.  I'm unsure how
> to get the backtrace shared in that thread, or in general how to proceed
> with debugging this.
>
> guix describe shows:
>   guix 9a5e1dc
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: 9a5e1dc1f16f5f8c056e64f2077b035784003673
> but I tried rolling back to an earlier system generation:
>   guix:
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: d513ba83ebca347164098bb0fa1354f3657bc7e2
> to no success so I doubt it is a new change in Guix.
>
> Unless I'm missing something in the help-guix thread there is no
> solution discussed there, so any help in debugging this would be greatly
> appreciated.

Hi,

I just got the same problem after reconfiguring a machine (using
guix-home, but I'm not sure if it is relevant). It only happens when
I try to load extra modules from the ".stumpwm/init.lisp" file.

It looks like the configuration indicating where to search for the
compiled Common Lisp files (ASDF's source-registry and
output-translations) is not taken into consideration by Stumpwm
anymore... so it tries to recompile them in the wrong place.

As a workaround, replacing:
  exec stumpwm
by:
  exec sbcl --no-userinit --non-interactive --eval '(require :asdf)' --eval 
'(asdf:load-system "stumpwm")' --eval '(stumpwm:stumpwm)'
in my ".xsession" file seems to work...


signature.asc
Description: PGP signature


bug#62890: StumpWM fails to start - Read only file system

2023-04-16 Thread Kjartan Óli Águstsson
I just started experiencing an issue with stumpwm where it fails to
start, complaining about a read only file system.  A web search for the
error message leads me to
https://lists.gnu.org/archive/html/help-guix/2021-02/msg00080.html,
which sounds exactly like the problem I'm experiencing.  I'm unsure how
to get the backtrace shared in that thread, or in general how to proceed
with debugging this.

guix describe shows:
  guix 9a5e1dc
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 9a5e1dc1f16f5f8c056e64f2077b035784003673
but I tried rolling back to an earlier system generation:
  guix:
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: d513ba83ebca347164098bb0fa1354f3657bc7e2
to no success so I doubt it is a new change in Guix.

Unless I'm missing something in the help-guix thread there is no
solution discussed there, so any help in debugging this would be greatly
appreciated.

-- 
Kjartan Oli Agustsson
GPG Key fingerprint: 4801 0D71 49C0 1DD6 E5FD  6AC9 D757 2FE3 605E E6B0


signature.asc
Description: PGP signature