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