[45053] trunk/dports/graphics/cairo/Portfile

jeremyhu at macports.org jeremyhu at macports.org
Wed Jan 7 11:55:39 PST 2009


Revision: 45053
          http://trac.macports.org/changeset/45053
Author:   jeremyhu at macports.org
Date:     2009-01-07 11:55:39 -0800 (Wed, 07 Jan 2009)
Log Message:
-----------
cairo: Fix universal build and work around AC_X_PATH suckage.  See #17558

Modified Paths:
--------------
    trunk/dports/graphics/cairo/Portfile

Modified: trunk/dports/graphics/cairo/Portfile
===================================================================
--- trunk/dports/graphics/cairo/Portfile	2009-01-07 19:50:36 UTC (rev 45052)
+++ trunk/dports/graphics/cairo/Portfile	2009-01-07 19:55:39 UTC (rev 45053)
@@ -5,7 +5,7 @@
 name                    cairo
 set my_name             cairo
 version                 1.8.6
-revision                1
+revision                2
 categories              graphics
 maintainers             ryandesign
 homepage                http://cairographics.org/
@@ -67,6 +67,24 @@
     --enable-xlib-xrender \
     --with-x
 
+# This block helps us link correctly and setup our pc files correctly when we are
+# +system_x11 and x11prefix is somewhere non-standard
+if { ![file exists ${prefix}/lib/pkgconfig/x11.pc] && ![file exists ${x11prefix}/lib/pkgconfig/x11.pc] } {
+    # AC_X_PATH blindly asks xmkmf where X11 is, and it always uses /usr/X11R6.
+    # These next three lines should cause AC_X_PATH to let us setup our CPPFLAGS
+    # and LDFLAGS without interference
+    configure.args-append --x-include=${prefix}/include --x-lib=${prefix}/lib
+    configure.cppflags-append -I${x11prefix}/include
+    configure.ldflags-append  -L${x11prefix}/lib
+ 
+    # And this will similarly get ports that use pkgconfig to find our pkgconfig-less libX11
+    post-destroot {
+        foreach pc [glob ${destroot}${prefix}/lib/pkgconfig/*.pc] {
+            reinplace "s:-lX11:-L${prefix}/lib -L${x11prefix}/lib -lX11:g" ${pc}
+        }
+    }
+}
+
 variant glitz conflicts no_x11 description {Add glitz graphics interface} {
     depends_lib-append \
         port:glitz
@@ -149,12 +167,16 @@
     }
     
     configure {
+        # Save configure.universal_archs because we modify it before each
+        # invocation of Configure.
+        set tmp_universal_archs ${configure.universal_archs}
         foreach arch ${universal_archs} {
-            set my_arch_flag "-arch ${arch}"
-            set my_cflags "${configure.cflags} -isysroot ${sysroot} ${my_arch_flag}"
-            set my_ldflags "${configure.ldflags} ${my_arch_flag}"
-            system "cd ${workpath}/${arch} && CFLAGS=\"${my_cflags}\" CXXFLAGS=\"${my_cflags}\" LDFLAGS=\"${my_ldflags}\" ${configure.cmd} ${configure.pre_args} ${configure.args}"
+            # We configure for one arch at a time.
+            configure.universal_archs ${arch}
+            system "cd ${workpath}/${arch} && CPPFLAGS=\"${configure.cppflags} ${configure.universal_cppflags}\" CFLAGS=\"${configure.cflags} ${configure.universal_cflags}\" CXXFLAGS=\"${configure.cflags} ${configure.universal_cxxflags}\" LDFLAGS=\"${configure.ldflags} ${configure.universal_ldflags}\" ${configure.cmd} ${configure.pre_args} ${configure.args} ${configure.universal_args}"
         }
+        # Restore configure.universal_archs.
+        configure.universal_archs $tmp_universal_archs
     }
     
     build {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090107/84f9b72c/attachment.html>


More information about the macports-changes mailing list