2 # - brcm_egl, libhybris_egl_server
5 %bcond_without doc # Build documentation
6 %bcond_without qtcompositor # QtCompositor API
8 %define orgname qtwayland
9 %define qtbase_ver %{version}
10 %define qtdeclarative_ver %{version}
11 %define qttools_ver %{version}
12 Summary: The Qt5 Wayland libraries
13 Summary(pl.UTF-8): Biblioteki Qt5 Wayland
17 License: LGPL v3 or GPL v2 or GPL v3 or commercial
19 Source0: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz
20 # Source0-md5: 26577fbbe0d011b7034bca3c64bc38ae
21 Patch0: %{name}-revert-QTBUG-83303.patch
22 URL: https://www.qt.io/
23 BuildRequires: EGL-devel
24 BuildRequires: OpenGL-GLX-devel
25 BuildRequires: Qt5AccessibilitySupport-devel >= %{qtbase_ver}
26 BuildRequires: Qt5Core-devel >= %{qtbase_ver}
27 BuildRequires: Qt5EglSupport-devel >= %{qtbase_ver}
28 BuildRequires: Qt5EventDispatcherSupport-devel >= %{qtbase_ver}
29 BuildRequires: Qt5FontDatabaseSupport-devel >= %{qtbase_ver}
30 BuildRequires: Qt5GlxSupport-devel >= %{qtbase_ver}
31 BuildRequires: Qt5Gui-devel >= %{qtbase_ver}
32 BuildRequires: Qt5PlatformCompositorSupport-devel >= %{qtbase_ver}
33 BuildRequires: Qt5ServiceSupport-devel >= %{qtbase_ver}
34 BuildRequires: Qt5ThemeSupport-devel >= %{qtbase_ver}
35 BuildRequires: Qt5VulkanSupport-devel >= %{qtbase_ver}
36 BuildRequires: Qt5XkbCommonSupport-devel >= %{qtbase_ver}
37 BuildRequires: libdrm-devel
38 BuildRequires: pkgconfig
40 BuildRequires: qt5-assistant >= %{qttools_ver}
42 BuildRequires: qt5-build >= %{qtbase_ver}
43 BuildRequires: qt5-qmake >= %{qtbase_ver}
44 BuildRequires: rpmbuild(macros) >= 1.752
45 BuildRequires: tar >= 1:1.22
46 BuildRequires: wayland-devel >= 1.4.0
47 BuildRequires: wayland-egl-devel
48 BuildRequires: xorg-lib-libX11-devel
49 BuildRequires: xorg-lib-libXcomposite-devel
50 BuildRequires: xorg-lib-libxkbcommon-devel >= 0.2.0
52 %if %{with qtcompositor}
53 BuildRequires: Qt5Qml-devel >= %{qtdeclarative_ver}
54 BuildRequires: Qt5Quick-devel >= %{qtdeclarative_ver}
56 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58 %define specflags -fno-strict-aliasing
59 %define qt5dir %{_libdir}/qt5
62 Qt is a cross-platform application and UI framework. Using Qt, you can
63 write web-enabled applications once and deploy them across desktop,
64 mobile and embedded systems without rewriting the source code.
66 This package contains Qt5 Wayland libraries.
68 %description -l pl.UTF-8
69 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
70 Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w
71 systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
74 Ten pakiet zawiera biblioteki Qt5 Wayland.
76 %package -n Qt5WaylandCompositor
77 Summary: The Qt5 WaylandCompositor library
78 Summary(pl.UTF-8): Biblioteka Qt5 WaylandCompositor
80 Requires: Qt5Core >= %{qtbase_ver}
81 Requires: Qt5Gui >= %{qtbase_ver}
82 Requires: Qt5Qml >= %{qtdeclarative_ver}
83 Requires: Qt5Quick >= %{qtdeclarative_ver}
84 Requires: wayland >= 1.4.0
85 Requires: xorg-lib-libxkbcommon >= 0.2.0
86 Obsoletes: Qt5Compositor < 5.8.0
88 %description -n Qt5WaylandCompositor
89 Qt5 WaylandCompositor library enables the creation of Wayland
90 compositors using Qt and QtQuick.
92 %description -n Qt5WaylandCompositor -l pl.UTF-8
93 Biblioteka Qt5 WaylandCompositor pozwala na tworzenie kompozytorów
94 Wayland przy użyciu bibliotek Qt i QtQuick.
96 %package -n Qt5WaylandCompositor-devel
97 Summary: Qt5 WaylandCompositor library - development files
98 Summary(pl.UTF-8): Biblioteka Qt5 WaylandCompositor - pliki programistyczne
99 Group: Development/Libraries
100 Requires: OpenGL-devel
101 Requires: Qt5WaylandCompositor = %{version}-%{release}
102 Requires: Qt5Core-devel >= %{qtbase_ver}
103 Requires: Qt5Gui-devel >= %{qtbase_ver}
104 Requires: Qt5Network-devel >= %{qtbase_ver}
105 Requires: Qt5Qml-devel >= %{qtdeclarative_ver}
106 Requires: Qt5Quick-devel >= %{qtdeclarative_ver}
107 Requires: wayland-devel >= 1.4.0
108 Requires: xorg-lib-libxkbcommon-devel >= 0.2.0
109 Obsoletes: Qt5Compositor-devel < 5.8.0
111 %description -n Qt5WaylandCompositor-devel
112 Qt5 WaylandCompositor library - development files.
114 %description -n Qt5WaylandCompositor-devel -l pl.UTF-8
115 Biblioteka Qt5 WaylandCompositor - pliki programistyczne.
117 %package -n Qt5WaylandClient
118 Summary: The Qt5 WaylandClient library
119 Summary(pl.UTF-8): Biblioteka Qt5 WaylandClient
121 Requires: Qt5Core >= %{qtbase_ver}
122 Requires: Qt5DBus >= %{qtbase_ver}
123 Requires: Qt5Gui >= %{qtbase_ver}
124 Requires: wayland >= 1.4.0
125 Requires: xorg-lib-libxkbcommon >= 0.2.0
127 %description -n Qt5WaylandClient
128 Qt5 WaylandClient library enables Qt applications to be run as Wayland
131 %description -n Qt5WaylandClient -l pl.UTF-8
132 Biblioteka Qt5 WaylandClient pozwala na uruchamianie aplikacji Qt jako
135 %package -n Qt5WaylandClient-devel
136 Summary: Qt5 WaylandClient library - development files
137 Summary(pl.UTF-8): Biblioteka Qt5 WaylandClient - pliki programistyczne
138 Group: Development/Libraries
139 Requires: Qt5Core-devel >= %{qtbase_ver}
140 Requires: Qt5DBus-devel >= %{qtbase_ver}
141 Requires: Qt5Gui-devel >= %{qtbase_ver}
142 Requires: Qt5PlatformCompositorSupport-devel >= %{qtbase_ver}
143 Requires: Qt5WaylandClient = %{version}-%{release}
144 Requires: wayland-devel >= 1.4.0
145 Requires: xorg-lib-libxkbcommon-devel >= 0.2.0
147 %description -n Qt5WaylandClient-devel
148 Qt5 WaylandClient library - development files.
150 %description -n Qt5WaylandClient-devel -l pl.UTF-8
151 Biblioteka Qt5 WaylandClient - pliki programistyczne.
154 Summary: Qt5 Wayland documentation in HTML format
155 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Wayland w formacie HTML
157 Requires: qt5-doc-common >= %{qtbase_ver}
161 Qt5 Wayland documentation in HTML format.
163 %description doc -l pl.UTF-8
164 Dokumentacja do bibliotek Qt5 Wayland w formacie HTML.
167 Summary: Qt5 Wayland documentation in QCH format
168 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Wayland w formacie QCH
170 Requires: qt5-doc-common >= %{qtbase_ver}
174 Qt5 Wayland documentation in QCH format.
176 %description doc-qch -l pl.UTF-8
177 Dokumentacja do bibliotek Qt5 Wayland w formacie QCH.
180 Summary: Qt5 Wayland examples
181 Summary(pl.UTF-8): Przykłady do bibliotek Qt5 Wayland
182 Group: X11/Development/Libraries
185 %description examples
186 Qt5 Wayland examples.
188 %description examples -l pl.UTF-8
189 Przykłady do bibliotek Qt5 Wayland.
192 %setup -q -n %{orgname}-everywhere-src-%{version}
197 %{?with_qtcompositor:CONFIG+=wayland-compositor}
199 %{?with_doc:%{__make} docs}
202 rm -rf $RPM_BUILD_ROOT
205 INSTALL_ROOT=$RPM_BUILD_ROOT
208 %{__make} install_docs \
209 INSTALL_ROOT=$RPM_BUILD_ROOT
213 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.??
214 # actually drop *.la, follow policy of not packaging them when *.pc exist
215 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
217 # Prepare some files list
219 r="$RPM_BUILD_ROOT$2"
221 echo "%%dir $2" >> $1.files
222 elif [ -x "$r" ] ; then
223 echo "%%attr(755,root,root) $2" >> $1.files
224 elif [ -f "$r" ]; then
225 echo "$2" >> $1.files
227 echo "Error generation $1 files list!"
228 echo "$r: no such file or directory!"
234 for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
239 # examples present only for QtCompositor (as of 5.5.1)
240 %if %{with qtcompositor}
241 echo "%defattr(644,root,root,755)" > examples.files
242 ifecho_tree examples %{_examplesdir}/qt5/wayland
246 rm -rf $RPM_BUILD_ROOT
248 %post -n Qt5WaylandCompositor -p /sbin/ldconfig
249 %postun -n Qt5WaylandCompositor -p /sbin/ldconfig
251 %post -n Qt5WaylandClient -p /sbin/ldconfig
252 %postun -n Qt5WaylandClient -p /sbin/ldconfig
254 %if %{with qtcompositor}
255 %files -n Qt5WaylandCompositor
256 %defattr(644,root,root,755)
257 %attr(755,root,root) %{_libdir}/libQt5WaylandCompositor.so.*.*.*
258 %attr(755,root,root) %ghost %{_libdir}/libQt5WaylandCompositor.so.5
259 %dir %{qt5dir}/plugins/wayland-graphics-integration-server
260 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-dmabuf-server-buffer.so
261 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-drm-egl-server-buffer.so
262 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-linux-dmabuf-unstable-v1.so
263 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-shm-emulation-server.so
264 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-vulkan-server.so
265 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-wayland-egl.so
266 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-wayland-eglstream-controller.so
267 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-xcomposite-egl.so
268 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-xcomposite-glx.so
269 # dir shared Qt5WaylandClient
270 %dir %{qt5dir}/qml/QtWayland
271 %dir %{qt5dir}/qml/QtWayland/Compositor
272 %attr(755,root,root) %{qt5dir}/qml/QtWayland/Compositor/libqwaylandcompositorplugin.so
273 %{qt5dir}/qml/QtWayland/Compositor/plugins.qmltypes
274 %{qt5dir}/qml/QtWayland/Compositor/qmldir
275 %dir %{qt5dir}/qml/QtWayland/Compositor/TextureSharingExtension
276 %attr(755,root,root) %{qt5dir}/qml/QtWayland/Compositor/TextureSharingExtension/libqwaylandtexturesharingextension.so
277 %{qt5dir}/qml/QtWayland/Compositor/TextureSharingExtension/qmldir
279 %files -n Qt5WaylandCompositor-devel
280 %defattr(644,root,root,755)
281 %attr(755,root,root) %{_libdir}/libQt5WaylandCompositor.so
282 %{_libdir}/libQt5WaylandCompositor.prl
283 %{_includedir}/qt5/QtWaylandCompositor
284 %{_pkgconfigdir}/Qt5WaylandCompositor.pc
285 %{_libdir}/cmake/Qt5Gui/Qt5Gui_QWaylandXCompositeEglPlatformIntegrationPlugin.cmake
286 %{_libdir}/cmake/Qt5Gui/Qt5Gui_QWaylandXCompositeGlxPlatformIntegrationPlugin.cmake
287 %{_libdir}/cmake/Qt5WaylandCompositor
288 %{qt5dir}/mkspecs/modules/qt_lib_waylandcompositor.pri
289 %{qt5dir}/mkspecs/modules/qt_lib_waylandcompositor_private.pri
292 %files -n Qt5WaylandClient
293 %defattr(644,root,root,755)
294 %doc LICENSE.GPL3-EXCEPT README dist/changes-*
295 %attr(755,root,root) %{_libdir}/libQt5WaylandClient.so.*.*.*
296 %attr(755,root,root) %ghost %{_libdir}/libQt5WaylandClient.so.5
297 %attr(755,root,root) %{qt5dir}/bin/qtwaylandscanner
298 %attr(755,root,root) %{qt5dir}/plugins/platforms/libqwayland-egl.so
299 %attr(755,root,root) %{qt5dir}/plugins/platforms/libqwayland-generic.so
300 %attr(755,root,root) %{qt5dir}/plugins/platforms/libqwayland-xcomposite-egl.so
301 %attr(755,root,root) %{qt5dir}/plugins/platforms/libqwayland-xcomposite-glx.so
302 %dir %{qt5dir}/plugins/wayland-decoration-client
303 %attr(755,root,root) %{qt5dir}/plugins/wayland-decoration-client/libbradient.so
304 %dir %{qt5dir}/plugins/wayland-graphics-integration-client
305 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libdmabuf-server.so
306 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libdrm-egl-server.so
307 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libqt-plugin-wayland-egl.so
308 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libshm-emulation-server.so
309 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libvulkan-server.so
310 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libxcomposite-egl.so
311 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libxcomposite-glx.so
312 %dir %{qt5dir}/plugins/wayland-shell-integration
313 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libfullscreen-shell-v1.so
314 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libivi-shell.so
315 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libwl-shell.so
316 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libxdg-shell.so
317 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libxdg-shell-v5.so
318 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libxdg-shell-v6.so
319 # dir shared Qt5WaylandCompositor
320 %dir %{qt5dir}/qml/QtWayland
321 %dir %{qt5dir}/qml/QtWayland/Client
322 %dir %{qt5dir}/qml/QtWayland/Client/TextureSharing
323 %attr(755,root,root) %{qt5dir}/qml/QtWayland/Client/TextureSharing/libqwaylandtexturesharing.so
324 %{qt5dir}/qml/QtWayland/Client/TextureSharing/qmldir
326 %files -n Qt5WaylandClient-devel
327 %defattr(644,root,root,755)
328 %attr(755,root,root) %{_libdir}/libQt5WaylandClient.so
329 %{_libdir}/libQt5WaylandClient.prl
330 %{_includedir}/qt5/QtWaylandClient
331 %{_pkgconfigdir}/Qt5WaylandClient.pc
332 %{_libdir}/cmake/Qt5Gui/Qt5Gui_QWaylandEglPlatformIntegrationPlugin.cmake
333 %{_libdir}/cmake/Qt5Gui/Qt5Gui_QWaylandIntegrationPlugin.cmake
334 %{_libdir}/cmake/Qt5WaylandClient
335 %{qt5dir}/mkspecs/modules/qt_lib_waylandclient.pri
336 %{qt5dir}/mkspecs/modules/qt_lib_waylandclient_private.pri
340 %defattr(644,root,root,755)
341 %{_docdir}/qt5-doc/qtwaylandcompositor
344 %defattr(644,root,root,755)
345 %{_docdir}/qt5-doc/qtwaylandcompositor.qch
348 %if %{with qtcompositor}
349 %files examples -f examples.files
350 %defattr(644,root,root,755)
351 # XXX: dir shared with qt5-qtbase-examples
352 %dir %{_examplesdir}/qt5