From: Timo Myyrä Subject: Re: Followup after update lang/sbcl To: Sebastien Marie Cc: "Kirill A. Korinsky" , OpenBSD ports Date: Sun, 21 Apr 2024 08:45:16 +0300 On Fri, Apr 19 2024, Sebastien Marie wrote: > (Adding Cc to stumpwm maintainer) > > Kirill A. Korinsky writes: > >> Greetings, >> >> I've encountered an edge case with update of sbcl which lead to broken stumpwm. >> >> My stumpwm configuration uses mpd modules which requires sb-bsd-sockets, so >> after update of sbcl... it was broken. >> >> To overstep that issue I must rebuild stumpwm because it is saved image >> which includes sbcl which was used when it was build. >> >> To avoid such issue in the future I suggest to add a note inside lang/sbcl >> that after update x11/stumpwm should have increased revision. >> >> I haven't found any other port which depends on lang/sbcl. > > I commited a REVISION bump to x11/stumpwm (REVISION starts at 0). > > if I properly understand the problem, it is due that you are using both > stumpwm (compiled with older sbcl compiler) and sbcl parts (for a mpd > module), and the version mismatches. > > For now, bumping stumpwm is the simpler, but I wonder if it would be > possible to use stumpwm somehow from source and let's sbcl compilation > to refresh the fasl files if updated. Timo, any idea ? > > Thanks. I don't like the revision bump approach as why SBCL port should be changed for each libraries/application using it. That being said, I do not have anything better to offer here at the moment. I'm not that well versed in the CL compilation process but looking at the SBCL manual [0] tells the FASL is tied to specific SBCL version. It also has configuration option to refresh stale FASL files which could be added system-wide in /etc/sbclrc. So instead of current stumpwm build where it dumps the image, we could use the ASDF to compile the stumpwm to some directory (which directory?) and copy sources to other directory under /usr/local. And then create shell wrapper to /usr/local/bin/stumpwm to start the stumpwm using the asdf so that it would be recompiled if stale... But this recompilation is then done as user I think, so it can't refresh the package's own files but stores the updated FASL files to user-specific directory. Is that something to aim for? 0 http://www.sbcl.org/manual/#FASL-Format