I haven't verified the details, but I believe the short answer to your question is "yes."
What one would need to do is to find where packages such as `cl-alexandria-sbcl` write their compiled code and add that location to the exceptions to output translations. See [the asdf manual](https://asdf.common-lisp.dev/asdf.html#Controlling-where-ASDF-saves-compiled-files), and particularly look at the definition of the configuration DSL. This may require the user to appropriately employ `:inherit-configuration` in any user-specific configuration they do, but in general it's not a good idea to `:ignore-inherited-configuration` unless you have a very good reason. Best, R On 24 Nov 2024, at 11:08, Joseph Mingrone wrote: > Hello, > > I'm attempting to adjust the ASDF configuration for FreeBSD CL > ports/packages to balance the use of precompiled FASL files from OS > packages with the ability to compile and write code under users' home > directories. Details are below. Any advice would be appreciated. > > The system-wide configuration [0] I'm attempting to adjust is used both > when building FreeBSD CL OS packages and on target systems. > Specifically, it: > > - sets up a central registry, > - enforces a filesystem layout, > - and configures output translations. > > With this configuration, users can run `pkg install cl-alexandria-sbcl` > and two packages will be installed: > > - cl-alexandria, essentially the upstream repository, > - cl-alexandria-sbcl, the compiled code. > > From their Lisp implementation, users only need to execute > (asdf:load-system :alexandria) and no local compilation is required. > > However, if a user installs only cl-alexandria without > cl-alexandria-sbcl, issues arise. Due to the output translations, ASDF > attempts to write compiled code to a location where the user lacks write > access. On the other hand, if we remove the output translations on > target systems, all FASL files provided by the OS packages are ignored, > and ASDF tries to recompile and write them under ~/.cache/common-lisp/. > > Is there a way to configure ASDF to recognize and accept the FASL files > from the OS packages and compile and write any missing FASL files to the > default untranslated location under ~/.cache/common-lisp/? > > Thank you, > Joe > > [0] https://cgit.freebsd.org/ports/tree/devel/cl-asdf/bsd.cl-asdf.mk Robert P. Goldman Research Fellow Smart Information Flow Technologies (d/b/a SIFT, LLC) 319 N. First Ave., Suite 400 Minneapolis, MN 55401 Google Voice: (612) 326-3934 Cell: (612) 384-3454 Email: rpgold...@sift.net
signature.asc
Description: OpenPGP digital signature