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

Reply via email to