all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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


  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.