[73105] trunk/dports/audio/phonon

michaelld at macports.org michaelld at macports.org
Wed Nov 3 18:41:02 PDT 2010


Revision: 73105
          http://trac.macports.org/changeset/73105
Author:   michaelld at macports.org
Date:     2010-11-03 18:40:58 -0700 (Wed, 03 Nov 2010)
Log Message:
-----------
phonon: Hack to use QMake instead of CMake, just as Qt does it.
Allows creation of the QuickTime 7 backend.  Other changes:
* allow use of ccache/distcc
* debug and universal variants
* installs CMake module
* correctly creates <phonon/phonon> as installed by Qt.

Modified Paths:
--------------
    trunk/dports/audio/phonon/Portfile

Added Paths:
-----------
    trunk/dports/audio/phonon/files/patch-qt7.diff
    trunk/dports/audio/phonon/files/qmake/
    trunk/dports/audio/phonon/files/qmake/headers.pri.in
    trunk/dports/audio/phonon/files/qmake/phonon/
    trunk/dports/audio/phonon/files/qmake/phonon/phonon.pro
    trunk/dports/audio/phonon/files/qmake/phonon.in
    trunk/dports/audio/phonon/files/qmake/phonon.pro
    trunk/dports/audio/phonon/files/qmake/phonon_debug.pc.in
    trunk/dports/audio/phonon/files/qmake/plugins/
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/ds9/
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/ds9/ds9.pro
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/gstreamer/
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/gstreamer/gstreamer.pro
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/mmf/
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/mmf/mmf.pro
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/phonon.pro
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/qt7/
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/qt7/qt7.pro
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/waveout/
    trunk/dports/audio/phonon/files/qmake/plugins/phonon/waveout/waveout.pro
    trunk/dports/audio/phonon/files/qmake/plugins/plugins.pro
    trunk/dports/audio/phonon/files/qmake/plugins/qpluginbase.pri
    trunk/dports/audio/phonon/files/qmake/qbase.pri
    trunk/dports/audio/phonon/files/qmake/qcommon.pri
    trunk/dports/audio/phonon/files/qmake/qt7/
    trunk/dports/audio/phonon/files/qmake/qt_install.pri
    trunk/dports/audio/phonon/files/qmake/qt_targets.pri

Modified: trunk/dports/audio/phonon/Portfile
===================================================================
--- trunk/dports/audio/phonon/Portfile	2010-11-04 01:35:39 UTC (rev 73104)
+++ trunk/dports/audio/phonon/Portfile	2010-11-04 01:40:58 UTC (rev 73105)
@@ -2,16 +2,11 @@
 # $Id$
 
 PortSystem          1.0
+PortGroup           qt4 1.0
 
-# use KDE4 portgroup, but remove depends_lib for phonon
-# See dports/_resources/port1.0/group/kde4-1.1.tcl for more info.
-PortGroup           kde4    1.1
-
-depends_lib-delete  port:phonon
-
 name                phonon
 version             4.4.2
-revision            1
+revision            2
 categories          audio kde kde4
 maintainers         nomaintainer
 description         Cross Platform Multimedia API used by KDE4
@@ -26,7 +21,149 @@
                     rmd160 aa37903f166904dd09401541df8fc268a2858606
 
 depends_lib-append    path:lib/pkgconfig/glib-2.0.pc:glib2
+depends_build-append  port:automoc
 
+archcheck.files-append lib/libglib-2.0.dylib
+
+# after extracting both qt4-mac (latest) and phonon, do:
+# $ cd `port dir phonon`/phonon*/qt7
+# $ for tf in `ls -1`; do \
+# > diff -u ${tf} `port dir qt4-mac`/work/qt-*/src/3rdparty/phonon/qt7/${tf};
+# > done > `port dir phonon`/files/patch-qt7.diff
+patchfiles            patch-qt7.diff
+
+set PHONON_MAJOR_VERSION [lindex [split ${version} "."] 0]
+set PHONON_MINOR_VERSION [lindex [split ${version} "."] 1]
+set PHONON_PATCH_VERSION [lindex [split ${version} "."] 2]
+
+set PHONON_BUILD_DIR ${worksrcpath}/build
+
+post-patch {
+    # fix phonon/audiodataoutput.cpp to not use the moc file
+    reinplace "/audiodataoutput\.moc/d" \
+        ${worksrcpath}/phonon/audiodataoutput.cpp
+
+    # install qt 4.7.0 QMake files into phonon source
+    system "cd ${filespath}/qmake && tar cf - . | \
+        (cd ${worksrcpath}; tar xf -)"
+
+    # create the 'phononnamespace.h' file
+    system "cd ${worksrcpath}/phonon && \
+        sed -e 's, at PHONON_LIB_MAJOR_VERSION@,${PHONON_MAJOR_VERSION},g' \
+            -e 's, at PHONON_LIB_MINOR_VERSION@,${PHONON_MINOR_VERSION},g' \
+            -e 's, at PHONON_LIB_PATCH_VERSION@,${PHONON_PATCH_VERSION},g' \
+            phononnamespace.h.in > phononnamespace.h"
+
+    # create the 'phonon.pc' files (release and debug)
+    system "cd ${worksrcpath} && \
+        mkdir -p ${PHONON_BUILD_DIR}/lib/pkgconfig && \
+        sed -e 's, at PHONON_LIB_MAJOR_VERSION@,${PHONON_MAJOR_VERSION},g' \
+            -e 's, at PHONON_LIB_MINOR_VERSION@,${PHONON_MINOR_VERSION},g' \
+            -e 's, at PHONON_LIB_PATCH_VERSION@,${PHONON_PATCH_VERSION},g' \
+            -e 's, at QT_MOC_CMD@,${qt_moc_cmd},g' \
+            -e 's, at QT_UIC_CMD@,${qt_uic_cmd},g' \
+            -e 's, at QT_LIBS_DIR@,${qt_libs_dir},g' \
+            -e 's, at QT_INCLUDES_DIR@,${qt_includes_dir},g' \
+            -e 's, at PHONON_PREFIX@,${prefix},g' < phonon_debug.pc.in > \
+            ${PHONON_BUILD_DIR}/lib/pkgconfig/phonon_debug.pc"
+    system "cd ${PHONON_BUILD_DIR}/lib/pkgconfig && \
+        sed -e 's,_debug,,g' \
+            -e 's,debug,release,g' \
+            -e 's,Debug,Release,g' \
+            phonon_debug.pc > phonon.pc"
+
+    # create the 'headers.pri' and 'phonon' files
+    set public_headers [exec find ${worksrcpath}/phonon \
+                                 -name "*.h" -depth 1 | \
+                             sed -e "s@${worksrcpath}/@@g" | \
+                             grep -v "_p"]
+    set private_headers [exec find ${worksrcpath}/phonon \
+                                 -name "*.h" -depth 1 | \
+                             sed -e "s@${worksrcpath}/@@g" | \
+                             grep "_p"]
+    set class_headers [exec find ${worksrcpath}/includes/phonon \
+                               -name "\[A-Z\]*" | \
+                           sed -e "s@${worksrcpath}/includes/@@g"]
+
+    # create 'phonon' file first
+    set INCLUDE_HEADERS ""
+    foreach header ${public_headers} {
+        set INCLUDE_HEADERS "${INCLUDE_HEADERS}\#include \"${header}\"@"
+    }
+    system "cd ${worksrcpath} && \
+              sed -e 's, at INCLUDE_HEADERS@,${INCLUDE_HEADERS},' phonon.in | \
+              tr '@' '\\n' > includes/phonon/phonon"
+    unset INCLUDE_HEADERS
+
+    # add new phonon to list of headers
+    lappend public_headers "includes/phonon/phonon"
+
+    # create 'headers.pri' file second
+    set PUBLIC_HEADERS ""
+    foreach header ${public_headers} {
+        lappend PUBLIC_HEADERS "../${header}"
+    }
+    set CLASS_HEADERS ""
+    foreach header ${class_headers} {
+        lappend CLASS_HEADERS "../includes/${header}"
+    }
+    set PRIVATE_HEADERS ""
+    foreach header ${private_headers} {
+        lappend PRIVATE_HEADERS "../${header}"
+    }
+    system "cd ${worksrcpath} && \
+              sed -e 's, at PHONON_PUBLIC_HEADERS@,${PUBLIC_HEADERS},' \
+                  -e 's, at PHONON_CLASS_HEADERS@,${CLASS_HEADERS},' \
+                  -e 's, at PHONON_PRIVATE_HEADERS@,${PRIVATE_HEADERS},' \
+                headers.pri.in > includes/phonon/headers.pri"
+    unset PUBLIC_HEADERS
+    unset CLASS_HEADERS
+    unset PRIVATE_HEADERS
+}
+
+# set up to use the installed QMake files
+configure.cmd       ${qt_qmake_cmd}
+configure.pre_args  \
+    CONFIG+="phonon phonon-backend ${qt_arch_types}" \
+    PHONON_MAJOR_VERSION=${PHONON_MAJOR_VERSION} \
+    PHONON_MINOR_VERSION=${PHONON_MINOR_VERSION} \
+    PHONON_PATCH_VERSION=${PHONON_PATCH_VERSION} \
+    WORKSRCPATH=${worksrcpath} \
+    LOCAL_BUILD_TREE=${PHONON_BUILD_DIR}
+configure.args      "-o Makefile phonon.pro"
+
+if {[variant_isset debug]} {
+    configure.pre_args-append CONFIG+=debug_and_release
+} else {
+    configure.pre_args-append CONFIG+=release
+}
+
+# qmake does not handle these flags flags
+configure.universal_args-delete --disable-dependency-tracking
+configure.args-delete           --disable-dependency-tracking
+
+# allow ccache, if specified by the user
+pre-build {
+    if {[tbool configure.ccache]} {
+        build.post_args "CCACHE=ccache"
+    }
+}
+
+# Install cmake files (taken from port 'kdelibs4'). To use this file,
+# include '-DCMAKE_MODULE_PATH=...' in configure.args during the
+# initial 'configure' stage (which uses CMake), to the full path of
+# where the CMake files are installed.
+post-destroot {
+    xinstall -m 755 -d ${destroot}${qt_cmake_module_dir}
+    xinstall -m 644 -W ${filespath} \
+        FindPhonon.cmake \
+        ${destroot}${qt_cmake_module_dir}
+}
+
+universal_variant   yes
+
+variant debug description "Build release and debug versions" {}
+
 livecheck.type		regex
 livecheck.url		http://ftp.gtlib.cc.gatech.edu/pub/kde/stable/${name}/
 livecheck.regex		"\(\\d+(?:\\.\\d+)*)\/"

Added: trunk/dports/audio/phonon/files/patch-qt7.diff
===================================================================
--- trunk/dports/audio/phonon/files/patch-qt7.diff	                        (rev 0)
+++ trunk/dports/audio/phonon/files/patch-qt7.diff	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,95 @@
+--- qt7/audiodevice.mm	2010-06-07 10:36:25.000000000 -0400
++++ qt7/audiodevice.mm	2010-09-10 05:05:23.000000000 -0400
+@@ -149,7 +149,6 @@
+     size = sizeof(translation);
+     err = AudioDeviceGetProperty(deviceID, 0, 0, kAudioDevicePropertyDataSourceNameForIDCFString, &size, &translation);
+ 	if (err != noErr){
+-        CFRelease(cfName);
+         return QString();
+     }
+ 	QString name = PhononCFString::toQString(cfName);
+--- qt7/audionode.mm	2010-06-07 10:36:25.000000000 -0400
++++ qt7/audionode.mm	2010-09-10 05:05:23.000000000 -0400
+@@ -68,12 +68,15 @@
+         << QString(!FindNextComponent(0, &description) ? "ERROR: COMPONENT NOT FOUND!" : "OK!"))
+ 
+     OSStatus err = noErr;
+-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+-    if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5)
+-        err = AUGraphAddNode(m_audioGraph->audioGraphRef(), &description, &m_auNode);
+-    else
+-#endif
+-        err = AUGraphNewNode(m_audioGraph->audioGraphRef(), &description, 0, 0, &m_auNode);
++
++    // The proper function to call here is AUGraphAddNode() but the type has
++    // changed between 10.5 and 10.6. it's still OK to call this function, but
++    // if we want to use the proper thing we need to move over to
++    // AudioComponentDescription everywhere, which is very similar to the
++    // ComponentDescription, but a different size.  however,
++    // AudioComponentDescription only exists on 10.6+. More fun than we need to
++    // deal with at the moment, so we'll take the "deprecated" warning instead.
++    err = AUGraphNewNode(m_audioGraph->audioGraphRef(), &description, 0, 0, &m_auNode);
+         
+     BACKEND_ASSERT2(err != kAUGraphErr_OutputNodeErr, "A MediaObject can only be connected to one audio output device.", FATAL_ERROR)
+     BACKEND_ASSERT2(err == noErr, "Could not create new AUNode.", FATAL_ERROR)
+--- qt7/backendinfo.mm	2010-06-07 10:36:25.000000000 -0400
++++ qt7/backendinfo.mm	2010-09-10 05:05:23.000000000 -0400
+@@ -15,6 +15,12 @@
+     along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+ 
++#import <QTKit/QTMovie.h>
++#ifdef QUICKTIME_C_API_AVAILABLE
++    #include <QuickTime/QuickTime.h>
++    #undef check // avoid name clash;
++#endif
++
+ #include "backendinfo.h"
+ #include "backendheader.h"
+ 
+@@ -22,12 +28,6 @@
+ #include <AudioUnit/AudioUnit.h>
+ #include <CoreServices/CoreServices.h>
+ 
+-#import <QTKit/QTMovie.h>
+-
+-#ifdef QUICKTIME_C_API_AVAILABLE
+-    #include <QuickTime/QuickTime.h>
+-    #undef check // avoid name clash;
+-#endif
+ 
+ QT_BEGIN_NAMESPACE
+ 
+--- qt7/mediaobjectaudionode.mm	2010-06-07 10:36:25.000000000 -0400
++++ qt7/mediaobjectaudionode.mm	2010-09-10 05:05:23.000000000 -0400
+@@ -15,6 +15,8 @@
+     along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+ 
++#import <QTKit/QTMovie.h>
++
+ #include "mediaobjectaudionode.h"
+ #include "quicktimeaudioplayer.h"
+ #include "quicktimevideoplayer.h"
+--- qt7/quicktimeaudioplayer.mm	2010-06-07 10:36:25.000000000 -0400
++++ qt7/quicktimeaudioplayer.mm	2010-09-10 05:05:23.000000000 -0400
+@@ -15,6 +15,8 @@
+     along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+ 
++#import <QTKit/QTMovie.h>
++
+ #include "quicktimeaudioplayer.h"
+ #include "quicktimevideoplayer.h"
+ #include "audiograph.h"
+--- qt7/quicktimemetadata.mm	2010-06-07 10:36:25.000000000 -0400
++++ qt7/quicktimemetadata.mm	2010-09-10 05:05:23.000000000 -0400
+@@ -15,6 +15,8 @@
+     along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+ 
++#import <QTKit/QTMovie.h>
++
+ #include "quicktimemetadata.h"
+ #include "quicktimevideoplayer.h"
+ 

Added: trunk/dports/audio/phonon/files/qmake/headers.pri.in
===================================================================
--- trunk/dports/audio/phonon/files/qmake/headers.pri.in	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/headers.pri.in	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,5 @@
+SYNCQT.HEADER_FILES = @PHONON_PUBLIC_HEADERS@
+
+SYNCQT.HEADER_CLASSES = @PHONON_CLASS_HEADERS@
+
+SYNCQT.PRIVATE_HEADER_FILES = @PHONON_PRIVATE_HEADERS@

Added: trunk/dports/audio/phonon/files/qmake/phonon/phonon.pro
===================================================================
--- trunk/dports/audio/phonon/files/qmake/phonon/phonon.pro	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/phonon/phonon.pro	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,154 @@
+# this file is taken almost directly from qt 4.7.0 source code,
+# src/phonon/phonon.pro .  The only changes are
+# (0) adding this header information
+# (1) commenting out the 3 lines immediately below containing
+#   "PHONON_*_VERSION".  These will be supplied by the Portfile.
+# (2) changing the PHONON_DIR to reflect the correct location based
+#   upon how this port is extracted.
+
+TARGET = phonon
+include(../qbase.pri)
+
+# PHONON_MAJOR_VERSION = $${QT_MAJOR_VERSION}
+# PHONON_MINOR_VERSION = 4
+# PHONON_PATCH_VERSION = 0
+VERSION = $${PHONON_MAJOR_VERSION}.$${PHONON_MINOR_VERSION}.$${PHONON_PATCH_VERSION}
+
+DEPENDPATH += .
+DEFINES += MAKE_PHONON_LIB
+
+# PHONON_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/phonon
+PHONON_DIR = .
+
+unix:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui QtNetwork
+
+# Input
+HEADERS += $$PHONON_DIR/abstractaudiooutput.h \
+           $$PHONON_DIR/abstractaudiooutput_p.h \
+           $$PHONON_DIR/abstractmediastream.h \
+           $$PHONON_DIR/abstractmediastream_p.h \
+           $$PHONON_DIR/abstractvideooutput.h \
+           $$PHONON_DIR/abstractvideooutput_p.h \
+           $$PHONON_DIR/addoninterface.h \
+           $$PHONON_DIR/audiodataoutput_p.h \
+           $$PHONON_DIR/audiodataoutput.h \
+           $$PHONON_DIR/audiodataoutputinterface.h \
+           $$PHONON_DIR/audiooutput.h \
+           $$PHONON_DIR/audiooutput_p.h \
+           $$PHONON_DIR/audiooutputinterface.h \
+           $$PHONON_DIR/backendcapabilities.h \
+           $$PHONON_DIR/backendcapabilities_p.h \
+           $$PHONON_DIR/backendinterface.h \
+           $$PHONON_DIR/effect.h \
+           $$PHONON_DIR/effect_p.h \
+           $$PHONON_DIR/effectinterface.h \
+           $$PHONON_DIR/effectparameter.h \
+           $$PHONON_DIR/effectparameter_p.h \
+           $$PHONON_DIR/effectwidget.h \
+           $$PHONON_DIR/effectwidget_p.h \
+           $$PHONON_DIR/factory_p.h \
+           $$PHONON_DIR/frontendinterface_p.h \
+           $$PHONON_DIR/globalconfig.h \
+           $$PHONON_DIR/globalconfig_p.h \
+           $$PHONON_DIR/iodevicestream_p.h \
+           $$PHONON_DIR/mediacontroller.h \
+           $$PHONON_DIR/medianode.h \
+           $$PHONON_DIR/medianode_p.h \
+           $$PHONON_DIR/medianodedestructionhandler_p.h \
+           $$PHONON_DIR/mediaobject.h \
+           $$PHONON_DIR/mediaobject_p.h \
+           $$PHONON_DIR/mediaobjectinterface.h \
+           $$PHONON_DIR/mediasource.h \
+           $$PHONON_DIR/mediasource_p.h \
+           $$PHONON_DIR/objectdescription.h \
+           $$PHONON_DIR/objectdescription_p.h \
+           $$PHONON_DIR/objectdescriptionmodel.h \
+           $$PHONON_DIR/objectdescriptionmodel_p.h \
+           $$PHONON_DIR/path.h \
+           $$PHONON_DIR/path_p.h \
+           $$PHONON_DIR/pulsesupport.h \
+           $$PHONON_DIR/phonondefs.h \
+           $$PHONON_DIR/phonondefs_p.h \
+           $$PHONON_DIR/phononnamespace.h \
+           $$PHONON_DIR/phononnamespace_p.h \
+           $$PHONON_DIR/platform_p.h \
+           $$PHONON_DIR/platformplugin.h \
+           $$PHONON_DIR/qsettingsgroup_p.h \
+           $$PHONON_DIR/seekslider.h \
+           $$PHONON_DIR/seekslider_p.h \
+           $$PHONON_DIR/streaminterface.h \
+           $$PHONON_DIR/streaminterface_p.h \
+           $$PHONON_DIR/swiftslider_p.h \
+           $$PHONON_DIR/videoplayer.h \
+           $$PHONON_DIR/videowidget.h \
+           $$PHONON_DIR/videowidget_p.h \
+           $$PHONON_DIR/videowidgetinterface.h \
+           $$PHONON_DIR/volumefadereffect.h \
+           $$PHONON_DIR/volumefadereffect_p.h \
+           $$PHONON_DIR/volumefaderinterface.h \
+           $$PHONON_DIR/volumeslider.h \
+           $$PHONON_DIR/volumeslider_p.h
+
+SOURCES += $$PHONON_DIR/abstractaudiooutput.cpp \
+           $$PHONON_DIR/abstractaudiooutput_p.cpp \
+           $$PHONON_DIR/abstractmediastream.cpp \
+           $$PHONON_DIR/abstractvideooutput.cpp \
+           $$PHONON_DIR/abstractvideooutput_p.cpp \
+           $$PHONON_DIR/audiodataoutput.cpp \
+           $$PHONON_DIR/audiooutput.cpp \
+           $$PHONON_DIR/audiooutputinterface.cpp \
+           $$PHONON_DIR/backendcapabilities.cpp \
+           $$PHONON_DIR/effect.cpp \
+           $$PHONON_DIR/effectparameter.cpp \
+           $$PHONON_DIR/effectwidget.cpp \
+           $$PHONON_DIR/factory.cpp \
+           $$PHONON_DIR/globalconfig.cpp \
+           $$PHONON_DIR/iodevicestream.cpp \
+           $$PHONON_DIR/mediacontroller.cpp \
+           $$PHONON_DIR/medianode.cpp \
+           $$PHONON_DIR/mediaobject.cpp \
+           $$PHONON_DIR/mediasource.cpp \
+           $$PHONON_DIR/objectdescription.cpp \
+           $$PHONON_DIR/objectdescriptionmodel.cpp \
+           $$PHONON_DIR/path.cpp \
+           $$PHONON_DIR/phononnamespace.cpp \
+           $$PHONON_DIR/platform.cpp \
+           $$PHONON_DIR/pulsesupport.cpp \
+           $$PHONON_DIR/seekslider.cpp \
+           $$PHONON_DIR/streaminterface.cpp \
+           $$PHONON_DIR/swiftslider.cpp \
+           $$PHONON_DIR/videoplayer.cpp \
+           $$PHONON_DIR/videowidget.cpp \
+           $$PHONON_DIR/volumefadereffect.cpp \
+           $$PHONON_DIR/volumeslider.cpp
+
+contains(QT_CONFIG, dbus) {
+       QT      += dbus
+       HEADERS += $$PHONON_DIR/audiooutputadaptor_p.h
+       SOURCES += $$PHONON_DIR/audiooutputadaptor.cpp
+       unix:QMAKE_PKGCONFIG_REQUIRES += QtDBus
+} else {
+       DEFINES += QT_NO_DBUS
+}
+
+contains(QT_CONFIG, reduce_exports): CONFIG += hide_symbols
+
+unix:!isEmpty(QT_CFLAGS_PULSEAUDIO) {
+     DEFINES += HAVE_PULSEAUDIO
+     QMAKE_CXXFLAGS += $$QT_CFLAGS_PULSEAUDIO
+     LIBS += $$QT_LIBS_PULSEAUDIO
+}
+
+symbian: {
+    # Phonon depends on numeric_limits. Enabling STL support in Qt
+    # would bring in link dependencies, and we don't need that for
+    # numeric_limits, hence we here merely ensure we bring in the necessary
+    # header.
+    INCLUDEPATH *= $$OS_LAYER_STDCPP_SYSTEMINCLUDE
+
+	# Without this setting, code using numeric_limits will fail
+	# for winscw, although armv5 works fine no matter what.
+    QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
+    
+    TARGET.UID3 = 0x2001E624
+}

Added: trunk/dports/audio/phonon/files/qmake/phonon.in
===================================================================
--- trunk/dports/audio/phonon/files/qmake/phonon.in	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/phonon.in	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,14 @@
+#ifndef QT_PHONON_MODULE_H
+#define QT_PHONON_MODULE_H
+
+#ifndef QT_PHONON
+#define QT_PHONON
+#endif
+
+#ifdef QT_NO_PHONON
+#undef QT_NO_PHONON
+#endif
+
+ at INCLUDE_HEADERS@
+
+#endif

Added: trunk/dports/audio/phonon/files/qmake/phonon.pro
===================================================================
--- trunk/dports/audio/phonon/files/qmake/phonon.pro	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/phonon.pro	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,6 @@
+# -*- mode: sh -*- ###########################
+
+TEMPLATE = subdirs
+CONFIG   += ordered
+
+SUBDIRS = phonon plugins

Added: trunk/dports/audio/phonon/files/qmake/phonon_debug.pc.in
===================================================================
--- trunk/dports/audio/phonon/files/qmake/phonon_debug.pc.in	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/phonon_debug.pc.in	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,15 @@
+prefix=@PHONON_PREFIX@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include/phonon
+qt_config=lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl absolute_library_soname exceptions no_mocdepend stl qt_no_framework x86_64 system-sqlite shared dll largefile stl precompile_header mmx 3dnow sse sse2 x86_64 def_files_disabled absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols explicitlib create_libtool create_pc explicitlib hide_symbols debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dbusadaptors dbusinterfaces shared dll
+moc_location=@QT_MOC_CMD@
+uic_location=@QT_UIC_CMD@
+
+Name: Phonon_debug
+Description: Phonon_debug Library
+Version: @PHONON_LIB_MAJOR_VERSION at .@PHONON_LIB_MINOR_VERSION at .@PHONON_LIB_PATCH_VERSION@
+Libs: -L${libdir} -lphonon_debug
+Libs.private: -L at QT_LIBS_DIR@ -lQtDBus_debug -lQtGui_debug -lQtCore_debug
+Cflags: -DQT_SHARED -I${includedir} -I at QT_INCLUDES_DIR@
+Requires: QtCore QtGui QtNetwork QtDBus

Added: trunk/dports/audio/phonon/files/qmake/plugins/phonon/ds9/ds9.pro
===================================================================
--- trunk/dports/audio/phonon/files/qmake/plugins/phonon/ds9/ds9.pro	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/plugins/phonon/ds9/ds9.pro	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,66 @@
+DESTDIR = $$QT_BUILD_TREE/plugins/phonon_backend
+QT += phonon
+win32:!wince*:contains(QT_CONFIG,opengl):LIBS += -lopengl32
+win32:!wince*:LIBS += -lgdi32
+win32-msvc2005:DEFINES += _CRT_SECURE_NO_WARNINGS
+LIBS += -lstrmiids -ldmoguids -luuid -lmsdmo -lole32 -loleaut32
+TARGET = phonon_ds9
+
+DEFINES += PHONON_MAKE_QT_ONLY_BACKEND
+PHONON_DS9_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/ds9
+
+# Input
+HEADERS += \
+           $$PHONON_DS9_DIR/abstractvideorenderer.h \
+           $$PHONON_DS9_DIR/audiooutput.h \
+           $$PHONON_DS9_DIR/backend.h \
+           $$PHONON_DS9_DIR/backendnode.h \
+           $$PHONON_DS9_DIR/effect.h \
+           $$PHONON_DS9_DIR/fakesource.h \
+           $$PHONON_DS9_DIR/iodevicereader.h \
+           $$PHONON_DS9_DIR/mediagraph.h \
+           $$PHONON_DS9_DIR/mediaobject.h \
+           $$PHONON_DS9_DIR/videowidget.h \
+           $$PHONON_DS9_DIR/videorenderer_soft.h \
+           $$PHONON_DS9_DIR/volumeeffect.h \
+           $$PHONON_DS9_DIR/qbasefilter.h \
+           $$PHONON_DS9_DIR/qpin.h \
+           $$PHONON_DS9_DIR/qasyncreader.h \
+           $$PHONON_DS9_DIR/qaudiocdreader.h \
+           $$PHONON_DS9_DIR/qmeminputpin.h \
+           $$PHONON_DS9_DIR/compointer.h \
+           $$PHONON_DS9_DIR/phononds9_namespace.h
+
+
+SOURCES += \
+           $$PHONON_DS9_DIR/abstractvideorenderer.cpp \
+           $$PHONON_DS9_DIR/audiooutput.cpp \
+           $$PHONON_DS9_DIR/backend.cpp \
+           $$PHONON_DS9_DIR/backendnode.cpp \
+           $$PHONON_DS9_DIR/effect.cpp \
+           $$PHONON_DS9_DIR/fakesource.cpp \
+           $$PHONON_DS9_DIR/iodevicereader.cpp \
+           $$PHONON_DS9_DIR/mediagraph.cpp \
+           $$PHONON_DS9_DIR/mediaobject.cpp \
+           $$PHONON_DS9_DIR/videowidget.cpp \
+           $$PHONON_DS9_DIR/videorenderer_soft.cpp \
+           $$PHONON_DS9_DIR/volumeeffect.cpp \
+           $$PHONON_DS9_DIR/qbasefilter.cpp \
+           $$PHONON_DS9_DIR/qpin.cpp \
+           $$PHONON_DS9_DIR/qasyncreader.cpp \
+           $$PHONON_DS9_DIR/qaudiocdreader.cpp \
+           $$PHONON_DS9_DIR/qmeminputpin.cpp
+
+#the EVR renderer (only available on desktop)
+!wince*:SOURCES += $$PHONON_DS9_DIR/videorenderer_evr.cpp \
+                   $$PHONON_DS9_DIR/videorenderer_vmr9.cpp
+!wince*:HEADERS += $$PHONON_DS9_DIR/qevr9.h \
+                   $$PHONON_DS9_DIR/videorenderer_evr.h \
+                   $$PHONON_DS9_DIR/videorenderer_vmr9.h
+wince*:SOURCES  += $$PHONON_DS9_DIR/videorenderer_default.cpp
+wince*:HEADERS  += $$PHONON_DS9_DIR/videorenderer_default.h
+
+target.path = $$[QT_INSTALL_PLUGINS]/phonon_backend
+INSTALLS += target
+
+include(../../qpluginbase.pri)

Added: trunk/dports/audio/phonon/files/qmake/plugins/phonon/gstreamer/gstreamer.pro
===================================================================
--- trunk/dports/audio/phonon/files/qmake/plugins/phonon/gstreamer/gstreamer.pro	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/plugins/phonon/gstreamer/gstreamer.pro	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,69 @@
+TARGET = phonon_gstreamer
+DESTDIR = $$QT_BUILD_TREE/plugins/phonon_backend
+
+DEPENDPATH += .
+INCLUDEPATH += .
+
+QT += phonon
+contains(QT_CONFIG, opengl):QT += opengl
+
+# GStreamer
+QMAKE_CXXFLAGS += $$QT_CFLAGS_GSTREAMER
+LIBS += $$QT_LIBS_GSTREAMER -lgstinterfaces-0.10 -lgstvideo-0.10 -lgstbase-0.10 -lgstaudio-0.10
+
+PHONON_GSTREAMER_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/gstreamer
+
+HEADERS += $$PHONON_GSTREAMER_DIR/common.h \
+ $$PHONON_GSTREAMER_DIR/audiooutput.h \
+ $$PHONON_GSTREAMER_DIR/audiodataoutput.h \
+ $$PHONON_GSTREAMER_DIR/artssink.h \
+ $$PHONON_GSTREAMER_DIR/abstractrenderer.h \
+ $$PHONON_GSTREAMER_DIR/backend.h \
+ $$PHONON_GSTREAMER_DIR/devicemanager.h \
+ $$PHONON_GSTREAMER_DIR/effect.h \
+ $$PHONON_GSTREAMER_DIR/effectmanager.h \
+ $$PHONON_GSTREAMER_DIR/gsthelper.h \
+ $$PHONON_GSTREAMER_DIR/mediaobject.h \
+ $$PHONON_GSTREAMER_DIR/medianode.h \
+ $$PHONON_GSTREAMER_DIR/medianodeevent.h \
+ $$PHONON_GSTREAMER_DIR/widgetrenderer.h \
+ $$PHONON_GSTREAMER_DIR/videowidget.h \
+ $$PHONON_GSTREAMER_DIR/glrenderer.h \
+ $$PHONON_GSTREAMER_DIR/qwidgetvideosink.h \
+ $$PHONON_GSTREAMER_DIR/phononsrc.h \
+ $$PHONON_GSTREAMER_DIR/streamreader.h \
+ $$PHONON_GSTREAMER_DIR/message.h \
+ $$PHONON_GSTREAMER_DIR/audioeffect.h \
+ $$PHONON_GSTREAMER_DIR/volumefadereffect.h
+
+SOURCES += $$PHONON_GSTREAMER_DIR/abstractrenderer.cpp \
+ $$PHONON_GSTREAMER_DIR/artssink.cpp \
+ $$PHONON_GSTREAMER_DIR/audioeffect.cpp \
+ $$PHONON_GSTREAMER_DIR/audiooutput.cpp \
+ $$PHONON_GSTREAMER_DIR/audiodataoutput.cpp \
+ $$PHONON_GSTREAMER_DIR/backend.cpp \
+ $$PHONON_GSTREAMER_DIR/devicemanager.cpp \
+ $$PHONON_GSTREAMER_DIR/effect.cpp \
+ $$PHONON_GSTREAMER_DIR/effectmanager.cpp \
+ $$PHONON_GSTREAMER_DIR/glrenderer.cpp \
+ $$PHONON_GSTREAMER_DIR/gsthelper.cpp \
+ $$PHONON_GSTREAMER_DIR/medianode.cpp \
+ $$PHONON_GSTREAMER_DIR/medianodeevent.cpp \
+ $$PHONON_GSTREAMER_DIR/mediaobject.cpp \
+ $$PHONON_GSTREAMER_DIR/message.cpp \
+ $$PHONON_GSTREAMER_DIR/phononsrc.cpp \
+ $$PHONON_GSTREAMER_DIR/qwidgetvideosink.cpp \
+ $$PHONON_GSTREAMER_DIR/streamreader.cpp \
+ $$PHONON_GSTREAMER_DIR/videowidget.cpp \
+ $$PHONON_GSTREAMER_DIR/volumefadereffect.cpp \
+ $$PHONON_GSTREAMER_DIR/widgetrenderer.cpp
+
+!embedded {
+    HEADERS += $$PHONON_GSTREAMER_DIR/x11renderer.h
+    SOURCES += $$PHONON_GSTREAMER_DIR/x11renderer.cpp
+}
+
+target.path = $$[QT_INSTALL_PLUGINS]/phonon_backend
+INSTALLS += target
+
+include(../../qpluginbase.pri)

Added: trunk/dports/audio/phonon/files/qmake/plugins/phonon/mmf/mmf.pro
===================================================================
--- trunk/dports/audio/phonon/files/qmake/plugins/phonon/mmf/mmf.pro	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/plugins/phonon/mmf/mmf.pro	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,127 @@
+# MMF Phonon backend
+symbian {
+	QT += phonon
+	TARGET = phonon_mmf
+	PHONON_MMF_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/mmf
+
+	# Uncomment the following line in order to use the CDrmPlayerUtility client
+	# API for audio playback, rather than CMdaAudioPlayerUtility.
+	#CONFIG += phonon_mmf_audio_drm
+
+	phonon_mmf_audio_drm {
+		LIBS += -lDrmAudioPlayUtility
+		DEFINES += QT_PHONON_MMF_AUDIO_DRM
+	} else {
+		LIBS += -lmediaclientaudio
+	}
+
+	# This is necessary because both epoc32/include and Phonon contain videoplayer.h.
+	# By making /epoc32/include the first SYSTEMINCLUDE, we ensure that
+	# '#include <videoplayer.h>' picks up the Symbian header, as intended.
+	PREPEND_INCLUDEPATH = /epoc32/include
+
+	PREPEND_INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty
+
+	INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+
+	HEADERS +=                                           \
+			   $$PHONON_MMF_DIR/abstractaudioeffect.h    \
+			   $$PHONON_MMF_DIR/abstractmediaplayer.h    \
+			   $$PHONON_MMF_DIR/abstractplayer.h         \
+			   $$PHONON_MMF_DIR/abstractvideooutput.h    \
+			   $$PHONON_MMF_DIR/abstractvideoplayer.h    \
+			   $$PHONON_MMF_DIR/audioequalizer.h         \
+			   $$PHONON_MMF_DIR/audiooutput.h            \
+			   $$PHONON_MMF_DIR/audioplayer.h            \
+			   $$PHONON_MMF_DIR/backend.h                \
+			   $$PHONON_MMF_DIR/bassboost.h              \
+			   $$PHONON_MMF_DIR/defs.h                   \
+			   $$PHONON_MMF_DIR/dummyplayer.h            \
+			   $$PHONON_MMF_DIR/effectfactory.h          \
+			   $$PHONON_MMF_DIR/effectparameter.h        \
+			   $$PHONON_MMF_DIR/environmentalreverb.h    \
+			   $$PHONON_MMF_DIR/loudness.h               \
+			   $$PHONON_MMF_DIR/mediaobject.h            \
+			   $$PHONON_MMF_DIR/mmf_medianode.h          \
+			   $$PHONON_MMF_DIR/stereowidening.h         \
+			   $$PHONON_MMF_DIR/objectdump.h             \
+			   $$PHONON_MMF_DIR/objectdump_symbian.h     \
+			   $$PHONON_MMF_DIR/objecttree.h             \
+			   $$PHONON_MMF_DIR/utils.h                  \
+			   $$PHONON_MMF_DIR/videowidget.h
+
+	SOURCES +=                                           \
+			   $$PHONON_MMF_DIR/abstractaudioeffect.cpp  \
+			   $$PHONON_MMF_DIR/abstractmediaplayer.cpp  \
+			   $$PHONON_MMF_DIR/abstractplayer.cpp       \
+			   $$PHONON_MMF_DIR/audioequalizer.cpp       \
+			   $$PHONON_MMF_DIR/audiooutput.cpp          \
+			   $$PHONON_MMF_DIR/audioplayer.cpp          \
+			   $$PHONON_MMF_DIR/abstractvideooutput.cpp  \
+			   $$PHONON_MMF_DIR/abstractvideoplayer.cpp  \
+			   $$PHONON_MMF_DIR/backend.cpp              \
+			   $$PHONON_MMF_DIR/bassboost.cpp            \
+			   $$PHONON_MMF_DIR/dummyplayer.cpp          \
+			   $$PHONON_MMF_DIR/effectfactory.cpp        \
+			   $$PHONON_MMF_DIR/effectparameter.cpp      \
+			   $$PHONON_MMF_DIR/environmentalreverb.cpp  \
+			   $$PHONON_MMF_DIR/loudness.cpp             \
+			   $$PHONON_MMF_DIR/mediaobject.cpp          \
+			   $$PHONON_MMF_DIR/mmf_medianode.cpp        \
+			   $$PHONON_MMF_DIR/stereowidening.cpp       \
+			   $$PHONON_MMF_DIR/objectdump.cpp           \
+			   $$PHONON_MMF_DIR/objectdump_symbian.cpp   \
+			   $$PHONON_MMF_DIR/objecttree.cpp           \
+			   $$PHONON_MMF_DIR/utils.cpp                \
+			   $$PHONON_MMF_DIR/videowidget.cpp
+
+	# Test for whether the build environment supports video rendering to graphics
+	# surfaces.
+	symbian:exists($${EPOCROOT}epoc32/include/platform/videoplayer2.h) {
+		HEADERS +=                                       \
+			   $$PHONON_MMF_DIR/videooutput_surface.h    \
+			   $$PHONON_MMF_DIR/videoplayer_surface.h
+		SOURCES +=                                       \
+			   $$PHONON_MMF_DIR/videooutput_surface.cpp  \
+			   $$PHONON_MMF_DIR/videoplayer_surface.cpp
+		DEFINES += PHONON_MMF_VIDEO_SURFACES
+	} else {
+		HEADERS +=                                       \
+			   $$PHONON_MMF_DIR/ancestormovemonitor.h    \
+			   $$PHONON_MMF_DIR/videooutput_dsa.h        \
+			   $$PHONON_MMF_DIR/videoplayer_dsa.h
+		SOURCES +=                                       \
+			   $$PHONON_MMF_DIR/ancestormovemonitor.cpp  \
+			   $$PHONON_MMF_DIR/videooutput_dsa.cpp      \
+			   $$PHONON_MMF_DIR/videoplayer_dsa.cpp      \
+	}
+
+	LIBS += -lcone
+	LIBS += -lws32
+
+	# This is only needed for debug builds, but is always linked against.
+	LIBS += -lhal
+
+	TARGET.CAPABILITY = all -tcb
+
+	LIBS += -lmediaclientvideo        # For CVideoPlayerUtility
+	LIBS += -lcone                    # For CCoeEnv
+	LIBS += -lws32                    # For RWindow
+	LIBS += -lefsrv                   # For file server
+	LIBS += -lapgrfx -lapmime         # For recognizer
+	LIBS += -lmmfcontrollerframework  # For CMMFMetaDataEntry
+	LIBS += -lmediaclientaudiostream  # For CMdaAudioOutputStream
+
+	# These are for effects.
+	LIBS += -lAudioEqualizerEffect -lBassBoostEffect -lDistanceAttenuationEffect -lDopplerBase -lEffectBase -lEnvironmentalReverbEffect -lListenerDopplerEffect -lListenerLocationEffect -lListenerOrientationEffect -lLocationBase -lLoudnessEffect -lOrientationBase -lSourceDopplerEffect -lSourceLocationEffect -lSourceOrientationEffect -lStereoWideningEffect
+
+	# This is needed for having the .qtplugin file properly created on Symbian.
+	QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/phonon_backend
+
+	target.path = $$[QT_INSTALL_PLUGINS]/phonon_backend
+	INSTALLS += target
+
+	include(../../qpluginbase.pri)
+
+	TARGET.UID3=0x2001E629
+}

Added: trunk/dports/audio/phonon/files/qmake/plugins/phonon/phonon.pro
===================================================================
--- trunk/dports/audio/phonon/files/qmake/plugins/phonon/phonon.pro	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/plugins/phonon/phonon.pro	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,18 @@
+# changes to this file
+# (0) this header
+# (1) QT_CONFIG -> CONFIG
+
+TEMPLATE = subdirs
+
+SUBDIRS =
+
+unix:contains(CONFIG, gstreamer): SUBDIRS *= gstreamer
+mac:contains(CONFIG, phonon-backend): SUBDIRS *= qt7
+win32:!wince*:contains(CONFIG, phonon-backend): SUBDIRS *= ds9
+wince*:contains(CONFIG, phonon-backend): SUBDIRS *= waveout
+wince*:contains(CONFIG, directshow): SUBDIRS *= ds9
+
+# Note that the MMF backend is in some scenarios an important complement to the
+# Helix backend: the latter requires Symbian signed capabilities, hence MMF
+# provides multimedia for self signed scenarios.
+symbian:contains(CONFIG, phonon-backend): SUBDIRS *= mmf

Added: trunk/dports/audio/phonon/files/qmake/plugins/phonon/qt7/qt7.pro
===================================================================
--- trunk/dports/audio/phonon/files/qmake/plugins/phonon/qt7/qt7.pro	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/plugins/phonon/qt7/qt7.pro	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,96 @@
+# change made to this file:
+# (0) adding this header
+# (1) change DESTDIR
+# (2) change MAC_XARCH additions
+# (3) change PHONON_QUICKTIME_DIR
+# (4) added "../../.." to INCLUDEPATH
+# (5) remove 'phonon' from QT += list
+# (6) add locally created phonon library path and library to LIBS
+#     (the next few lines to LIBS += ... $${SUFFIX_STR}
+
+# QT += opengl phonon
+QT += opengl
+TARGET = phonon_qt7
+
+include(../../../qcommon.pri)
+
+# DESTDIR = $$QT_BUILD_TREE/plugins/phonon_backend
+DESTDIR = $$LOCAL_BUILD_TREE/plugins/phonon_backend
+
+# The Quicktime framework is only awailable for 32-bit builds, so we
+# need to check for this before linking against it.
+# QMAKE_MAC_XARCH is not awailable on Tiger, but at the same time,
+# we never build for 64-bit architechtures on Tiger either:
+contains(QMAKE_MAC_XARCH, no) {
+    LIBS += -framework QuickTime
+} else {
+#    LIBS += -Xarch_i386 -framework QuickTime -Xarch_ppc -framework QuickTime
+    contains(CONFIG,x86):LIBS += -Xarch_i386 -framework QuickTime
+    contains(CONFIG,x86_64):LIBS += -Xarch_x86_64 -framework QuickTime
+    contains(CONFIG,ppc):LIBS += -Xarch_ppc -framework QuickTime
+    contains(CONFIG,ppc64):LIBS += -Xarch_ppc64 -framework QuickTime
+}
+
+LIBS += -framework AppKit -framework AudioUnit \
+	-framework AudioToolbox -framework CoreAudio \
+	-framework QuartzCore -framework QTKit
+
+DEPENDPATH += .
+INCLUDEPATH += . ../../..
+
+# PHONON_QUICKTIME_DIR=$$QT_SOURCE_TREE/src/3rdparty/phonon/qt7
+PHONON_QUICKTIME_DIR=../../../qt7
+
+# Input
+HEADERS += $$PHONON_QUICKTIME_DIR/medianode.h \
+		$$PHONON_QUICKTIME_DIR/backend.h \
+		$$PHONON_QUICKTIME_DIR/videowidget.h \
+		$$PHONON_QUICKTIME_DIR/mediaobject.h \
+		$$PHONON_QUICKTIME_DIR/quicktimevideoplayer.h \
+	   	$$PHONON_QUICKTIME_DIR/backendheader.h \
+	   	$$PHONON_QUICKTIME_DIR/medianodevideopart.h \
+	 	$$PHONON_QUICKTIME_DIR/medianodeevent.h  \
+		$$PHONON_QUICKTIME_DIR/quicktimeaudioplayer.h \
+	   	$$PHONON_QUICKTIME_DIR/audionode.h  \
+		$$PHONON_QUICKTIME_DIR/audiograph.h \
+	 	$$PHONON_QUICKTIME_DIR/audiooutput.h \
+	 	$$PHONON_QUICKTIME_DIR/quicktimemetadata.h \
+	   	$$PHONON_QUICKTIME_DIR/audiomixer.h \
+	 	$$PHONON_QUICKTIME_DIR/audiodevice.h \
+	 	$$PHONON_QUICKTIME_DIR/backendinfo.h \
+	 	$$PHONON_QUICKTIME_DIR/audioconnection.h \
+	 	$$PHONON_QUICKTIME_DIR/audiopartoutput.h \
+	   	$$PHONON_QUICKTIME_DIR/videoframe.h \
+	 	$$PHONON_QUICKTIME_DIR/audiosplitter.h \
+	 	$$PHONON_QUICKTIME_DIR/audioeffects.h \
+	 	$$PHONON_QUICKTIME_DIR/quicktimestreamreader.h \
+	 	$$PHONON_QUICKTIME_DIR/mediaobjectaudionode.h 
+# HEADERS += objc_help.h videoeffect.h
+
+OBJECTIVE_SOURCES += $$PHONON_QUICKTIME_DIR/quicktimevideoplayer.mm \
+			$$PHONON_QUICKTIME_DIR/backendheader.mm \
+	   		$$PHONON_QUICKTIME_DIR/medianodevideopart.mm \
+	 		$$PHONON_QUICKTIME_DIR/medianodeevent.mm \
+	 		$$PHONON_QUICKTIME_DIR/audiooutput.mm \
+	 		$$PHONON_QUICKTIME_DIR/backendinfo.mm \
+	 		$$PHONON_QUICKTIME_DIR/audiosplitter.mm \
+	 		$$PHONON_QUICKTIME_DIR/audioeffects.mm \
+	 		$$PHONON_QUICKTIME_DIR/quicktimestreamreader.mm \
+			$$PHONON_QUICKTIME_DIR/medianode.mm \
+			$$PHONON_QUICKTIME_DIR/backend.mm \
+			$$PHONON_QUICKTIME_DIR/mediaobject.mm \
+			$$PHONON_QUICKTIME_DIR/mediaobjectaudionode.mm \
+	   		$$PHONON_QUICKTIME_DIR/audiomixer.mm  \
+			$$PHONON_QUICKTIME_DIR/quicktimeaudioplayer.mm \
+			$$PHONON_QUICKTIME_DIR/videoframe.mm \
+	 		$$PHONON_QUICKTIME_DIR/quicktimemetadata.mm \
+			$$PHONON_QUICKTIME_DIR/audiodevice.mm \
+	 		$$PHONON_QUICKTIME_DIR/audioconnection.mm \
+	 		$$PHONON_QUICKTIME_DIR/audiograph.mm \
+	   		$$PHONON_QUICKTIME_DIR/audionode.mm \
+			$$PHONON_QUICKTIME_DIR/videowidget.mm
+
+target.path = $$[QT_INSTALL_PLUGINS]/phonon_backend
+INSTALLS += target
+
+include(../../qpluginbase.pri)

Added: trunk/dports/audio/phonon/files/qmake/plugins/phonon/waveout/waveout.pro
===================================================================
--- trunk/dports/audio/phonon/files/qmake/plugins/phonon/waveout/waveout.pro	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/plugins/phonon/waveout/waveout.pro	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,23 @@
+DESTDIR = $$QT_BUILD_TREE/plugins/phonon_backend
+QT += phonon
+win32-msvc2005:DEFINES += _CRT_SECURE_NO_WARNINGS
+TARGET = phonon_waveout
+
+DEFINES += PHONON_MAKE_QT_ONLY_BACKEND
+PHONON_WAVEOUT_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/waveout
+
+# Input
+HEADERS += $$PHONON_WAVEOUT_DIR/audiooutput.h \
+           $$PHONON_WAVEOUT_DIR/backend.h \
+           $$PHONON_WAVEOUT_DIR/mediaobject.h
+
+
+SOURCES += $$PHONON_WAVEOUT_DIR/audiooutput.cpp \
+           $$PHONON_WAVEOUT_DIR/backend.cpp \
+           $$PHONON_WAVEOUT_DIR/mediaobject.cpp
+
+
+target.path = $$[QT_INSTALL_PLUGINS]/phonon_backend
+INSTALLS += target
+
+include(../../qpluginbase.pri)

Added: trunk/dports/audio/phonon/files/qmake/plugins/plugins.pro
===================================================================
--- trunk/dports/audio/phonon/files/qmake/plugins/plugins.pro	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/plugins/plugins.pro	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+
+SUBDIRS = phonon

Added: trunk/dports/audio/phonon/files/qmake/plugins/qpluginbase.pri
===================================================================
--- trunk/dports/audio/phonon/files/qmake/plugins/qpluginbase.pri	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/plugins/qpluginbase.pri	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,26 @@
+# change to this file:
+# (0) this header
+# (1) comment out CONFIG += debug_and_release (specd elsewhere)
+
+TEMPLATE = lib
+isEmpty(QT_MAJOR_VERSION) {
+   VERSION=4.7.0
+} else {
+   VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
+}
+CONFIG += qt plugin
+
+# win32|mac:!wince*:!win32-msvc:!macx-xcode:CONFIG += debug_and_release
+TARGET = $$qtLibraryTarget($$TARGET)
+contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
+
+include(../qt_targets.pri)
+
+wince*:LIBS += $$QMAKE_LIBS_GUI
+
+symbian: {
+    TARGET.EPOCALLOWDLLDATA=1
+    TARGET.CAPABILITY = All -Tcb
+    TARGET = $${TARGET}$${QT_LIBINFIX}
+    load(armcc_warnings)
+}

Added: trunk/dports/audio/phonon/files/qmake/qbase.pri
===================================================================
--- trunk/dports/audio/phonon/files/qmake/qbase.pri	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/qbase.pri	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,188 @@
+# change to this file:
+# (0) this header
+# (1) comment out CONFIG += debug_and_release (specd elsewhere)
+# (2) change DESTDIR
+# (3) comment out INCLUDEPATH just below
+
+isEmpty(TARGET):error("You must set TARGET before include()'ing $${_FILE_}")
+#INCLUDEPATH *= $$QMAKE_INCDIR_QT/$$TARGET #just for today to have some compat
+!isEmpty(RCC_DIR): INCLUDEPATH += $$RCC_DIR
+isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700
+TEMPLATE	= lib
+isEmpty(QT_MAJOR_VERSION) {
+   VERSION=4.7.0
+} else {
+   VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
+}
+mac:!contains(QMAKE_EXT_C, .mm):QMAKE_EXT_C += .mm
+
+include(qcommon.pri)
+
+#load up the headers info
+CONFIG += qt_install_headers
+#HEADERS_PRI = $$QT_BUILD_TREE/include/$$TARGET/headers.pri
+HEADERS_PRI = $$LOCAL_INCDIR_QT/$$TARGET/headers.pri
+message(HEADERS_PRI before is $$HEADERS_PRI)
+include($$HEADERS_PRI, "", true)|clear(HEADERS_PRI)
+message(HEADERS_PRI after is $$HEADERS_PRI)
+
+#version overriding
+win32 {
+    #because libnetwork.pro could be qmake'd (qmade?) before libqcore.pro we
+    #need to override the version of libq* in all other libq*'s just to be
+    #sure the same version is used
+	VERSIONS_LIST = $$split(VERSION, ".")
+    QT_LIBS_OVERRIDE = $$member(VERSIONS_LIST, 0)
+	for(lib, $$list(qtcore qtgui qtnetwork qtxml qtopengl qtsql qt3support)) {
+        eval(QMAKE_$${upper($$lib)}_VERSION_OVERRIDE = $$QT_LIBS_OVERRIDE)
+	eval(QMAKE_$${upper($$lib)}D_VERSION_OVERRIDE = $$QT_LIBS_OVERRIDE)
+    }
+}
+
+#other
+# DESTDIR		 = $$QMAKE_LIBDIR_QT
+DESTDIR		 = $$BUILD_LIBDIR_QT
+win32:!wince*:DLLDESTDIR = $$[QT_INSTALL_PREFIX]/bin
+
+CONFIG		+= qt warn_on depend_includepath
+CONFIG          += qmake_cache target_qt 
+CONFIG          -= fix_output_dirs
+#win32|mac:!macx-xcode:CONFIG += debug_and_release
+linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+
+contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
+unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
+contains(QT_CONFIG, largefile):CONFIG += largefile
+
+#mac frameworks
+mac:!static:contains(QT_CONFIG, qt_framework) {
+   #QMAKE_FRAMEWORK_VERSION = 4.0
+   CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework
+   CONFIG(debug, debug|release) {
+      !build_pass:CONFIG += build_all
+   } else { #release
+      !debug_and_release|build_pass {
+	  CONFIG -= qt_install_headers #no need to install these as well
+	  FRAMEWORK_HEADERS.version = Versions
+	  FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES
+      	  FRAMEWORK_HEADERS.path = Headers
+      	  equals(TARGET, QtCore) {
+              #headers generated by configure
+              !contains(FRAMEWORK_HEADERS.files, .*/qconfig.h) {
+	          FRAMEWORK_HEADERS.files *= $$QT_BUILD_TREE/src/corelib/global/qconfig.h 
+	      }
+          }
+      }
+      QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
+   }
+}
+
+mac {
+   CONFIG += explicitlib
+   macx-g++ {
+       QMAKE_CFLAGS += -fconstant-cfstrings
+       QMAKE_CXXFLAGS += -fconstant-cfstrings
+   }
+}
+
+win32:!shared:CONFIG += static
+
+win32-borland {
+    mng:QMAKE_CFLAGS_WARN_ON	+= -w-par
+    mng:QMAKE_CXXFLAGS_WARN_ON	+= -w-par
+    # Keep the size of the .tds file for the Qt library smaller than
+    # 34 Mbytes to avoid linking problems
+    QMAKE_CFLAGS_DEBUG += -vi -y-
+    QMAKE_CXXFLAGS_DEBUG += -vi -y-
+}
+
+win32 {
+    INCLUDEPATH += tmp
+    !static: DEFINES+=QT_MAKEDLL
+}
+symbian {
+    shared {
+        DEFINES+=QT_MAKEDLL
+        TARGET.CAPABILITY = All -Tcb
+
+        # When building without autotests, DEF files are used by default.
+        # This is to maintain binary compatibility with previous releases.
+        # To explicitly disable DEF files usage, eg. when lots of code churn is
+        # going on, and functions may be added and removed before shipping, 
+        # configure with -no-usedeffiles
+        # WARNING - disabling DEF files *will* break BC with previous released versions 
+        # of Qt, and the only compatibility will be between this build of Qt and anything 
+        # built in this exact environment.  *Never* use this when building a version 
+        # for release.
+        contains(CONFIG, def_files) {
+            DEF_FILE=../s60installs
+        }
+    }
+    load(armcc_warnings)
+
+    # workaround for the fact that some of our required includes in Symbian^3
+    # now depend upon files in epoc32/include/platform
+    INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE
+}
+win32-borland:INCLUDEPATH += kernel
+
+aix-g++* {
+     QMAKE_CFLAGS   += -mminimal-toc
+     QMAKE_CXXFLAGS += -mminimal-toc
+}
+
+embedded {
+     EMBEDDED_H = $$EMBEDDED_CPP
+}
+
+DEPENDPATH += ;$$NETWORK_H;$$KERNEL_H;$$WIDGETS_H;$$SQL_H;$$TABLE_H;$$DIALOGS_H;
+DEPENDPATH += $$ICONVIEW_H;$$OPENGL_H;$$THREAD_H;$$TOOLS_H;$$CODECS_H;
+DEPENDPATH += $$WORKSPACE_H;$$XML_H;$$STYLES_H;$$COMPAT_H
+embedded:DEPENDPATH += ;$$EMBEDDED_H
+
+!static:PRL_EXPORT_DEFINES += QT_SHARED
+
+#install directives
+include(qt_install.pri)
+
+unix:!symbian {
+   CONFIG     += create_libtool create_pc explicitlib
+   QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS]
+   QMAKE_PRL_LIBDIR = $$[QT_INSTALL_LIBS]
+   QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS]
+   QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET
+   QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS]
+   QMAKE_PKGCONFIG_DESTDIR = pkgconfig
+#   include_replace.match = $$QMAKE_INCDIR_QT
+   include_replace.match = $$LOCAL_INCDIR_QT
+   include_replace.replace = $$[QT_INSTALL_HEADERS]
+#   lib_replace.match = $$QMAKE_LIBDIR_QT
+   lib_replace.match = $$BUILD_LIBDIR_QT
+   lib_replace.replace = $$[QT_INSTALL_LIBS]
+#   prefix_replace.match = $$QT_BUILD_TREE
+   prefix_replace.match = $$LOCAL_BUILD_TREE
+   prefix_replace.replace = $$[QT_INSTALL_PREFIX]
+   QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
+   QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace
+   QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace prefix_replace
+}
+
+contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE
+DEFINES *= QT_NO_CAST_TO_ASCII QT_ASCII_CAST_WARNINGS
+contains(QT_CONFIG, qt3support):DEFINES *= QT3_SUPPORT
+DEFINES *= QT_MOC_COMPAT #we don't need warnings from calling moc code in our generated code
+DEFINES *= QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION
+
+TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
+
+moc_dir.name = moc_location
+moc_dir.variable = QMAKE_MOC
+
+uic_dir.name = uic_location
+uic_dir.variable = QMAKE_UIC
+
+QMAKE_PKGCONFIG_VARIABLES += moc_dir uic_dir
+
+include(qt_targets.pri)
+
+win32:DEFINES+=_USE_MATH_DEFINES

Added: trunk/dports/audio/phonon/files/qmake/qcommon.pri
===================================================================
--- trunk/dports/audio/phonon/files/qmake/qcommon.pri	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/qcommon.pri	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,17 @@
+
+LOCAL_INCDIR_QT = $${WORKSRCPATH}/includes
+
+BUILD_LIBDIR_QT = $$LOCAL_BUILD_TREE/lib
+BUILD_INCDIR_QT = $$LOCAL_BUILD_TREE/includes
+
+isEqual(TARGET,phonon) {
+    CONFIG += create_prl
+}
+
+isEqual(TARGET,phonon_qt7) {
+    SUFFIX_STR =
+    CONFIG(debug, debug|release) {
+        SUFFIX_STR = _debug
+    }
+    LIBS += -L$$BUILD_LIBDIR_QT -lphonon$${SUFFIX_STR}
+}

Added: trunk/dports/audio/phonon/files/qmake/qt_install.pri
===================================================================
--- trunk/dports/audio/phonon/files/qmake/qt_install.pri	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/qt_install.pri	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,50 @@
+#always install the library
+win32 {
+   dlltarget.path=$$[QT_INSTALL_BINS]
+   INSTALLS += dlltarget
+}
+target.path=$$[QT_INSTALL_LIBS]
+INSTALLS += target
+
+#headers
+qt_install_headers {
+    message(qt_install_headers)
+    message(QT_CONFIG is $$QT_CONFIG)
+    message(CONFIG is $$CONFIG)
+    INSTALL_HEADERS = $$SYNCQT.HEADER_FILES
+    equals(TARGET, QtCore) {
+       #headers generated by configure
+       INSTALL_HEADERS *= $$QT_BUILD_TREE/src/corelib/global/qconfig.h \
+                          $$QT_SOURCE_TREE/src/corelib/arch/$$QT_ARCH/arch
+    }
+
+    equals(TARGET, phonon) {
+        class_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET
+    } else {
+        flat_headers.files = $$INSTALL_HEADERS
+        flat_headers.path = $$[QT_INSTALL_HEADERS]/Qt
+        INSTALLS += flat_headers
+
+        class_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET
+    }
+    class_headers.files = $$SYNCQT.HEADER_CLASSES
+    INSTALLS += class_headers
+
+    targ_headers.files = $$INSTALL_HEADERS
+    targ_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET
+    INSTALLS += targ_headers
+
+    message(INSTALL_HEADERS is $$INSTALL_HEADERS)
+    contains(QT_CONFIG,private_tests) {
+        private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES
+        private_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET/private
+        INSTALLS += private_headers
+    }
+}
+
+embedded:equals(TARGET, QtGui) {
+    # install fonts for embedded
+    INSTALLS += fonts
+    fonts.path = $$[QT_INSTALL_LIBS]/fonts
+    fonts.files = $$QT_SOURCE_TREE/lib/fonts/*
+}

Added: trunk/dports/audio/phonon/files/qmake/qt_targets.pri
===================================================================
--- trunk/dports/audio/phonon/files/qmake/qt_targets.pri	                        (rev 0)
+++ trunk/dports/audio/phonon/files/qmake/qt_targets.pri	2010-11-04 01:40:58 UTC (rev 73105)
@@ -0,0 +1,4 @@
+QMAKE_TARGET_COMPANY = Nokia Corporation and/or its subsidiary(-ies)
+QMAKE_TARGET_PRODUCT = Qt4
+QMAKE_TARGET_DESCRIPTION = C++ application development framework.
+QMAKE_TARGET_COPYRIGHT = Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20101103/4a4682cb/attachment-0001.html>


More information about the macports-changes mailing list