summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorabcd <abcd@gentoo.org>2010-01-16 14:44:33 -0500
committerabcd <abcd@gentoo.org>2010-01-16 14:44:33 -0500
commit5230f9a235753e9ea61260c58c499caf61a3e37d (patch)
tree0fcc2a04a948272c7eca317d38377295976af5d5
parentc61db944789bb1b586248b5531d08a004dc52f0d (diff)
downloadkde-5230f9a235753e9ea61260c58c499caf61a3e37d.tar.gz
kde-5230f9a235753e9ea61260c58c499caf61a3e37d.tar.bz2
kde-5230f9a235753e9ea61260c58c499caf61a3e37d.zip
[media-sound/phonon] Add aqua support
-rw-r--r--media-sound/phonon/Manifest3
-rw-r--r--media-sound/phonon/files/phonon-4.4-qt7.patch352
-rw-r--r--media-sound/phonon/phonon-9999.ebuild59
3 files changed, 407 insertions, 7 deletions
diff --git a/media-sound/phonon/Manifest b/media-sound/phonon/Manifest
index 7ceb5b69c5b..7df1f3ecd75 100644
--- a/media-sound/phonon/Manifest
+++ b/media-sound/phonon/Manifest
@@ -1,2 +1,3 @@
-EBUILD phonon-9999.ebuild 1331 RMD160 21165d9e2851a1609a50cec67fb37915204a0b12 SHA1 4c5f1383ff24c2b14d1ac4389fd90798691c2009 SHA256 411e6285b03b203f43d2c6bba9b79d0a66c24f79d1cf933eb5670ae0a31a8f9e
+AUX phonon-4.4-qt7.patch 15299 RMD160 ec017cf0dbbd79577a29c595f5bd6cbe9df7e199 SHA1 565b2c407acea17bcfeb5e24c82b14dbb398af38 SHA256 68b51882663ed0a8ef0bfa4bbb9acc8d113e033f7704cddba6add8adb061c6e3
+EBUILD phonon-9999.ebuild 2979 RMD160 e728f70763039339f738ab95ae0df18f0cad506a SHA1 ddde63b7c9a7351d9063f6b50c7db526a4bca501 SHA256 3bf0470c3d7ea671e9c0f795cb48791822864ef488d3c3d6f402d178bc12cc79
MISC metadata.xml 263 RMD160 7a5466a0574ed183b274d960395a08ea1dfba410 SHA1 7ddd4a4281433a2c5944a22945a7a8f78b7eb511 SHA256 72ea86ea8d558544b77c265bded5a81dd0b6ec9325909b8ab7e41838171a6718
diff --git a/media-sound/phonon/files/phonon-4.4-qt7.patch b/media-sound/phonon/files/phonon-4.4-qt7.patch
new file mode 100644
index 00000000000..974fe11d2a4
--- /dev/null
+++ b/media-sound/phonon/files/phonon-4.4-qt7.patch
@@ -0,0 +1,352 @@
+Desc: Fix the QuickTime7 plugin for MacOS. Probably needs 10.6.
+Author: Heiko Przybyl <zuxez@cs.tu-berlin.de>
+--- phonon-4.4_pre20090520/qt7/backendinfo.mm.orig 2009-10-10 17:54:22 +0200
++++ phonon-4.4_pre20090520/qt7/backendinfo.mm 2009-10-10 17:52:13 +0200
+@@ -22,6 +22,7 @@
+ #include <AudioUnit/AudioUnit.h>
+ #include <CoreServices/CoreServices.h>
+
++#include <QtGui/qmacdefines_mac.h>
+ #import <QTKit/QTMovie.h>
+
+ #ifdef QUICKTIME_C_API_AVAILABLE
+--- phonon-4.4_pre20090520/qt7/quicktimevideoplayer.h.orig 2009-10-10 19:42:17 +0200
++++ phonon-4.4_pre20090520/qt7/quicktimevideoplayer.h 2009-10-10 20:25:49 +0200
+@@ -20,6 +20,7 @@
+
+ #include "backendheader.h"
+
++#include <QtGui/qmacdefines_mac.h>
+ #import <QTKit/QTDataReference.h>
+ #import <QTKit/QTMovie.h>
+
+--- phonon-4.4_pre20090520/qt7/CMakeLists.txt.orig 2009-10-10 22:09:10 +0200
++++ phonon-4.4_pre20090520/qt7/CMakeLists.txt 2009-10-10 22:09:19 +0200
+@@ -43,6 +43,7 @@ if (BUILD_PHONON_QT7)
+ )
+
+ automoc4_add_library(phonon_qt7 MODULE ${phonon_qt7_SRCS})
++ set_target_properties(phonon_qt7 PROPERTIES PREFIX "")
+ target_link_libraries(phonon_qt7
+ ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY}
+ ${PHONON_LIBS}
+@@ -46,7 +46,6 @@ if (BUILD_PHONON_QT7)
+ target_link_libraries(phonon_qt7
+ ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY}
+ ${PHONON_LIBS}
+- "-framework QuickTime"
+ "-framework AudioUnit"
+ "-framework AudioToolbox"
+ "-framework CoreAudio"
+@@ -53,6 +54,6 @@ if (BUILD_PHONON_QT7)
+ "-framework QuartzCore"
+ "-framework QTKit"
+ )
+- install(TARGETS phonon_qt7 DESTINATION ${PLUGIN_INSTALL_DIR})
++ install(TARGETS phonon_qt7 DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/phonon_backend)
+
+ endif (BUILD_PHONON_QT7)
+--- phonon-4.4_pre20090520/qt7/audioeffects.h.orig 2009-10-10 20:42:45 +0200
++++ phonon-4.4_pre20090520/qt7/audioeffects.h 2009-10-10 20:42:54 +0200
+@@ -37,7 +37,7 @@ namespace QT7
+ AudioEffectAudioNode(int effectType);
+ int m_effectType;
+
+- ComponentDescription getAudioNodeDescription() const;
++ AudioComponentDescription getAudioNodeDescription() const;
+ void initializeAudioUnit();
+
+ QVariant parameterValue(const Phonon::EffectParameter &value) const;
+--- phonon-4.4_pre20090520/qt7/audioeffects.mm.orig 2009-10-10 20:42:41 +0200
++++ phonon-4.4_pre20090520/qt7/audioeffects.mm 2009-10-10 21:52:44 +0200
+@@ -29,9 +29,9 @@ AudioEffectAudioNode::AudioEffectAudioNo
+ {
+ }
+
+-ComponentDescription AudioEffectAudioNode::getAudioNodeDescription() const
++AudioComponentDescription AudioEffectAudioNode::getAudioNodeDescription() const
+ {
+- ComponentDescription d;
++ AudioComponentDescription d;
+ d.componentType = kAudioUnitType_Effect;
+ d.componentSubType = m_effectType;
+ d.componentManufacturer = kAudioUnitManufacturer_Apple;
+@@ -62,10 +62,10 @@ QVariant AudioEffectAudioNode::parameter
+ } else {
+ // Use default value:
+ AudioUnit tmpAudioUnit;
+- ComponentDescription description = getAudioNodeDescription();
+- Component component = FindNextComponent(0, &description);
++ AudioComponentDescription description = getAudioNodeDescription();
++ AudioComponent component = AudioComponentFindNext(0, &description);
+ BACKEND_ASSERT3(component, "Could not get parameters of audio effect.", NORMAL_ERROR, QVariant())
+- OSErr err = OpenAComponent(component, &tmpAudioUnit);
++ OSErr err = AudioComponentInstanceNew(component, &tmpAudioUnit);
+ BACKEND_ASSERT3(err == noErr, "Could not get parameters of audio effect.", NORMAL_ERROR, QVariant())
+ AudioUnitParameterInfo info;
+ UInt32 size = sizeof(info);
+@@ -87,10 +87,10 @@ void AudioEffectAudioNode::setParameterV
+ m_alteredParameters.remove(parameter.id());
+ if (m_audioUnit){
+ AudioUnit tmpAudioUnit;
+- ComponentDescription description = getAudioNodeDescription();
+- Component component = FindNextComponent(0, &description);
++ AudioComponentDescription description = getAudioNodeDescription();
++ AudioComponent component = AudioComponentFindNext(0, &description);
+ BACKEND_ASSERT2(component, "Could not get parameters of audio effect.", NORMAL_ERROR)
+- OSErr err = OpenAComponent(component, &tmpAudioUnit);
++ OSErr err = AudioComponentInstanceNew(component, &tmpAudioUnit);
+ BACKEND_ASSERT2(err == noErr, "Could not get parameters of audio effect.", NORMAL_ERROR)
+ AudioUnitParameterInfo info;
+ UInt32 size = sizeof(info);
+@@ -121,10 +121,10 @@ QList<Phonon::EffectParameter> AudioEffe
+ QList<Phonon::EffectParameter> effectList;
+ // Create a temporary audio unit:
+ AudioUnit audioUnit;
+- ComponentDescription description = m_audioNode->getAudioNodeDescription();
+- Component component = FindNextComponent(0, &description);
++ AudioComponentDescription description = m_audioNode->getAudioNodeDescription();
++ AudioComponent component = AudioComponentFindNext(0, &description);
+ BACKEND_ASSERT3(component, "Could not get parameters of audio effect.", NORMAL_ERROR, effectList)
+- OSErr err = OpenAComponent(component, &audioUnit);
++ OSErr err = AudioComponentInstanceNew(component, &audioUnit);
+ BACKEND_ASSERT3(err == noErr, "Could not get parameters of audio effect.", NORMAL_ERROR, effectList)
+
+ UInt32 size = 0;
+@@ -149,29 +149,25 @@ QList<Phonon::EffectParameter> AudioEffe
+
+ QString AudioEffect::name()
+ {
+- ComponentDescription description = m_audioNode->getAudioNodeDescription();
+- Component component = FindNextComponent(0, &description);
++ AudioComponentDescription description = m_audioNode->getAudioNodeDescription();
++ AudioComponent component = AudioComponentFindNext(0, &description);
+ BACKEND_ASSERT3(component, "Could not get audio effect name.", NORMAL_ERROR, QLatin1String("<unknown effect>"))
+
+- ComponentDescription cDesc;
+- Handle nameH = NewHandle(0);
+- GetComponentInfo(component, &cDesc, nameH, 0, 0);
+- HLock(nameH);
+- char *namePtr = *nameH;
+- int len = *namePtr++;
+- namePtr[len] = 0;
+- QString qsName = QString::fromUtf8(namePtr);
+- DisposeHandle(nameH);
++ CFStringRef n;
++ AudioComponentCopyName(component, &n);
++ // Or use CFStringGetCString?
++ QString qsName = QString::fromUtf8(CFStringGetCStringPtr(n, kCFStringEncodingUTF8));
+ return qsName;
+ }
+
+ QString AudioEffect::description()
+ {
+- ComponentDescription description = m_audioNode->getAudioNodeDescription();
+- Component component = FindNextComponent(0, &description);
++ AudioComponentDescription description = m_audioNode->getAudioNodeDescription();
++#if 0
++ AudioComponent component = AudioComponentFindNext(0, &description);
+ BACKEND_ASSERT3(component, "Could not get audio effect description.", NORMAL_ERROR, QLatin1String("<unknown effect>"))
+
+- ComponentDescription cDesc;
++ AudioComponentDescription cDesc;
+ Handle descH = NewHandle(0);
+ GetComponentInfo(component, &cDesc, 0, descH, 0);
+ HLock(descH);
+@@ -180,6 +176,9 @@ QString AudioEffect::description()
+ descPtr[len] = 0;
+ QString qsDesc = QString::fromUtf8(descPtr);
+ DisposeHandle(descH);
++#else
++ QString qsDesc;
++#endif
+ return qsDesc;
+ }
+
+@@ -187,19 +186,19 @@ QList<int> AudioEffect::effectList()
+ {
+ QList<int> effects;
+
+- ComponentDescription d;
++ AudioComponentDescription d;
+ d.componentType = kAudioUnitType_Effect;
+ d.componentSubType = 0;
+ d.componentManufacturer = 0;
+ d.componentFlags = 0;
+ d.componentFlagsMask = 0;
+- Component component = FindNextComponent(0, &d);
++ AudioComponent component = AudioComponentFindNext(0, &d);
+
+ while (component) {
+- ComponentDescription cDesc;
+- GetComponentInfo(component, &cDesc, 0, 0, 0);
++ AudioComponentDescription cDesc;
++ AudioComponentGetDescription(component, &cDesc);
+ effects << cDesc.componentSubType;
+- component = FindNextComponent(component, &d);
++ component = AudioComponentFindNext(component, &d);
+ }
+ return effects;
+ }
+--- phonon-4.4_pre20090520/qt7/audiomixer.h.orig 2009-10-10 21:55:44 +0200
++++ phonon-4.4_pre20090520/qt7/audiomixer.h 2009-10-10 21:56:01 +0200
+@@ -41,7 +41,7 @@ namespace QT7
+ float volume(int bus = 0);
+
+ protected:
+- ComponentDescription getAudioNodeDescription() const;
++ AudioComponentDescription getAudioNodeDescription() const;
+ void initializeAudioUnit();
+
+ private:
+--- phonon-4.4_pre20090520/qt7/audiomixer.mm.orig 2009-10-10 21:56:20 +0200
++++ phonon-4.4_pre20090520/qt7/audiomixer.mm 2009-10-10 21:56:33 +0200
+@@ -30,9 +30,9 @@ AudioMixerAudioNode::AudioMixerAudioNode
+ m_volume = 1.0f;
+ }
+
+-ComponentDescription AudioMixerAudioNode::getAudioNodeDescription() const
++AudioComponentDescription AudioMixerAudioNode::getAudioNodeDescription() const
+ {
+- ComponentDescription description;
++ AudioComponentDescription description;
+ description.componentType = kAudioUnitType_Mixer;
+ description.componentSubType = kAudioUnitSubType_StereoMixer;
+ description.componentManufacturer = kAudioUnitManufacturer_Apple;
+--- phonon-4.4_pre20090520/qt7/audionode.h.orig 2009-10-10 20:39:39 +0200
++++ phonon-4.4_pre20090520/qt7/audionode.h 2009-10-10 20:40:01 +0200
+@@ -73,7 +73,7 @@ namespace QT7
+
+ // Only the following methods needs to
+ // be overidden by only_one-audio-unit nodes:
+- virtual ComponentDescription getAudioNodeDescription() const;
++ virtual AudioComponentDescription getAudioNodeDescription() const;
+ virtual void initializeAudioUnit();
+
+ private:
+--- phonon-4.4_pre20090520/qt7/audionode.mm.orig 2009-10-10 20:35:51 +0200
++++ phonon-4.4_pre20090520/qt7/audionode.mm 2009-10-10 22:02:27 +0200
+@@ -63,17 +63,20 @@ void AudioNode::createAndConnectAUNodes(
+ if (m_auNode)
+ return;
+
+- ComponentDescription description = getAudioNodeDescription();
++ AudioComponentDescription description = getAudioNodeDescription();
+ DEBUG_AUDIO_GRAPH("AudioNode" << int(this) << "creates AUNode"
+ << QString(!FindNextComponent(0, &description) ? "ERROR: COMPONENT NOT FOUND!" : "OK!"))
+
+ OSStatus err = noErr;
++#if 0
+ #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);
++#endif
++ err = AUGraphAddNode(m_audioGraph->audioGraphRef(), &description, &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)
+@@ -100,10 +103,10 @@ void AudioNode::createAudioUnits()
+ initializeAudioUnit();
+ }
+
+-ComponentDescription AudioNode::getAudioNodeDescription() const
++AudioComponentDescription AudioNode::getAudioNodeDescription() const
+ {
+ // Override if needed.
+- ComponentDescription cd;
++ AudioComponentDescription cd;
+ Q_UNUSED(cd);
+ return cd;
+ }
+--- phonon-4.4_pre20090520/qt7/audiooutput.h.orig 2009-10-10 20:40:32 +0200
++++ phonon-4.4_pre20090520/qt7/audiooutput.h 2009-10-10 20:40:48 +0200
+@@ -41,7 +41,7 @@ namespace QT7
+ float volume();
+
+ protected:
+- ComponentDescription getAudioNodeDescription() const;
++ AudioComponentDescription getAudioNodeDescription() const;
+ void initializeAudioUnit();
+
+ signals:
+--- phonon-4.4_pre20090520/qt7/audiooutput.mm.orig 2009-10-10 20:40:54 +0200
++++ phonon-4.4_pre20090520/qt7/audiooutput.mm 2009-10-10 20:41:11 +0200
+@@ -16,6 +16,7 @@
+ */
+
+ #include "audiooutput.h"
++#include "audiooutput_p.h"
+ #include "audiograph.h"
+ #include "audiodevice.h"
+ #include "mediaobject.h"
+@@ -34,9 +34,9 @@ AudioOutputAudioPart::AudioOutputAudioPa
+ m_volume = 1;
+ }
+
+-ComponentDescription AudioOutputAudioPart::getAudioNodeDescription() const
++AudioComponentDescription AudioOutputAudioPart::getAudioNodeDescription() const
+ {
+- ComponentDescription description;
++ AudioComponentDescription description;
+ description.componentType = kAudioUnitType_Output;
+ description.componentSubType = kAudioUnitSubType_DefaultOutput;
+ description.componentManufacturer = kAudioUnitManufacturer_Apple;
+--- phonon-4.4_pre20090520/qt7/audiosplitter.h.orig 2009-10-10 20:41:44 +0200
++++ phonon-4.4_pre20090520/qt7/audiosplitter.h 2009-10-10 20:41:53 +0200
+@@ -33,7 +33,7 @@ namespace QT7
+ {
+ public:
+ AudioNodeSplitter();
+- ComponentDescription getAudioNodeDescription() const;
++ AudioComponentDescription getAudioNodeDescription() const;
+ };
+
+ class AudioSplitter : public MediaNode
+--- phonon-4.4_pre20090520/qt7/audiosplitter.mm.orig 2009-10-10 20:42:02 +0200
++++ phonon-4.4_pre20090520/qt7/audiosplitter.mm 2009-10-10 20:42:10 +0200
+@@ -28,9 +28,9 @@ AudioNodeSplitter::AudioNodeSplitter() :
+ {
+ }
+
+-ComponentDescription AudioNodeSplitter::getAudioNodeDescription() const
++AudioComponentDescription AudioNodeSplitter::getAudioNodeDescription() const
+ {
+- ComponentDescription description;
++ AudioComponentDescription description;
+ description.componentType = kAudioUnitType_FormatConverter;
+ description.componentSubType = kAudioUnitSubType_Splitter;
+ description.componentManufacturer = kAudioUnitManufacturer_Apple;
+--- phonon-4.4_pre20090520/qt7/quicktimeaudioplayer.h.orig 2009-10-10 21:53:20 +0200
++++ phonon-4.4_pre20090520/qt7/quicktimeaudioplayer.h 2009-10-10 21:53:30 +0200
+@@ -66,7 +66,7 @@ namespace QT7
+ QString currentTimeString();
+ QuickTimeVideoPlayer *videoPlayer();
+
+- ComponentDescription getAudioNodeDescription() const;
++ AudioComponentDescription getAudioNodeDescription() const;
+ void initializeAudioUnit();
+ bool fillInStreamSpecification(AudioConnection *connection, ConnectionSide side);
+ void mediaNodeEvent(const MediaNodeEvent *event);
+--- phonon-4.4_pre20090520/qt7/quicktimeaudioplayer.mm.orig 2009-10-10 21:53:42 +0200
++++ phonon-4.4_pre20090520/qt7/quicktimeaudioplayer.mm 2009-10-10 21:55:18 +0200
+@@ -266,13 +266,13 @@ bool QuickTimeAudioPlayer::hasAudio()
+ bool QuickTimeAudioPlayer::soundPlayerIsAwailable()
+ {
+ QuickTimeAudioPlayer player;
+- ComponentDescription d = player.getAudioNodeDescription();
+- return FindNextComponent(0, &d);
++ AudioComponentDescription d = player.getAudioNodeDescription();
++ return AudioComponentFindNext(0, &d);
+ }
+
+-ComponentDescription QuickTimeAudioPlayer::getAudioNodeDescription() const
++AudioComponentDescription QuickTimeAudioPlayer::getAudioNodeDescription() const
+ {
+- ComponentDescription description;
++ AudioComponentDescription description;
+ description.componentType = kAudioUnitType_Generator;
+ description.componentSubType = kAudioUnitSubType_ScheduledSoundPlayer;
+ description.componentManufacturer = kAudioUnitManufacturer_Apple;
diff --git a/media-sound/phonon/phonon-9999.ebuild b/media-sound/phonon/phonon-9999.ebuild
index 2f081470843..eea9f1279f6 100644
--- a/media-sound/phonon/phonon-9999.ebuild
+++ b/media-sound/phonon/phonon-9999.ebuild
@@ -3,6 +3,7 @@
# $Header: $
EAPI="2"
+
inherit cmake-utils subversion
DESCRIPTION="KDE multimedia API"
@@ -12,15 +13,15 @@ ESVN_REPO_URI="svn://anonsvn.kde.org/home/kde/trunk/kdesupport/phonon"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS=""
-IUSE="alsa debug gstreamer pulseaudio +xcb +xine"
+IUSE="alsa aqua debug gstreamer pulseaudio +xcb +xine"
RDEPEND="
!kde-base/phonon-xine
!x11-libs/qt-phonon:4
- >=x11-libs/qt-test-4.4.0:4
- >=x11-libs/qt-dbus-4.4.0:4
- >=x11-libs/qt-gui-4.4.0:4
- >=x11-libs/qt-opengl-4.4.0:4
+ >=x11-libs/qt-test-4.4.0:4[aqua=]
+ >=x11-libs/qt-dbus-4.4.0:4[aqua=]
+ >=x11-libs/qt-gui-4.4.0:4[aqua=]
+ >=x11-libs/qt-opengl-4.4.0:4[aqua=]
gstreamer? (
media-libs/gstreamer
media-libs/gst-plugins-base
@@ -40,14 +41,31 @@ DEPEND="${RDEPEND}
"
pkg_setup() {
- if use !xine && use !gstreamer; then
+ if use !xine && use !gstreamer && use !aqua; then
die "you must at least select one backend for phonon"
fi
+
+ if use xine && use aqua; then
+ die "XINE backend needs X11 which is not available for USE=aqua"
+ fi
+}
+
+src_prepare() {
+ # Fix the qt7 backend for MacOS 10.6.
+ [[ ${CHOST} == *-darwin10 ]] && epatch "${FILESDIR}"/${PN}-4.4-qt7.patch
+
+ # On MacOS we additionally want the gstreamer plugin.
+ if use aqua && use gstreamer; then
+ sed -e "/add_subdirectory(qt7)/a add_subdirectory(gstreamer)" \
+ -i CMakeLists.txt \
+ || die "failed to enable GStreamer backend"
+ fi
}
src_configure() {
mycmakeargs=(
$(cmake-utils_use_with alsa)
+ $(cmake-utils_use_build aqua PHONON_QT7)
$(cmake-utils_use_with gstreamer GStreamer)
$(cmake-utils_use_with gstreamer GStreamerPlugins)
$(cmake-utils_use_with pulseaudio PulseAudio)
@@ -58,3 +76,32 @@ src_configure() {
cmake-utils_src_configure
}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use aqua; then
+ local MY_PV=4.4.0
+
+ install_name_tool \
+ -id "${EPREFIX}/usr/lib/libphonon.${MY_PV::1}.dylib" \
+ "${ED}/usr/lib/libphonon.${MY_PV}.dylib" \
+ || die "failed to fix libphonon.${MY_PV}.dylib"
+
+ install_name_tool \
+ -id "${EPREFIX}/usr/lib/libphononexperimental.${MY_PV::1}.dylib" \
+ -change "libphonon.${MY_PV::1}.dylib" \
+ "${EPREFIX}/usr/lib/libphononexperimental.${MY_PV::1}.dylib" \
+ "${ED}/usr/lib/libphononexperimental.${MY_PV}.dylib" \
+ || die "failed to fix libphononexperimental.${MY_PV}.dylib"
+
+ # fake the framework for the qt-apps depending on qt-frameworks (qt-webkit)
+ dodir /usr/lib/qt4/phonon.framework/Versions/${MY_PV::1}
+ dosym ${MY_PV::1} /usr/lib/qt4/phonon.framework/Versions/Current \
+ || die "failed to create symlink"
+ dosym ../../../../libphonon.${MY_PV::1}.dylib /usr/lib/qt4/phonon.framework/Versions/${MY_PV::1}/phonon \
+ || die "failed to create symlink"
+ dosym Versions/${MY_PV::1}/phonon /usr/lib/qt4/phonon.framework/phonon \
+ || die "failed to create symlink"
+ fi
+}