]> git.pld-linux.org Git - SPECS.git/blob - qt5-qtwayland.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / qt5-qtwayland.spec
1 # TODO:
2 # - brcm_egl, libhybris_egl_server
3 #
4 # Conditional build:
5 %bcond_without  doc             # Build documentation
6 %bcond_without  qtcompositor    # QtCompositor API
7
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
14 Name:           qt5-%{orgname}
15 Version:        5.15.2
16 Release:        3
17 License:        LGPL v3 or GPL v2 or GPL v3 or commercial
18 Group:          Libraries
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
39 %if %{with doc}
40 BuildRequires:  qt5-assistant >= %{qttools_ver}
41 %endif
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
51 BuildRequires:  xz
52 %if %{with qtcompositor}
53 BuildRequires:  Qt5Qml-devel >= %{qtdeclarative_ver}
54 BuildRequires:  Qt5Quick-devel >= %{qtdeclarative_ver}
55 %endif
56 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58 %define         specflags       -fno-strict-aliasing
59 %define         qt5dir          %{_libdir}/qt5
60
61 %description
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.
65
66 This package contains Qt5 Wayland libraries.
67
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
72 źródłowego.
73
74 Ten pakiet zawiera biblioteki Qt5 Wayland.
75
76 %package -n Qt5WaylandCompositor
77 Summary:        The Qt5 WaylandCompositor library
78 Summary(pl.UTF-8):      Biblioteka Qt5 WaylandCompositor
79 Group:          Libraries
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
87
88 %description -n Qt5WaylandCompositor
89 Qt5 WaylandCompositor library enables the creation of Wayland
90 compositors using Qt and QtQuick.
91
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.
95
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
110
111 %description -n Qt5WaylandCompositor-devel
112 Qt5 WaylandCompositor library - development files.
113
114 %description -n Qt5WaylandCompositor-devel -l pl.UTF-8
115 Biblioteka Qt5 WaylandCompositor - pliki programistyczne.
116
117 %package -n Qt5WaylandClient
118 Summary:        The Qt5 WaylandClient library
119 Summary(pl.UTF-8):      Biblioteka Qt5 WaylandClient
120 Group:          Libraries
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
126
127 %description -n Qt5WaylandClient
128 Qt5 WaylandClient library enables Qt applications to be run as Wayland
129 clients.
130
131 %description -n Qt5WaylandClient -l pl.UTF-8
132 Biblioteka Qt5 WaylandClient pozwala na uruchamianie aplikacji Qt jako
133 klientów Wayland.
134
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
146
147 %description -n Qt5WaylandClient-devel
148 Qt5 WaylandClient library - development files.
149
150 %description -n Qt5WaylandClient-devel -l pl.UTF-8
151 Biblioteka Qt5 WaylandClient - pliki programistyczne.
152
153 %package doc
154 Summary:        Qt5 Wayland documentation in HTML format
155 Summary(pl.UTF-8):      Dokumentacja do bibliotek Qt5 Wayland w formacie HTML
156 Group:          Documentation
157 Requires:       qt5-doc-common >= %{qtbase_ver}
158 BuildArch:      noarch
159
160 %description doc
161 Qt5 Wayland documentation in HTML format.
162
163 %description doc -l pl.UTF-8
164 Dokumentacja do bibliotek Qt5 Wayland w formacie HTML.
165
166 %package doc-qch
167 Summary:        Qt5 Wayland documentation in QCH format
168 Summary(pl.UTF-8):      Dokumentacja do bibliotek Qt5 Wayland w formacie QCH
169 Group:          Documentation
170 Requires:       qt5-doc-common >= %{qtbase_ver}
171 BuildArch:      noarch
172
173 %description doc-qch
174 Qt5 Wayland documentation in QCH format.
175
176 %description doc-qch -l pl.UTF-8
177 Dokumentacja do bibliotek Qt5 Wayland w formacie QCH.
178
179 %package examples
180 Summary:        Qt5 Wayland examples
181 Summary(pl.UTF-8):      Przykłady do bibliotek Qt5 Wayland
182 Group:          X11/Development/Libraries
183 BuildArch:      noarch
184
185 %description examples
186 Qt5 Wayland examples.
187
188 %description examples -l pl.UTF-8
189 Przykłady do bibliotek Qt5 Wayland.
190
191 %prep
192 %setup -q -n %{orgname}-everywhere-src-%{version}
193 %patch0 -p1
194
195 %build
196 qmake-qt5 \
197         %{?with_qtcompositor:CONFIG+=wayland-compositor}
198 %{__make}
199 %{?with_doc:%{__make} docs}
200
201 %install
202 rm -rf $RPM_BUILD_ROOT
203
204 %{__make} install \
205         INSTALL_ROOT=$RPM_BUILD_ROOT
206
207 %if %{with doc}
208 %{__make} install_docs \
209         INSTALL_ROOT=$RPM_BUILD_ROOT
210 %endif
211
212 # useless symlinks
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
216
217 # Prepare some files list
218 ifecho() {
219         r="$RPM_BUILD_ROOT$2"
220         if [ -d "$r" ]; then
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
226         else
227                 echo "Error generation $1 files list!"
228                 echo "$r: no such file or directory!"
229                 return 1
230         fi
231 }
232 ifecho_tree() {
233         ifecho $1 $2
234         for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
235                 ifecho $1 $2/$f
236         done
237 }
238
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
243 %endif
244
245 %clean
246 rm -rf $RPM_BUILD_ROOT
247
248 %post   -n Qt5WaylandCompositor -p /sbin/ldconfig
249 %postun -n Qt5WaylandCompositor -p /sbin/ldconfig
250
251 %post   -n Qt5WaylandClient -p /sbin/ldconfig
252 %postun -n Qt5WaylandClient -p /sbin/ldconfig
253
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
278
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
290 %endif
291
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
325
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
337
338 %if %{with doc}
339 %files doc
340 %defattr(644,root,root,755)
341 %{_docdir}/qt5-doc/qtwaylandcompositor
342
343 %files doc-qch
344 %defattr(644,root,root,755)
345 %{_docdir}/qt5-doc/qtwaylandcompositor.qch
346 %endif
347
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
353 %endif
This page took 1.115232 seconds and 3 git commands to generate.