So the last 10 or so tickets in trac seem like they are all for basically the 
same issue - a few missing symbols from libc prior to 10.7.

It is easy enough, but time consuming, to patch each individual source file 
that is missing the definition (there might be several, also, so you might have 
to do it multiple times in different files).

With this library of these missing functions 
<https://github.com/kencu/snowleopardfixes>, all of them from the Apple open 
source website IIRC, all you need to do is the following in the Portfile:

if {${os.platform} eq "darwin" && ${os.major} < 11}  {
        depends_lib-append          port:snowleopardfixes
        configure.ldflags-append   -lsnowleopardfixes
}
It could be better named, perhaps libcfixes, as it applies to 10.4 to 10.6, not 
just SnowLeopard. 

It works for wine, and all the other ports that have had this issue. It takes 
10 seconds to do, and no patching.

Is it time for this? Or shall we continue as we are?


Best,

Ken




Addendum 1

I have a header in there as well to provide the function definitions, but that 
header can cause trouble by bringing in other #defines, and it seems that no 
port actually needs the header. Perhaps the header idea can be improved by 
someone with more knowledge of #include_next, etc, or more specific defines.

Addendum 2

As we have said before (last year) this library could be automatically linked 
in by base. That would cause trouble with the ports that have already patched 
in a def, tho.

Reply via email to