[MacPorts] #52739: perl5 @5.22.2: build_arch and universal not fully respected
MacPorts
noreply at macports.org
Sat Oct 29 08:35:44 CEST 2016
#52739: perl5 @5.22.2: build_arch and universal not fully respected
----------------------------------+----------------------
Reporter: MarcusCalhoun-Lopez | Owner: mojca@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: haspatch
Port: perl5 |
----------------------------------+----------------------
Changes (by mojca):
* cc: larryv, dbevans (added)
* version: 2.3.4 =>
Comment:
Thansk a lot for explanation. So basically you don't care which of the
three patches is used if I understand correctly?
> `Portfile2.diff` and `Portfile3.diff` just add
`"-Alddlflags=\"[get_canonical_archflags ld]\""` to `configure.post_args`.
Extra code, however, is required to make `get_canonical_archflags` work
correctly. `get_canonical_archflags` determines if universal flags are
required using the following code:
> {{{
> if {![variant_exists universal] || ![variant_isset universal]} {
> }}}
> When `configure.post_args-append` is run, however, the universal variant
has not yet been created.
> I assume this is to give the `Portfile` a chance to create its own.
I would imagine that a more logical solution than to create a variant
manually or to put the code inside the `pre-configure {}` block would be
to use
{{{
if {[variant_isset universal]} {
configure.post_args-append "-Alddlflags=\"[get_canonical_archflags
ld]\""
}
}}}
Does that work properly?
Just curious, what's the difference (if any) between `configure`'s `post-
args` and `args`? Why not appending it simply to `args`?
Regarding the `MACOSX_DEPLOYMENT_TARGET`:
> The perl port already handles it in a much better way with:
> {{{
> -Dld="env MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET $CC”
> }}}
> Sorry for not seeing this earlier.
Well, no, I just removed it in r154367 because I thought it was handled
properly by the new patches. I wouldn't mind filing another "bug report"
with a patch upstream though that would fix this for older OSes in case
it's broken there. What's the easiest way to test?
A few bonus questions:
* I would be grateful for a hint how to test building `.bundle` files.
* Do any of those patches address #52290?
* Unrelated: We've been asked to test whether perl built specifically on
10.12 with `MACOSX_DEPLOYMENT_TARGET` set to support an earlier OS
actually works on that older OS. If anyone is eager to test that, I would
be grateful.
--
Ticket URL: <https://trac.macports.org/ticket/52739#comment:2>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list