Guillaume Le Vaillant <[email protected]> writes: > Guillaume Le Vaillant <[email protected]> skribis: > >> Katherine Cox-Buday <[email protected]> skribis: >> >>> Sometime recently, the way Common Lisp code is compiled was changed (for >>> the better, I think), and now my StumpWM contrib modules won't load. >>> Here's why: >>> >>> StumpWM looks[1] for .asd files to determine what is a module. Guix's >>> Common Lisp build system used to combine an entire system into a single >>> .fasl file and then produce a .asd file for loading it. Now -- as far as >>> I can tell -- it looks like `lib/common-lisp/sbcl` is more like the >>> Common Lisp cache: one .fasl file per .lisp file. >>> >>> If I point StumpWM at `lib/common-lisp/sbcl` via `set-module-dir`, it >>> finds no modules. If I point StumpWM at `share/common-lisp/sbcl`, it >>> finds modules, tries to compile them, and then gives me a permissions >>> error about writing to the `/gnu` store. >>> >>> Is anyone using StumpWM contrib modules successfully with Guix's new >>> layout? How? >>> >>> [1] - https://github.com/stumpwm/stumpwm/blob/master/module.lisp#L70 >> >> Hi,
Hey, thanks for responding Guillaume, and thanks for forwarding, Pierre. >> In my StumpWM init file, I use '(asdf:load-system ...)' instead of >> '(load-module ...)' to load the contrib modules that are installed in my >> Guix profile, and it works. When I try this, I get this error: Error opening #P"/gnu/store/j6s3hhmlm8n7ynv92agcbzzxrc0bgpc0-stumpwm-20.11-lib/lib/common-lisp/sbcl/stumpwm/package-tmpAAURS01.fasl which is a file that does not exist. > With the following near the top of my StumpWM init file, the > 'load-module' function works like 'asdf:load-system': > > (let* ((guix-profile (pathname-as-directory (getenv "GUIX_PROFILE"))) > (module-dir (merge-pathnames "share/common-lisp/sbcl/" guix-profile))) > (set-module-dir module-dir)) This is what I mentioned above, pointing to the `share/` side of things. On my Guix OS system, this works (but it has to compile everything; I'd prefer to use the precompiled fasls), but on my alien distro, I get the afforementioned permission error as it tries to write to the store. I'm happy to try and find something that works in the short-term so I can get my window manager back, but in the long-term, we should repair the bug so that new users aren't left wondering as well. Thanks again for responding. Katherine
