]>
Commit | Line | Data |
---|---|---|
2ed4d46e | 1 | # TODO: -devel and Qt*Declarative-* packages conflict with gstreamer0.10 equivalents |
ba518b99 JB |
2 | # |
3 | # Conditional build: | |
4 | %bcond_without qt4 # Qt 4 libraries | |
5 | %bcond_without qt5 # Qt 5 libraries | |
6 | # | |
7 | Summary: QtGStreamer - libraries integrating Qt 4 with GStreamer | |
8 | Summary(pl.UTF-8): QtGStreamer - biblioteki integrujące Qt 4 z GStreamerem | |
3b311080 | 9 | Name: qt-gstreamer |
93d46f34 | 10 | Version: 1.2.0 |
3b311080 JB |
11 | Release: 1 |
12 | License: LGPL v2+ | |
13 | Group: Libraries | |
2ed4d46e | 14 | Source0: http://gstreamer.freedesktop.org/src/qt-gstreamer/%{name}-%{version}.tar.xz |
93d46f34 | 15 | # Source0-md5: fd794045a828c184acc1794b08a463fd |
0ffada70 | 16 | Patch0: boost-moc.patch |
3b311080 | 17 | URL: http://gstreamer.net/ |
a8f475c6 | 18 | BuildRequires: OpenGL-devel |
3b311080 | 19 | BuildRequires: bison |
f6eae54a | 20 | BuildRequires: boost-devel >= 1.39 |
40f731f5 | 21 | BuildRequires: cmake >= 2.8.9 |
2ed4d46e | 22 | BuildRequires: doxygen |
3b311080 | 23 | BuildRequires: flex |
a8f475c6 | 24 | BuildRequires: glib2-devel >= 2.0 |
2ed4d46e JB |
25 | BuildRequires: gstreamer-devel >= 1.0.0 |
26 | BuildRequires: gstreamer-plugins-base-devel >= 1.0.0 | |
3b311080 JB |
27 | BuildRequires: libstdc++-devel >= 6:4.5 |
28 | BuildRequires: pkgconfig | |
2ed4d46e JB |
29 | BuildRequires: tar >= 1:1.22 |
30 | BuildRequires: xz | |
ba518b99 JB |
31 | %if %{with qt4} |
32 | BuildRequires: QtCore-devel >= 4.7 | |
33 | BuildRequires: QtDeclarative-devel >= 4.7 | |
34 | BuildRequires: QtGui-devel >= 4.7 | |
35 | BuildRequires: QtOpenGL-devel >= 4.7 | |
36 | BuildRequires: QtTest-devel >= 4.7 | |
a8f475c6 | 37 | BuildRequires: qt4-qmake >= 4.7 |
ba518b99 JB |
38 | %endif |
39 | %if %{with qt5} | |
40 | BuildRequires: Qt5Core-devel >= 5.0.0 | |
d431bec6 | 41 | BuildRequires: Qt5Declarative-devel >= 5.0.0 |
ba518b99 JB |
42 | BuildRequires: Qt5Gui-devel >= 5.0.0 |
43 | BuildRequires: Qt5OpenGL-devel >= 5.0.0 | |
2ed4d46e JB |
44 | BuildRequires: Qt5Qml-devel >= 5.0.0 |
45 | BuildRequires: Qt5Quick-devel >= 5.0.0 | |
ba518b99 JB |
46 | BuildRequires: Qt5Widgets-devel >= 5.0.0 |
47 | BuildRequires: Qt5Test-devel >= 5.0.0 | |
48 | BuildRequires: qt5-qmake >= 5.0.0 | |
49 | %endif | |
a8f475c6 JB |
50 | Requires: QtCore >= 4.7 |
51 | Requires: QtGui >= 4.7 | |
52 | Requires: QtOpenGL >= 4.7 | |
2ed4d46e JB |
53 | Requires: gstreamer >= 1.0.0 |
54 | Requires: gstreamer-plugins-base >= 1.0.0 | |
3b311080 JB |
55 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
56 | ||
57 | %description | |
58 | QtGStreamer is a set of libraries and plugins providing C++ bindings | |
59 | for GStreamer with a Qt-style API plus some helper classes for | |
ba518b99 | 60 | integrating GStreamer better in Qt 4 applications. |
3b311080 JB |
61 | |
62 | Currently, it consists of the following parts: | |
ba518b99 | 63 | * QtGLib - library providing C++/Qt 4 bindings for parts of the GLib |
3b311080 | 64 | and GObject APIs, a base on which QtGStreamer is built. |
ba518b99 | 65 | * QtGStreamer - library providing C++/Qt 4 bindings for GStreamer |
3b311080 JB |
66 | * QtGStreamerUi - library providing integration with QtGui; |
67 | currently, it only provides a video widget that embeds GStreamer's | |
68 | video sinks. | |
f6eae54a JB |
69 | * QtGStreamerUtils - library providing some high level utility |
70 | classes. | |
3b311080 JB |
71 | |
72 | In addition, it provides a "qwidgetvideosink" GStreamer element, an | |
73 | video sink element that can draw directly on QWidgets using QPainter. | |
74 | ||
75 | %description -l pl.UTF-8 | |
76 | QtGStreamer to zestaw bibliotek i wtyczek z wiązaniami C++ do | |
77 | GStreamera o API w stylu Qt oraz klasami pomocniczymi dla lepszej | |
ba518b99 | 78 | integracji GStreamera w aplikacjach Qt 4. |
3b311080 JB |
79 | |
80 | Obecnie zawiera następujące części: | |
ba518b99 | 81 | - QtGLib - biblioteka z wiązaniami C++/Qt 4 dla części API bibliotek |
3b311080 | 82 | GLib i GObject; w oparciu o nią zbudowany jest QtGStreamer |
ba518b99 | 83 | - QtGStreamer - biblioteka z wiązaniami C++/Qt 4 do GStreamera |
3b311080 JB |
84 | - QtGStreamerUi - biblioteka integrująca z QtGui; obecnie zawiera |
85 | tylko widget wideo osadzający wyjście obrazu (videosink) GStremera. | |
f6eae54a JB |
86 | - QtGStreamerUtils - biblioteka udostępniająca klasy narzędziowe |
87 | wysokiego poziomu. | |
3b311080 JB |
88 | |
89 | Ponadto pakiet udostępnia element GStreamera "qwidgetvideosink" - | |
90 | element wyjściowy obrazu rysujący bezpośrednio na QWidgetach przy | |
91 | użyciu QPaintera. | |
92 | ||
3b311080 JB |
93 | %package devel |
94 | Summary: Header files for QtGStreamer libraries | |
95 | Summary(pl.UTF-8): Pliki nagłówkowe bibliotek QtGStreamer | |
96 | Group: Development/Libraries | |
97 | Requires: %{name} = %{version}-%{release} | |
a8f475c6 JB |
98 | Requires: QtCore-devel >= 4.7 |
99 | Requires: QtGui-devel >= 4.7 | |
2ed4d46e JB |
100 | Requires: gstreamer-devel >= 1.0.0 |
101 | Requires: gstreamer-plugins-base-devel >= 1.0.0 | |
3b311080 JB |
102 | |
103 | %description devel | |
104 | Header files for QtGStreamer libraries. | |
105 | ||
106 | %description devel -l pl.UTF-8 | |
107 | Pliki nagłówkowe bibliotek QtGStreamer. | |
108 | ||
a8f475c6 JB |
109 | %package -n QtDeclarative-plugin-gstreamer |
110 | Summary: Qt GStreamer plugin for QtDeclarative | |
111 | Summary(pl.UTF-8): Wtyczka Qt GStreamer dla QtDeclarative | |
112 | Group: Libraries | |
113 | Requires: %{name} = %{version}-%{release} | |
114 | Requires: QtDeclarative >= 4.7 | |
115 | ||
116 | %description -n QtDeclarative-plugin-gstreamer | |
117 | Qt GStreamer plugin for QtDeclarative. | |
118 | ||
119 | %description -n QtDeclarative-plugin-gstreamer -l pl.UTF-8 | |
120 | Wtyczka Qt GStreamer dla QtDeclarative. | |
121 | ||
ba518b99 JB |
122 | %package -n qt5-gstreamer |
123 | Summary: Qt5GStreamer - libraries integrating Qt 5 with GStreamer | |
124 | Summary(pl.UTF-8): Qt5GStreamer - biblioteki integrujące Qt 5 z GStreamerem | |
125 | Group: Libraries | |
126 | Requires: Qt5Core >= 5.0.0 | |
127 | Requires: Qt5Gui >= 5.0.0 | |
128 | Requires: Qt5OpenGL >= 5.0.0 | |
2ed4d46e JB |
129 | Requires: Qt5Quick >= 5.0.0 |
130 | Requires: Qt5Widgets >= 5.0.0 | |
131 | Requires: gstreamer >= 1.0.0 | |
132 | Requires: gstreamer-plugins-base >= 1.0.0 | |
ba518b99 JB |
133 | |
134 | %description -n qt5-gstreamer | |
135 | Qt5GStreamer is a set of libraries and plugins providing C++ bindings | |
136 | for GStreamer with a Qt-style API plus some helper classes for | |
137 | integrating GStreamer better in Qt 5 applications. | |
138 | ||
139 | Currently, it consists of the following parts: | |
140 | * Qt5GLib - library providing C++/Qt 5 bindings for parts of the GLib | |
141 | and GObject APIs, a base on which Qt5GStreamer is built. | |
142 | * Qt5GStreamer - library providing C++/Qt 5 bindings for GStreamer | |
143 | * Qt5GStreamerUi - library providing integration with Qt5Gui; | |
144 | currently, it only provides a video widget that embeds GStreamer's | |
145 | video sinks. | |
146 | * Qt5GStreamerUtils - library providing some high level utility | |
147 | classes. | |
148 | ||
149 | In addition, it provides a "qwidgetvideosink" GStreamer element, an | |
150 | video sink element that can draw directly on QWidgets using QPainter. | |
151 | ||
152 | %description -n qt5-gstreamer -l pl.UTF-8 | |
153 | Qt5GStreamer to zestaw bibliotek i wtyczek z wiązaniami C++ do | |
154 | GStreamera o API w stylu Qt oraz klasami pomocniczymi dla lepszej | |
155 | integracji GStreamera w aplikacjach Qt 5. | |
156 | ||
157 | Obecnie zawiera następujące części: | |
158 | - Qt5GLib - biblioteka z wiązaniami C++/Qt 5 dla części API bibliotek | |
159 | GLib i GObject; w oparciu o nią zbudowany jest QtGStreamer | |
160 | - Qt5GStreamer - biblioteka z wiązaniami C++/Qt 5 do GStreamera | |
161 | - Qt5GStreamerUi - biblioteka integrująca z Qt5Gui; obecnie zawiera | |
162 | tylko widget wideo osadzający wyjście obrazu (videosink) GStremera. | |
163 | - QtGStreamerUtils - biblioteka udostępniająca klasy narzędziowe | |
164 | wysokiego poziomu. | |
165 | ||
166 | Ponadto pakiet udostępnia element GStreamera "qwidgetvideosink" - | |
167 | element wyjściowy obrazu rysujący bezpośrednio na QWidgetach przy | |
168 | użyciu QPaintera. | |
169 | ||
170 | %package -n qt5-gstreamer-devel | |
171 | Summary: Header files for Qt5GStreamer libraries | |
172 | Summary(pl.UTF-8): Pliki nagłówkowe bibliotek QtGStreamer | |
173 | Group: Development/Libraries | |
174 | Requires: %{name} = %{version}-%{release} | |
175 | Requires: Qt5Core-devel >= 5.0.0 | |
176 | Requires: Qt5Gui-devel >= 5.0.0 | |
2ed4d46e JB |
177 | Requires: Qt5Quick-devel >= 5.0.0 |
178 | Requires: Qt5Widgets-devel >= 5.0.0 | |
179 | Requires: gstreamer-devel >= 1.0.0 | |
180 | Requires: gstreamer-plugins-base-devel >= 1.0.0 | |
ba518b99 JB |
181 | |
182 | %description -n qt5-gstreamer-devel | |
183 | Header files for Qt5GStreamer libraries. | |
184 | ||
185 | %description -n qt5-gstreamer-devel -l pl.UTF-8 | |
186 | Pliki nagłówkowe bibliotek Qt5GStreamer. | |
187 | ||
d431bec6 | 188 | %package -n Qt5Declarative-plugin-gstreamer |
2ed4d46e JB |
189 | Summary: Qt GStreamer plugin for Qt5Declarative (Quick1) |
190 | Summary(pl.UTF-8): Wtyczka Qt GStreamer dla Qt5Declarative (Quick1) | |
d431bec6 JB |
191 | Group: Libraries |
192 | Requires: %{name} = %{version}-%{release} | |
193 | Requires: Qt5Declarative >= 5.0.0 | |
194 | ||
195 | %description -n Qt5Declarative-plugin-gstreamer | |
2ed4d46e | 196 | Qt GStreamer plugin for Qt5Declarative (Quick1). |
d431bec6 JB |
197 | |
198 | %description -n Qt5Declarative-plugin-gstreamer -l pl.UTF-8 | |
2ed4d46e JB |
199 | Wtyczka Qt GStreamer dla Qt5Declarative (Quick1). |
200 | ||
201 | %package -n Qt5Qml-plugin-gstreamer | |
202 | Summary: Qt GStreamer plugin for Qt5Qml (Quick2) | |
203 | Summary(pl.UTF-8): Wtyczka Qt GStreamer dla Qt5Qml (Quick2) | |
204 | Group: Libraries | |
205 | Requires: %{name} = %{version}-%{release} | |
206 | Requires: Qt5Qml >= 5.0.0 | |
207 | Requires: Qt5Quick >= 5.0.0 | |
208 | ||
209 | %description -n Qt5Qml-plugin-gstreamer | |
210 | Qt GStreamer plugin for Qt5Qml (Quick2). | |
211 | ||
212 | %description -n Qt5Qml-plugin-gstreamer -l pl.UTF-8 | |
213 | Wtyczka Qt GStreamer dla Qt5Qml (Quick2). | |
d431bec6 | 214 | |
3b311080 JB |
215 | %prep |
216 | %setup -q | |
0ffada70 | 217 | %patch0 -p1 |
3b311080 JB |
218 | |
219 | %build | |
ba518b99 JB |
220 | %if %{with qt4} |
221 | install -d build-qt4 | |
222 | cd build-qt4 | |
3b311080 JB |
223 | %cmake .. \ |
224 | -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ | |
225 | -DQTGSTREAMER_EXAMPLES=OFF \ | |
226 | -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4 | |
ba518b99 JB |
227 | %{__make} |
228 | cd .. | |
229 | %endif | |
3b311080 | 230 | |
ba518b99 JB |
231 | %if %{with qt5} |
232 | install -d build-qt5 | |
233 | cd build-qt5 | |
234 | %cmake .. \ | |
235 | -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ | |
236 | -DQTGSTREAMER_EXAMPLES=OFF \ | |
237 | -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt5 \ | |
238 | -DQT_VERSION=5 | |
3b311080 | 239 | %{__make} |
ba518b99 JB |
240 | cd .. |
241 | %endif | |
3b311080 JB |
242 | |
243 | %install | |
244 | rm -rf $RPM_BUILD_ROOT | |
245 | ||
ba518b99 JB |
246 | %if %{with qt4} |
247 | %{__make} -C build-qt4 install \ | |
248 | DESTDIR=$RPM_BUILD_ROOT | |
249 | %endif | |
250 | ||
251 | %if %{with qt5} | |
252 | %{__make} -C build-qt5 install \ | |
3b311080 | 253 | DESTDIR=$RPM_BUILD_ROOT |
ba518b99 | 254 | %endif |
3b311080 JB |
255 | |
256 | %clean | |
257 | rm -rf $RPM_BUILD_ROOT | |
258 | ||
259 | %post -p /sbin/ldconfig | |
260 | %postun -p /sbin/ldconfig | |
261 | ||
ba518b99 JB |
262 | %post -n qt5-gstreamer -p /sbin/ldconfig |
263 | %postun -n qt5-gstreamer -p /sbin/ldconfig | |
264 | ||
265 | %if %{with qt4} | |
3b311080 JB |
266 | %files |
267 | %defattr(644,root,root,755) | |
a8f475c6 | 268 | %doc NEWS README |
3b311080 JB |
269 | %attr(755,root,root) %{_libdir}/libQtGLib-2.0.so.*.*.* |
270 | %attr(755,root,root) %ghost %{_libdir}/libQtGLib-2.0.so.0 | |
2ed4d46e JB |
271 | %attr(755,root,root) %{_libdir}/libQtGStreamer-1.0.so.*.*.* |
272 | %attr(755,root,root) %ghost %{_libdir}/libQtGStreamer-1.0.so.0 | |
273 | %attr(755,root,root) %{_libdir}/libQtGStreamerUi-1.0.so.*.*.* | |
274 | %attr(755,root,root) %ghost %{_libdir}/libQtGStreamerUi-1.0.so.0 | |
275 | %attr(755,root,root) %{_libdir}/libQtGStreamerUtils-1.0.so.*.*.* | |
276 | %attr(755,root,root) %ghost %{_libdir}/libQtGStreamerUtils-1.0.so.0 | |
277 | %attr(755,root,root) %{_libdir}/gstreamer-1.0/libgstqtvideosink.so | |
3b311080 JB |
278 | |
279 | %files devel | |
280 | %defattr(644,root,root,755) | |
281 | %attr(755,root,root) %{_libdir}/libQtGLib-2.0.so | |
2ed4d46e JB |
282 | %attr(755,root,root) %{_libdir}/libQtGStreamer-1.0.so |
283 | %attr(755,root,root) %{_libdir}/libQtGStreamerUi-1.0.so | |
284 | %attr(755,root,root) %{_libdir}/libQtGStreamerUtils-1.0.so | |
3b311080 JB |
285 | %{_includedir}/QtGStreamer |
286 | %{_pkgconfigdir}/QtGLib-2.0.pc | |
2ed4d46e JB |
287 | %{_pkgconfigdir}/QtGStreamer-1.0.pc |
288 | %{_pkgconfigdir}/QtGStreamerUi-1.0.pc | |
289 | %{_pkgconfigdir}/QtGStreamerUtils-1.0.pc | |
40f731f5 | 290 | %{_libdir}/cmake/QtGStreamer |
a8f475c6 JB |
291 | |
292 | %files -n QtDeclarative-plugin-gstreamer | |
293 | %defattr(644,root,root,755) | |
294 | %dir %{_libdir}/qt4/imports/QtGStreamer | |
40f731f5 | 295 | %attr(755,root,root) %{_libdir}/qt4/imports/QtGStreamer/libQtGStreamerQuick1.so |
a8f475c6 | 296 | %{_libdir}/qt4/imports/QtGStreamer/qmldir |
ba518b99 JB |
297 | %endif |
298 | ||
299 | %if %{with qt5} | |
300 | %files -n qt5-gstreamer | |
301 | %defattr(644,root,root,755) | |
302 | %doc NEWS README | |
303 | %attr(755,root,root) %{_libdir}/libQt5GLib-2.0.so.*.*.* | |
304 | %attr(755,root,root) %ghost %{_libdir}/libQt5GLib-2.0.so.0 | |
2ed4d46e JB |
305 | %attr(755,root,root) %{_libdir}/libQt5GStreamer-1.0.so.*.*.* |
306 | %attr(755,root,root) %ghost %{_libdir}/libQt5GStreamer-1.0.so.0 | |
307 | %attr(755,root,root) %{_libdir}/libQt5GStreamerQuick-1.0.so.*.*.* | |
308 | %attr(755,root,root) %ghost %{_libdir}/libQt5GStreamerQuick-1.0.so.0 | |
309 | %attr(755,root,root) %{_libdir}/libQt5GStreamerUi-1.0.so.*.*.* | |
310 | %attr(755,root,root) %ghost %{_libdir}/libQt5GStreamerUi-1.0.so.0 | |
311 | %attr(755,root,root) %{_libdir}/libQt5GStreamerUtils-1.0.so.*.*.* | |
312 | %attr(755,root,root) %ghost %{_libdir}/libQt5GStreamerUtils-1.0.so.0 | |
313 | %attr(755,root,root) %{_libdir}/gstreamer-1.0/libgstqt5videosink.so | |
ba518b99 JB |
314 | |
315 | %files -n qt5-gstreamer-devel | |
316 | %defattr(644,root,root,755) | |
317 | %attr(755,root,root) %{_libdir}/libQt5GLib-2.0.so | |
2ed4d46e JB |
318 | %attr(755,root,root) %{_libdir}/libQt5GStreamer-1.0.so |
319 | %attr(755,root,root) %{_libdir}/libQt5GStreamerQuick-1.0.so | |
320 | %attr(755,root,root) %{_libdir}/libQt5GStreamerUi-1.0.so | |
321 | %attr(755,root,root) %{_libdir}/libQt5GStreamerUtils-1.0.so | |
ba518b99 JB |
322 | %{_includedir}/Qt5GStreamer |
323 | %{_pkgconfigdir}/Qt5GLib-2.0.pc | |
2ed4d46e JB |
324 | %{_pkgconfigdir}/Qt5GStreamer-1.0.pc |
325 | %{_pkgconfigdir}/Qt5GStreamerQuick-1.0.pc | |
326 | %{_pkgconfigdir}/Qt5GStreamerUi-1.0.pc | |
327 | %{_pkgconfigdir}/Qt5GStreamerUtils-1.0.pc | |
ba518b99 | 328 | %{_libdir}/cmake/Qt5GStreamer |
d431bec6 JB |
329 | |
330 | %files -n Qt5Declarative-plugin-gstreamer | |
331 | %defattr(644,root,root,755) | |
332 | %dir %{_libdir}/qt5/imports/QtGStreamer | |
333 | %attr(755,root,root) %{_libdir}/qt5/imports/QtGStreamer/libQtGStreamerQuick1.so | |
334 | %{_libdir}/qt5/imports/QtGStreamer/qmldir | |
2ed4d46e JB |
335 | |
336 | %files -n Qt5Qml-plugin-gstreamer | |
337 | %defattr(644,root,root,755) | |
338 | %dir %{_libdir}/qt5/qml/QtGStreamer | |
339 | %attr(755,root,root) %{_libdir}/qt5/qml/QtGStreamer/libQtGStreamerQuick2.so | |
340 | %{_libdir}/qt5/qml/QtGStreamer/qmldir | |
ba518b99 | 341 | %endif |