[macports-ports] branch master updated: duck: clear configure.cxx_stdlib flag

Ryan Schmidt ryandesign at macports.org
Sun May 6 10:37:15 UTC 2018


On May 5, 2018, at 20:54, Joshua Root wrote:

> On 2018-5-6 10:05 , Ryan Schmidt wrote:
>> 
>> On May 5, 2018, at 19:04, Joshua Root wrote:
>> 
>>> On 2018-5-6 09:55 , Ryan Schmidt wrote:
>>>> 
>>>> On May 5, 2018, at 16:36, Jackson Isaac wrote:
>>>> 
>>>>> +## Upstream binary seems to be built using libstdc++
>>>>> 
>>>>> +#  Port keeps failing on rev-upgrade since it
>>>>> 
>>>>> +#  checks if duck is built against libc++ or not.
>>>>> 
>>>>> +configure.cxx_stdlib
>>>> 
>>>> Then set it to libstdc++. Don't clear it.
>>> 
>>> It's a binary, the port has no control over which stdlib is used, so
>>> clearing the option is appropriate. Compare the gcc ports.
>> 
>> I thought the idea was for the portfile to tell MacPorts base what stdlib the binary was built with, so that MacPorts base could record that in the registry when it's installed. That's why I set cxx_stdlib in my ports that install binaries, like libxl.
> 
> Setting configure.cxx_stdlib tells base to ask the software to build
> with a given stdlib (via CXXFLAGS).

Yes, certainly.

> We record what stdlib it was *asked*
> to build with in the registry. The stdlib it actually was built with is
> determined by inspecting the binaries.

Which is precisely why it is more or less required that the author of the Portfile correctly specify in the Portfile the stdlib that the binaries were built with, right? So that it gets recorded correctly in the registry? So that rev-upgrade won't claim there is a mismatch?


> I guess setting it for ports that don't build from source isn't exactly
> wrong; you can still be asking even if they ignore it. You do need to
> notice when a new version changes stdlibs and update the portfile though.

Certainly.



More information about the macports-dev mailing list