<div dir="ltr"><div><div><div><div>Even easier!<br><br></div><div style="margin-left:40px"><span style="font-family:monospace">"FOO"</span><br></div><br></div>... assuming the usual rules.<br><br></div>Cheers<br><br></div><div>MA</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 5, 2023 at 5:55 PM Wilfredo Velazquez <<a href="mailto:zulu.inuoe@gmail.com">zulu.inuoe@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Ah, pleasure to learn of another fellow<div dir="auto"> (symbol-name '#:foo)<div dir="auto">enjoyer :)</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 5, 2023, 10:18 AM Marco Antoniotti <<a href="mailto:marco.antoniotti@unimib.it" target="_blank">marco.antoniotti@unimib.it</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi</div><div><br></div><div>CLAD can be used for *any* Mac/Windows/UN*X configuration. The current limitations are that it assumes "personal" configurations and not "system wide/admin accessible only locations".<br><br></div><div>The issue is that, as soon as ASDF gets loaded, it should load CLAD as a minimal prerequisite. At that point you have the CLAD package present and you can issue a <br><br><div style="margin-left:40px"><span style="font-family:monospace">(clad:ensure-app-or-library-data-folder "ASDF")</span></div></div><div><br></div><div>or even a</div><div><br></div><div style="margin-left:40px">
<span style="font-family:monospace">(clad:ensure-app-or-library-data-folder "ASDF" :impl-dependent t)</span></div><div><br></div><div>And you will have the, e.g., <span style="font-family:monospace">"~/Library/Common Lisp/ASDF/</span>" ready on a Mac, or the<span style="font-family:monospace"> "C:/Users/MeMyself/AppData/Roaming/Common Lisp/ASDF/LispWorks/"</span> ready on Windows (10, and 11 for sure).</div><div><br></div><div>Is that what you want?<br><br></div><div>I did write this thingy because there was a pesky configuration issue with - another shameless plus - HELambdaP (<a href="https://helambdap.sf.net" rel="noreferrer" target="_blank">https://helambdap.sf.net</a>). I believe it solved the problem in a rather general way.<br></div><div><br></div><div>Cheers</div><div><br></div><div>Marco<br><br></div><div>PS Of course there is another rabbit hole to be handled - or avoided :)<br>What you REALLY want to have in the "ASDF loading code" is:</div><div><span style="font-family:monospace"><br></span></div><div style="margin-left:40px"><span style="font-family:monospace">(load-if-possible "CLAD-STUFF")<br></span></div><div style="margin-left:40px"><span style="font-family:monospace">(funcall (find-symbol (string '#:ensure-app-or-library-data-folder) "CLAD") "ASDF")</span></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br>
</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 5, 2023 at 3:49 PM Robert Goldman <<a href="mailto:rpgoldman@sift.net" rel="noreferrer" target="_blank">rpgoldman@sift.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div><div style="font-family:sans-serif"><div style="white-space:normal"><p dir="auto">I was just answering what I thought was your question -- could CLAD be used as a source for ASDF configuration.</p>
<p dir="auto">On 4 Jun 2023, at 15:57, Marco Antoniotti wrote:</p>
</div><blockquote style="margin:0px 0px 5px;padding-left:5px;border-left:2px solid rgb(119,119,119);color:rgb(119,119,119)"><div id="m_-1467927886414479714m_9073314544053393598m_320378727764328411387400245-CF70-4415-9B0A-753FAE82C25B">
<div dir="ltr">
<div>Hi Robert,</div>
<div><br></div>
<div>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.</div>
<div><br></div>
<div>CLAD does not need ASDF or UIOP. It just has a .asd file because Quicklisp asks for it.</div>
<div><br></div>
<div>Cheers</div>
<div><br></div>
<div>MA</div>
<div><br></div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Jun 4, 2023 at 9:00 PM Robert Goldman <<a href="mailto:rpgoldman@sift.net" rel="noreferrer" target="_blank">rpgoldman@sift.net</a>> wrote:<br></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div style="font-family:sans-serif">
<div style="white-space:normal">
<p dir="auto">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 <em>after</em> 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).</p>
<p dir="auto">I believe the right thing would be for you to figure out how to add an entry to the variable <code style="margin:0px;padding:0px 0.25em;border-radius:3px;background-color:rgb(247,247,247)">asdf:*default-source-registries*</code> that is a function that will collect the appropriate configuration information. But I don't claim to fully understand <a href="https://gitlab.common-lisp.net/asdf/asdf/-/blob/9c7f1b76ca8e820c020a3ec3aeb4b507ab15aa34/source-registry.lisp" style="color:rgb(57,131,196)" rel="noreferrer" target="_blank">source-registry.lisp</a>.</p>
<p dir="auto">On 4 Jun 2023, at 3:29, Marco Antoniotti wrote:</p>
</div>
<blockquote style="margin:0px 0px 5px;padding-left:5px;border-left:2px solid rgb(119,119,119);color:rgb(119,119,119)">
<div id="m_-1467927886414479714m_9073314544053393598m_3203787277643284113m_760999330368683334358E9A93D-5066-4E77-B273-3A5E6578D9F4">
<div dir="ltr">
<div>Sure.<br>
<br></div>
<div>I am not privy to ASDF bootstrap. Where would you start?</div>
<div><br></div>
<div>MA</div>
<div><br></div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Jun 4, 2023 at 12:41 AM Robert P. Goldman <<a href="mailto:rpgoldman@sift.net" rel="noreferrer" target="_blank">rpgoldman@sift.net</a>> wrote:<br></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>The next step would be to add an ASDF plug-in so that ASDF can read its configuration from a CLAD set up…. :-)<br>
<br>
<div class="gmail_signature">
<div>-- <br>
Robert P. Goldman</div>
</div>
<p class="gmail_quote" style="color:rgb(0,0,0)">On June 3, 2023 at 16:56:53, Marco Antoniotti (<a href="mailto:marco.antoniotti@unimib.it" rel="noreferrer" target="_blank">marco.antoniotti@unimib.it</a>) wrote:</p>
<blockquote type="cite" class="gmail_quote">
<div>
<div>
<div dir="auto"><span>Wellll. You need a CL to load ASDF, don’t you? :)</span></div>
<div dir="auto"><span><br></span></div>
<div dir="auto"><span>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)</span></div>
<div dir="auto"><span><br></span></div>
<div dir="auto"><span>But I see your point. Time to add a clad-setup.lisp file.</span></div>
<div dir="auto"><span><br></span></div>
<div dir="auto"><span>Cheers</span></div>
<div dir="auto"><span><br></span></div>
<div dir="auto"><span>MA</span></div>
<div dir="auto"><span><br></span></div>
<div dir="auto"><span><br></span></div>
<div><span><br></span>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr"><span>On Sat, 3 Jun 2023 at 23:10, Robert Goldman <<a href="mailto:rpgoldman@sift.info" rel="noreferrer" target="_blank">rpgoldman@sift.info</a>> wrote:<br></span></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div style="font-family:sans-serif">
<div style="white-space:normal;font-family:sans-serif">
<p dir="auto" style="font-family:sans-serif"><span>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?</span></p>
</div>
</div>
</div>
<div>
<div style="font-family:sans-serif">
<div style="white-space:normal;font-family:sans-serif">
<p dir="auto" style="font-family:sans-serif"><span>On 3 Jun 2023, at 10:57, Marco Antoniotti wrote:</span></p>
</div>
<blockquote style="margin:0px 0px 5px;padding-left:5px;border-left:2px solid rgb(119,119,119);font-family:sans-serif;color:rgb(119,119,119)">
<div id="m_-1467927886414479714m_9073314544053393598m_3203787277643284113m_7609993303686833343m_7182489774587654323m_52537731837992730384CA67F53-8F89-4AAC-866C-9273FC7EC3F5" style="font-family:sans-serif">
<div dir="ltr" style="font-family:sans-serif">
<div style="font-family:sans-serif"><span>Ahem. Shameless plug: <a href="https://gitlab.common-lisp.net/mantoniotti/CLAD" style="font-family:sans-serif" rel="noreferrer" target="_blank">https://gitlab.common-lisp.net/mantoniotti/CLAD</a></span></div>
<div style="font-family:sans-serif"><span><br></span></div>
<div style="font-family:sans-serif"><span>Cheers</span></div>
<div style="font-family:sans-serif"><span><br></span></div>
<div style="font-family:sans-serif"><span>MA</span></div>
<div style="font-family:sans-serif"><span><br></span></div>
</div>
<span><br></span>
<div class="gmail_quote" style="font-family:sans-serif">
<div dir="ltr" class="gmail_attr" style="font-family:sans-serif"><span>On Sat, Jun 3, 2023 at 5:28 PM Robert Goldman <<a href="mailto:rpgoldman@sift.info" style="font-family:sans-serif" rel="noreferrer" target="_blank">rpgoldman@sift.info</a>> wrote:<br></span></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex;font-family:sans-serif">
<div style="font-family:sans-serif">
<div style="font-family:sans-serif">
<div style="white-space:normal;font-family:sans-serif">
<p dir="auto" style="font-family:sans-serif"><span>Dear Greg,</span></p>
<p dir="auto" style="font-family:sans-serif"><span>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.</span></p>
<p dir="auto" style="font-family:sans-serif"><span>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 (<code style="margin:0px;padding:0px 0.25em;border-radius:3px;font-family:monospace;background-color:rgb(247,247,247)"><a href="http://clinit.cl" style="font-family:monospace" rel="noreferrer" target="_blank">clinit.cl</a></code>, <code style="margin:0px;padding:0px 0.25em;border-radius:3px;font-family:monospace;background-color:rgb(247,247,247)">.sbclrc</code>, etc. -- indeed I point all of those at one single <code style="margin:0px;padding:0px 0.25em;border-radius:3px;font-family:monospace;background-color:rgb(247,247,247)">lisp-config.lisp</code> 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!).</span></p>
<p dir="auto" style="font-family:sans-serif"><span>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 <a href="https://asdf.common-lisp.dev/asdf.html#XDG-base-directory" style="font-family:sans-serif;color:rgb(57,131,196)" rel="noreferrer" target="_blank">here</a>.</span></p>
<p dir="auto" style="font-family:sans-serif"><span>I don't understand Windows enough to understand this piece of text from the ASDF manual:</span></p>
</div>
<div style="white-space:normal;font-family:sans-serif">
<blockquote style="margin:0px 0px 5px;padding-left:5px;border-left:2px solid rgb(119,119,119);font-family:sans-serif;color:rgb(119,119,119)">
<p dir="auto" style="font-family:sans-serif"><span>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.</span></p>
</blockquote>
</div>
<div style="white-space:normal;font-family:sans-serif">
<p dir="auto" style="font-family:sans-serif"><span>The relevant code may be found in <a href="https://gitlab.common-lisp.net/asdf/asdf/-/blob/release/uiop/configuration.lisp" style="font-family:sans-serif;color:rgb(57,131,196)" rel="noreferrer" target="_blank">uiop/configuration.lisp</a>. It looks like invoking the functions <code style="margin:0px;padding:0px 0.25em;border-radius:3px;font-family:monospace;background-color:rgb(247,247,247)">uiop:xdg-config-home</code> and <code style="margin:0px;padding:0px 0.25em;border-radius:3px;font-family:monospace;background-color:rgb(247,247,247)">uiop:xdg-config-pathnames</code> 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 <code style="margin:0px;padding:0px 0.25em;border-radius:3px;font-family:monospace;background-color:rgb(247,247,247)">(uiop:xdg-data-dirs "config/")</code> -- maybe see what that evaluates to on your Windows box?</span></p>
<p dir="auto" style="font-family:sans-serif"><span>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.</span></p>
<p dir="auto" style="font-family:sans-serif"><span>It might be a good thing if someone with the resources would gift a Windows resource to the CL Foundation to hook into <code style="margin:0px;padding:0px 0.25em;border-radius:3px;font-family:monospace;background-color:rgb(247,247,247)"><a href="http://common-lisp.net" style="font-family:monospace" rel="noreferrer" target="_blank">common-lisp.net</a></code> 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).</span></p>
<p dir="auto" style="font-family:sans-serif"><span>Good luck!<br>
R</span></p>
<p dir="auto" style="font-family:sans-serif"><span>On 2 Jun 2023, at 19:40, Greg Bennett wrote:</span></p>
</div>
<div style="white-space:normal;font-family:sans-serif">
<blockquote style="margin:0px 0px 5px;padding-left:5px;border-left:2px solid rgb(119,119,119);font-family:sans-serif;color:rgb(119,119,119)">
<p dir="auto" style="font-family:sans-serif"><span>Good evening Robert,</span></p>
<p dir="auto" style="font-family:sans-serif"><span>Some longish time ago you were kind enough to help me with ASDF matters.<br>
I posted recently to asdf-devel, largely in the hope that you might see it, I confess.</span></p>
<p dir="auto" style="font-family:sans-serif"><span>Web search has, so far, not been helpful, I'm afraid.</span></p>
<p dir="auto" style="font-family:sans-serif"><span>I shall quite understand if you do not reply; your inbox must receive lots of this sort of thing.</span></p>
<p dir="auto" style="font-family:sans-serif"><span>I have a test system in c:/ASDF/asdf-tests/ copied from the linux directory /home/gwbennett/ASDF/asdf-tests/</span></p>
<p dir="auto" style="font-family:sans-serif"><span>Under Linux in my source-registry.conf.d directory I have the file gb-source.conf<br>
with the one line (:tree "/home/gwbennett/ASDF/asdf-tests/")</span></p>
<p dir="auto" style="font-family:sans-serif"><span>Then in sbcl I can issue (asdf:load-system "gb-a") and all is well.</span></p>
<p dir="auto" style="font-family:sans-serif"><span>I have tried various spots for gb-source.conf under Windows, all without success:</span></p>
<p dir="auto" style="font-family:sans-serif"><span>c:\Users\Greg\AppData\Local\config\common-lisp\source-registry.conf.d\</span></p>
<p dir="auto" style="font-family:sans-serif"><span>c:\Users\Greg\</span></p>
<p dir="auto" style="font-family:sans-serif"><span>c:\Users\Greg\AppData\</span></p>
<p dir="auto" style="font-family:sans-serif"><span>c:\Users\Greg\AppData\Local\</span></p>
<p dir="auto" style="font-family:sans-serif"><span>If I issue, old style, (push "c:/ASDF/asdf-tests/" asdf:*central-registry*) then all is well.</span></p>
<p dir="auto" style="font-family:sans-serif"><span>Perhaps there is no place for a config file under W!</span></p>
<p dir="auto" style="font-family:sans-serif"><span>Cheers</span></p>
<p dir="auto" style="font-family:sans-serif"><span>Greg</span></p>
</blockquote>
</div>
<div style="white-space:normal;font-family:sans-serif"></div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<div style="white-space:normal;font-family:sans-serif"></div>
</div>
</div>
</blockquote>
</div>
</div>
<span><span class="gmail_signature_prefix">--</span><br></span>
<div dir="ltr" class="gmail_signature">Marco Antoniotti<br>
<a href="https://dcb.disco.unimib.it" rel="noreferrer" target="_blank">https://dcb.disco.unimib.it</a></div>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
</blockquote>
<div style="white-space:normal"></div>
</div>
</div>
</blockquote>
</div></div></blockquote>
<div style="white-space:normal">
</div>
</div>
</div>
</blockquote></div>
</blockquote></div>
</blockquote></div>