[105373] trunk/dports/lang/perl5.12

Derek Harland derek at chocolate-fish.com
Sun Apr 21 17:22:25 PDT 2013


Hi Josh,

* Background
  - I am currently building (in a separate tree) various ports linked against libc++ rather than libstdc++.  I am doing this by altering the portconfigure.tcl to add eg -stdlib=libc++ to configure.ldflags.

* Before this change, when perl is built it redefines ld as

    env MACOSX_DEPLOYMENT_TARGET =10.3 ${ld}

* There was already an existing patch which alters this command for darwin 9/10 to set MACOSX_DEPLOYMENT_TARGET properly.  I've simply extended it to darwin 11/12.

* I can't tell you the exact error without rebuilding, but without this patch the link fails on Lion saying something like ... "You're on 10.3, I can't support libc++ on 10.3, go away"

derek.

On 19/04/2013, at 10:27 PM, Joshua Root wrote:

>> Revision: 105373
>>          https://trac.macports.org/changeset/105373
>> Author:   dh at macports.org
>> Date:     2013-04-18 23:14:37 -0700 (Thu, 18 Apr 2013)
>> Log Message:
>> -----------
>> Correctly set MACOSX_DEVELOPMENT_TARGET on darwin versions 11 and 12 for perl5.12
>> 
>> Modified Paths:
>> --------------
>>    trunk/dports/lang/perl5.12/Portfile
>>    trunk/dports/lang/perl5.12/files/patch-hints_darwin.sh.diff
>> 
>> Modified: trunk/dports/lang/perl5.12/Portfile
>> ===================================================================
>> --- trunk/dports/lang/perl5.12/Portfile	2013-04-19 01:00:48 UTC (rev 105372)
>> +++ trunk/dports/lang/perl5.12/Portfile	2013-04-19 06:14:37 UTC (rev 105373)
>> @@ -5,7 +5,7 @@
>> 
>> name            perl5.12
>> version         5.12.4
>> -revision        1
>> +revision        2
>> set branch      [join [lrange [split ${version} .] 0 1] .]
>> categories      lang
>> license         {Artistic-1 GPL}
>> 
>> Modified: trunk/dports/lang/perl5.12/files/patch-hints_darwin.sh.diff
>> ===================================================================
>> --- trunk/dports/lang/perl5.12/files/patch-hints_darwin.sh.diff	2013-04-19 01:00:48 UTC (rev 105372)
>> +++ trunk/dports/lang/perl5.12/files/patch-hints_darwin.sh.diff	2013-04-19 06:14:37 UTC (rev 105373)
>> @@ -8,7 +8,7 @@
>>  so='dylib';
>>  dlext='bundle';
>>  usedl='define';
>> -@@ -172,6 +171,20 @@ case "$osvers" in
>> +@@ -172,6 +171,34 @@ case "$osvers" in
>>     ldflags="${ldflags} -flat_namespace"
>>     lddlflags="${ldflags} -bundle -undefined suppress"
>>     ;;
>> @@ -26,6 +26,20 @@
>> +       *) ld="env MACOSX_DEPLOYMENT_TARGET=10.6 ${ld}" ;;
>> +   esac
>> +   ;;
>> ++11.*)
>> ++   lddlflags="${ldflags} -bundle -undefined dynamic_lookup"
>> ++   case "$ld" in
>> ++       *MACOSX_DEVELOPMENT_TARGET*) ;;
>> ++       *) ld="env MACOSX_DEPLOYMENT_TARGET=10.7 ${ld}" ;;
>> ++   esac
>> ++   ;;
>> ++12.*)
>> ++   lddlflags="${ldflags} -bundle -undefined dynamic_lookup"
>> ++   case "$ld" in
>> ++       *MACOSX_DEVELOPMENT_TARGET*) ;;
>> ++       *) ld="env MACOSX_DEPLOYMENT_TARGET=10.8 ${ld}" ;;
>> ++   esac
>> ++   ;;
>>  *) 
>>     lddlflags="${ldflags} -bundle -undefined dynamic_lookup"
>>     case "$ld" in
> 
> What problem does this fix? Base always sets MACOSX_DEPLOYMENT_TARGET
> when running any command; why isn't that enough?
> 
> - Josh



More information about the macports-dev mailing list