diff --git a/.gitignore b/.gitignore index b66ac75..b501078 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /hi48-phonon-gstreamer.png /hi64-phonon-gstreamer.png /phonon-4.4.3.tar.bz2 +/phonon-4.4.4-20110104.tar.bz2 diff --git a/phonon-4.3.50-gstreamer-fix-seekable-query-failed.patch b/phonon-4.3.50-gstreamer-fix-seekable-query-failed.patch deleted file mode 100644 index 7ab051c..0000000 --- a/phonon-4.3.50-gstreamer-fix-seekable-query-failed.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -Naur phonon-4.3.50.orig/gstreamer/mediaobject.cpp phonon-4.3.50/gstreamer/mediaobject.cpp ---- phonon-4.3.50.orig/gstreamer/mediaobject.cpp 2009-10-11 02:24:30.000000000 +0200 -+++ phonon-4.3.50/gstreamer/mediaobject.cpp 2009-10-11 02:28:25.000000000 +0200 -@@ -852,6 +852,10 @@ - else - m_backend->logMessage("Stream is non-seekable", Backend::Info, this); - } else { -+ if (m_seekable) { -+ m_seekable = false; -+ emit seekableChanged(m_seekable); -+ } - m_backend->logMessage("updateSeekable query failed", Backend::Info, this); - } - gst_query_unref (query); - diff --git a/phonon-4.4.3-flac_mimetype.patch b/phonon-4.4.3-flac_mimetype.patch deleted file mode 100644 index eef6a9f..0000000 --- a/phonon-4.4.3-flac_mimetype.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up phonon-4.4.3/gstreamer/backend.cpp.flac_mimetype phonon-4.4.3/gstreamer/backend.cpp ---- phonon-4.4.3/gstreamer/backend.cpp.flac_mimetype 2010-11-24 12:26:19.000000000 -0600 -+++ phonon-4.4.3/gstreamer/backend.cpp 2010-11-30 07:29:31.005424613 -0600 -@@ -265,6 +265,11 @@ QStringList Backend::availableMimeTypes( - if (!availableMimeTypes.contains("audio/ogg")) /* *.oga */ - availableMimeTypes.append("audio/ogg"); - } -+ if (availableMimeTypes.contains("audio/x-flac")) { -+ if (!availableMimeTypes.contains("audio/flac")) { -+ availableMimeTypes.append("audio/flac"); -+ } -+ } - availableMimeTypes.sort(); - return availableMimeTypes; - } diff --git a/phonon.spec b/phonon.spec index 17a2c8d..026e976 100644 --- a/phonon.spec +++ b/phonon.spec @@ -1,53 +1,59 @@ +%define snap 20110104 +# not worth using much yet +#define phonon_build_tests -DPHONON_BUILD_TESTS:BOOL=ON + +## split -experimental subpkgs +#define experimental 1 + Summary: Multimedia framework api Name: phonon -Version: 4.4.3 -Release: 2%{?dist} +Version: 4.4.4 +Release: 0.0.%{snap}%{?dist} Group: System Environment/Libraries License: LGPLv2+ URL: http://phonon.kde.org/ +%if 0%{?snap} +Source0: phonon-%{version}-%{snap}.tar.bz2 +%else Source0: ftp://ftp.kde.org/pub/kde/stable/phonon/%{version}/phonon-%{version}.tar.bz2 -#Source0: phonon-%{version}-%{snap}.tar.bz2 +%endif Source1: phonon_snapshot.sh BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Source10: http://gstreamer.freedesktop.org/data/images/artwork/gstreamer-logo.svg -Source11: hi16-phonon-gstreamer.png -Source12: hi22-phonon-gstreamer.png -Source13: hi32-phonon-gstreamer.png -Source14: hi48-phonon-gstreamer.png -Source15: hi64-phonon-gstreamer.png -Source16: hi128-phonon-gstreamer.png +Patch1: phonon-4.4.4-no_rpath.patch ## Mandriva/upstreamable patches -Patch52: phonon-4.3.50-gstreamer-fix-seekable-query-failed.patch Patch53: phonon-4.3.50-phonon-allow-stop-empty-source.patch ## Ubuntu/upstreamable patches -Patch60: phonon-4.4.3-flac_mimetype.patch ## Upstream patches BuildRequires: automoc4 >= 0.9.86 BuildRequires: cmake >= 2.6.0 BuildRequires: glib2-devel -BuildRequires: gstreamer-devel -BuildRequires: gstreamer-plugins-base-devel BuildRequires: kde-filesystem BuildRequires: libxcb-devel BuildRequires: libxml2-devel BuildRequires: pkgconfig BuildRequires: qt4-devel >= 4.6.0 -BuildRequires: xine-lib-devel BuildRequires: pulseaudio-libs-devel >= 0.9.15 %global pulseaudio_version %(pkg-config --modversion libpulse 2>/dev/null || echo 0.9.15) Requires: kde-filesystem -Requires: phonon-backend%{?_isa} => %{version} +## Beware bootstrapping, have -Requires/+Requires this for step 0, then build at least one backend +#Requires: phonon-backend%{?_isa} => 4.4 +Provides: phonon-backend%{?_isa} = 4.4 Requires: pulseaudio-libs%{?_isa} >= %{pulseaudio_version} Requires: qt4%{?_isa} >= %{_qt4_version} +%if ! 0%{?experimental} +#Obsoletes: phonon-experimental < %{version}-%{release} +Provides: phonon-experimental = %{version}-%{release} +%endif + %description %{summary}. @@ -57,151 +63,127 @@ Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} Requires: qt4-devel Requires: pkgconfig +%if ! 0%{?experimental} +#Obsoletes: phonon-experimental-devel < %{version}-%{release} +Provides: phonon-experimental-devel = %{version}-%{release} +%endif %description devel %{summary}. -%package backend-xine -Summary: xine phonon backend -Group: Applications/Multimedia -Requires: %{name} = %{version}-%{release} -Provides: phonon-backend%{?_isa} = %{version}-%{release} -%description backend-xine +%if 0%{?experimental} +%package experimental +Summary: Experimental interfaces for %{name} +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +%description experimental %{summary}. -%package backend-gstreamer -Summary: Gstreamer phonon backend -Group: Applications/Multimedia -Epoch: 2 -Requires: %{name} = %{version}-%{release} -Requires: gstreamer-plugins-good -Provides: phonon-backend%{?_isa} = %{version}-%{release} -Obsoletes: %{name}-backend-gst < 4.2.0-4 -Provides: %{name}-backend-gst = %{version}-%{release} -%description backend-gstreamer +%package experimental-devel +Summary: Developer files for %{name}-experimental +Group: System Environment/Libraries +Requires: %{name}-experimental%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +%description experimental-devel %{summary}. +Includes experimental and unstable apis. +%endif %prep %setup -q -%patch52 -p1 -b .gstreamer-fix-seekable-query-failed +%patch1 -p1 -b .no_rpath %patch53 -p1 -b .phonon-allow-stop-empty-source -%patch60 -p1 -b .flac_mimetype %build mkdir -p %{_target_platform} pushd %{_target_platform} %{cmake} \ - %{?_cmake_skip_rpath} \ - -DUSE_INSTALL_PLUGIN=TRUE \ + %{?phonon_build_tests} \ .. popd -make %{?_smp_mflags} -C %{_target_platform}%{?xine_only:/xine} +make %{?_smp_mflags} -C %{_target_platform} %install rm -rf %{buildroot} -make install/fast DESTDIR=%{buildroot} -C %{_target_platform}%{?xine_only:/xine} +make install/fast DESTDIR=%{buildroot} -C %{_target_platform} # symlink for qt/phonon compatibility ln -s ../KDE/Phonon %{buildroot}%{_includedir}/phonon/Phonon -# move the oxygen-only phonon-xine icons to hicolor -mv %{buildroot}%{_datadir}/icons/oxygen \ - %{buildroot}%{_datadir}/icons/hicolor - -%if ! 0%{?xine_only} -# gstreamer icons -install -D -m 0644 %{SOURCE10} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/phonon-gstreamer.svg -install -D -m 0644 %{SOURCE11} %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/phonon-gstreamer.png -install -D -m 0644 %{SOURCE12} %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/phonon-gstreamer.png -install -D -m 0644 %{SOURCE13} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/phonon-gstreamer.png -install -D -m 0644 %{SOURCE14} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/phonon-gstreamer.png -install -D -m 0644 %{SOURCE15} %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/phonon-gstreamer.png -install -D -m 0644 %{SOURCE16} %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/phonon-gstreamer.png -%endif +# own these dirs +mkdir -p %{buildroot}%{_kde4_libdir}/kde4/plugins/phonon_backend/ +mkdir -p %{buildroot}%{_kde4_datadir}/kde4/services/phononbackends/ %check export PKG_CONFIG_PATH=%{buildroot}%{_datadir}/pkgconfig:%{buildroot}%{_libdir}/pkgconfig test "$(pkg-config --modversion phonon)" = "%{version}" +%if 0%{?phonon_build_tests:1} +# most of these fail currently (8/10) +make test -C %{_target_platform} ||: +%endif %clean rm -rf %{buildroot} -%if ! 0%{?xine_only} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig -%post backend-gstreamer -touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||: - -%postun backend-gstreamer -if [ $1 -eq 0 ] ; then - touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||: - gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||: -fi +%if 0%{?experimental} +%post experimental -p /sbin/ldconfig -%posttrans backend-gstreamer -gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||: +%postun experimental -p /sbin/ldconfig %endif -%post backend-xine -touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||: - -%postun backend-xine -if [ $1 -eq 0 ] ; then - touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null ||: - gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||: -fi -%posttrans backend-xine -gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null ||: - -%if ! 0%{?xine_only} %files %defattr(-,root,root,-) %doc COPYING.LIB -%{_libdir}/libphonon*.so.4* +%{_libdir}/libphonon.so.4* %{_datadir}/dbus-1/interfaces/org.kde.Phonon.AudioOutput.xml -# kde4-specific dirs -%if 0%{?fedora} < 15 -%dir %{_kde4_libdir}/kde4/ -%dir %{_kde4_libdir}/kde4/plugins/ -%endif %dir %{_kde4_libdir}/kde4/plugins/phonon_backend/ %dir %{_kde4_datadir}/kde4/services/phononbackends/ +%if 0%{?experimental} +%files experimental +%defattr(-,root,root,-) +%endif +%{_libdir}/libphononexperimental.so.4* + %files devel %defattr(-,root,root,-) +%{_datadir}/phonon-buildsystem/ %dir %{_includedir}/KDE %{_includedir}/KDE/Phonon/ %{_includedir}/phonon/ %{_libdir}/pkgconfig/phonon.pc -%{_libdir}/libphonon*.so +%{_libdir}/libphonon.so %{_qt4_datadir}/mkspecs/modules/qt_phonon.pri -%files backend-gstreamer +%if 0%{?experimental} +%exclude %{_includedir}/KDE/Phonon/Experimental/ +%exclude %{_includedir}/phonon/experimental/ +%files experimental-devel %defattr(-,root,root,-) -%{_kde4_libdir}/kde4/plugins/phonon_backend/phonon_gstreamer.so -%{_kde4_datadir}/kde4/services/phononbackends/gstreamer.desktop -%{_datadir}/icons/hicolor/*/apps/phonon-gstreamer.* %endif - -%files backend-xine -%defattr(-,root,root,-) -%{_kde4_libdir}/kde4/plugins/phonon_backend/phonon_xine.so -%{_kde4_datadir}/kde4/services/phononbackends/xine.desktop -%{_datadir}/icons/hicolor/*/apps/phonon-xine.* +%{_includedir}/KDE/Phonon/Experimental/ +%{_includedir}/phonon/experimental/ +%{_libdir}/libphononexperimental.so %changelog +* Wed Jan 05 2011 Rex Dieter - 4.4.4-0.0.20110104 +- phonon-4.4.4 snapshot (sans backends) +- bootstrap without Requires: phonon-backend + * Tue Nov 30 2010 Rex Dieter - 4.4.3-2 - recognize audio/flac in gstreamer backend (kde#257488) diff --git a/phonon_snapshot.sh b/phonon_snapshot.sh index 39f07f0..75ace53 100755 --- a/phonon_snapshot.sh +++ b/phonon_snapshot.sh @@ -1,17 +1,16 @@ -#/bin/sh +#!/bin/bash +MODULE=phonon +VERSION=4.4.4 DATE=$(date +%Y%m%d) -EXPORT_DIR=phonon -VERSION=4.4.3 set -x -rm -rf $EXPORT_DIR -git clone git://gitorious.org/phonon/phonon.git -pushd $EXPORT_DIR -git archive --prefix=phonon-${VERSION}/ master | bzip2 > ../phonon-${VERSION}-${DATE}.tar.bz2 -popd +rm -rf $MODULE -# cleanup -rm -rf $EXPORT_DIR +git clone git://anongit.kde.org/phonon $MODULE/ +pushd $MODULE +git archive remotes/origin/4.4 --format tar --prefix=${MODULE}-${VERSION}/ | bzip2 -9 > ../${MODULE}-${VERSION}-${DATE}.tar.bz2 +popd +rm -rf $MODULE diff --git a/sources b/sources index e99bc62..bf056f6 100644 --- a/sources +++ b/sources @@ -1,8 +1 @@ -8e3924f417fea67f72b2105faed2119c gstreamer-logo.svg -60de9d7e1cddd019f09fd036f0e5413a hi128-phonon-gstreamer.png -7ca265e0cf75b3b4c81e1490d3dba3be hi16-phonon-gstreamer.png -0a9f69d901aded140d4fed969c22e14f hi22-phonon-gstreamer.png -12db12c009b722a6dc141f78feb7e330 hi32-phonon-gstreamer.png -86c34a1b81d44980b1381f94ed6b7a23 hi48-phonon-gstreamer.png -153505c71ec021b0a3bd4b74f2492e93 hi64-phonon-gstreamer.png -14e7c9a24da75113a69a12d6a50247a5 phonon-4.4.3.tar.bz2 +25933de62a59bc444929f7a5f176412d phonon-4.4.4-20110104.tar.bz2