From: Katherine Cox-Buday <cox.katherine.e@gmail.com>
To: Guillaume Le Vaillant <glv@posteo.net>
Cc: help-guix@gnu.org
Subject: Re: stumpwm contrib modules have been broken
Date: Wed, 06 Jan 2021 10:08:34 -0600 [thread overview]
Message-ID: <87zh1mt5dp.fsf@gmail.com> (raw)
In-Reply-To: <87v9cagxmp.fsf@yamatai> (Guillaume Le Vaillant's message of "Wed, 06 Jan 2021 11:36:46 +0100")
Guillaume Le Vaillant <glv@posteo.net> writes:
> Guillaume Le Vaillant <glv@posteo.net> skribis:
>
>> Katherine Cox-Buday <cox.katherine.e@gmail.com> 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
next prev parent reply other threads:[~2021-01-06 16:08 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-05 21:46 stumpwm contrib modules have been broken Katherine Cox-Buday
2021-01-06 8:31 ` Pierre Neidhardt
2021-01-06 10:09 ` Guillaume Le Vaillant
2021-01-06 10:36 ` Guillaume Le Vaillant
2021-01-06 16:08 ` Katherine Cox-Buday [this message]
2021-01-06 17:26 ` Guillaume Le Vaillant
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zh1mt5dp.fsf@gmail.com \
--to=cox.katherine.e@gmail.com \
--cc=glv@posteo.net \
--cc=help-guix@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.