guix_mirror_bot pushed a commit to branch master
in repository guix.
commit ccbb88e9a918f4074116997d50bf235bc3664760
Author: Ada Avery <[email protected]>
AuthorDate: Thu Aug 14 20:20:54 2025 -0700
build-system: asdf: Move config files from etc/ to etc/xdg/
The old path caused lisp compilers to set XDG_CONFIG_DIRS to a different
value
compared to the rest of the Guix package ecosystem, and that caused things
to
get confused. E.g. logging into a gnome session was impossible if the user
profile included a lisp compiler! See https://issues.guix.gnu.org/45360.
Although that report is about a foreign distro, I have found that the exact
same issue reproduces on Guix System.
Change-Id: Id1ce5c21df8a769be1d1ba8883cafccc277ab191
---
gnu/packages/lisp-xyz.scm | 4 ++--
gnu/packages/lisp.scm | 10 +++++-----
guix/build/asdf-build-system.scm | 8 ++++----
guix/build/lisp-utils.scm | 4 ++--
4 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 7faa6efbc0..db840c4001 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -10938,9 +10938,9 @@ compressor. It works on data produced by
@code{parse-js} to generate a
(require :asdf)
(asdf:initialize-source-registry
- #p\"~a/etc/common-lisp/source-registry.conf.d/\")
+ #p\"~a/etc/xdg/common-lisp/source-registry.conf.d/\")
(asdf:initialize-output-translations
- #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
+ #p\"~a/etc/xdg/common-lisp/asdf-output-translations.conf.d/\")"
(assoc-ref %build-inputs "sbcl")
(assoc-ref %build-inputs "sbcl-cl-uglify-js")
(assoc-ref %build-inputs "sbcl-cl-uglify-js"))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index c0f20b15ba..e8b3a3ddc2 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -371,7 +371,7 @@ integration with code written in C.")
(files '("share")))
(search-path-specification
(variable "XDG_CONFIG_DIRS")
- (files '("etc")))))
+ (files '("etc/xdg")))))
(supported-systems '("i686-linux" "x86_64-linux" "armhf-linux"))
(home-page "https://ccl.clozure.com/")
(synopsis "Common Lisp implementation")
@@ -470,7 +470,7 @@ interface.")
(files '("share")))
(search-path-specification
(variable "XDG_CONFIG_DIRS")
- (files '("etc")))))
+ (files '("etc/xdg")))))
(home-page "https://clasp-developers.github.io/")
(synopsis "Common Lisp implementation based on LLVM and C++")
(description "Clasp is a new Common Lisp implementation that seamlessly
@@ -619,7 +619,7 @@ Definition Facility.")
(files '("share")))
(search-path-specification
(variable "XDG_CONFIG_DIRS")
- (files '("etc")))))
+ (files '("etc/xdg")))))
(home-page "https://clisp.sourceforge.io/")
(synopsis "Common Lisp implementation")
(description
@@ -707,7 +707,7 @@ an interpreter, a compiler, a debugger, and much more.")
(files '("share")))
(search-path-specification
(variable "XDG_CONFIG_DIRS")
- (files '("etc")))))
+ (files '("etc/xdg")))))
(home-page "https://ecl.common-lisp.dev/")
(synopsis "Embeddable Common Lisp")
(supported-systems (remove target-hurd? %supported-systems))
@@ -1601,7 +1601,7 @@ be built as a stand-alone REPL interpreter.")
(files '("share")))
(search-path-specification
(variable "XDG_CONFIG_DIRS")
- (files '("etc")))))
+ (files '("etc/xdg")))))
(home-page "https://www.sbcl.org/")
(supported-systems (remove target-hurd? %supported-systems))
(synopsis "Common Lisp implementation")
diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm
index 89ff9e68b9..da26b2b597 100644
--- a/guix/build/asdf-build-system.scm
+++ b/guix/build/asdf-build-system.scm
@@ -175,7 +175,7 @@ installed."
(define* (configure #:key inputs #:allow-other-keys)
;; Create a directory having the configuration files for
- ;; all the dependencies in 'etc/common-lisp/'.
+ ;; all the dependencies in 'etc/xdg/common-lisp/'.
(let ((out (string-append (getcwd) "/.cl-union")))
(match inputs
(((name . directories) ...)
@@ -183,7 +183,7 @@ installed."
#:create-all-directories? #t
#:log-port (%make-void-port "w"))))
(setenv "CL_UNION" out)
- (setenv "XDG_CONFIG_DIRS" (string-append out "/etc")))
+ (setenv "XDG_CONFIG_DIRS" (string-append out "/etc/xdg")))
#t)
(define* (build #:key outputs inputs asd-systems asd-operation
@@ -217,8 +217,8 @@ installed."
"Create the ASDF configuration files for the built systems."
(let* ((system-name (main-system-name (assoc-ref outputs "out")))
(out (library-output outputs))
- (conf-dir (string-append out "/etc/common-lisp"))
- (deps-conf-dir (string-append (getenv "CL_UNION") "/etc/common-lisp"))
+ (conf-dir (string-append out "/etc/xdg/common-lisp"))
+ (deps-conf-dir (string-append (getenv "CL_UNION")
"/etc/xdg/common-lisp"))
(source-dir (lisp-source-directory out system-name))
(lib-dir (string-append (library-directory out) "/" system-name)))
(make-asdf-configuration system-name conf-dir deps-conf-dir
diff --git a/guix/build/lisp-utils.scm b/guix/build/lisp-utils.scm
index 793ee3e163..09965c598e 100644
--- a/guix/build/lisp-utils.scm
+++ b/guix/build/lisp-utils.scm
@@ -236,7 +236,7 @@ will run ENTRY-PROGRAM, a list of Common Lisp expressions
in which `arguments'
has been bound to the command-line arguments which were passed. Link in any
asd files from DEPENDENCY-PREFIXES to ensure references to those libraries are
retained."
- (setenv "XDG_CONFIG_DIRS" (string-append (library-output outputs) "/etc"))
+ (setenv "XDG_CONFIG_DIRS" (string-append (library-output outputs)
"/etc/xdg"))
(generate-executable program
#:dependencies dependencies
#:dependency-prefixes dependency-prefixes
@@ -257,7 +257,7 @@ retained."
"Generate an image, possibly standalone, which contains all DEPENDENCIES,
placing the result in IMAGE.image. Link in any asd files from
DEPENDENCY-PREFIXES to ensure references to those libraries are retained."
- (setenv "XDG_CONFIG_DIRS" (string-append (library-output outputs) "/etc"))
+ (setenv "XDG_CONFIG_DIRS" (string-append (library-output outputs)
"/etc/xdg"))
(generate-executable image
#:dependencies dependencies
#:dependency-prefixes dependency-prefixes