unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* stumpwm contrib modules have been broken
@ 2021-01-05 21:46 Katherine Cox-Buday
  2021-01-06  8:31 ` Pierre Neidhardt
  2021-01-06 10:09 ` Guillaume Le Vaillant
  0 siblings, 2 replies; 6+ messages in thread
From: Katherine Cox-Buday @ 2021-01-05 21:46 UTC (permalink / raw)
  To: help-guix

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

-- 
Katherine


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: stumpwm contrib modules have been broken
  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
  1 sibling, 0 replies; 6+ messages in thread
From: Pierre Neidhardt @ 2021-01-06  8:31 UTC (permalink / raw)
  To: Katherine Cox-Buday, help-guix

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

Hi Katherine,

I don't use StumpWM myself, but Guillaume might so I've forwarding the
email to him in case he missed the mailing list message.

Considering some StumpWM contribs have been updated after the build
system overhaul, I expect them to be working one way or another :)

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: stumpwm contrib modules have been broken
  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
  1 sibling, 1 reply; 6+ messages in thread
From: Guillaume Le Vaillant @ 2021-01-06 10:09 UTC (permalink / raw)
  To: Katherine Cox-Buday; +Cc: help-guix

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


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,

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.

I'll see if I can find a combination 'set-module-dir' and
'add-to-load-path' that makes the 'load-module' function work
correctly...

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: stumpwm contrib modules have been broken
  2021-01-06 10:09 ` Guillaume Le Vaillant
@ 2021-01-06 10:36   ` Guillaume Le Vaillant
  2021-01-06 16:08     ` Katherine Cox-Buday
  0 siblings, 1 reply; 6+ messages in thread
From: Guillaume Le Vaillant @ 2021-01-06 10:36 UTC (permalink / raw)
  To: Katherine Cox-Buday; +Cc: help-guix

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


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,
>
> 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.
>
> I'll see if I can find a combination 'set-module-dir' and
> 'add-to-load-path' that makes the 'load-module' function work
> correctly...

With the following near the top of my StumpWM init file, the
'load-module' function works like 'asdf:load-system':

--8<---------------cut here---------------start------------->8---
(let* ((guix-profile (pathname-as-directory (getenv "GUIX_PROFILE")))
       (module-dir (merge-pathnames "share/common-lisp/sbcl/" guix-profile)))
  (set-module-dir module-dir))

(load-module "ttf-fonts")
--8<---------------cut here---------------end--------------->8---

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: stumpwm contrib modules have been broken
  2021-01-06 10:36   ` Guillaume Le Vaillant
@ 2021-01-06 16:08     ` Katherine Cox-Buday
  2021-01-06 17:26       ` Guillaume Le Vaillant
  0 siblings, 1 reply; 6+ messages in thread
From: Katherine Cox-Buday @ 2021-01-06 16:08 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: help-guix

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: stumpwm contrib modules have been broken
  2021-01-06 16:08     ` Katherine Cox-Buday
@ 2021-01-06 17:26       ` Guillaume Le Vaillant
  0 siblings, 0 replies; 6+ messages in thread
From: Guillaume Le Vaillant @ 2021-01-06 17:26 UTC (permalink / raw)
  To: Katherine Cox-Buday; +Cc: help-guix

[-- 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 --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-01-06 17:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 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).