> On Oct 6, 2016, at 7:06 AM, René J.V. Bertin <rjvber...@gmail.com> wrote:
> On Thursday October 06 2016 06:25:06 Ryan Schmidt wrote:
>> By including the portgroup, you are declaring that the port requires C++11. 
>> Users using "vanilla" OS X versions prior to 10.9 who try to install such a 
>> port will receive an error message with a link to the wiki page explaining 
>> how to reconfigure their systems for libc++. 
> Right. I always forget which version got libc++ by default (I skipped 10.7 
> and 10.8 myself so never had to deal with the situation).
>> This is an extremely invasive procedure for users so (obviously!) do not 
>> include the portgroup in ports that do not require C++11. 
> Agreed. Sadly it isn't always trivial to figure out which code really needs 
> it, other than waiting for errors like the one I received.
>> We would have to write the code to do that. We have not yet done so.
> How do the bots decide not to build ports for which licensing makes binary 
> redistribution "impossible"? Is that also handled by raising an error?

But the bots do build ports that aren't distributable. They just don't 
distribute the binaries they built. The buildbot exists not only for the 
production and distribution of binaries, but also for developers to know that 
their ports build successfully.

>> Ideally, this would involve changes to MacPorts base so that a port could 
>> indicate what systems it can or cannot install on. MacPorts base doesn't yet 
>> have that capability. 
> Something that doesn't involve raising an error you mean?
> Although, the easiest way to implement this would probably be through a 
> predefined error return code which could then be handled differently on user 
> systems and on the build bots.

I mean that the error that gets raised is not raised by MacPorts base. It's 
raised by a portgroup, which is included from a portfile. We want to move the 
matter of determining that an error condition exists from the portfiles and 
portgroups to MacPorts base. Then it will be easier for the buildbot to query 
MacPorts base and ask if the port will be installable, and skip it if not. 
Currently, MacPorts base does not know whether a port would be installable, 
until it tries to install it. We currently have no way to differentiate between 
expected errors (e.g. this port does not work on this Mac OS version) which we 
don't want the buildbot to notify us about, and unexpected errors (e.g. this 
port failed to compile) which we do want to know about.

macports-dev mailing list

Reply via email to