[69495] trunk/dports/aqua/qt4-mac

michaelld at macports.org michaelld at macports.org
Wed Jul 7 18:51:15 PDT 2010


Revision: 69495
          http://trac.macports.org/changeset/69495
Author:   michaelld at macports.org
Date:     2010-07-07 18:51:14 -0700 (Wed, 07 Jul 2010)
Log Message:
-----------
Hopeful "quick" fix for ticket #20199, for now.  Added in
"pre-deactivate" to handle de-selection and removal of
include/phonon/[Pp]honon .  Moved from multiple select files to just
one & then reinplace out per variants.  When doing "no_debug",
include/* will be correctly populated, and the pkg-config files will
now work correctly per those includes.

Modified Paths:
--------------
    trunk/dports/aqua/qt4-mac/Portfile

Removed Paths:
-------------
    trunk/dports/aqua/qt4-mac/files/qt4-mac-no-debug

Modified: trunk/dports/aqua/qt4-mac/Portfile
===================================================================
--- trunk/dports/aqua/qt4-mac/Portfile	2010-07-08 00:24:26 UTC (rev 69494)
+++ trunk/dports/aqua/qt4-mac/Portfile	2010-07-08 01:51:14 UTC (rev 69495)
@@ -13,7 +13,7 @@
 name                ${select_name}
 #conflicts           kdelibs3 kdelibs4 xmlrpcxx
 version             4.6.3
-revision            1
+revision            2
 categories          aqua
 platforms           macosx
 maintainers         michaelld
@@ -267,14 +267,55 @@
             ${destroot}${qt_dir}/share/doc/${name}
     }
 
-    # install the appropriate select file
+    # Fix includes
+    # (1) Remove include/Qt ; it should never be used
+    if {[file exists ${destroot}${qt_dir}/include/Qt]} {
+        delete ${destroot}${qt_dir}/include/Qt
+    }
+
+    # (2) remove from ${qt_dir}/include/FOO, for each FOO in the
+    # frameworks, and link into the headers provided by the FOO framework
+    foreach fms [glob -nocomplain -directory ${destroot} \
+                     ${qt_dir}/lib/*.framework] {
+        # 0: split the framework abs path using '/'
+        set tmp [split ${fms} /]
+        # 1: retrieve the framework name
+        set tfm [lindex [split [lindex ${tmp} [expr [llength ${tmp}] - 1]] .] 0]
+        # 2: remove the include directory, if it exists
+        if {[file exists ${destroot}${qt_dir}/include/${tfm}] } {
+            # if it exists
+            delete ${destroot}${qt_dir}/include/${tfm}
+        }
+        # 3: link into the framework's Headers
+        ln -s ${qt_dir}/lib/${tfm}.framework/Headers \
+            ${destroot}${qt_dir}/include/${tfm}
+    }
+
+    # install the select file
     xinstall -m 755 -d ${destroot}${prefix}/etc/select/${select_group}
+    xinstall -c -m 644 ${filespath}/${select_name} \
+        ${destroot}${prefix}/etc/select/${select_group}/${select_name}
+
+    # then, reinplace the select file as necessary for variants; put
+    # these here instead of in the variants because I don't know which
+    # are executed first (this post-destroot or a variant's) & the
+    # select file needs to be in place first.
     if {[variant_isset no_debug]} {
-        xinstall -c -m 644 ${filespath}/${select_name}-no-debug \
+        # remove select entries for debug
+        reinplace "/debug/ c\\\n-\n" \
             ${destroot}${prefix}/etc/select/${select_group}/${select_name}
-    } else {
-        xinstall -c -m 644 ${filespath}/${select_name} \
+    }
+    if {[variant_isset no_demo]} {
+        # remove select entries for demo
+        reinplace "/demo/ c\\\n-\n" \
             ${destroot}${prefix}/etc/select/${select_group}/${select_name}
+
+        # special case: if no examples and no debug,
+        if {[variant_isset no_examples]} {
+            # remove select entry for share/qt4-mac
+            reinplace "/share\\/qt4-mac/ c\\\n-\n" \
+                ${destroot}${prefix}/etc/select/${select_group}/${select_name}
+        }
     }
 }
 
@@ -295,6 +336,23 @@
     }
 }
 
+pre-deactivate {
+    # If this is qt4-* is selected, select 'none' & tell the user
+    if { [exec ${prefix}/bin/${select_port} -s] == ${select_name} } {
+        system "${prefix}/bin/${select_port} none"
+        ui_msg "\
+Port '${current_select}' was selected; none is now selected.\n \
+To select another port for group '${select_group}', \
+please run '${select_port}'."
+    }
+
+    # remove case-sensitive ${prefix}/${qt_dir}/include/phonon/[Pp]honon
+    foreach tf [glob -directory ${prefix}/${qt_dir}/include/phonon \
+                     ?honon] {
+        delete ${tf}
+    }
+}
+
 livecheck.type      regex
 livecheck.url       http://get.qt.nokia.com/qt/source/
 livecheck.regex     "qt-everywhere-opensource-src-(\[0-9a-z.-\]+)${extract.suffix}"

Deleted: trunk/dports/aqua/qt4-mac/files/qt4-mac-no-debug
===================================================================
--- trunk/dports/aqua/qt4-mac/files/qt4-mac-no-debug	2010-07-08 00:24:26 UTC (rev 69494)
+++ trunk/dports/aqua/qt4-mac/files/qt4-mac-no-debug	2010-07-08 01:51:14 UTC (rev 69495)
@@ -1,124 +0,0 @@
-libexec/qt4-mac/bin/Assistant.app
-libexec/qt4-mac/bin/Assistant_adp.app
-libexec/qt4-mac/bin/Designer.app
-libexec/qt4-mac/bin/Linguist.app
--
-libexec/qt4-mac/bin/pixeltool.app
-libexec/qt4-mac/bin/qdbusviewer.app
-libexec/qt4-mac/bin/qhelpconverter.app
-libexec/qt4-mac/bin/qtdemo.app
-libexec/qt4-mac/bin/qttracereplay.app
-libexec/qt4-mac/lib/Qt3Support.framework
-libexec/qt4-mac/lib/QtAssistant.framework
-libexec/qt4-mac/lib/QtCore.framework
-libexec/qt4-mac/lib/QtDBus.framework
--
-libexec/qt4-mac/lib/QtDesigner.framework
-libexec/qt4-mac/lib/QtDesignerComponents.framework
-libexec/qt4-mac/lib/QtGui.framework
-libexec/qt4-mac/lib/QtHelp.framework
--
-libexec/qt4-mac/lib/QtMultimedia.framework
-libexec/qt4-mac/lib/QtNetwork.framework
-libexec/qt4-mac/lib/QtOpenGL.framework
-libexec/qt4-mac/lib/QtScript.framework
-libexec/qt4-mac/lib/QtScriptTools.framework
-libexec/qt4-mac/lib/QtSql.framework
-libexec/qt4-mac/lib/QtSvg.framework
-libexec/qt4-mac/lib/QtTest.framework
-libexec/qt4-mac/lib/QtWebKit.framework
-libexec/qt4-mac/lib/QtXml.framework
-libexec/qt4-mac/lib/QtXmlPatterns.framework
-libexec/qt4-mac/lib/phonon.framework
-libexec/qt4-mac/bin/Assistant.app/Contents/MacOS/Assistant
-libexec/qt4-mac/bin/Assistant.app
-libexec/qt4-mac/bin/Assistant_adp.app/Contents/MacOS/Assistant_adp
-libexec/qt4-mac/bin/Assistant_adp.app
-libexec/qt4-mac/bin/Designer.app/Contents/MacOS/Designer
-libexec/qt4-mac/bin/Designer.app
-libexec/qt4-mac/bin/Linguist.app/Contents/MacOS/Linguist
-libexec/qt4-mac/bin/Linguist.app
--
--
-libexec/qt4-mac/bin/pixeltool.app/Contents/MacOS/pixeltool
-libexec/qt4-mac/bin/pixeltool.app
-libexec/qt4-mac/bin/qdbusviewer.app/Contents/MacOS/qdbusviewer
-libexec/qt4-mac/bin/qdbusviewer.app
-libexec/qt4-mac/bin/qhelpconverter.app/Contents/MacOS/qhelpconverter
-libexec/qt4-mac/bin/qhelpconverter.app
-libexec/qt4-mac/bin/qtdemo.app/Contents/MacOS/qtdemo
-libexec/qt4-mac/bin/qtdemo.app
-libexec/qt4-mac/bin/qttracereplay.app/Contents/MacOS/qttracereplay
-libexec/qt4-mac/bin/qttracereplay.app
-libexec/qt4-mac/bin/lconvert
-libexec/qt4-mac/bin/lrelease
-libexec/qt4-mac/bin/lupdate
-libexec/qt4-mac/bin/macdeployqt
-libexec/qt4-mac/bin/moc
-libexec/qt4-mac/bin/qcollectiongenerator
-libexec/qt4-mac/bin/qdbus
-libexec/qt4-mac/bin/qdbuscpp2xml
-libexec/qt4-mac/bin/qdbusxml2cpp
-libexec/qt4-mac/bin/qdoc3
-libexec/qt4-mac/bin/qhelpgenerator
-libexec/qt4-mac/bin/qmake
-libexec/qt4-mac/bin/qt3to4
--
-libexec/qt4-mac/bin/rcc
-libexec/qt4-mac/bin/uic
-libexec/qt4-mac/bin/uic3
-libexec/qt4-mac/bin/xmlpatterns
-libexec/qt4-mac/bin/xmlpatternsvalidator
-libexec/qt4-mac/lib/pkgconfig/Qt3Support.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtAssistant.pc
--
--
--
-libexec/qt4-mac/lib/pkgconfig/QtCLucene.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtCore.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtDBus.pc
--
--
--
-libexec/qt4-mac/lib/pkgconfig/QtDesigner.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtDesignerComponents.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtGui.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtHelp.pc
--
--
--
-libexec/qt4-mac/lib/pkgconfig/QtMultimedia.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtNetwork.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtOpenGL.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtScript.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtScriptTools.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtSql.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtSvg.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtTest.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtUiTools.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtWebKit.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtXml.pc
--
-libexec/qt4-mac/lib/pkgconfig/QtXmlPatterns.pc
--
-libexec/qt4-mac/lib/pkgconfig/phonon.pc
--
-libexec/qt4-mac/share/doc/qt4-mac
-libexec/qt4-mac/share/qt4-mac
-libexec/qt4-mac
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100707/4c46f1fa/attachment-0001.html>


More information about the macports-changes mailing list