X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=qt-gstreamer.spec;h=55abe4797dbcdd357ad07c107bd0297420454b20;hb=0ffada7;hp=71984c06607deef51ef1b5f12f7c5b29cfa2258d;hpb=3b311080931bf688ec8473513e5ae5c4655ea7af;p=packages%2Fqt-gstreamer.git diff --git a/qt-gstreamer.spec b/qt-gstreamer.spec index 71984c0..55abe47 100644 --- a/qt-gstreamer.spec +++ b/qt-gstreamer.spec @@ -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 4 applications. Currently, it consists of the following parts: - * QtGLib - library providing C++/Qt bindings for parts of the GLib + * QtGLib - library providing C++/Qt 4 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 4 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 4 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 4 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