X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=qt5-qtlocation.spec;h=01e164a3a1f2734ed660fa154b8678d90b916aab;hb=942fe81;hp=98780044c28207a4483c18bd86a85017b4f7e0f8;hpb=9bb89c72da6399f52c684665d3eefadf0caccb69;p=packages%2Fqt5-qtlocation.git diff --git a/qt5-qtlocation.spec b/qt5-qtlocation.spec index 9878004..01e164a 100644 --- a/qt5-qtlocation.spec +++ b/qt5-qtlocation.spec @@ -1,76 +1,231 @@ -# TODO: -# - cleanup +# maybe TODO: +# plugins/position/simulator (BR: Qt5Simulator) +# +# Conditional build: +%bcond_with bootstrap # disable features to able to build without installed qt5 +# -- build targets +%bcond_without doc # Documentation +%bcond_without qm # QM translations +%if %{with bootstrap} +%undefine with_doc +%undefine with_qm +%endif + +%define qtbase_ver %{version} +%define qtdeclarative_ver %{version} +%define qttools_ver 5.8 %define orgname qtlocation -Summary: The Qt5 Location +Summary: The Qt5 Location library +Summary(pl.UTF-8): Biblioteka Qt5 Location Name: qt5-%{orgname} -Version: 5.2.0 -Release: 0.1 -License: LGPL v2.1 or GPL v3.0 -Group: X11/Libraries -Source0: http://download.qt-project.org/official_releases/qt/5.2/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz -# Source0-md5: 1c05c198cc3e43da4692f9dfb43b45d6 -URL: http://qt-project.org/ -BuildRequires: geoclue-devel +Version: 5.15.2 +Release: 2 +License: LGPL v2.1 with Digia Qt LGPL Exception v1.1 or GPL v3.0 +Group: Libraries +Source0: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz +# Source0-md5: 5f1a8380518e949ba5949a0fcbaa191a +Source1: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/qttranslations-everywhere-src-%{version}.tar.xz +# Source1-md5: 9b66cdb64402e8fd9e843f8a7120abb1 +URL: http://www.qt.io/ +BuildRequires: GConf2-devel >= 2.0 +BuildRequires: Qt5Concurrent-devel >= %{qtbase_ver} +BuildRequires: Qt5Core-devel >= %{qtbase_ver} +BuildRequires: Qt5DBus-devel >= %{qtbase_ver} +BuildRequires: Qt5Gui-devel >= %{qtbase_ver} +BuildRequires: Qt5Network-devel >= %{qtbase_ver} +BuildRequires: Qt5Qml-devel >= %{qtdeclarative_ver} +BuildRequires: Qt5Quick-devel >= %{qtdeclarative_ver} +BuildRequires: Qt5SerialPort-devel >= %{qtdeclarative_ver} +BuildRequires: Qt5Sql-devel >= %{qtdeclarative_ver} BuildRequires: gypsy-devel -BuildRequires: qt5-qtbase-devel = %{version} -BuildRequires: qt5-qttools-devel = %{version} +BuildRequires: pkgconfig +%if %{with doc} +BuildRequires: qt5-assistant >= %{qttools_ver} +%endif +BuildRequires: qt5-build >= %{qtbase_ver} +%{?with_qm:BuildRequires: qt5-linguist >= %{qttools_ver}} +BuildRequires: qt5-qmake >= %{qtbase_ver} BuildRequires: rpmbuild(macros) >= 1.654 +BuildRequires: tar >= 1:1.22 +BuildRequires: xz BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _noautoreqdep libGL.so.1 libGLU.so.1 -%define _noautostrip '.*_debug\\.so*' - %define specflags -fno-strict-aliasing -%define _qtdir %{_libdir}/qt5 +%define qt5dir %{_libdir}/qt5 %description -Qt5 Location libraries. +Qt is a cross-platform application and UI framework. Using Qt, you can +write web-enabled applications once and deploy them across desktop, +mobile and embedded systems without rewriting the source code. -%package devel -Summary: The Qt5 Location - development files -Group: X11/Development/Libraries -Requires: %{name} = %{version}-%{release} +This package contains Qt5 Location and Positioning libraries. + +%description -l pl.UTF-8 +Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika. +Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w +systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu +źródłowego. + +Ten pakiet zawiera biblioteki Qt5 Location i Positioning. + +%package -n Qt5Location +Summary: The Qt5 Location library +Summary(pl.UTF-8): Biblioteka Qt5 Location +Group: Libraries +Requires: Qt5Core >= %{qtbase_ver} +Requires: Qt5Gui >= %{qtbase_ver} +Requires: Qt5Positioning = %{version}-%{release} +Requires: Qt5Quick >= %{qtdeclarative_ver} +Obsoletes: qt5-qtlocation + +%description -n Qt5Location +Qt5 Location library provides mapping, navigation and place search via +QML and C++ interfaces. + +%description -n Qt5Location -l pl.UTF-8 +Biblioteka Qt5 Location udostępnia mapy, nawigowanie oraz wyszukiwanie +miejsc poprzez interfejsy QML i C++. + +%package -n Qt5Location-devel +Summary: Qt5 Location library - development files +Summary(pl.UTF-8): Biblioteka Qt5 Location - pliki programistyczne +Group: Development/Libraries +Requires: Qt5Core-devel >= %{qtbase_ver} +Requires: Qt5Gui-devel >= %{qtbase_ver} +Requires: Qt5Location = %{version}-%{release} +Requires: Qt5Positioning-devel = %{version}-%{release} +Requires: Qt5Quick-devel >= %{qtdeclarative_ver} +Obsoletes: qt5-qtlocation-devel + +%description -n Qt5Location-devel +Qt5 Location library - development files. + +%description -n Qt5Location-devel -l pl.UTF-8 +Biblioteka Qt5 Location - pliki programistyczne. -%description devel -Qt5 Location - development files. +%package -n Qt5Positioning +Summary: The Qt5 Positioning library +Summary(pl.UTF-8): Biblioteka Qt5 Positioning +Group: Libraries +Requires: Qt5Core >= %{qtbase_ver} +# for plugins +Requires: Qt5Network >= %{qtbase_ver} +Requires: Qt5Qml >= %{qtdeclarative_ver} +Requires: Qt5Quick >= %{qtdeclarative_ver} +Obsoletes: qt5-qtlocation + +%description -n Qt5Positioning +Qt5 Positioning library provides positioning information via QML and +C++ interfaces. + +%description -n Qt5Positioning -l pl.UTF-8 +Biblioteka Qt5 Positioning udostępnia informacje o położeniu poprzez +interfejsy QML i C++. + +%package -n Qt5Positioning-devel +Summary: Qt5 Positioning library - development files +Summary(pl.UTF-8): Biblioteka Qt5 Positioning - pliki programistyczne +Group: Development/Libraries +Requires: Qt5Core-devel >= %{qtbase_ver} +Requires: Qt5Positioning = %{version}-%{release} +Obsoletes: qt5-qtlocation-devel + +%description -n Qt5Positioning-devel +Qt5 Positioning library - development files. + +%description -n Qt5Positioning-devel -l pl.UTF-8 +Biblioteka Qt5 Positioning - pliki programistyczne. %package doc -Summary: The Qt5 Location - docs +Summary: Qt5 Location and Positioning documentation in HTML format +Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Location i Positioning w formacie HTML Group: Documentation +Requires: qt5-doc-common >= %{qtbase_ver} +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description doc -Qt5 Location - documentation. +Qt5 Location and Positioning documentation in HTML format. + +%description doc -l pl.UTF-8 +Dokumentacja do bibliotek Qt5 Location i Positioning w formacie HTML. + +%package doc-qch +Summary: Qt5 Location and Positioning documentation in QCH format +Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Location i Positioning w formacie QCH +Group: Documentation +Requires: qt5-doc-common >= %{qtbase_ver} +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description doc-qch +Qt5 Location and Positioning documentation in QCH format. + +%description doc-qch -l pl.UTF-8 +Dokumentacja do bibliotek Qt5 Location i Positioning w formacie QCH. %package examples -Summary: Qt5 Location examples +Summary: Qt5 Location and Positioning examples +Summary(pl.UTF-8): Przykłady do bibliotek Qt5 Location i Positioning Group: X11/Development/Libraries +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description examples -Qt5 Location - examples. +Qt5 Location and Positioning examples. + +%description examples -l pl.UTF-8 +Przykłady do bibliotek Qt5 Location i Positioning. %prep -%setup -q -n %{orgname}-opensource-src-%{version} +%setup -q -n %{orgname}-everywhere-src-%{version} %{?with_qm:-a1} %build qmake-qt5 %{__make} -%{__make} docs +%{?with_doc:%{__make} docs} + +%if %{with qm} +cd qttranslations-everywhere-src-%{version} +qmake-qt5 +%{__make} +cd .. +%endif %install rm -rf $RPM_BUILD_ROOT %{__make} install \ INSTALL_ROOT=$RPM_BUILD_ROOT +%if %{with doc} %{__make} install_docs \ INSTALL_ROOT=$RPM_BUILD_ROOT +%endif + +%if %{with qm} +%{__make} -C qttranslations-everywhere-src-%{version} install \ + INSTALL_ROOT=$RPM_BUILD_ROOT +# keep only qtlocation +%{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qt,qtbase,qtconnectivity,qtdeclarative,qtmultimedia,qtquickcontrols,qtquickcontrols2,qtserialport,qtscript,qtwebengine,qtwebsockets,qtxmlpatterns}_*.qm +%endif + +# kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc +%{__sed} -i -e "s,-L%{_libdir} \?,,g" \ + $RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \ + $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc + +# useless symlinks +%{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.?? +# actually drop *.la, follow policy of not packaging them when *.pc exist +%{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la # Prepare some files list ifecho() { - RESULT=`echo $RPM_BUILD_ROOT$2 2>/dev/null` - [ "$RESULT" == "" ] && return # XXX this is never true due $RPM_BUILD_ROOT being set - r=`echo $RESULT | awk '{ print $1 }'` - + r="$RPM_BUILD_ROOT$2" if [ -d "$r" ]; then echo "%%dir $2" >> $1.files elif [ -x "$r" ] ; then @@ -83,38 +238,117 @@ ifecho() { return 1 fi } +ifecho_tree() { + ifecho $1 $2 + for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do + ifecho $1 $2/$f + done +} echo "%defattr(644,root,root,755)" > examples.files -ifecho examples %{_examplesdir}/qt5 -for f in `find $RPM_BUILD_ROOT%{_examplesdir}/qt5 -printf "%%P "`; do - ifecho examples %{_examplesdir}/qt5/$f -done +ifecho_tree examples %{_examplesdir}/qt5/location +ifecho_tree examples %{_examplesdir}/qt5/positioning + +# find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout +find_qt5_qm() +{ + name="$1" + find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \ + sed -e "s:^$RPM_BUILD_ROOT::" \ + -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:' +} + +echo '%defattr(644,root,root,755)' > qtlocation.lang +%if %{with qm} +find_qt5_qm qtlocation >> qtlocation.lang +%endif %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%post -n Qt5Location -p /sbin/ldconfig +%postun -n Qt5Location -p /sbin/ldconfig + +%post -n Qt5Positioning -p /sbin/ldconfig +%postun -n Qt5Positioning -p /sbin/ldconfig + +%files -n Qt5Location -f qtlocation.lang +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libQt5Location.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libQt5Location.so.5 +%dir %{qt5dir}/plugins/geoservices +%attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_esri.so +%attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_itemsoverlay.so +%attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_mapbox.so +%attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_mapboxgl.so +%attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_nokia.so +%attr(755,root,root) %{qt5dir}/plugins/geoservices/libqtgeoservices_osm.so +%dir %{qt5dir}/qml/QtLocation +%attr(755,root,root) %{qt5dir}/qml/QtLocation/libdeclarative_location.so +%{qt5dir}/qml/QtLocation/plugins.qmltypes +%{qt5dir}/qml/QtLocation/qmldir +%dir %{_libdir}/qt5/qml/Qt/labs/location +%attr(755,root,root) %{_libdir}/qt5/qml/Qt/labs/location/liblocationlabsplugin.so +%{_libdir}/qt5/qml/Qt/labs/location/plugins.qmltypes +%{_libdir}/qt5/qml/Qt/labs/location/qmldir + +%files -n Qt5Location-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libQt5Location.so +%{_libdir}/libQt5Location.prl +%{_includedir}/qt5/QtLocation +%{_pkgconfigdir}/Qt5Location.pc +%{_libdir}/cmake/Qt5Location +%{qt5dir}/mkspecs/modules/qt_lib_location.pri +%{qt5dir}/mkspecs/modules/qt_lib_location_private.pri -%files +%files -n Qt5Positioning %defattr(644,root,root,755) -%attr(755,root,root) %ghost %{_libdir}/libQt5Positioning.so.? -%attr(755,root,root) %{_libdir}/libQt5Positioning.so.*.* -%attr(755,root,root) %{_qtdir}/plugins -%{_qtdir}/qml +%attr(755,root,root) %{_libdir}/libQt5Positioning.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libQt5Positioning.so.5 +%attr(755,root,root) %{_libdir}/libQt5PositioningQuick.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libQt5PositioningQuick.so.5 +%dir %{qt5dir}/plugins/position +%attr(755,root,root) %{qt5dir}/plugins/position/libqtposition_geoclue.so +%attr(755,root,root) %{qt5dir}/plugins/position/libqtposition_geoclue2.so +%attr(755,root,root) %{qt5dir}/plugins/position/libqtposition_gypsy.so +%attr(755,root,root) %{qt5dir}/plugins/position/libqtposition_positionpoll.so +%attr(755,root,root) %{qt5dir}/plugins/position/libqtposition_serialnmea.so +%dir %{qt5dir}/qml/QtPositioning +%attr(755,root,root) %{qt5dir}/qml/QtPositioning/libdeclarative_positioning.so +%{qt5dir}/qml/QtPositioning/plugins.qmltypes +%{qt5dir}/qml/QtPositioning/qmldir -%files devel +%files -n Qt5Positioning-devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libQt5Positioning.so -%{_libdir}/libQt5Positioning.la +%attr(755,root,root) %{_libdir}/libQt5PositioningQuick.so %{_libdir}/libQt5Positioning.prl -%{_libdir}/cmake/Qt5Positioning +%{_libdir}/libQt5PositioningQuick.prl %{_includedir}/qt5/QtPositioning -%{_pkgconfigdir}/*.pc -%{_qtdir}/mkspecs +%{_includedir}/qt5/QtPositioningQuick +%{_pkgconfigdir}/Qt5Positioning.pc +%{_pkgconfigdir}/Qt5PositioningQuick.pc +%{_libdir}/cmake/Qt5Positioning +%{_libdir}/cmake/Qt5PositioningQuick +%{qt5dir}/mkspecs/modules/qt_lib_positioning.pri +%{qt5dir}/mkspecs/modules/qt_lib_positioning_private.pri +%{qt5dir}/mkspecs/modules/qt_lib_positioningquick.pri +%{qt5dir}/mkspecs/modules/qt_lib_positioningquick_private.pri +%if %{with doc} %files doc %defattr(644,root,root,755) -%{_docdir}/qt5-doc +%{_docdir}/qt5-doc/qtlocation +%{_docdir}/qt5-doc/qtpositioning + +%files doc-qch +%defattr(644,root,root,755) +%{_docdir}/qt5-doc/qtlocation.qch +%{_docdir}/qt5-doc/qtpositioning.qch +%endif %files examples -f examples.files +%defattr(644,root,root,755) +# XXX: dir shared with qt5-qtbase-examples +%dir %{_examplesdir}/qt5