aboutsummaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorDima Panov <fluffy@FreeBSD.org>2010-05-11 09:47:27 +0000
committerDima Panov <fluffy@FreeBSD.org>2010-05-11 09:47:27 +0000
commit41d0bfeb68174becd59e9da96bdc49a090b51a3e (patch)
treeeb633289eed9d478293a97892ca7d7b2bfbe1b53 /multimedia
parent11026b2530c16eb169a3f9b5c9b876f89b285eef (diff)
downloadports-41d0bfeb68174becd59e9da96bdc49a090b51a3e.tar.gz
ports-41d0bfeb68174becd59e9da96bdc49a090b51a3e.zip
- Resurrect multimedia/phonon[-gstreamer] ports
- Update all Phonon parts to 4.4.1 With hat on: kde@
Notes
Notes: svn path=/head/; revision=254124
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/phonon-gstreamer/Makefile57
-rw-r--r--multimedia/phonon-gstreamer/distinfo3
-rw-r--r--multimedia/phonon-gstreamer/files/patch-CMakeLists.txt50
-rw-r--r--multimedia/phonon-gstreamer/files/patch-cmake__FindGObject.cmake24
-rw-r--r--multimedia/phonon-gstreamer/files/patch-cmake__FindPhonon.cmake73
-rw-r--r--multimedia/phonon-gstreamer/files/patch-gstreamer__CMakeLists.txt15
-rw-r--r--multimedia/phonon-gstreamer/pkg-descr2
-rw-r--r--multimedia/phonon-gstreamer/pkg-plist7
-rw-r--r--multimedia/phonon-xine/Makefile19
-rw-r--r--multimedia/phonon-xine/distinfo6
-rw-r--r--multimedia/phonon-xine/files/patch-CMakeLists.txt14
-rw-r--r--multimedia/phonon-xine/files/patch-xine_audiooutput.cpp10
-rw-r--r--multimedia/phonon-xine/pkg-descr2
-rw-r--r--multimedia/phonon-xine/pkg-plist3
-rw-r--r--multimedia/phonon/Makefile66
-rw-r--r--multimedia/phonon/distinfo3
-rw-r--r--multimedia/phonon/files/patch-CMakeLists.txt32
-rw-r--r--multimedia/phonon/files/patch-phonon_pulsesupport.cpp34
-rw-r--r--multimedia/phonon/pkg-descr1
-rw-r--r--multimedia/phonon/pkg-message3
-rw-r--r--multimedia/phonon/pkg-plist170
21 files changed, 578 insertions, 16 deletions
diff --git a/multimedia/phonon-gstreamer/Makefile b/multimedia/phonon-gstreamer/Makefile
new file mode 100644
index 000000000000..1519d9806b68
--- /dev/null
+++ b/multimedia/phonon-gstreamer/Makefile
@@ -0,0 +1,57 @@
+# New ports collection Makefile for: phonon
+# Date created: 2008-01-30
+# Whom: Martin Wilke <miwi@FreeBSD.org>
+#
+# $FreeBSD$
+
+PORTNAME= phonon
+PORTVERSION= 4.4.1
+PORTREVISION= 0
+CATEGORIES= multimedia kde ipv6
+MASTER_SITES= ${MASTER_SITE_KDE} \
+ http://ns.ael.ru/~fluffy.khv/distfiles/
+MASTER_SITE_SUBDIR= ${PHONON_BRANCH}/${PORTNAME}/${PORTVERSION}/
+PKGNAMESUFFIX= -gstreamer
+DIST_SUBDIR= KDE
+
+MAINTAINER= kde@FreeBSD.org
+COMMENT= Phonon gstreamer backend
+
+CONFLICTS= qt4-phonon-gst-4*
+
+PHONON_BRANCH= stable
+USE_BZIP2= yes
+USE_CMAKE= yes
+USE_KDE4= kdehier automoc4 kdeprefix
+USE_QT_VER= 4
+QT_COMPONENTS= gui dbus xml opengl phonon \
+ qmake_build moc_build rcc_build uic_build
+USE_GSTREAMER= yes
+
+PLIST_SUB+= QT_PREFIX=${QT_PREFIX}
+
+# Explicitly disable alsa, see for details:
+# http://mail.kde.org/pipermail/kde-freebsd/2010-March/008015.html
+CMAKE_ARGS+= -DWITH_Alsa:BOOL=OFF
+
+.if defined(WITH_QT_PHONON)
+IGNORE= conflicts with Qt4 phonon. Please, deinstall qt4-phonon-gst and set WITH_KDE_PHONON to continue
+.endif
+
+post-patch:
+#fix finding automoc when PREFIX is not matched KDE4_PREFIX
+ ${REINPLACE_CMD} -e 's|NO_DEFAULT_PATH|${KDE4_PREFIX} NO_DEFAULT_PATH|' \
+ ${PATCH_WRKSRC}/cmake/FindAutomoc4.cmake
+
+pre-configure:
+ ${REINPLACE_CMD} -e '/phonon.pc/s|pkgconfig|../libdata/pkgconfig|' \
+ -e 's|{QT_INCLUDES}|{QT_INCLUDES} ${LOCALBASE}/include|'\
+ ${PATCH_WRKSRC}/CMakeLists.txt
+
+pre-install:
+ ${MKDIR} ${QT_PLUGINDIR}/phonon_backend
+
+post-install:
+ ${LN} -sf ${PREFIX}/lib/kde4/plugins/phonon_backend/phonon_gstreamer.so ${QT_PLUGINDIR}/phonon_backend/libphonon_gstreamer.so
+
+.include <bsd.port.mk>
diff --git a/multimedia/phonon-gstreamer/distinfo b/multimedia/phonon-gstreamer/distinfo
new file mode 100644
index 000000000000..f8471851a1b8
--- /dev/null
+++ b/multimedia/phonon-gstreamer/distinfo
@@ -0,0 +1,3 @@
+MD5 (KDE/phonon-4.4.1.tar.bz2) = 5a1444f009a77054f16fea38c08e6cb5
+SHA256 (KDE/phonon-4.4.1.tar.bz2) = 8a52b0e74c5fb5c8dd3ce65d745c7052cdcea0e7535658fbc655671cef5e5277
+SIZE (KDE/phonon-4.4.1.tar.bz2) = 625008
diff --git a/multimedia/phonon-gstreamer/files/patch-CMakeLists.txt b/multimedia/phonon-gstreamer/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..a7dc43f09100
--- /dev/null
+++ b/multimedia/phonon-gstreamer/files/patch-CMakeLists.txt
@@ -0,0 +1,50 @@
+--- ./CMakeLists.txt.orig 2009-01-22 11:20:44.000000000 +0300
++++ ./CMakeLists.txt 2009-02-21 01:22:42.000000000 +0300
+@@ -127,12 +127,12 @@
+
+ try_run(_run_result _compile_result ${CMAKE_BINARY_DIR} ${_source_file} CMAKE_FLAGS "${_include_dirs}")
+
+- if(NOT _compile_result)
+- message(FATAL_ERROR "Could not compile simple test program:\n ${_source}")
+- endif(NOT _compile_result)
+- if(_run_result)
+- message(FATAL_ERROR "Qt compiled without support for -fvisibility=hidden. This will break plugins and linking of some applications. Please fix your Qt installation.")
+- endif(_run_result)
++# if(NOT _compile_result)
++# message(FATAL_ERROR "Could not compile simple test program:\n ${_source}")
++# endif(NOT _compile_result)
++# if(_run_result)
++# message(FATAL_ERROR "Qt compiled without support for -fvisibility=hidden. This will break plugins and linking of some applications. Please fix your Qt installation.")
++# endif(_run_result)
+
+ if (GCC_IS_NEWER_THAN_4_2)
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden")
+@@ -255,8 +255,8 @@
+ endif(APPLE)
+
+
+-add_subdirectory(phonon)
+-add_subdirectory(includes)
++#add_subdirectory(phonon)
++#add_subdirectory(includes)
+ if (Q_WS_MAC AND BUILD_PHONON_QT7)
+ add_subdirectory(qt7)
+ endif (Q_WS_MAC AND BUILD_PHONON_QT7)
+@@ -266,12 +266,12 @@
+
+ if (Q_WS_X11)
+ add_subdirectory(gstreamer)
+- add_subdirectory(xine)
++# add_subdirectory(xine)
+ endif (Q_WS_X11)
+
+-if(NOT WIN32) # pkgconfig file
+- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/phonon.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/phonon.pc @ONLY)
+- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/phonon.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+-endif(NOT WIN32)
++# if(NOT WIN32) # pkgconfig file
++# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/phonon.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/phonon.pc @ONLY)
++# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/phonon.pc DESTINATION ${LIB_INSTALL_DIR}/../libdata/../libdata/../libdata/../libdata/../libdata/pkgconfig)
++# endif(NOT WIN32)
+
+ macro_display_feature_log()
diff --git a/multimedia/phonon-gstreamer/files/patch-cmake__FindGObject.cmake b/multimedia/phonon-gstreamer/files/patch-cmake__FindGObject.cmake
new file mode 100644
index 000000000000..cfcd9876a824
--- /dev/null
+++ b/multimedia/phonon-gstreamer/files/patch-cmake__FindGObject.cmake
@@ -0,0 +1,24 @@
+--- ./cmake/FindGObject.cmake.orig 2008-11-24 20:11:55.000000000 +0300
++++ ./cmake/FindGObject.cmake 2009-02-21 01:19:39.000000000 +0300
+@@ -23,10 +23,12 @@
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ PKG_CHECK_MODULES(PKG_GOBJECT2 REQUIRED gobject-2.0)
+ SET(GOBJECT_DEFINITIONS ${PKG_GOBJECT2_CFLAGS})
++ PKG_CHECK_MODULES(PKG_GLIB REQUIRED glib-2.0)
+ ENDIF (NOT WIN32)
+
+ FIND_PATH(GOBJECT_INCLUDE_DIR gobject/gobject.h
+ PATHS
++ ${PKG_GLIB_INCLUDE_DIRS}
+ ${PKG_GOBJECT2_INCLUDE_DIRS}
+ /usr/include/glib-2.0/
+ PATH_SUFFIXES glib-2.0
+@@ -52,7 +54,7 @@
+ IF (WIN32)
+ SET (GOBJECT_LIBRARIES ${_GObjectLibs} ${_GModuleLibs} ${_GThreadLibs} ${_GLibs})
+ ELSE (WIN32)
+-SET (GOBJECT_LIBRARIES ${PKG_GOBJECT2_LIBRARIES})
++SET (GOBJECT_LIBRARIES ${_GObjectLibs} ${PKG_GOBJECT2_LDFLAGS} ${PKG_GOBJECT2_LIBRARIES})
+ ENDIF (WIN32)
+
+ IF (GOBJECT_INCLUDE_DIR AND GOBJECT_LIBRARIES)
diff --git a/multimedia/phonon-gstreamer/files/patch-cmake__FindPhonon.cmake b/multimedia/phonon-gstreamer/files/patch-cmake__FindPhonon.cmake
new file mode 100644
index 000000000000..44c470dd884b
--- /dev/null
+++ b/multimedia/phonon-gstreamer/files/patch-cmake__FindPhonon.cmake
@@ -0,0 +1,73 @@
+--- ./cmake/FindPhonon.cmake.orig 2009-02-21 01:19:39.000000000 +0300
++++ ./cmake/FindPhonon.cmake 2009-02-21 01:19:39.000000000 +0300
+@@ -0,0 +1,70 @@
++# Find libphonon
++# Once done this will define
++#
++# PHONON_FOUND - system has Phonon Library
++# PHONON_INCLUDES - the Phonon include directory
++# PHONON_LIBS - link these to use Phonon
++# PHONON_VERSION - the version of the Phonon Library
++
++# Copyright (c) 2008, Matthias Kretz <kretz@kde.org>
++#
++# Redistribution and use is allowed according to the terms of the BSD license.
++# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
++
++macro(_phonon_find_version)
++ file(READ "${PHONON_INCLUDE_DIR}/phonon/phononnamespace.h" _phonon_header LIMIT 5000 OFFSET 1000)
++ string(REGEX MATCH "define PHONON_VERSION_STR \"(4\\.[0-9]+\\.[0-9a-z]+)\"" _phonon_version_match "${_phonon_header}")
++ set(PHONON_VERSION "${CMAKE_MATCH_1}")
++ message(STATUS "Phonon Version: ${PHONON_VERSION}")
++endmacro(_phonon_find_version)
++
++find_package(PkgConfig)
++PKG_CHECK_MODULES(PKG_PHONON phonon)
++
++if(PHONON_FOUND)
++ # Already found, nothing more to do except figuring out the version
++ _phonon_find_version()
++else(PHONON_FOUND)
++ if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
++ set(PHONON_FIND_QUIETLY TRUE)
++ endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
++
++ # As discussed on kde-buildsystem: first look at CMAKE_PREFIX_PATH, then at the suggested PATHS (kde4 install dir)
++ find_library(PHONON_LIBRARY NAMES phonon PATHS ${PKG_PHONON_LIBRARY_DIRS} ${KDE4_PREFIX}/lib ${KDE4_LIB_INSTALL_DIR} ${QT_LIBRARY_DIR} NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH)
++ # then at the default system locations (CMAKE_SYSTEM_PREFIX_PATH, i.e. /usr etc.)
++ find_library(PHONON_LIBRARY NAMES phonon)
++
++ find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h PATHS ${PKG_PHONON_INCLUDE_DIRS} ${KDE4_PREFIX}/include ${KDE4_INCLUDE_INSTALL_DIR} ${QT_INCLUDE_DIR} ${INCLUDE_INSTALL_DIR} NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH)
++ find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h)
++
++ if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
++ set(PHONON_LIBS ${phonon_LIB_DEPENDS} ${PHONON_LIBRARY})
++ set(PHONON_INCLUDES ${PHONON_INCLUDE_DIR}/KDE ${PHONON_INCLUDE_DIR}/phonon ${PHONON_INCLUDE_DIR})
++ set(PHONON_FOUND TRUE)
++ _phonon_find_version()
++ else(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
++ set(PHONON_FOUND FALSE)
++ endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
++
++ if(PHONON_FOUND)
++ if(NOT PHONON_FIND_QUIETLY)
++ message(STATUS "Found Phonon: ${PHONON_LIBRARY}")
++ message(STATUS "Found Phonon Includes: ${PHONON_INCLUDES}")
++ endif(NOT PHONON_FIND_QUIETLY)
++ else(PHONON_FOUND)
++ if(Phonon_FIND_REQUIRED)
++ if(NOT PHONON_INCLUDE_DIR)
++ message(STATUS "Phonon includes NOT found!")
++ endif(NOT PHONON_INCLUDE_DIR)
++ if(NOT PHONON_LIBRARY)
++ message(STATUS "Phonon library NOT found!")
++ endif(NOT PHONON_LIBRARY)
++ message(FATAL_ERROR "Phonon library or includes NOT found!")
++ else(Phonon_FIND_REQUIRED)
++ message(STATUS "Unable to find Phonon")
++ endif(Phonon_FIND_REQUIRED)
++ endif(PHONON_FOUND)
++
++
++ mark_as_advanced(PHONON_INCLUDE_DIR PHONON_LIBRARY PHONON_INCLUDES)
++endif(PHONON_FOUND)
diff --git a/multimedia/phonon-gstreamer/files/patch-gstreamer__CMakeLists.txt b/multimedia/phonon-gstreamer/files/patch-gstreamer__CMakeLists.txt
new file mode 100644
index 000000000000..1da5948b40d0
--- /dev/null
+++ b/multimedia/phonon-gstreamer/files/patch-gstreamer__CMakeLists.txt
@@ -0,0 +1,15 @@
+--- ./gstreamer/CMakeLists.txt.orig 2008-11-24 20:12:02.000000000 +0300
++++ ./gstreamer/CMakeLists.txt 2009-02-21 01:19:39.000000000 +0300
+@@ -16,9 +16,12 @@
+ project(phonon-gstreamer)
+ include(ConfigureChecks.cmake)
+
++find_package(Phonon)
++
+ if (BUILD_PHONON_GSTREAMER)
+ include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR}
++ ${PHONON_INCLUDES}
+ ${GSTREAMER_INCLUDE_DIR}
+ ${GLIB2_INCLUDE_DIR}
+ ${LIBXML2_INCLUDE_DIR}
diff --git a/multimedia/phonon-gstreamer/pkg-descr b/multimedia/phonon-gstreamer/pkg-descr
new file mode 100644
index 000000000000..fefdbc89bd37
--- /dev/null
+++ b/multimedia/phonon-gstreamer/pkg-descr
@@ -0,0 +1,2 @@
+Phonon is multimedia framework for QT4/KDE4.
+This port provides GStreamer backend.
diff --git a/multimedia/phonon-gstreamer/pkg-plist b/multimedia/phonon-gstreamer/pkg-plist
new file mode 100644
index 000000000000..e37e9af961fa
--- /dev/null
+++ b/multimedia/phonon-gstreamer/pkg-plist
@@ -0,0 +1,7 @@
+lib/kde4/plugins/phonon_backend/phonon_gstreamer.so
+share/kde4/services/phononbackends/gstreamer.desktop
+@dirrmtry share/kde4/services/phononbackends
+@dirrmtry lib/kde4/plugins/phonon_backend
+@cwd %%QT_PREFIX%%
+%%QT_PLUGINDIR_REL%%/phonon_backend/libphonon_gstreamer.so
+@dirrmtry %%QT_PLUGINDIR_REL%%/phonon_backend
diff --git a/multimedia/phonon-xine/Makefile b/multimedia/phonon-xine/Makefile
index 40a89f03d741..3775cba3045d 100644
--- a/multimedia/phonon-xine/Makefile
+++ b/multimedia/phonon-xine/Makefile
@@ -5,12 +5,12 @@
# $FreeBSD$
PORTNAME= phonon
-PORTVERSION= 4.3.1
-PORTREVISION= 6
+PORTVERSION= 4.4.1
+PORTREVISION= 0
CATEGORIES= multimedia kde ipv6
-MASTER_SITES= ${MASTER_SITE_LOCAL} \
- http://ns.ael.ru/ports/distfiles/KDE/
-MASTER_SITE_SUBDIR= fluffy
+MASTER_SITES= ${MASTER_SITE_KDE} \
+ http://ns.ael.ru/~fluffy.khv/distfiles/
+MASTER_SITE_SUBDIR= ${PHONON_BRANCH}/${PORTNAME}/${PORTVERSION}/
PKGNAMESUFFIX= -xine
DIST_SUBDIR= KDE
@@ -21,6 +21,7 @@ LIB_DEPENDS= xine.1:${PORTSDIR}/multimedia/libxine
CONFLICTS= phonon-4.3.0*
+PHONON_BRANCH= stable
USE_BZIP2= yes
USE_CMAKE= yes
USE_KDE4= kdehier automoc4 kdeprefix
@@ -28,9 +29,17 @@ USE_QT_VER= 4
QT_COMPONENTS= gui dbus xml phonon \
qmake_build moc_build rcc_build uic_build
+PLIST_SUB+= QT_PREFIX=${QT_PREFIX}
+
post-patch:
#fix finding automoc when PREFIX is not matched KDE4_PREFIX
${REINPLACE_CMD} -e 's|NO_DEFAULT_PATH|${KDE4_PREFIX} NO_DEFAULT_PATH|' \
${WRKSRC}/cmake/FindAutomoc4.cmake
+pre-install:
+ ${MKDIR} ${QT_PLUGINDIR}/phonon_backend
+
+post-install:
+ ${LN} -sf ${PREFIX}/lib/kde4/plugins/phonon_backend/phonon_xine.so ${QT_PLUGINDIR}/phonon_backend/libphonon_xine.so
+
.include <bsd.port.mk>
diff --git a/multimedia/phonon-xine/distinfo b/multimedia/phonon-xine/distinfo
index 7c88843e413a..f8471851a1b8 100644
--- a/multimedia/phonon-xine/distinfo
+++ b/multimedia/phonon-xine/distinfo
@@ -1,3 +1,3 @@
-MD5 (KDE/phonon-4.3.1.tar.bz2) = 767cb68052c108e95f293f30acdef3fb
-SHA256 (KDE/phonon-4.3.1.tar.bz2) = 7fb6d9efad29d7ac390d539cd516177c26cc2f92ddb9b3a5d70f2c49fc15269a
-SIZE (KDE/phonon-4.3.1.tar.bz2) = 575856
+MD5 (KDE/phonon-4.4.1.tar.bz2) = 5a1444f009a77054f16fea38c08e6cb5
+SHA256 (KDE/phonon-4.4.1.tar.bz2) = 8a52b0e74c5fb5c8dd3ce65d745c7052cdcea0e7535658fbc655671cef5e5277
+SIZE (KDE/phonon-4.4.1.tar.bz2) = 625008
diff --git a/multimedia/phonon-xine/files/patch-CMakeLists.txt b/multimedia/phonon-xine/files/patch-CMakeLists.txt
index a8327f774222..f80b37b9475a 100644
--- a/multimedia/phonon-xine/files/patch-CMakeLists.txt
+++ b/multimedia/phonon-xine/files/patch-CMakeLists.txt
@@ -1,5 +1,5 @@
--- ./CMakeLists.txt.orig 2009-01-22 11:20:44.000000000 +0300
-+++ ./CMakeLists.txt 2009-02-21 01:22:02.000000000 +0300
++++ ./CMakeLists.txt 2009-02-21 01:22:42.000000000 +0300
@@ -127,12 +127,12 @@
try_run(_run_result _compile_result ${CMAKE_BINARY_DIR} ${_source_file} CMAKE_FLAGS "${_include_dirs}")
@@ -19,23 +19,23 @@
if (GCC_IS_NEWER_THAN_4_2)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden")
-@@ -250,8 +250,8 @@
+@@ -255,8 +255,8 @@
+ endif(APPLE)
- add_subdirectory(cmake)
-add_subdirectory(phonon)
-add_subdirectory(includes)
-+# add_subdirectory(phonon)
-+# add_subdirectory(includes)
++#add_subdirectory(phonon)
++#add_subdirectory(includes)
if (Q_WS_MAC AND BUILD_PHONON_QT7)
add_subdirectory(qt7)
endif (Q_WS_MAC AND BUILD_PHONON_QT7)
-@@ -260,13 +260,13 @@
+@@ -265,13 +265,13 @@
endif (Q_WS_WIN)
if (Q_WS_X11)
- add_subdirectory(gstreamer)
-+# add_subdirectory(gstreamer)
++# add_subdirectory(gstreamer)
add_subdirectory(xine)
endif (Q_WS_X11)
diff --git a/multimedia/phonon-xine/files/patch-xine_audiooutput.cpp b/multimedia/phonon-xine/files/patch-xine_audiooutput.cpp
new file mode 100644
index 000000000000..b491d312385e
--- /dev/null
+++ b/multimedia/phonon-xine/files/patch-xine_audiooutput.cpp
@@ -0,0 +1,10 @@
+--- ./xine/audiooutput.cpp
++++ ./xine/audiooutput.cpp
+@@ -48,6 +48,7 @@
+
+ AudioOutput::AudioOutput(QObject *parent)
+ : AbstractAudioOutput(new AudioOutputXT, parent)
++ , m_volume(1.0)
+ {
+ }
+ \ No newline at end of file
diff --git a/multimedia/phonon-xine/pkg-descr b/multimedia/phonon-xine/pkg-descr
index e3459ceb600e..12096a7045e7 100644
--- a/multimedia/phonon-xine/pkg-descr
+++ b/multimedia/phonon-xine/pkg-descr
@@ -1,2 +1,2 @@
-Phonon is multimedia framework for KDE4.
+Phonon is multimedia framework for QT4/KDE4.
This port provides xine backend.
diff --git a/multimedia/phonon-xine/pkg-plist b/multimedia/phonon-xine/pkg-plist
index 2fce39cc3232..c67415409636 100644
--- a/multimedia/phonon-xine/pkg-plist
+++ b/multimedia/phonon-xine/pkg-plist
@@ -9,3 +9,6 @@ share/icons/oxygen/scalable/apps/phonon-xine.svgz
share/kde4/services/phononbackends/xine.desktop
@dirrmtry share/kde4/services/phononbackends
@dirrmtry lib/kde4/plugins/phonon_backend
+@cwd %%QT_PREFIX%%
+%%QT_PLUGINDIR_REL%%/phonon_backend/libphonon_xine.so
+@dirrmtry %%QT_PLUGINDIR_REL%%/phonon_backend
diff --git a/multimedia/phonon/Makefile b/multimedia/phonon/Makefile
new file mode 100644
index 000000000000..f3ed1e46432f
--- /dev/null
+++ b/multimedia/phonon/Makefile
@@ -0,0 +1,66 @@
+# New ports collection Makefile for: phonon
+# Date created: 2008-01-30
+# Whom: Martin Wilke <miwi@FreeBSD.org>
+#
+# $FreeBSD$
+
+PORTNAME= phonon
+PORTVERSION= 4.4.1
+CATEGORIES= multimedia kde ipv6
+MASTER_SITES= ${MASTER_SITE_KDE} \
+ http://ns.ael.ru/~fluffy.khv/distfiles/
+MASTER_SITE_SUBDIR= ${PHONON_BRANCH}/${PORTNAME}/${PORTVERSION}/
+DIST_SUBDIR= KDE
+
+MAINTAINER= kde@FreeBSD.org
+COMMENT= Multimedia framework for KDE4
+
+CONFLICTS= qt4-phonon-4* kdebase-runtime-4.1.[0-4]*
+
+PHONON_BRANCH= stable
+USE_BZIP2= yes
+USE_KDE4= kdehier automoc4 kdeprefix
+KDE4_BUILDENV= yes
+USE_QT_VER= 4
+QT_COMPONENTS= gui dbus xml qtestlib \
+ qmake_build moc_build rcc_build uic_build
+
+OPTIONS= PULSEAUDIO "Phonon support for PulseAudio" off
+
+.include <bsd.port.options.mk>
+
+.if defined(WITH_PULSEAUDIO)
+CMAKE_ARGS+= -DWITH_PulseAudio:BOOL=ON
+LIB_DEPENDS+= pulse.0:${PORTSDIR}/audio/pulseaudio
+USE_GNOME+= glib20
+.else
+CMAKE_ARGS+= -DWITH_PulseAudio:BOOL=OFF
+.endif
+
+PLIST_SUB+= QT_PREFIX=${QT_PREFIX}
+
+.if defined(WITH_QT_PHONON)
+IGNORE= conflicts with Qt4 phonon. Please, deinstall qt4-phonon and set WITH_KDE_PHONON to continue
+.endif
+
+post-patch:
+#fix finding automoc when PREFIX is not matched KDE4_PREFIX
+ ${REINPLACE_CMD} -e 's|NO_DEFAULT_PATH|${KDE4_PREFIX} NO_DEFAULT_PATH|' \
+ ${PATCH_WRKSRC}/cmake/FindAutomoc4.cmake
+
+pre-configure:
+ ${REINPLACE_CMD} -e '/phonon.pc/s|pkgconfig|../libdata/pkgconfig|' \
+ -e 's|{QT_INCLUDES}|{QT_INCLUDES} ${LOCALBASE}/include|'\
+ ${PATCH_WRKSRC}/CMakeLists.txt
+
+post-install:
+ ${LN} -sf ${PREFIX}/include/phonon ${QT_INCDIR}/phonon
+ ${LN} -sf ${PREFIX}/include/phonon ${QT_INCDIR}/Phonon
+ ${LN} -sf ${PREFIX}/include/KDE/Phonon ${PREFIX}/include/phonon/Phonon
+ ${LN} -sf ${PREFIX}/lib/libphonon.so.4.4.0 ${QT_LIBDIR}/libphonon.so
+ ${LN} -sf ${PREFIX}/lib/libphonon.so.4.4.0 ${QT_LIBDIR}/libphonon.so.4
+ ${LN} -sf ${PREFIX}/lib/libphononexperimental.so.4.4.0 ${QT_LIBDIR}/libphononexperimental.so
+ ${LN} -sf ${PREFIX}/lib/libphononexperimental.so.4.4.0 ${QT_LIBDIR}/libphononexperimental.so.4
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>
diff --git a/multimedia/phonon/distinfo b/multimedia/phonon/distinfo
new file mode 100644
index 000000000000..f8471851a1b8
--- /dev/null
+++ b/multimedia/phonon/distinfo
@@ -0,0 +1,3 @@
+MD5 (KDE/phonon-4.4.1.tar.bz2) = 5a1444f009a77054f16fea38c08e6cb5
+SHA256 (KDE/phonon-4.4.1.tar.bz2) = 8a52b0e74c5fb5c8dd3ce65d745c7052cdcea0e7535658fbc655671cef5e5277
+SIZE (KDE/phonon-4.4.1.tar.bz2) = 625008
diff --git a/multimedia/phonon/files/patch-CMakeLists.txt b/multimedia/phonon/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..a3b0e7e15147
--- /dev/null
+++ b/multimedia/phonon/files/patch-CMakeLists.txt
@@ -0,0 +1,32 @@
+--- ./CMakeLists.txt.orig 2009-01-22 11:20:44.000000000 +0300
++++ ./CMakeLists.txt 2009-02-21 01:36:17.000000000 +0300
+@@ -127,12 +127,12 @@
+
+ try_run(_run_result _compile_result ${CMAKE_BINARY_DIR} ${_source_file} CMAKE_FLAGS "${_include_dirs}")
+
+- if(NOT _compile_result)
+- message(FATAL_ERROR "Could not compile simple test program:\n ${_source}")
+- endif(NOT _compile_result)
+- if(_run_result)
+- message(FATAL_ERROR "Qt compiled without support for -fvisibility=hidden. This will break plugins and linking of some applications. Please fix your Qt installation.")
+- endif(_run_result)
++# if(NOT _compile_result)
++# message(FATAL_ERROR "Could not compile simple test program:\n ${_source}")
++# endif(NOT _compile_result)
++# if(_run_result)
++# message(FATAL_ERROR "Qt compiled without support for -fvisibility=hidden. This will break plugins and linking of some applications. Please fix your Qt installation.")
++# endif(_run_result)
+
+ if (GCC_IS_NEWER_THAN_4_2)
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden")
+@@ -260,8 +260,8 @@
+ endif (Q_WS_WIN)
+
+ if (Q_WS_X11)
+- add_subdirectory(gstreamer)
+- add_subdirectory(xine)
++# add_subdirectory(gstreamer)
++# add_subdirectory(xine)
+ endif (Q_WS_X11)
+
+ if(NOT WIN32) # pkgconfig file
diff --git a/multimedia/phonon/files/patch-phonon_pulsesupport.cpp b/multimedia/phonon/files/patch-phonon_pulsesupport.cpp
new file mode 100644
index 000000000000..3b54bdce8fcf
--- /dev/null
+++ b/multimedia/phonon/files/patch-phonon_pulsesupport.cpp
@@ -0,0 +1,34 @@
+--- ./phonon/pulsesupport.cpp
++++ ./phonon/pulsesupport.cpp
+@@ -569,6 +569,31 @@
+ return;
+ }
+ pa_operation_unref(o);
++
++ // In the case of reconnection or simply lagging behind the stream object creation
++ // on startup (due to the probe+reconnect system), we invalidate all loaded streams
++ // and then load up info about all streams.
++ for (QMap<QString, PulseStream*>::iterator it = s_outputStreams.begin(); it != s_outputStreams.end(); ++it) {
++ PulseStream *stream = *it;
++ logMessage(QString("Phonon Output Stream %1 is gone at the PA end. Marking it as invalid in our cache as we may reuse it.").arg(stream->uuid()));
++ stream->setIndex(PA_INVALID_INDEX);
++ }
++ if (!(o = pa_context_get_sink_input_info_list(c, sink_input_cb, NULL))) {
++ logMessage(QString("pa_context_get_sink_input_info_list() failed"));
++ return;
++ }
++ pa_operation_unref(o);
++
++ for (QMap<QString, PulseStream*>::iterator it = s_captureStreams.begin(); it != s_captureStreams.end(); ++it) {
++ PulseStream *stream = *it;
++ logMessage(QString("Phonon Capture Stream %1 is gone at the PA end. Marking it as invalid in our cache as we may reuse it.").arg(stream->uuid()));
++ stream->setIndex(PA_INVALID_INDEX);
++ }
++ if (!(o = pa_context_get_source_output_info_list(c, source_output_cb, NULL))) {
++ logMessage(QString("pa_context_get_source_output_info_list() failed"));
++ return;
++ }
++ pa_operation_unref(o);
+ }
+
+ #ifdef HAVE_PULSEAUDIO_DEVICE_MANAGER \ No newline at end of file
diff --git a/multimedia/phonon/pkg-descr b/multimedia/phonon/pkg-descr
new file mode 100644
index 000000000000..8b64634e7f07
--- /dev/null
+++ b/multimedia/phonon/pkg-descr
@@ -0,0 +1 @@
+Phonon is multimedia framework for QT4/KDE4.
diff --git a/multimedia/phonon/pkg-message b/multimedia/phonon/pkg-message
new file mode 100644
index 000000000000..3aaf6ee5f229
--- /dev/null
+++ b/multimedia/phonon/pkg-message
@@ -0,0 +1,3 @@
+Please consider to install backends for phonon:
+- Xine backend (multimedia/phonon-xine) and/or
+- Gstreamer backend (multimedia/phonon-gstreamer)
diff --git a/multimedia/phonon/pkg-plist b/multimedia/phonon/pkg-plist
new file mode 100644
index 000000000000..99f6c868d474
--- /dev/null
+++ b/multimedia/phonon/pkg-plist
@@ -0,0 +1,170 @@
+include/KDE/Phonon/AbstractAudioOutput
+include/KDE/Phonon/AbstractMediaStream
+include/KDE/Phonon/AbstractVideoOutput
+include/KDE/Phonon/AddonInterface
+include/KDE/Phonon/AudioDevice
+include/KDE/Phonon/AudioDeviceEnumerator
+include/KDE/Phonon/AudioOutput
+include/KDE/Phonon/AudioOutputDevice
+include/KDE/Phonon/AudioOutputDeviceModel
+include/KDE/Phonon/AudioOutputInterface
+include/KDE/Phonon/BackendCapabilities
+include/KDE/Phonon/BackendInterface
+include/KDE/Phonon/Effect
+include/KDE/Phonon/EffectDescription
+include/KDE/Phonon/EffectDescriptionModel
+include/KDE/Phonon/EffectInterface
+include/KDE/Phonon/EffectParameter
+include/KDE/Phonon/EffectWidget
+include/KDE/Phonon/Experimental/AbstractVideoDataOutput
+include/KDE/Phonon/Experimental/AudioDataOutput
+include/KDE/Phonon/Experimental/SnapshotInterface
+include/KDE/Phonon/Experimental/VideoDataOutput
+include/KDE/Phonon/Experimental/VideoDataOutputInterface
+include/KDE/Phonon/Experimental/VideoFrame
+include/KDE/Phonon/Experimental/VideoFrame2
+include/KDE/Phonon/Experimental/Visualization
+include/KDE/Phonon/Global
+include/KDE/Phonon/MediaController
+include/KDE/Phonon/MediaNode
+include/KDE/Phonon/MediaObject
+include/KDE/Phonon/MediaObjectInterface
+include/KDE/Phonon/MediaSource
+include/KDE/Phonon/ObjectDescription
+include/KDE/Phonon/ObjectDescriptionModel
+include/KDE/Phonon/Path
+include/KDE/Phonon/PlatformPlugin
+include/KDE/Phonon/SeekSlider
+include/KDE/Phonon/StreamInterface
+include/KDE/Phonon/VideoPlayer
+include/KDE/Phonon/VideoWidget
+include/KDE/Phonon/VideoWidgetInterface
+include/KDE/Phonon/VolumeFaderEffect
+include/KDE/Phonon/VolumeFaderInterface
+include/KDE/Phonon/VolumeSlider
+include/phonon/AbstractAudioOutput
+include/phonon/AbstractMediaStream
+include/phonon/AbstractVideoOutput
+include/phonon/AddonInterface
+include/phonon/AudioCaptureDevice
+include/phonon/AudioCaptureDeviceModel
+include/phonon/AudioChannelDescription
+include/phonon/AudioChannelDescriptionModel
+include/phonon/AudioOutput
+include/phonon/AudioOutputDevice
+include/phonon/AudioOutputDeviceModel
+include/phonon/AudioOutputInterface
+include/phonon/AudioOutputInterface40
+include/phonon/AudioOutputInterface42
+include/phonon/BackendCapabilities
+include/phonon/BackendInterface
+include/phonon/Effect
+include/phonon/EffectDescription
+include/phonon/EffectDescriptionModel
+include/phonon/EffectInterface
+include/phonon/EffectParameter
+include/phonon/EffectWidget
+include/phonon/Global
+include/phonon/MediaController
+include/phonon/MediaNode
+include/phonon/MediaObject
+include/phonon/MediaObjectInterface
+include/phonon/MediaSource
+include/phonon/ObjectDescription
+include/phonon/ObjectDescriptionData
+include/phonon/ObjectDescriptionModel
+include/phonon/ObjectDescriptionModelData
+include/phonon/Path
+include/phonon/Phonon
+include/phonon/PlatformPlugin
+include/phonon/SeekSlider
+include/phonon/StreamInterface
+include/phonon/SubtitleDescription
+include/phonon/SubtitleDescriptionModel
+include/phonon/VideoPlayer
+include/phonon/VideoWidget
+include/phonon/VideoWidgetInterface
+include/phonon/VideoWidgetInterface44
+include/phonon/VideoWidgetInterfaceLatest
+include/phonon/VolumeFaderEffect
+include/phonon/VolumeFaderInterface
+include/phonon/VolumeSlider
+include/phonon/abstractaudiooutput.h
+include/phonon/abstractmediastream.h
+include/phonon/abstractvideooutput.h
+include/phonon/addoninterface.h
+include/phonon/audiodataoutput.h
+include/phonon/audiodataoutputinterface.h
+include/phonon/audiooutput.h
+include/phonon/audiooutputinterface.h
+include/phonon/backendcapabilities.h
+include/phonon/backendinterface.h
+include/phonon/effect.h
+include/phonon/effectinterface.h
+include/phonon/effectparameter.h
+include/phonon/effectwidget.h
+include/phonon/experimental/abstractaudiodataoutput.h
+include/phonon/experimental/abstractvideodataoutput.h
+include/phonon/experimental/audiodataoutput.h
+include/phonon/experimental/audiodataoutputinterface.h
+include/phonon/experimental/audioformat.h
+include/phonon/experimental/avcapture.h
+include/phonon/experimental/backendcapabilities.h
+include/phonon/experimental/backendinterface.h
+include/phonon/experimental/export.h
+include/phonon/experimental/globalconfig.h
+include/phonon/experimental/mediasource.h
+include/phonon/experimental/objectdescription.h
+include/phonon/experimental/packet.h
+include/phonon/experimental/packetpool.h
+include/phonon/experimental/phononnamespace.h
+include/phonon/experimental/snapshotinterface.h
+include/phonon/experimental/videodataoutput.h
+include/phonon/experimental/videodataoutput2.h
+include/phonon/experimental/videodataoutputinterface.h
+include/phonon/experimental/videoframe.h
+include/phonon/experimental/videoframe2.h
+include/phonon/experimental/videowidget.h
+include/phonon/experimental/visualization.h
+include/phonon/globalconfig.h
+include/phonon/mediacontroller.h
+include/phonon/medianode.h
+include/phonon/mediaobject.h
+include/phonon/mediaobjectinterface.h
+include/phonon/mediasource.h
+include/phonon/objectdescription.h
+include/phonon/objectdescriptionmodel.h
+include/phonon/path.h
+include/phonon/phonon_export.h
+include/phonon/phonondefs.h
+include/phonon/phononnamespace.h
+include/phonon/platformplugin.h
+include/phonon/pulsesupport.h
+include/phonon/seekslider.h
+include/phonon/streaminterface.h
+include/phonon/videoplayer.h
+include/phonon/videowidget.h
+include/phonon/videowidgetinterface.h
+include/phonon/volumefadereffect.h
+include/phonon/volumefaderinterface.h
+include/phonon/volumeslider.h
+lib/libphonon.so
+lib/libphonon.so.4
+lib/libphonon.so.4.4.0
+lib/libphononexperimental.so
+lib/libphononexperimental.so.4
+lib/libphononexperimental.so.4.4.0
+libdata/pkgconfig/phonon.pc
+share/dbus-1/interfaces/org.kde.Phonon.AudioOutput.xml
+@dirrm include/phonon/experimental
+@dirrm include/phonon
+@dirrm include/KDE/Phonon/Experimental
+@dirrm include/KDE/Phonon
+@cwd %%QT_PREFIX%%
+%%QT_INCDIR_REL%%/phonon
+%%QT_INCDIR_REL%%/Phonon
+%%QT_LIBDIR_REL%%/libphonon.so
+%%QT_LIBDIR_REL%%/libphonon.so.4
+%%QT_LIBDIR_REL%%/libphononexperimental.so
+%%QT_LIBDIR_REL%%/libphononexperimental.so.4
+