<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[69365] trunk/dports/aqua</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.macports.org/changeset/69365">69365</a></dd>
<dt>Author</dt> <dd>michaelld@macports.org</dd>
<dt>Date</dt> <dd>2010-07-02 08:28:55 -0700 (Fri, 02 Jul 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>Trial fixed for tickets #20199 and #25476 (among other duplicates).
Revert back to using CPATH and LIBRARY_PATH for MacPorts-provided
headers and libraries.  Add in: Manually remove the -I paths for
SQLITE and DBUS so that they do not appear in any Makefile's CXXFLAGS,
but rather are found via the CPATH.  No revision bump, since this fix
is meant to address those folks for whom the current Portfiles already
do not work.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsaquaqt4macPortfile">trunk/dports/aqua/qt4-mac/Portfile</a></li>
<li><a href="#trunkdportsaquaqt4macdevelPortfile">trunk/dports/aqua/qt4-mac-devel/Portfile</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsaquaqt4macPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/aqua/qt4-mac/Portfile (69364 => 69365)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/aqua/qt4-mac/Portfile        2010-07-02 15:26:51 UTC (rev 69364)
+++ trunk/dports/aqua/qt4-mac/Portfile        2010-07-02 15:28:55 UTC (rev 69365)
</span><span class="lines">@@ -69,7 +69,6 @@
</span><span class="cx"> set dirname ${name}
</span><span class="cx"> set qt_dir ${prefix}/libexec/${dirname}
</span><span class="cx"> 
</span><del>-#
</del><span class="cx"> #  use compiler.cpath and compiler.library_path, as per
</span><span class="cx"> #  http://trac.macports.org/ticket/25321 for all -I and -L entries,
</span><span class="cx"> #  so-as to avoid conflicts with already-installed headers and
</span><span class="lines">@@ -79,13 +78,20 @@
</span><span class="cx"> #  See http://trac.macports.org/ticket/15219 and
</span><span class="cx"> #  http://trac.macports.org/ticket/18723.
</span><span class="cx"> #
</span><ins>+#  set the default paths to include those for SQLITE3 and DBUS-1
+
+set header_path [ list ${prefix}/include/dbus-1.0 \
+                       ${prefix}/lib/dbus-1.0/include \
+                       ${prefix}/include ]
+
+set library_path [ list ${prefix}/lib ]
+
</ins><span class="cx"> # -system-sqlite ensures the use SQLite provided by MacPorts instead of Qt.
</span><span class="cx"> #
</span><span class="cx"> # -dbus-linked prevends qt4 from trying to dynamically load libdbus-1,
</span><span class="cx"> #     which it is not able to find in ${prefix}.
</span><span class="cx"> #
</span><span class="cx"> # -openssl-linked ensures that the MacPorts openssl is used.
</span><del>-#
</del><span class="cx"> 
</span><span class="cx"> configure.args                                            \
</span><span class="cx">     -v                                                    \
</span><span class="lines">@@ -116,11 +122,37 @@
</span><span class="cx">     configure.args-append -no-sql-${driver}
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+# use the corrected CPATH and LIBRARY_PATH for configure
+pre-configure {
+    compiler.cpath [join ${header_path} :]
+    compiler.library_path [join ${library_path} :]
+}
+
+# Remove any '-I' string from the C*FLAGS for SQLITE and DBUS, so that
+# what remains are just non-I flags; these paths are in compiler.cpath .
+# The includes for all the other variants are not used by
+# 'configure', and are already included in the compiler.cpath .
+post-configure {
+    # SQLITE first
+    reinplace &quot;/CFLAGS_SQLITE/s@-I${prefix}/\[^ \]*include\[^ \]*@@g&quot; \
+        ${worksrcpath}/.qmake.cache
+    # DBUS last
+    reinplace &quot;/CFLAGS_DBUS/s@-I${prefix}/\[^ \]*include\[^ \]*@@g&quot; \
+        ${worksrcpath}/.qmake.cache
+    # during the 'build' stage, 'make' will rebuild the Makefiles that
+    # depend on any of these changed files.
+}
+
+# use the corrected CPATH and LIBRARY_PATH for build
+pre-build {
+    compiler.cpath [join ${header_path} :]
+    compiler.library_path [join ${library_path} :]
+}
+
</ins><span class="cx"> variant mysql description {Enable MySQL SQL Driver} {
</span><span class="cx">     depends_lib-append path:lib/mysql5:mysql5
</span><del>-    # reverse the search paths, such that the defaults are searched last
-    compiler.cpath ${prefix}/include/mysql5/mysql:${compiler.cpath}
-    compiler.library_path ${prefix}/lib/mysql5/mysql:${compiler.library_path}
</del><ins>+    lunshift header_path ${prefix}/include/mysql5/mysql
+    lunshift library_path ${prefix}/lib/mysql5/mysql
</ins><span class="cx">     configure.args-delete -no-sql-mysql
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -131,9 +163,8 @@
</span><span class="cx"> 
</span><span class="cx"> variant psql description {Enable PostgreSQL SQL Driver} {
</span><span class="cx">     depends_lib-append port:postgresql83
</span><del>-    # reverse the search paths, such that the defaults are searched last
-    compiler.cpath ${prefix}/include/postgresql83:${compiler.cpath}
-    compiler.library_path ${prefix}/lib/postgresql83:${compiler.library_path}
</del><ins>+    lunshift header_path ${prefix}/include/postgresql83
+    lunshift library_path ${prefix}/lib/postgresql83
</ins><span class="cx">     configure.args-delete -no-sql-psql
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -181,17 +212,31 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-# use the 10.5 SDK for 10.5 or 10.6,
</del><ins>+# use the 10.5 SDK for 10.5,
</ins><span class="cx"> # but only if not (doing universal and the universal sysroot is set)
</span><span class="cx"> platform darwin 9 {
</span><span class="cx">     if {![variant_isset universal] || ![info exists universal_sysroot]} {
</span><del>-        configure.args-append -sdk /Developer/SDKs/MacOSX10.5.sdk/
</del><ins>+        if {[file exists /Developer/SDKs/MacOSX10.5.sdk]} {
+            configure.args-append -sdk /Developer/SDKs/MacOSX10.5.sdk/
+        } else {
+            ui_msg &quot;No SDK found in Developer/SDKs ; \
+configure will probably fail. \n \
+Please install Apple's Developer Tools again.&quot;
+        }
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+# use the 10.6 SDK for 10.6
+# but only if not (doing universal and the universal sysroot is set)
</ins><span class="cx"> platform darwin 10 {
</span><span class="cx">     if {![variant_isset universal] || ![info exists universal_sysroot]} {
</span><del>-        configure.args-append -sdk /Developer/SDKs/MacOSX10.5.sdk/
</del><ins>+        if {[file exists /Developer/SDKs/MacOSX10.6.sdk]} {
+            configure.args-append -sdk /Developer/SDKs/MacOSX10.6.sdk/
+        } else {
+            ui_msg &quot;No SDK found in /Developer/SDKs ; \
+configure will probably fail. \n \
+Please install Apple's Developer Tools again.&quot;
+        }
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkdportsaquaqt4macdevelPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/aqua/qt4-mac-devel/Portfile (69364 => 69365)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/aqua/qt4-mac-devel/Portfile        2010-07-02 15:26:51 UTC (rev 69364)
+++ trunk/dports/aqua/qt4-mac-devel/Portfile        2010-07-02 15:28:55 UTC (rev 69365)
</span><span class="lines">@@ -68,7 +68,6 @@
</span><span class="cx"> set dirname ${name}
</span><span class="cx"> set qt_dir ${prefix}/libexec/${dirname}
</span><span class="cx"> 
</span><del>-#
</del><span class="cx"> #  use compiler.cpath and compiler.library_path, as per
</span><span class="cx"> #  http://trac.macports.org/ticket/25321 for all -I and -L entries,
</span><span class="cx"> #  so-as to avoid conflicts with already-installed headers and
</span><span class="lines">@@ -78,13 +77,20 @@
</span><span class="cx"> #  See http://trac.macports.org/ticket/15219 and
</span><span class="cx"> #  http://trac.macports.org/ticket/18723.
</span><span class="cx"> #
</span><ins>+#  set the default paths to include those for SQLITE3 and DBUS-1
+
+set header_path [ list ${prefix}/include/dbus-1.0 \
+                       ${prefix}/lib/dbus-1.0/include \
+                       ${prefix}/include ]
+
+set library_path [ list ${prefix}/lib ]
+
</ins><span class="cx"> # -system-sqlite ensures the use SQLite provided by MacPorts instead of Qt.
</span><span class="cx"> #
</span><span class="cx"> # -dbus-linked prevends qt4 from trying to dynamically load libdbus-1,
</span><span class="cx"> #     which it is not able to find in ${prefix}.
</span><span class="cx"> #
</span><span class="cx"> # -openssl-linked ensures that the MacPorts openssl is used.
</span><del>-#
</del><span class="cx"> 
</span><span class="cx"> configure.args                                            \
</span><span class="cx">     -v                                                    \
</span><span class="lines">@@ -115,11 +121,37 @@
</span><span class="cx">     configure.args-append -no-sql-${driver}
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+# use the corrected CPATH and LIBRARY_PATH for configure
+pre-configure {
+    compiler.cpath [join ${header_path} :]
+    compiler.library_path [join ${library_path} :]
+}
+
+# Remove any '-I' string from the C*FLAGS for SQLITE and DBUS, so that
+# what remains are just non-I flags; these paths are in compiler.cpath .
+# The includes for all the other variants are not used by
+# 'configure', and are already included in the compiler.cpath .
+post-configure {
+    # SQLITE first
+    reinplace &quot;/CFLAGS_SQLITE/s@-I${prefix}/\[^ \]*include\[^ \]*@@g&quot; \
+        ${worksrcpath}/.qmake.cache
+    # DBUS last
+    reinplace &quot;/CFLAGS_DBUS/s@-I${prefix}/\[^ \]*include\[^ \]*@@g&quot; \
+        ${worksrcpath}/.qmake.cache
+    # during the 'build' stage, 'make' will rebuild the Makefiles that
+    # depend on any of these changed files.
+}
+
+# use the corrected CPATH and LIBRARY_PATH for build
+pre-build {
+    compiler.cpath [join ${header_path} :]
+    compiler.library_path [join ${library_path} :]
+}
+
</ins><span class="cx"> variant mysql description {Enable MySQL SQL Driver} {
</span><span class="cx">     depends_lib-append path:lib/mysql5:mysql5
</span><del>-    # reverse the search paths, such that the defaults are searched last
-    compiler.cpath ${prefix}/include/mysql5/mysql:${compiler.cpath}
-    compiler.library_path ${prefix}/lib/mysql5/mysql:${compiler.library_path}
</del><ins>+    lunshift header_path ${prefix}/include/mysql5/mysql
+    lunshift library_path ${prefix}/lib/mysql5/mysql
</ins><span class="cx">     configure.args-delete -no-sql-mysql
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -130,9 +162,8 @@
</span><span class="cx"> 
</span><span class="cx"> variant psql description {Enable PostgreSQL SQL Driver} {
</span><span class="cx">     depends_lib-append port:postgresql83
</span><del>-    # reverse the search paths, such that the defaults are searched last
-    compiler.cpath ${prefix}/include/postgresql83:${compiler.cpath}
-    compiler.library_path ${prefix}/lib/postgresql83:${compiler.library_path}
</del><ins>+    lunshift header_path ${prefix}/include/postgresql83
+    lunshift library_path ${prefix}/lib/postgresql83
</ins><span class="cx">     configure.args-delete -no-sql-psql
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -180,17 +211,31 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-# use the 10.5 SDK for 10.5 or 10.6,
</del><ins>+# use the 10.5 SDK for 10.5,
</ins><span class="cx"> # but only if not (doing universal and the universal sysroot is set)
</span><span class="cx"> platform darwin 9 {
</span><span class="cx">     if {![variant_isset universal] || ![info exists universal_sysroot]} {
</span><del>-        configure.args-append -sdk /Developer/SDKs/MacOSX10.5.sdk/
</del><ins>+        if {[file exists /Developer/SDKs/MacOSX10.5.sdk]} {
+            configure.args-append -sdk /Developer/SDKs/MacOSX10.5.sdk/
+        } else {
+            ui_msg &quot;No SDK found in Developer/SDKs ; \
+configure will probably fail. \n \
+Please install Apple's Developer Tools again.&quot;
+        }
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+# use the 10.6 SDK for 10.6
+# but only if not (doing universal and the universal sysroot is set)
</ins><span class="cx"> platform darwin 10 {
</span><span class="cx">     if {![variant_isset universal] || ![info exists universal_sysroot]} {
</span><del>-        configure.args-append -sdk /Developer/SDKs/MacOSX10.5.sdk/
</del><ins>+        if {[file exists /Developer/SDKs/MacOSX10.6.sdk]} {
+            configure.args-append -sdk /Developer/SDKs/MacOSX10.6.sdk/
+        } else {
+            ui_msg &quot;No SDK found in /Developer/SDKs ; \
+configure will probably fail. \n \
+Please install Apple's Developer Tools again.&quot;
+        }
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>