[130565] trunk/dports/_resources/port1.0/group/python-1.0.tcl

Joshua Root jmr at macports.org
Sat Jan 17 01:54:22 PST 2015


I reverted the destroot.env additions locally and destrooted
py27-markupsafe, py27-cython, py34-markupsafe and py34-cython. None of
them appeared to recompile anything in the destroot phase.

- Josh

On 2015-1-2 20:45 , Jeremy Huddleston Sequoia wrote:
> I saw this with py34-cython.  It's using just the defaults.
> 
>> On Jan 2, 2015, at 01:42, Joshua Root <jmr at macports.org> wrote:
>>
>> I don't remember seeing anything about this in the changelogs for
>> setuptools.
>>
>> What ports did you see the problem with? And what python version(s)? I
>> remember in the past some setup.pys with a lot of custom code had
>> similar issues, but ones just using the defaults (which is most of them)
>> didn't.
>>
>> If it is a general problem, it could also have been introduced through a
>> change in distutils. If that's the case, older pythons would be unaffected.
>>
>> - Josh
>>
>> On 2015-1-2 10:28 , Jeremy Huddleston Sequoia wrote:
>>> I suspect that this change became necessary as a result of changes in behavior in py-setuptools.  My guess it that previously, the install phase did not invalidate the build and rebuild if the environment changed, and now it does.  py-setuptools has had frequent updates over the past year.  I did not determine which version introduced this behavioral change.
>>>
>>> Does anyone know what version introduced this change?
>>>
>>> How should we handle revbumps of affected ports?  Ideally, we should just revbump all python ports that install compiled code, but I'm not sure what that set is.
>>>
>>>> On Jan 1, 2015, at 13:56, jeremyhu at macports.org wrote:
>>>>
>>>> Revision
>>>> 130565
>>>> Author
>>>> jeremyhu at macports.org
>>>> Date
>>>> 2015-01-01 13:56:35 -0800 (Thu, 01 Jan 2015)
>>>> Log Message
>>>>
>>>> python-1.0: Set environment variables during destroot
>>>>
>>>> If CC and others are set differently between build and destroot, the port
>>>> will be debuilt during the destroot phase due to the change.  This can
>>>> result in the port being rebuild incorrectly (eg: for the compiler default
>>>> architecture instead of the chosen arch, or not universal).
>>>>
>>>> Modified Paths
>>>>
>>>> 	• trunk/dports/_resources/port1.0/group/python-1.0.tcl
>>>> Diff
>>>>
>>>> Modified: trunk/dports/_resources/port1.0/group/python-1.0.tcl (130564 => 130565)
>>>>
>>>> --- trunk/dports/_resources/port1.0/group/python-1.0.tcl	2015-01-01 16:20:54 UTC (rev 130564)
>>>> +++ trunk/dports/_resources/port1.0/group/python-1.0.tcl	2015-01-01 21:56:35 UTC (rev 130565)
>>>>
>>>> @@ -115,24 +115,36 @@
>>>>
>>>>         pre-build {
>>>>
>>>>             if {${python.add_archflags}} {
>>>>
>>>>                 if {[variant_exists universal] && [variant_isset universal]} {
>>>>
>>>> -                    build.env-append CFLAGS="${configure.universal_cflags}" \
>>>> -                                     OBJCFLAGS="${configure.universal_cflags}" \
>>>> -                                     CXXFLAGS="${configure.universal_cxxflags}" \
>>>> -                                     LDFLAGS="${configure.universal_ldflags}"
>>>>
>>>> +                    build.env-append    CFLAGS="${configure.universal_cflags}" \
>>>> +                                        OBJCFLAGS="${configure.universal_cflags}" \
>>>> +                                        CXXFLAGS="${configure.universal_cxxflags}" \
>>>> +                                        LDFLAGS="${configure.universal_ldflags}"
>>>> +                    destroot.env-append CFLAGS="${configure.universal_cflags}" \
>>>> +                                        OBJCFLAGS="${configure.universal_cflags}" \
>>>> +                                        CXXFLAGS="${configure.universal_cxxflags}" \
>>>> +                                        LDFLAGS="${configure.universal_ldflags}"
>>>>
>>>>                 } else {
>>>>
>>>> -                    build.env-append CFLAGS="${configure.cc_archflags}" \
>>>> -                                     OBJCFLAGS="${configure.objc_archflags}" \
>>>> -                                     CXXFLAGS="${configure.cxx_archflags}" \
>>>> -                                     FFLAGS="${configure.f77_archflags}" \
>>>> -                                     F90FLAGS="${configure.f90_archflags}" \
>>>> -                                     FCFLAGS="${configure.fc_archflags}" \
>>>> -                                     LDFLAGS="${configure.ld_archflags}"
>>>>
>>>> +                    build.env-append    CFLAGS="${configure.cc_archflags}" \
>>>> +                                        OBJCFLAGS="${configure.objc_archflags}" \
>>>> +                                        CXXFLAGS="${configure.cxx_archflags}" \
>>>> +                                        FFLAGS="${configure.f77_archflags}" \
>>>> +                                        F90FLAGS="${configure.f90_archflags}" \
>>>> +                                        FCFLAGS="${configure.fc_archflags}" \
>>>> +                                        LDFLAGS="${configure.ld_archflags}"
>>>> +                    destroot.env-append CFLAGS="${configure.cc_archflags}" \
>>>> +                                        OBJCFLAGS="${configure.objc_archflags}" \
>>>> +                                        CXXFLAGS="${configure.cxx_archflags}" \
>>>> +                                        FFLAGS="${configure.f77_archflags}" \
>>>> +                                        F90FLAGS="${configure.f90_archflags}" \
>>>> +                                        FCFLAGS="${configure.fc_archflags}" \
>>>> +                                        LDFLAGS="${configure.ld_archflags}"
>>>>
>>>>                 }
>>>>
>>>>             }
>>>>
>>>>             if {${python.set_compiler}} {
>>>>
>>>>                 foreach var {cc objc cxx fc f77 f90} {
>>>>
>>>>                     if {[set configure.${var}] ne ""} {
>>>>
>>>>                         build.env-append [string toupper $var]="[set configure.${var}]"
>>>>
>>>> +                        destroot.env-append [string toupper $var]="[set configure.${var}]"
>>>>
>>>>                     }
>>>>
>>>>                 }
>>>>
>>>>             }
>>>>
>>>> _______________________________________________
>>>> macports-changes mailing list
>>>> macports-changes at lists.macosforge.org
>>>> https://lists.macosforge.org/mailman/listinfo/macports-changes
>>>
>>>
>>
> 
> 



More information about the macports-dev mailing list