New failure in cl-libuv I don't understand

Madhu enometh at meer.net
Fri Jun 9 02:34:32 UTC 2023


*  "Stelian Ionescu"  <38aea509-0fe1-4894-b7f7-579275c70229 at app.fastmail.com>
Wrote on Thu, 08 Jun 2023 21:59:16 -0400
[RPG]
>> This one was my fault.  I did the PR with this patch, because cl-libuv
>> wouldn't build on my Mac.  Since there's no testing, apparently, it
>> slipped through.
>>
>> I don't know how to fix this, because I have never used CFFI-grovel, so
>> no idea how to put Madhu's advice into practice.


My suggestion was to move the call which did

```
#.(when (uiop:getenv "HOMEBREW_PREFIX")
    (pushnew :homebrew *features*)
    (values))
```

out of grovel.lisp, and set up the features before the groveler is
called.  Note this could be done *anywhere* except in grovel.lisp, as
long as it is done before grovel.lisp is processed.  And there is no
need it to be #. macro.

I don't understand what problem you percieve.


>> As an aside, doesn't this kind of break Faré's design principle that
>> the person who has the information is the one who should be configuring
>> the software?  It seems like we are expecting the programmer to guess
>> ahead of time what are all of the possible locations for the foreign
>> library and includes. Wouldn't it make more sense for this to be
>> configurable?
>
> Yes, but there's no way to currently configure this except as you
> point out below.
>
>> Of course, this is partly my fault, since ASDF does not support
>> configuring operations, except with gross dynamic variables.
>
> Adding a configuration stage for a DEFSYSTEM would be my most
> desired feature at the moment.

What?  There is no need to complicate defsystem anymore.  you just
define a system called libuv-config which loads a designated
configuration file and make your libuv system depend on libuv-config
which gets loaded before it.

If this incident teaches it is that the mechanisms to do it are
already there, you just need to make correct use of it. Not use an
incorrect usage of existing mechanisms as an excuse to add new
backdoor APIs






More information about the cffi-devel mailing list