[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