]> git.pld-linux.org Git - packages/qt5-qtlocation.git/blob - qt5-qtlocation.spec
up to 5.15.13
[packages/qt5-qtlocation.git] / qt5-qtlocation.spec
1 # maybe TODO:
2 # plugins/position/simulator (BR: Qt5Simulator)
3 #
4 # Conditional build:
5 %bcond_with     bootstrap       # disable features to able to build without installed qt5
6 # -- build targets
7 %bcond_without  doc             # Documentation
8 %bcond_without  qm              # QM translations
9 %bcond_without  gypsy           # gypsy plugin
10
11 %if %{with bootstrap}
12 %undefine       with_doc
13 %undefine       with_qm
14 %endif
15
16 %define         qtbase_ver              %{version}
17 %define         qtdeclarative_ver       %{version}
18 %define         qtserialport_ver        %{version}
19 %define         qttools_ver             5.9
20 %define         orgname         qtlocation
21 Summary:        The Qt5 Location library
22 Summary(pl.UTF-8):      Biblioteka Qt5 Location
23 Name:           qt5-%{orgname}
24 Version:        5.15.13
25 Release:        1
26 License:        LGPL v3 or GPL v2+ or commercial
27 Group:          Libraries
28 Source0:        https://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-opensource-src-%{version}.tar.xz
29 # Source0-md5:  1aa90c62a969c1911e53a64f52284bec
30 Source1:        https://download.qt.io/official_releases/qt/5.15/%{version}/submodules/qttranslations-everywhere-opensource-src-%{version}.tar.xz
31 # Source1-md5:  a7fe34c317fbba74a9f97c36679fec47
32 Patch0:         gcc13.patch
33 URL:            https://www.qt.io/
34 %{?with_gypsy:BuildRequires:    GConf2-devel >= 2.0}
35 BuildRequires:  Qt5Concurrent-devel >= %{qtbase_ver}
36 BuildRequires:  Qt5Core-devel >= %{qtbase_ver}
37 BuildRequires:  Qt5DBus-devel >= %{qtbase_ver}
38 BuildRequires:  Qt5Gui-devel >= %{qtbase_ver}
39 BuildRequires:  Qt5Network-devel >= %{qtbase_ver}
40 BuildRequires:  Qt5Qml-devel >= %{qtdeclarative_ver}
41 BuildRequires:  Qt5Quick-devel >= %{qtdeclarative_ver}
42 BuildRequires:  Qt5SerialPort-devel >= %{qtserialport_ver}
43 BuildRequires:  Qt5Sql-devel >= %{qtdeclarative_ver}
44 %{?with_gypsy:BuildRequires:    gypsy-devel}
45 BuildRequires:  pkgconfig
46 %if %{with doc}
47 BuildRequires:  qt5-assistant >= %{qttools_ver}
48 %endif
49 BuildRequires:  qt5-build >= %{qtbase_ver}
50 %{?with_qm:BuildRequires:       qt5-linguist >= %{qttools_ver}}
51 BuildRequires:  qt5-qmake >= %{qtbase_ver}
52 BuildRequires:  rpm-build >= 4.6
53 BuildRequires:  rpmbuild(macros) >= 2.016
54 BuildRequires:  tar >= 1:1.22
55 BuildRequires:  xz
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 Location and Positioning 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 Location i Positioning.
75
76 %package -n Qt5Location
77 Summary:        The Qt5 Location library
78 Summary(pl.UTF-8):      Biblioteka Qt5 Location
79 Group:          Libraries
80 %requires_eq_to Qt5Core Qt5Core-devel
81 Requires:       Qt5Gui >= %{qtbase_ver}
82 Requires:       Qt5Positioning = %{version}-%{release}
83 Requires:       Qt5Quick >= %{qtdeclarative_ver}
84 Obsoletes:      qt5-qtlocation < 5.3.0
85
86 %description -n Qt5Location
87 Qt5 Location library provides mapping, navigation and place search via
88 QML and C++ interfaces.
89
90 %description -n Qt5Location -l pl.UTF-8
91 Biblioteka Qt5 Location udostępnia mapy, nawigowanie oraz wyszukiwanie
92 miejsc poprzez interfejsy QML i C++.
93
94 %package -n Qt5Location-devel
95 Summary:        Qt5 Location library - development files
96 Summary(pl.UTF-8):      Biblioteka Qt5 Location - pliki programistyczne
97 Group:          Development/Libraries
98 Requires:       Qt5Core-devel >= %{qtbase_ver}
99 Requires:       Qt5Gui-devel >= %{qtbase_ver}
100 Requires:       Qt5Location = %{version}-%{release}
101 Requires:       Qt5Network-devel >= %{qtbase_ver}
102 Requires:       Qt5Positioning-devel = %{version}-%{release}
103 Requires:       Qt5Qml-devel >= %{qtdeclarative_ver}
104 Requires:       Qt5Quick-devel >= %{qtdeclarative_ver}
105 Obsoletes:      qt5-qtlocation-devel < 5.3.0
106
107 %description -n Qt5Location-devel
108 Qt5 Location library - development files.
109
110 %description -n Qt5Location-devel -l pl.UTF-8
111 Biblioteka Qt5 Location - pliki programistyczne.
112
113 %package -n Qt5Positioning
114 Summary:        The Qt5 Positioning library
115 Summary(pl.UTF-8):      Biblioteka Qt5 Positioning
116 Group:          Libraries
117 %requires_eq_to Qt5Core Qt5Core-devel
118 Requires:       Qt5Network >= %{qtbase_ver}
119 Requires:       Qt5Qml >= %{qtdeclarative_ver}
120 Requires:       Qt5Quick >= %{qtdeclarative_ver}
121 # for plugins
122 Requires:       Qt5DBus >= %{qtbase_ver}
123 Requires:       Qt5SerialPort >= %{qtserialport_ver}
124 Obsoletes:      qt5-qtlocation < 5.3.0
125
126 %description -n Qt5Positioning
127 Qt5 Positioning library provides positioning information via QML and
128 C++ interfaces.
129
130 %description -n Qt5Positioning -l pl.UTF-8
131 Biblioteka Qt5 Positioning udostępnia informacje o położeniu poprzez
132 interfejsy QML i C++.
133
134 %package -n Qt5Positioning-devel
135 Summary:        Qt5 Positioning library - development files
136 Summary(pl.UTF-8):      Biblioteka Qt5 Positioning - pliki programistyczne
137 Group:          Development/Libraries
138 Requires:       Qt5Core-devel >= %{qtbase_ver}
139 Requires:       Qt5Network-devel >= %{qtbase_ver}
140 Requires:       Qt5Positioning = %{version}-%{release}
141 Requires:       Qt5Qml-devel >= %{qtdeclarative_ver}
142 Requires:       Qt5Quick-devel >= %{qtdeclarative_ver}
143 Obsoletes:      qt5-qtlocation-devel < 5.3.0
144
145 %description -n Qt5Positioning-devel
146 Qt5 Positioning library - development files.
147
148 %description -n Qt5Positioning-devel -l pl.UTF-8
149 Biblioteka Qt5 Positioning - pliki programistyczne.
150
151 %package doc
152 Summary:        Qt5 Location and Positioning documentation in HTML format
153 Summary(pl.UTF-8):      Dokumentacja do bibliotek Qt5 Location i Positioning w formacie HTML
154 Group:          Documentation
155 Requires:       qt5-doc-common >= %{qtbase_ver}
156 BuildArch:      noarch
157
158 %description doc
159 Qt5 Location and Positioning documentation in HTML format.
160
161 %description doc -l pl.UTF-8
162 Dokumentacja do bibliotek Qt5 Location i Positioning w formacie HTML.
163
164 %package doc-qch
165 Summary:        Qt5 Location and Positioning documentation in QCH format
166 Summary(pl.UTF-8):      Dokumentacja do bibliotek Qt5 Location i Positioning w formacie QCH
167 Group:          Documentation
168 Requires:       qt5-doc-common >= %{qtbase_ver}
169 BuildArch:      noarch
170
171 %description doc-qch
172 Qt5 Location and Positioning documentation in QCH format.
173
174 %description doc-qch -l pl.UTF-8
175 Dokumentacja do bibliotek Qt5 Location i Positioning w formacie QCH.
176
177 %package examples
178 Summary:        Qt5 Location and Positioning examples
179 Summary(pl.UTF-8):      Przykłady do bibliotek Qt5 Location i Positioning
180 Group:          X11/Development/Libraries
181 BuildArch:      noarch
182
183 %description examples
184 Qt5 Location and Positioning examples.
185
186 %description examples -l pl.UTF-8
187 Przykłady do bibliotek Qt5 Location i Positioning.
188
189 %prep
190 %setup -q -n %{orgname}-everywhere-src-%{version} %{?with_qm:-a1}
191 %patch0 -p1
192
193 %build
194 %{qmake_qt5} -- \
195         %{!?with_gypsy:-no}-feature-gypsy
196 %{__make}
197 %{?with_doc:%{__make} docs}
198
199 %if %{with qm}
200 cd qttranslations-everywhere-src-%{version}
201 %{qmake_qt5}
202 %{__make}
203 cd ..
204 %endif
205
206 %install
207 rm -rf $RPM_BUILD_ROOT
208
209 %{__make} install \
210         INSTALL_ROOT=$RPM_BUILD_ROOT
211
212 %if %{with doc}
213 %{__make} install_docs \
214         INSTALL_ROOT=$RPM_BUILD_ROOT
215 %endif
216
217 %if %{with qm}
218 %{__make} -C qttranslations-everywhere-src-%{version} install \
219         INSTALL_ROOT=$RPM_BUILD_ROOT
220 # keep only qtlocation
221 %{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qt,qtbase,qtconnectivity,qtdeclarative,qtmultimedia,qtquickcontrols,qtquickcontrols2,qtserialport,qtscript,qtwebengine,qtwebsockets,qtxmlpatterns}_*.qm
222 %endif
223
224 # kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc
225 %{__sed} -i -e "s,-L%{_libdir} \?,,g" \
226         $RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \
227         $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
228
229 # useless symlinks
230 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.??
231 # actually drop *.la, follow policy of not packaging them when *.pc exist
232 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
233
234 # Prepare some files list
235 ifecho() {
236         r="$RPM_BUILD_ROOT$2"
237         if [ -d "$r" ]; then
238                 echo "%%dir $2" >> $1.files
239         elif [ -x "$r" ] ; then
240                 echo "%%attr(755,root,root) $2" >> $1.files
241         elif [ -f "$r" ]; then
242                 echo "$2" >> $1.files
243         else
244                 echo "Error generation $1 files list!"
245                 echo "$r: no such file or directory!"
246                 return 1
247         fi
248 }
249 ifecho_tree() {
250         ifecho $1 $2
251         for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
252                 ifecho $1 $2/$f
253         done
254 }
255
256 echo "%defattr(644,root,root,755)" > examples.files
257 ifecho_tree examples %{_examplesdir}/qt5/location
258 ifecho_tree examples %{_examplesdir}/qt5/positioning
259
260 # find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout
261 find_qt5_qm()
262 {
263         name="$1"
264         find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \
265                 sed -e "s:^$RPM_BUILD_ROOT::" \
266                     -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:'
267 }
268
269 echo '%defattr(644,root,root,755)' > qtlocation.lang
270 %if %{with qm}
271 find_qt5_qm qtlocation >> qtlocation.lang
272 %endif
273
274 %clean
275 rm -rf $RPM_BUILD_ROOT
276
277 %post   -n Qt5Location -p /sbin/ldconfig
278 %postun -n Qt5Location -p /sbin/ldconfig
279
280 %post   -n Qt5Positioning -p /sbin/ldconfig
281 %postun -n Qt5Positioning -p /sbin/ldconfig
282
283 %files -n Qt5Location -f qtlocation.lang
284 %defattr(644,root,root,755)
285 # R: Core Gui Qml QmlModels Positioning PositioningQuick Quick
286 %attr(755,root,root) %{_libdir}/libQt5Location.so.*.*.*
287 %attr(755,root,root) %ghost %{_libdir}/libQt5Location.so.5
288 %dir %{qt5dir}/plugins/geoservices
289 # R: Core Location Network Positioning
290 %attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_esri.so
291 # R: Core Location Positioning Quick
292 %attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_itemsoverlay.so
293 # R: Core Location Network Positioning
294 %attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_mapbox.so
295 # R: Core Gui Location Network Positioning Qml Quick Sql
296 %attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_mapboxgl.so
297 # R: Core Gui Location Network Positioning
298 %attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_nokia.so
299 # R: Core Gui Location Network Positioning
300 %attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_osm.so
301 %dir %{qt5dir}/qml/QtLocation
302 # R: Core Location Positioning Qml Quick
303 %attr(755,root,root) %{qt5dir}/qml/QtLocation/libdeclarative_location.so
304 %{qt5dir}/qml/QtLocation/plugins.qmltypes
305 %{qt5dir}/qml/QtLocation/qmldir
306
307 %files -n Qt5Location-devel
308 %defattr(644,root,root,755)
309 %attr(755,root,root) %{_libdir}/libQt5Location.so
310 %{_libdir}/libQt5Location.prl
311 %{_includedir}/qt5/QtLocation
312 %{_pkgconfigdir}/Qt5Location.pc
313 %{_libdir}/cmake/Qt5Location
314 %{qt5dir}/mkspecs/modules/qt_lib_location.pri
315 %{qt5dir}/mkspecs/modules/qt_lib_location_private.pri
316
317 %files -n Qt5Positioning
318 %defattr(644,root,root,755)
319 # R: Core
320 %attr(755,root,root) %{_libdir}/libQt5Positioning.so.*.*.*
321 %attr(755,root,root) %ghost %{_libdir}/libQt5Positioning.so.5
322 # R: Core Network Qml Quick
323 %attr(755,root,root) %{_libdir}/libQt5PositioningQuick.so.*.*.*
324 %attr(755,root,root) %ghost %{_libdir}/libQt5PositioningQuick.so.5
325 %dir %{qt5dir}/plugins/position
326 # R: Core DBus Positioning
327 %attr(755,root,root) %{qt5dir}/plugins/position/libqtposition_geoclue.so
328 # R: Core DBus Positioning
329 %attr(755,root,root) %{qt5dir}/plugins/position/libqtposition_geoclue2.so
330 # R: Core Positioning, GConf2, gypsy
331 %{?with_gypsy:%attr(755,root,root) %{qt5dir}/plugins/position/libqtposition_gypsy.so}
332 # R: Core Positioning
333 %attr(755,root,root) %{qt5dir}/plugins/position/libqtposition_positionpoll.so
334 # R: Core Positioning SerialPort
335 %attr(755,root,root) %{qt5dir}/plugins/position/libqtposition_serialnmea.so
336 %dir %{qt5dir}/qml/QtPositioning
337 # R: Core Positioning PositioningQuick Qml Quick
338 %attr(755,root,root) %{qt5dir}/qml/QtPositioning/libdeclarative_positioning.so
339 %{qt5dir}/qml/QtPositioning/plugins.qmltypes
340 %{qt5dir}/qml/QtPositioning/qmldir
341
342 %files -n Qt5Positioning-devel
343 %defattr(644,root,root,755)
344 %attr(755,root,root) %{_libdir}/libQt5Positioning.so
345 %attr(755,root,root) %{_libdir}/libQt5PositioningQuick.so
346 %{_libdir}/libQt5Positioning.prl
347 %{_libdir}/libQt5PositioningQuick.prl
348 %{_includedir}/qt5/QtPositioning
349 %{_includedir}/qt5/QtPositioningQuick
350 %{_pkgconfigdir}/Qt5Positioning.pc
351 %{_pkgconfigdir}/Qt5PositioningQuick.pc
352 %{_libdir}/cmake/Qt5Positioning
353 %{_libdir}/cmake/Qt5PositioningQuick
354 %{qt5dir}/mkspecs/modules/qt_lib_positioning.pri
355 %{qt5dir}/mkspecs/modules/qt_lib_positioning_private.pri
356 %{qt5dir}/mkspecs/modules/qt_lib_positioningquick.pri
357 %{qt5dir}/mkspecs/modules/qt_lib_positioningquick_private.pri
358
359 %if %{with doc}
360 %files doc
361 %defattr(644,root,root,755)
362 %{_docdir}/qt5-doc/qtlocation
363 %{_docdir}/qt5-doc/qtpositioning
364
365 %files doc-qch
366 %defattr(644,root,root,755)
367 %{_docdir}/qt5-doc/qtlocation.qch
368 %{_docdir}/qt5-doc/qtpositioning.qch
369 %endif
370
371 %files examples -f examples.files
372 %defattr(644,root,root,755)
373 # XXX: dir shared with qt5-qtbase-examples
374 %dir %{_examplesdir}/qt5
This page took 0.236038 seconds and 4 git commands to generate.