[MacPorts] #57539: legacysupport-1.0: Let ports specify what symbols they need
MacPorts
noreply at macports.org
Wed Nov 7 20:54:32 UTC 2018
#57539: legacysupport-1.0: Let ports specify what symbols they need
----------------------------+--------------------
Reporter: ryandesign | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: legacysupport |
----------------------------+--------------------
Comment (by cjones051073):
Replying to [comment:8 ryandesign]:
> Replying to [comment:7 cjones051073]:
> > I only added {{{legacysupport.newest_darwin_requires_legacy}}} to act
in corner cases where it is really needed.
>
> Hmm. Did such a problem actually occur? What were the circumstances?
bladeRF, for instance. That port had some specific home-grown work arounds
for clock_gettime that conflicted (as they did not use quite the right
types) with those I added in the library. So I needed to turn this off for
10.7 and above.
>
> > The majority of ports only need to add the PortGroup and that is it,
nothing else, and I was aiming at keeping it simple like that. Requiring
that ports that use it also have to list the specific functions they are
going to use just seems like over engineering things a bit, to me.
>
> I guess I just don't like unnecessary dependencies.
Also please bear in mind the library does not allow individual features to
be turned on or off. There can only be one library on any given system so
it has to satisfy what *all* ports might require.
This means, in practise there are only 3 different states, that are
determined on a Darwin level, not a feature level.
- 10.6 or older. Has everything in the library.
- 10.7 to 10.11. Has clock_gettime only.
- 10.12+ Has nothing.
Thats the only states possible.
Say we added an option to allow individual ports to list the features they
wanted. As explained above this would *not* actually map to what the
library provided. Say a port said it needed 'strnlen' only. This would
mean, on 10.6 and older it would get everything, not just the requested
feature. For me this is misleading, and why I am not really in favour of
adding what you suggest. I think the current option, that does it at the
Darwin level, is actually clearer and not misleading, because its the only
option that properly maps to what the library actually can or can not
provide.
--
Ticket URL: <https://trac.macports.org/ticket/57539#comment:9>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list