unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Guillaume Le Vaillant <glv@posteo.net>
To: Katherine Cox-Buday <cox.katherine.e@gmail.com>
Cc: help-guix@gnu.org
Subject: Re: stumpwm contrib modules have been broken
Date: Wed, 06 Jan 2021 18:26:04 +0100	[thread overview]
Message-ID: <87pn2igeoj.fsf@yamatai> (raw)
In-Reply-To: <87zh1mt5dp.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3295 bytes --]


Katherine Cox-Buday <cox.katherine.e@gmail.com> skribis:

> 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

I'm using a Guix OS and I don't have the issue; StumpWM uses the
precompiled files and doesn't try to recompile anything.
Maybe we can try to find what is the difference between your
configuration and mine.

Are all the packages for the Lisp systems and StumpWM modules that you
load in your init file installed in your Guix profile?

How is your StumpWM started (.xsession file, custom script, ...)?

What is the result of evaluating '(getenv "XDG_CONFIG_DIRS")' in your
StumpWM?

What is the result of evaluating '(getenv "XDG_DATA_DIRS")' in your
StumpWM?

Could you share the part of your init file that sets the module
directory (or directories)?

Does StumpWM try to recompile every module that you load, or only
some of them?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

      reply	other threads:[~2021-01-06 17:26 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
2021-01-06 17:26       ` Guillaume Le Vaillant [this message]

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87pn2igeoj.fsf@yamatai \
    --to=glv@posteo.net \
    --cc=cox.katherine.e@gmail.com \
    --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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).