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: https://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-opensource-src-%{version}.tar.xz
20 # Source0-md5: 307aa7b48e2d5378167873cedb486298
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: rpm-build >= 4.6
45 BuildRequires: rpmbuild(macros) >= 2.016
46 BuildRequires: tar >= 1:1.22
47 BuildRequires: wayland-devel >= 1.4.0
48 BuildRequires: wayland-egl-devel
49 BuildRequires: xorg-lib-libX11-devel
50 BuildRequires: xorg-lib-libXcomposite-devel
51 BuildRequires: xorg-lib-libxkbcommon-devel >= 0.2.0
53 %if %{with qtcompositor}
54 BuildRequires: Qt5Qml-devel >= %{qtdeclarative_ver}
55 BuildRequires: Qt5Quick-devel >= %{qtdeclarative_ver}
57 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59 %define specflags -fno-strict-aliasing
60 %define qt5dir %{_libdir}/qt5
63 Qt is a cross-platform application and UI framework. Using Qt, you can
64 write web-enabled applications once and deploy them across desktop,
65 mobile and embedded systems without rewriting the source code.
67 This package contains Qt5 Wayland libraries.
69 %description -l pl.UTF-8
70 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
71 Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w
72 systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
75 Ten pakiet zawiera biblioteki Qt5 Wayland.
77 %package -n Qt5WaylandCompositor
78 Summary: The Qt5 WaylandCompositor library
79 Summary(pl.UTF-8): Biblioteka Qt5 WaylandCompositor
81 %requires_eq_to Qt5Core Qt5Core-devel
82 Requires: Qt5Gui >= %{qtbase_ver}
83 Requires: Qt5Qml >= %{qtdeclarative_ver}
84 Requires: Qt5Quick >= %{qtdeclarative_ver}
85 Requires: wayland >= 1.4.0
86 Requires: xorg-lib-libxkbcommon >= 0.2.0
87 Obsoletes: Qt5Compositor < 5.8.0
89 %description -n Qt5WaylandCompositor
90 Qt5 WaylandCompositor library enables the creation of Wayland
91 compositors using Qt and QtQuick.
93 %description -n Qt5WaylandCompositor -l pl.UTF-8
94 Biblioteka Qt5 WaylandCompositor pozwala na tworzenie kompozytorów
95 Wayland przy użyciu bibliotek Qt i QtQuick.
97 %package -n Qt5WaylandCompositor-devel
98 Summary: Qt5 WaylandCompositor library - development files
99 Summary(pl.UTF-8): Biblioteka Qt5 WaylandCompositor - pliki programistyczne
100 Group: Development/Libraries
101 Requires: OpenGL-devel
102 Requires: Qt5WaylandCompositor = %{version}-%{release}
103 Requires: Qt5Core-devel >= %{qtbase_ver}
104 Requires: Qt5Gui-devel >= %{qtbase_ver}
105 Requires: Qt5Network-devel >= %{qtbase_ver}
106 Requires: Qt5Qml-devel >= %{qtdeclarative_ver}
107 Requires: Qt5Quick-devel >= %{qtdeclarative_ver}
108 Requires: wayland-devel >= 1.4.0
109 Requires: xorg-lib-libxkbcommon-devel >= 0.2.0
110 Obsoletes: Qt5Compositor-devel < 5.8.0
112 %description -n Qt5WaylandCompositor-devel
113 Qt5 WaylandCompositor library - development files.
115 %description -n Qt5WaylandCompositor-devel -l pl.UTF-8
116 Biblioteka Qt5 WaylandCompositor - pliki programistyczne.
118 %package -n Qt5WaylandClient
119 Summary: The Qt5 WaylandClient library
120 Summary(pl.UTF-8): Biblioteka Qt5 WaylandClient
122 %requires_eq_to Qt5Core Qt5Core-devel
123 Requires: Qt5DBus >= %{qtbase_ver}
124 Requires: Qt5Gui >= %{qtbase_ver}
125 Requires: wayland >= 1.4.0
126 Requires: xorg-lib-libxkbcommon >= 0.2.0
128 %description -n Qt5WaylandClient
129 Qt5 WaylandClient library enables Qt applications to be run as Wayland
132 %description -n Qt5WaylandClient -l pl.UTF-8
133 Biblioteka Qt5 WaylandClient pozwala na uruchamianie aplikacji Qt jako
136 %package -n Qt5WaylandClient-devel
137 Summary: Qt5 WaylandClient library - development files
138 Summary(pl.UTF-8): Biblioteka Qt5 WaylandClient - pliki programistyczne
139 Group: Development/Libraries
140 Requires: Qt5Core-devel >= %{qtbase_ver}
141 Requires: Qt5DBus-devel >= %{qtbase_ver}
142 Requires: Qt5Gui-devel >= %{qtbase_ver}
143 Requires: Qt5PlatformCompositorSupport-devel >= %{qtbase_ver}
144 Requires: Qt5WaylandClient = %{version}-%{release}
145 Requires: wayland-devel >= 1.4.0
146 Requires: xorg-lib-libxkbcommon-devel >= 0.2.0
148 %description -n Qt5WaylandClient-devel
149 Qt5 WaylandClient library - development files.
151 %description -n Qt5WaylandClient-devel -l pl.UTF-8
152 Biblioteka Qt5 WaylandClient - pliki programistyczne.
155 Summary: Qt5 Wayland documentation in HTML format
156 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Wayland w formacie HTML
158 Requires: qt5-doc-common >= %{qtbase_ver}
162 Qt5 Wayland documentation in HTML format.
164 %description doc -l pl.UTF-8
165 Dokumentacja do bibliotek Qt5 Wayland w formacie HTML.
168 Summary: Qt5 Wayland documentation in QCH format
169 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Wayland w formacie QCH
171 Requires: qt5-doc-common >= %{qtbase_ver}
175 Qt5 Wayland documentation in QCH format.
177 %description doc-qch -l pl.UTF-8
178 Dokumentacja do bibliotek Qt5 Wayland w formacie QCH.
181 Summary: Qt5 Wayland examples
182 Summary(pl.UTF-8): Przykłady do bibliotek Qt5 Wayland
183 Group: X11/Development/Libraries
186 %description examples
187 Qt5 Wayland examples.
189 %description examples -l pl.UTF-8
190 Przykłady do bibliotek Qt5 Wayland.
193 %setup -q -n %{orgname}-everywhere-src-%{version}
198 %{?with_qtcompositor:CONFIG+=wayland-compositor}
200 %{?with_doc:%{__make} docs}
203 rm -rf $RPM_BUILD_ROOT
206 INSTALL_ROOT=$RPM_BUILD_ROOT
209 %{__make} install_docs \
210 INSTALL_ROOT=$RPM_BUILD_ROOT
214 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.??
215 # actually drop *.la, follow policy of not packaging them when *.pc exist
216 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
218 # Prepare some files list
220 r="$RPM_BUILD_ROOT$2"
222 echo "%%dir $2" >> $1.files
223 elif [ -x "$r" ] ; then
224 echo "%%attr(755,root,root) $2" >> $1.files
225 elif [ -f "$r" ]; then
226 echo "$2" >> $1.files
228 echo "Error generation $1 files list!"
229 echo "$r: no such file or directory!"
235 for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
240 # examples present only for QtCompositor (as of 5.5.1)
241 %if %{with qtcompositor}
242 echo "%defattr(644,root,root,755)" > examples.files
243 ifecho_tree examples %{_examplesdir}/qt5/wayland
247 rm -rf $RPM_BUILD_ROOT
249 %post -n Qt5WaylandCompositor -p /sbin/ldconfig
250 %postun -n Qt5WaylandCompositor -p /sbin/ldconfig
252 %post -n Qt5WaylandClient -p /sbin/ldconfig
253 %postun -n Qt5WaylandClient -p /sbin/ldconfig
255 %if %{with qtcompositor}
256 %files -n Qt5WaylandCompositor
257 %defattr(644,root,root,755)
258 %attr(755,root,root) %{_libdir}/libQt5WaylandCompositor.so.*.*.*
259 %attr(755,root,root) %ghost %{_libdir}/libQt5WaylandCompositor.so.5
260 %dir %{qt5dir}/plugins/wayland-graphics-integration-server
261 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-dmabuf-server-buffer.so
262 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-drm-egl-server-buffer.so
263 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-linux-dmabuf-unstable-v1.so
264 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-shm-emulation-server.so
265 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-vulkan-server.so
266 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-wayland-egl.so
267 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-wayland-eglstream-controller.so
268 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-xcomposite-egl.so
269 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-server/libqt-wayland-compositor-xcomposite-glx.so
270 # dir shared Qt5WaylandClient
271 %dir %{qt5dir}/qml/QtWayland
272 %dir %{qt5dir}/qml/QtWayland/Compositor
273 %attr(755,root,root) %{qt5dir}/qml/QtWayland/Compositor/libqwaylandcompositorplugin.so
274 %{qt5dir}/qml/QtWayland/Compositor/plugins.qmltypes
275 %{qt5dir}/qml/QtWayland/Compositor/qmldir
276 %dir %{qt5dir}/qml/QtWayland/Compositor/TextureSharingExtension
277 %attr(755,root,root) %{qt5dir}/qml/QtWayland/Compositor/TextureSharingExtension/libqwaylandtexturesharingextension.so
278 %{qt5dir}/qml/QtWayland/Compositor/TextureSharingExtension/qmldir
280 %files -n Qt5WaylandCompositor-devel
281 %defattr(644,root,root,755)
282 %attr(755,root,root) %{_libdir}/libQt5WaylandCompositor.so
283 %{_libdir}/libQt5WaylandCompositor.prl
284 %{_includedir}/qt5/QtWaylandCompositor
285 %{_pkgconfigdir}/Qt5WaylandCompositor.pc
286 %{_libdir}/cmake/Qt5Gui/Qt5Gui_QWaylandXCompositeEglPlatformIntegrationPlugin.cmake
287 %{_libdir}/cmake/Qt5Gui/Qt5Gui_QWaylandXCompositeGlxPlatformIntegrationPlugin.cmake
288 %{_libdir}/cmake/Qt5WaylandCompositor
289 %{qt5dir}/mkspecs/modules/qt_lib_waylandcompositor.pri
290 %{qt5dir}/mkspecs/modules/qt_lib_waylandcompositor_private.pri
293 %files -n Qt5WaylandClient
294 %defattr(644,root,root,755)
295 %doc LICENSE.GPL3-EXCEPT README dist/changes-*
296 %attr(755,root,root) %{_libdir}/libQt5WaylandClient.so.*.*.*
297 %attr(755,root,root) %ghost %{_libdir}/libQt5WaylandClient.so.5
298 %attr(755,root,root) %{qt5dir}/bin/qtwaylandscanner
299 %attr(755,root,root) %{qt5dir}/plugins/platforms/libqwayland-egl.so
300 %attr(755,root,root) %{qt5dir}/plugins/platforms/libqwayland-generic.so
301 %attr(755,root,root) %{qt5dir}/plugins/platforms/libqwayland-xcomposite-egl.so
302 %attr(755,root,root) %{qt5dir}/plugins/platforms/libqwayland-xcomposite-glx.so
303 %dir %{qt5dir}/plugins/wayland-decoration-client
304 %attr(755,root,root) %{qt5dir}/plugins/wayland-decoration-client/libbradient.so
305 %dir %{qt5dir}/plugins/wayland-graphics-integration-client
306 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libdmabuf-server.so
307 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libdrm-egl-server.so
308 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libqt-plugin-wayland-egl.so
309 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libshm-emulation-server.so
310 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libvulkan-server.so
311 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libxcomposite-egl.so
312 %attr(755,root,root) %{qt5dir}/plugins/wayland-graphics-integration-client/libxcomposite-glx.so
313 %dir %{qt5dir}/plugins/wayland-shell-integration
314 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libfullscreen-shell-v1.so
315 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libivi-shell.so
316 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libwl-shell.so
317 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libxdg-shell.so
318 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libxdg-shell-v5.so
319 %attr(755,root,root) %{qt5dir}/plugins/wayland-shell-integration/libxdg-shell-v6.so
320 # dir shared Qt5WaylandCompositor
321 %dir %{qt5dir}/qml/QtWayland
322 %dir %{qt5dir}/qml/QtWayland/Client
323 %dir %{qt5dir}/qml/QtWayland/Client/TextureSharing
324 %attr(755,root,root) %{qt5dir}/qml/QtWayland/Client/TextureSharing/libqwaylandtexturesharing.so
325 %{qt5dir}/qml/QtWayland/Client/TextureSharing/qmldir
327 %files -n Qt5WaylandClient-devel
328 %defattr(644,root,root,755)
329 %attr(755,root,root) %{_libdir}/libQt5WaylandClient.so
330 %{_libdir}/libQt5WaylandClient.prl
331 %{_includedir}/qt5/QtWaylandClient
332 %{_pkgconfigdir}/Qt5WaylandClient.pc
333 %{_libdir}/cmake/Qt5Gui/Qt5Gui_QWaylandEglPlatformIntegrationPlugin.cmake
334 %{_libdir}/cmake/Qt5Gui/Qt5Gui_QWaylandIntegrationPlugin.cmake
335 %{_libdir}/cmake/Qt5WaylandClient
336 %{qt5dir}/mkspecs/modules/qt_lib_waylandclient.pri
337 %{qt5dir}/mkspecs/modules/qt_lib_waylandclient_private.pri
341 %defattr(644,root,root,755)
342 %{_docdir}/qt5-doc/qtwaylandcompositor
345 %defattr(644,root,root,755)
346 %{_docdir}/qt5-doc/qtwaylandcompositor.qch
349 %if %{with qtcompositor}
350 %files examples -f examples.files
351 %defattr(644,root,root,755)
352 # XXX: dir shared with qt5-qtbase-examples
353 %dir %{_examplesdir}/qt5