ASDF config file under Windows

Robert Goldman rpgoldman at sift.net
Mon Jun 5 13:49:05 UTC 2023


I was just answering what I thought was your question -- could CLAD be 
used as a source for ASDF configuration.

On 4 Jun 2023, at 15:57, Marco Antoniotti wrote:

> Hi Robert,
>
> AFAIU this is the configuration of ASDF itself, when loading in a 
> fresh
> CL.  I think we are not clear about the timing of what should be 
> loaded
> when.
>
> CLAD does not need ASDF or UIOP.  It just has a .asd file because 
> Quicklisp
> asks for it.
>
> Cheers
>
> MA
>
>
> On Sun, Jun 4, 2023 at 9:00 PM Robert Goldman <rpgoldman at sift.net> 
> wrote:
>
>> TBQH, I am not as sure as I should be. I try to avoid all the
>> configuration that happens while ASDF loads, so that I configure only
>> *after* the load is complete, at a point where I can watch what goes 
>> on.
>> As I have said before, I don't like the configuration that uses 
>> config
>> files, environment variables or magic directories, because it's 
>> impossible
>> to debug (by the time ASDF is loaded and can be instrumented, it's 
>> too
>> late).
>>
>> I believe the right thing would be for you to figure out how to add 
>> an
>> entry to the variable asdf:*default-source-registries* that is a 
>> function
>> that will collect the appropriate configuration information. But I 
>> don't
>> claim to fully understand source-registry.lisp
>> <https://gitlab.common-lisp.net/asdf/asdf/-/blob/9c7f1b76ca8e820c020a3ec3aeb4b507ab15aa34/source-registry.lisp>
>> .
>>
>> On 4 Jun 2023, at 3:29, Marco Antoniotti wrote:
>>
>> Sure.
>>
>> I am not privy to ASDF bootstrap.  Where would you start?
>>
>> MA
>>
>>
>> On Sun, Jun 4, 2023 at 12:41 AM Robert P. Goldman 
>> <rpgoldman at sift.net>
>> wrote:
>>
>>> The next step would be to add an ASDF plug-in so that ASDF can read 
>>> its
>>> configuration from a CLAD set up…. :-)
>>>
>>> --
>>> Robert P. Goldman
>>>
>>> On June 3, 2023 at 16:56:53, Marco Antoniotti 
>>> (marco.antoniotti at unimib.it)
>>> wrote:
>>>
>>>> Wellll.  You need a CL to load ASDF, don’t you? :)
>>>>
>>>> CLAD is minimal and barebones.  You can load it from two files 
>>>> (just
>>>> because the DEFPACKAGE is separate) and it’s there.  Look ma! No 
>>>> ASDF! :)
>>>> (Or UIOP)
>>>>
>>>> But I see your point.  Time to add a clad-setup.lisp file.
>>>>
>>>> Cheers
>>>>
>>>> MA
>>>>
>>>>
>>>>
>>>> On Sat, 3 Jun 2023 at 23:10, Robert Goldman <rpgoldman at sift.info> 
>>>> wrote:
>>>>
>>>>> I do like the idea of CLAD, but in this case isn't there a 
>>>>> Catch-22?
>>>>> You need to configure ASDF in order to load CLAD, so you can't use 
>>>>> CLAD to
>>>>> configure ASDF, can you?
>>>>>
>>>>> On 3 Jun 2023, at 10:57, Marco Antoniotti wrote:
>>>>>
>>>>> Ahem.  Shameless plug: 
>>>>> https://gitlab.common-lisp.net/mantoniotti/CLAD
>>>>>
>>>>> Cheers
>>>>>
>>>>> MA
>>>>>
>>>>>
>>>>> On Sat, Jun 3, 2023 at 5:28 PM Robert Goldman 
>>>>> <rpgoldman at sift.info>
>>>>> wrote:
>>>>>
>>>>>> Dear Greg,
>>>>>>
>>>>>> Thanks for the kind words! I am not sure why I didn't see your 
>>>>>> post on
>>>>>> ASDF-devel, but I didn't. And I have seen several requests for 
>>>>>> moderation,
>>>>>> so the list seems live. In case my response is interesting to the 
>>>>>> group, I
>>>>>> am responding to the list as well.
>>>>>>
>>>>>> A couple of disclaimers: (1) I haven't used Windows in more than 
>>>>>> a
>>>>>> decade, and (2) I don't use these configuration files. I find I'm 
>>>>>> happier
>>>>>> to keep all of my lisp configuration in lisp configuration files 
>>>>>> (
>>>>>> clinit.cl, .sbclrc, etc. -- indeed I point all of those at one 
>>>>>> single
>>>>>> lisp-config.lisp file), instead of having to hunt through 
>>>>>> multiple
>>>>>> files in multiple locations for this information. So take 
>>>>>> anything I say
>>>>>> with more than a grain of salt (given your cardiologist 
>>>>>> approves!).
>>>>>>
>>>>>> That said, these config files are placed according to the XDG 
>>>>>> standard
>>>>>> which... as far as I can tell only applies to linux, and not to 
>>>>>> either
>>>>>> Windows or MacOS. So there's code in ASDF/UIOP that extends XDG 
>>>>>> to other
>>>>>> platforms. ASDF documentation about XDG can be found here
>>>>>> <https://asdf.common-lisp.dev/asdf.html#XDG-base-directory> .
>>>>>>
>>>>>> I don't understand Windows enough to understand this piece of 
>>>>>> text
>>>>>> from the ASDF manual:
>>>>>>
>>>>>> Since support for querying the Windows registry is not possible 
>>>>>> to do
>>>>>> in reasonable amounts of portable Common Lisp code, ASDF 3 relies 
>>>>>> on the
>>>>>> environment variables that Windows usually exports, and are 
>>>>>> hopefully in
>>>>>> synch with the Windows registry. If you care about the details, 
>>>>>> see
>>>>>> uiop/configuration.lisp and don’t hesitate to suggest 
>>>>>> improvements.
>>>>>>
>>>>>> The relevant code may be found in uiop/configuration.lisp
>>>>>> <https://gitlab.common-lisp.net/asdf/asdf/-/blob/release/uiop/configuration.lisp> 
>>>>>> .
>>>>>> It looks like invoking the functions uiop:xdg-config-home and
>>>>>> uiop:xdg-config-pathnames might help you figure out where ASDF is
>>>>>> looking. But I don't really understand the discussion about the 
>>>>>> registry
>>>>>> above. I do see a bit of code that says that UIOP (and thus ASDF) 
>>>>>> look for
>>>>>> configs in the value of (uiop:xdg-data-dirs "config/") -- maybe 
>>>>>> see
>>>>>> what that evaluates to on your Windows box?
>>>>>>
>>>>>> I hope that these snippets have been helpful, and if you find the
>>>>>> answers you seek, please send to me and ASDF-devel, so that the 
>>>>>> information
>>>>>> will be available to others.
>>>>>>
>>>>>> It might be a good thing if someone with the resources would gift 
>>>>>> a
>>>>>> Windows resource to the CL Foundation to hook into 
>>>>>> common-lisp.net so
>>>>>> that the community doesn't have to rely on this kind of 
>>>>>> guesswork. I note
>>>>>> that ASDF is no longer tested on Windows at all, since I don't 
>>>>>> have access
>>>>>> to a Windows VM and even if I did, I wouldn't know how to use it 
>>>>>> (nor do I
>>>>>> have the time to learn).
>>>>>>
>>>>>> Good luck!
>>>>>> R
>>>>>>
>>>>>> On 2 Jun 2023, at 19:40, Greg Bennett wrote:
>>>>>>
>>>>>> Good evening Robert,
>>>>>>
>>>>>> Some longish time ago you were kind enough to help me with ASDF
>>>>>> matters.
>>>>>> I posted recently to asdf-devel, largely in the hope that you 
>>>>>> might
>>>>>> see it, I confess.
>>>>>>
>>>>>> Web search has, so far, not been helpful, I'm afraid.
>>>>>>
>>>>>> I shall quite understand if you do not reply; your inbox must 
>>>>>> receive
>>>>>> lots of this sort of thing.
>>>>>>
>>>>>> I have a test system in c:/ASDF/asdf-tests/ copied from the linux
>>>>>> directory /home/gwbennett/ASDF/asdf-tests/
>>>>>>
>>>>>> Under Linux in my source-registry.conf.d directory I have the 
>>>>>> file
>>>>>> gb-source.conf
>>>>>> with the one line (:tree "/home/gwbennett/ASDF/asdf-tests/")
>>>>>>
>>>>>> Then in sbcl I can issue (asdf:load-system "gb-a") and all is 
>>>>>> well.
>>>>>>
>>>>>> I have tried various spots for gb-source.conf under Windows, all
>>>>>> without success:
>>>>>>
>>>>>> c:\Users\Greg\AppData\Local\config\common-lisp\source-registry.conf.d\
>>>>>>
>>>>>> c:\Users\Greg\
>>>>>>
>>>>>> c:\Users\Greg\AppData\
>>>>>>
>>>>>> c:\Users\Greg\AppData\Local\
>>>>>>
>>>>>> If I issue, old style,  (push "c:/ASDF/asdf-tests/"
>>>>>> asdf:*central-registry*) then all is well.
>>>>>>
>>>>>> Perhaps there is no place for a config file under W!
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Greg
>>>>>>
>>>>>> --
>>>> Marco Antoniotti
>>>> https://dcb.disco.unimib.it
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20230605/6183308f/attachment.html>


More information about the asdf-devel mailing list