]> git.pld-linux.org Git - packages/qt-gstreamer.git/blobdiff - qt-gstreamer.spec
- fix 'parse error at BOOST_JOIN' in moc run
[packages/qt-gstreamer.git] / qt-gstreamer.spec
index 71984c06607deef51ef1b5f12f7c5b29cfa2258d..55abe4797dbcdd357ad07c107bd0297420454b20 100644 (file)
@@ -1,45 +1,73 @@
-Summary:       QtGStreamer - libraries integrating Qt with GStreamer
-Summary(pl.UTF-8):     QtGStreamer - biblioteki integrujące Qt z GStreamerem
+# TODO: -devel and Qt*Declarative-* packages conflict with gstreamer0.10 equivalents
+#
+# Conditional build:
+%bcond_without qt4     # Qt 4 libraries
+%bcond_without qt5     # Qt 5 libraries
+#
+Summary:       QtGStreamer - libraries integrating Qt 4 with GStreamer
+Summary(pl.UTF-8):     QtGStreamer - biblioteki integrujące Qt 4 z GStreamerem
 Name:          qt-gstreamer
-Version:       0.10.0.2
+Version:       1.2.0
 Release:       1
 License:       LGPL v2+
 Group:         Libraries
-#Source0:      http://gstreamer.freedesktop.org/src/qt-gstreamer/%{name}-%{version}.tar.bz2
-Source0:       http://gstreamer.freedesktop.org/src/qt-gstreamer/pre/%{name}-%{version}.tar.bz2
-# Source0-md5: 55bd3c5e076b71e13f5d5652a631639a
+Source0:       http://gstreamer.freedesktop.org/src/qt-gstreamer/%{name}-%{version}.tar.xz
+# Source0-md5: fd794045a828c184acc1794b08a463fd
+Patch0:                boost-moc.patch
 URL:           http://gstreamer.net/
-BuildRequires: QtCore-devel >= 4.5
-BuildRequires: QtGui-devel >= 4.5
-BuildRequires: QtTest-devel >= 4.5
-BuildRequires: automoc4 >= 0.9.88
+BuildRequires: OpenGL-devel
 BuildRequires: bison
-BuildRequires: boost-devel >= 1.40
-BuildRequires: cmake >= 2.8
+BuildRequires: boost-devel >= 1.39
+BuildRequires: cmake >= 2.8.9
+BuildRequires: doxygen
 BuildRequires: flex
-BuildRequires: gstreamer-devel >= 0.10.31
-BuildRequires: gstreamer-plugins-base-devel >= 0.10.31
+BuildRequires: glib2-devel >= 2.0
+BuildRequires: gstreamer-devel >= 1.0.0
+BuildRequires: gstreamer-plugins-base-devel >= 1.0.0
 BuildRequires: libstdc++-devel >= 6:4.5
 BuildRequires: pkgconfig
-BuildRequires: qt4-qmake >= 4.5
-Requires:      QtCore >= 4.5
-Requires:      QtGui >= 4.5
-Requires:      gstreamer >= 0.10.31
-Requires:      gstreamer-plugins-base >= 0.10.31
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+%if %{with qt4}
+BuildRequires: QtCore-devel >= 4.7
+BuildRequires: QtDeclarative-devel >= 4.7
+BuildRequires: QtGui-devel >= 4.7
+BuildRequires: QtOpenGL-devel >= 4.7
+BuildRequires: QtTest-devel >= 4.7
+BuildRequires: qt4-qmake >= 4.7
+%endif
+%if %{with qt5}
+BuildRequires: Qt5Core-devel >= 5.0.0
+BuildRequires: Qt5Declarative-devel >= 5.0.0
+BuildRequires: Qt5Gui-devel >= 5.0.0
+BuildRequires: Qt5OpenGL-devel >= 5.0.0
+BuildRequires: Qt5Qml-devel >= 5.0.0
+BuildRequires: Qt5Quick-devel >= 5.0.0
+BuildRequires: Qt5Widgets-devel >= 5.0.0
+BuildRequires: Qt5Test-devel >= 5.0.0
+BuildRequires: qt5-qmake >= 5.0.0
+%endif
+Requires:      QtCore >= 4.7
+Requires:      QtGui >= 4.7
+Requires:      QtOpenGL >= 4.7
+Requires:      gstreamer >= 1.0.0
+Requires:      gstreamer-plugins-base >= 1.0.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
 QtGStreamer is a set of libraries and plugins providing C++ bindings
 for GStreamer with a Qt-style API plus some helper classes for
-integrating GStreamer better in Qt applications.
+integrating GStreamer better in Qt applications.
 
 Currently, it consists of the following parts:
- * QtGLib - library providing C++/Qt bindings for parts of the GLib
+ * QtGLib - library providing C++/Qt bindings for parts of the GLib
    and GObject APIs, a base on which QtGStreamer is built.
- * QtGStreamer - library providing C++/Qt bindings for GStreamer
+ * QtGStreamer - library providing C++/Qt bindings for GStreamer
  * QtGStreamerUi - library providing integration with QtGui;
    currently, it only provides a video widget that embeds GStreamer's
    video sinks.
+ * QtGStreamerUtils - library providing some high level utility
+   classes.
 
 In addition, it provides a "qwidgetvideosink" GStreamer element, an
 video sink element that can draw directly on QWidgets using QPainter.
@@ -47,31 +75,30 @@ video sink element that can draw directly on QWidgets using QPainter.
 %description -l pl.UTF-8
 QtGStreamer to zestaw bibliotek i wtyczek z wiązaniami C++ do
 GStreamera o API w stylu Qt oraz klasami pomocniczymi dla lepszej
-integracji GStreamera w aplikacjach Qt.
+integracji GStreamera w aplikacjach Qt 4.
 
 Obecnie zawiera następujące części:
- - QtGLib - biblioteka z wiązaniami C++/Qt dla części API bibliotek
+ - QtGLib - biblioteka z wiązaniami C++/Qt dla części API bibliotek
    GLib i GObject; w oparciu o nią zbudowany jest QtGStreamer
- - QtGStreamer - biblioteka z wiązaniami C++/Qt do GStreamera
+ - QtGStreamer - biblioteka z wiązaniami C++/Qt do GStreamera
  - QtGStreamerUi - biblioteka integrująca z QtGui; obecnie zawiera
    tylko widget wideo osadzający wyjście obrazu (videosink) GStremera.
+ - QtGStreamerUtils - biblioteka udostępniająca klasy narzędziowe
+   wysokiego poziomu.
 
 Ponadto pakiet udostępnia element GStreamera "qwidgetvideosink" -
 element wyjściowy obrazu rysujący bezpośrednio na QWidgetach przy
 użyciu QPaintera.
 
-%description -l pl.UTF-8
-GstRTSP to serwer RTSP zbudowany w oparciu o GStreamera.
-
 %package devel
 Summary:       Header files for QtGStreamer libraries
 Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek QtGStreamer
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
-Requires:      QtCore-devel >= 4.5
-Requires:      QtGui-devel >= 4.5
-Requires:      gstreamer-devel >= 0.10.31
-Requires:      gstreamer-plugins-base-devel >= 0.10.31
+Requires:      QtCore-devel >= 4.7
+Requires:      QtGui-devel >= 4.7
+Requires:      gstreamer-devel >= 1.0.0
+Requires:      gstreamer-plugins-base-devel >= 1.0.0
 
 %description devel
 Header files for QtGStreamer libraries.
@@ -79,24 +106,152 @@ Header files for QtGStreamer libraries.
 %description devel -l pl.UTF-8
 Pliki nagłówkowe bibliotek QtGStreamer.
 
+%package -n QtDeclarative-plugin-gstreamer
+Summary:       Qt GStreamer plugin for QtDeclarative
+Summary(pl.UTF-8):     Wtyczka Qt GStreamer dla QtDeclarative
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      QtDeclarative >= 4.7
+
+%description -n QtDeclarative-plugin-gstreamer
+Qt GStreamer plugin for QtDeclarative.
+
+%description -n QtDeclarative-plugin-gstreamer -l pl.UTF-8
+Wtyczka Qt GStreamer dla QtDeclarative.
+
+%package -n qt5-gstreamer
+Summary:       Qt5GStreamer - libraries integrating Qt 5 with GStreamer
+Summary(pl.UTF-8):     Qt5GStreamer - biblioteki integrujące Qt 5 z GStreamerem
+Group:         Libraries
+Requires:      Qt5Core >= 5.0.0
+Requires:      Qt5Gui >= 5.0.0
+Requires:      Qt5OpenGL >= 5.0.0
+Requires:      Qt5Quick >= 5.0.0
+Requires:      Qt5Widgets >= 5.0.0
+Requires:      gstreamer >= 1.0.0
+Requires:      gstreamer-plugins-base >= 1.0.0
+
+%description -n qt5-gstreamer
+Qt5GStreamer is a set of libraries and plugins providing C++ bindings
+for GStreamer with a Qt-style API plus some helper classes for
+integrating GStreamer better in Qt 5 applications.
+
+Currently, it consists of the following parts:
+ * Qt5GLib - library providing C++/Qt 5 bindings for parts of the GLib
+   and GObject APIs, a base on which Qt5GStreamer is built.
+ * Qt5GStreamer - library providing C++/Qt 5 bindings for GStreamer
+ * Qt5GStreamerUi - library providing integration with Qt5Gui;
+   currently, it only provides a video widget that embeds GStreamer's
+   video sinks.
+ * Qt5GStreamerUtils - library providing some high level utility
+   classes.
+
+In addition, it provides a "qwidgetvideosink" GStreamer element, an
+video sink element that can draw directly on QWidgets using QPainter.
+
+%description -n qt5-gstreamer -l pl.UTF-8
+Qt5GStreamer to zestaw bibliotek i wtyczek z wiązaniami C++ do
+GStreamera o API w stylu Qt oraz klasami pomocniczymi dla lepszej
+integracji GStreamera w aplikacjach Qt 5.
+
+Obecnie zawiera następujące części:
+ - Qt5GLib - biblioteka z wiązaniami C++/Qt 5 dla części API bibliotek
+   GLib i GObject; w oparciu o nią zbudowany jest QtGStreamer
+ - Qt5GStreamer - biblioteka z wiązaniami C++/Qt 5 do GStreamera
+ - Qt5GStreamerUi - biblioteka integrująca z Qt5Gui; obecnie zawiera
+   tylko widget wideo osadzający wyjście obrazu (videosink) GStremera.
+ - QtGStreamerUtils - biblioteka udostępniająca klasy narzędziowe
+   wysokiego poziomu.
+
+Ponadto pakiet udostępnia element GStreamera "qwidgetvideosink" -
+element wyjściowy obrazu rysujący bezpośrednio na QWidgetach przy
+użyciu QPaintera.
+
+%package -n qt5-gstreamer-devel
+Summary:       Header files for Qt5GStreamer libraries
+Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek QtGStreamer
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      Qt5Core-devel >= 5.0.0
+Requires:      Qt5Gui-devel >= 5.0.0
+Requires:      Qt5Quick-devel >= 5.0.0
+Requires:      Qt5Widgets-devel >= 5.0.0
+Requires:      gstreamer-devel >= 1.0.0
+Requires:      gstreamer-plugins-base-devel >= 1.0.0
+
+%description -n qt5-gstreamer-devel
+Header files for Qt5GStreamer libraries.
+
+%description -n qt5-gstreamer-devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek Qt5GStreamer.
+
+%package -n Qt5Declarative-plugin-gstreamer
+Summary:       Qt GStreamer plugin for Qt5Declarative (Quick1)
+Summary(pl.UTF-8):     Wtyczka Qt GStreamer dla Qt5Declarative (Quick1)
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      Qt5Declarative >= 5.0.0
+
+%description -n Qt5Declarative-plugin-gstreamer
+Qt GStreamer plugin for Qt5Declarative (Quick1).
+
+%description -n Qt5Declarative-plugin-gstreamer -l pl.UTF-8
+Wtyczka Qt GStreamer dla Qt5Declarative (Quick1).
+
+%package -n Qt5Qml-plugin-gstreamer
+Summary:       Qt GStreamer plugin for Qt5Qml (Quick2)
+Summary(pl.UTF-8):     Wtyczka Qt GStreamer dla Qt5Qml (Quick2)
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      Qt5Qml >= 5.0.0
+Requires:      Qt5Quick >= 5.0.0
+
+%description -n Qt5Qml-plugin-gstreamer
+Qt GStreamer plugin for Qt5Qml (Quick2).
+
+%description -n Qt5Qml-plugin-gstreamer -l pl.UTF-8
+Wtyczka Qt GStreamer dla Qt5Qml (Quick2).
+
 %prep
 %setup -q
+%patch0 -p1
 
 %build
-install -d build
-cd build
+%if %{with qt4}
+install -d build-qt4
+cd build-qt4
 %cmake .. \
        -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
        -DQTGSTREAMER_EXAMPLES=OFF \
        -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4
+%{__make}
+cd ..
+%endif
 
+%if %{with qt5}
+install -d build-qt5
+cd build-qt5
+%cmake .. \
+       -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
+       -DQTGSTREAMER_EXAMPLES=OFF \
+       -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt5 \
+       -DQT_VERSION=5
 %{__make}
+cd ..
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} -C build install \
+%if %{with qt4}
+%{__make} -C build-qt4 install \
+       DESTDIR=$RPM_BUILD_ROOT
+%endif
+
+%if %{with qt5}
+%{__make} -C build-qt5 install \
        DESTDIR=$RPM_BUILD_ROOT
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -104,25 +259,83 @@ rm -rf $RPM_BUILD_ROOT
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
 
+%post  -n qt5-gstreamer -p /sbin/ldconfig
+%postun        -n qt5-gstreamer -p /sbin/ldconfig
+
+%if %{with qt4}
 %files
 %defattr(644,root,root,755)
-%doc README
+%doc NEWS README
 %attr(755,root,root) %{_libdir}/libQtGLib-2.0.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libQtGLib-2.0.so.0
-%attr(755,root,root) %{_libdir}/libQtGStreamer-0.10.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libQtGStreamer-0.10.so.0
-%attr(755,root,root) %{_libdir}/libQtGStreamerUi-0.10.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libQtGStreamerUi-0.10.so.0
-%attr(755,root,root) %{_libdir}/gstreamer-0.10/libgstqwidgetvideosink.so
+%attr(755,root,root) %{_libdir}/libQtGStreamer-1.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQtGStreamer-1.0.so.0
+%attr(755,root,root) %{_libdir}/libQtGStreamerUi-1.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQtGStreamerUi-1.0.so.0
+%attr(755,root,root) %{_libdir}/libQtGStreamerUtils-1.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQtGStreamerUtils-1.0.so.0
+%attr(755,root,root) %{_libdir}/gstreamer-1.0/libgstqtvideosink.so
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libQtGLib-2.0.so
-%attr(755,root,root) %{_libdir}/libQtGStreamer-0.10.so
-%attr(755,root,root) %{_libdir}/libQtGStreamerUi-0.10.so
+%attr(755,root,root) %{_libdir}/libQtGStreamer-1.0.so
+%attr(755,root,root) %{_libdir}/libQtGStreamerUi-1.0.so
+%attr(755,root,root) %{_libdir}/libQtGStreamerUtils-1.0.so
 %{_includedir}/QtGStreamer
 %{_pkgconfigdir}/QtGLib-2.0.pc
-%{_pkgconfigdir}/QtGStreamer-0.10.pc
-%{_pkgconfigdir}/QtGStreamerUi-0.10.pc
-%dir %{_libdir}/QtGStreamer
-%{_libdir}/QtGStreamer/QtGStreamer*.cmake
+%{_pkgconfigdir}/QtGStreamer-1.0.pc
+%{_pkgconfigdir}/QtGStreamerUi-1.0.pc
+%{_pkgconfigdir}/QtGStreamerUtils-1.0.pc
+%{_libdir}/cmake/QtGStreamer
+
+%files -n QtDeclarative-plugin-gstreamer
+%defattr(644,root,root,755)
+%dir %{_libdir}/qt4/imports/QtGStreamer
+%attr(755,root,root) %{_libdir}/qt4/imports/QtGStreamer/libQtGStreamerQuick1.so
+%{_libdir}/qt4/imports/QtGStreamer/qmldir
+%endif
+
+%if %{with qt5}
+%files -n qt5-gstreamer
+%defattr(644,root,root,755)
+%doc NEWS README
+%attr(755,root,root) %{_libdir}/libQt5GLib-2.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5GLib-2.0.so.0
+%attr(755,root,root) %{_libdir}/libQt5GStreamer-1.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5GStreamer-1.0.so.0
+%attr(755,root,root) %{_libdir}/libQt5GStreamerQuick-1.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5GStreamerQuick-1.0.so.0
+%attr(755,root,root) %{_libdir}/libQt5GStreamerUi-1.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5GStreamerUi-1.0.so.0
+%attr(755,root,root) %{_libdir}/libQt5GStreamerUtils-1.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5GStreamerUtils-1.0.so.0
+%attr(755,root,root) %{_libdir}/gstreamer-1.0/libgstqt5videosink.so
+
+%files -n qt5-gstreamer-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libQt5GLib-2.0.so
+%attr(755,root,root) %{_libdir}/libQt5GStreamer-1.0.so
+%attr(755,root,root) %{_libdir}/libQt5GStreamerQuick-1.0.so
+%attr(755,root,root) %{_libdir}/libQt5GStreamerUi-1.0.so
+%attr(755,root,root) %{_libdir}/libQt5GStreamerUtils-1.0.so
+%{_includedir}/Qt5GStreamer
+%{_pkgconfigdir}/Qt5GLib-2.0.pc
+%{_pkgconfigdir}/Qt5GStreamer-1.0.pc
+%{_pkgconfigdir}/Qt5GStreamerQuick-1.0.pc
+%{_pkgconfigdir}/Qt5GStreamerUi-1.0.pc
+%{_pkgconfigdir}/Qt5GStreamerUtils-1.0.pc
+%{_libdir}/cmake/Qt5GStreamer
+
+%files -n Qt5Declarative-plugin-gstreamer
+%defattr(644,root,root,755)
+%dir %{_libdir}/qt5/imports/QtGStreamer
+%attr(755,root,root) %{_libdir}/qt5/imports/QtGStreamer/libQtGStreamerQuick1.so
+%{_libdir}/qt5/imports/QtGStreamer/qmldir
+
+%files -n Qt5Qml-plugin-gstreamer
+%defattr(644,root,root,755)
+%dir %{_libdir}/qt5/qml/QtGStreamer
+%attr(755,root,root) %{_libdir}/qt5/qml/QtGStreamer/libQtGStreamerQuick2.so
+%{_libdir}/qt5/qml/QtGStreamer/qmldir
+%endif
This page took 0.12849 seconds and 4 git commands to generate.