Right yeah, or you can use clpm and specifically target the versions of the thing you use. Alternatively you can vendor (copy/paste them in your repo).
In CL you fo deal  with per-platform thing, but generally it is isolated to some OS layer and move on

On Sun, Sep 24, 2023 at 7:00 AM Attila Lendvai <attila.lendvai@gmail.com> wrote:
> I use a vanilla Quicklisp installation.  For some local directory
> trees I configure ASDF to prefer those trees over the standard
> Quicklisp versions by placing text like the following in my
> $HOME/.config/common-lisp/source-registry.conf file:
>
> (:source-registry
>  (:tree "/home/brown/toe/open-source/")
>  ;; For swank.asd
>  (:tree "/home/brown/local/software/source/slime/")
>  :inherit-configuration)


+1 for this as the simplest path to the desired outcome.


> ./configure
> make
> sudo make install
>
> and it works!  I can put the clone anywhere I want.  I can change it
> anyway I want.  The system doesn't fight me.


that system is a struggle in so many other ways (dll hell; all the
/usr/include stuff; etc...). and from all the various linux distros,
precious few can achieve the equivalent of the CL ecosystem WRT
reproducibility and fine-grained control over the versions of the
dependencies (NixOS and Guix are the ones i'm aware of).

the seeming simplicity of that ./configure dance has an enormous cost
that only shows up when it doesn't work in apparent or in covertly
surprising ways.

--
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“In his dealings with the world, the gentleman is not invariably for
or against anything. He is on the side of what is moral.”
— Confucius (551–479 BC)


--
Wilfredo Velázquez-Rodríguez