Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[packaging] Package QtLocation 5.9.5. Contributes to MER#1911
  • Loading branch information
rburchell authored and denexter committed Jun 12, 2018
1 parent 7887c80 commit 4c3bbb3
Show file tree
Hide file tree
Showing 5 changed files with 292 additions and 8 deletions.
278 changes: 278 additions & 0 deletions rpm/qtlocation.spec
@@ -0,0 +1,278 @@
Name: qt5-qtlocation-source
Summary: Cross-platform application and UI framework
Version: 5.9.5
Release: 1%{?dist}
Group: Qt/Qt
License: LGPLv3
URL: https://www.qt.io
Source0: %{name}-%{version}.tar.xz
BuildRequires: qt5-qtcore
BuildRequires: qt5-qtcore-devel
BuildRequires: qt5-qtgui
BuildRequires: qt5-qtgui-devel
BuildRequires: qt5-qtwidgets
BuildRequires: qt5-qtwidgets-devel
BuildRequires: qt5-qtopengl
BuildRequires: qt5-qtopengl-devel
BuildRequires: qt5-qtnetwork
BuildRequires: qt5-qtnetwork-devel
BuildRequires: qt5-qtdeclarative-devel
BuildRequires: qt5-qtdbus-devel
BuildRequires: qt5-qtconcurrent-devel
BuildRequires: qt5-qtdeclarative-qtquick-devel
BuildRequires: qt5-qmake
BuildRequires: qt5-tools
BuildRequires: fdupes

%description
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 -n qt5-qtpositioning
Summary: The QtPositioning library
Group: Qt/Qt
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig

%description -n qt5-qtpositioning
This package contains the QtPositioning library


%package -n qt5-qtpositioning-devel
Summary: Development files for QtPositioning
Group: Qt/Qt
Requires: qt5-qtpositioning = %{version}-%{release}

%description -n qt5-qtpositioning-devel
This package contains the files necessary to develop applications
that use the QtPositioning library


%package -n qt5-plugin-position-poll
Summary: Qt positioning plugin (pollling)
Group: Qt/Qt
Requires: qt5-qtpositioning = %{version}-%{release}
Obsoletes: qt5-qtlocation-plugin-position-poll <= 5.1.0+git7
Provides: qt5-qtlocation-plugin-position-poll > 5.1.0+git7

%description -n qt5-plugin-position-poll
This package contains the polling positioning plugin. It provides the
generic polling based area monitor.


%package -n qt5-qtdeclarative-import-positioning
Summary: QtDeclarative positioning import
Group: Qt/Qt
Requires: qt5-qtpositioning = %{version}-%{release}
Requires: qt5-qtdeclarative

%description -n qt5-qtdeclarative-import-positioning
This package contains the Positioning import for QtDeclarative




%package -n qt5-qtlocation
Summary: The QtLocation library
Group: Qt/Qt
Requires: qt5-qtpositioning = %{version}-%{release}
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig

%description -n qt5-qtlocation
This package contains the QtLocation library


%package -n qt5-qtlocation-devel
Summary: Development files for QtLocation
Group: Qt/Qt
Requires: qt5-qtlocation = %{version}-%{release}
Requires: qt5-qtpositioning-devel = %{version}-%{release}

%description -n qt5-qtlocation-devel
This package contains the files necessary to develop
applications that use QtLocation


%package -n qt5-plugin-geoservices-here
Summary: Qt Geoservices plugin using HERE location services
Group: Qt/Qt
Requires: qt5-qtlocation = %{version}-%{release}
Obsoletes: qt5-qtlocation-plugin-geoservices-nokia
Provides: qt5-qtlocation-plugin-geoservices-here

%description -n qt5-plugin-geoservices-here
This package contains the geoservices plugin using HERE location services


%package -n qt5-plugin-geoservices-osm
Summary: Qt Geoservices plugin for OpenStreetMaps
Group: Qt/Qt
Requires: qt5-qtlocation = %{version}-%{release}
Obsoletes: qt5-qtlocation-plugin-geoservices-osm <= 5.1.0+git7
Provides: qt5-qtlocation-plugin-geoservices-osm > 5.1.0+git7

%description -n qt5-plugin-geoservices-osm
This package contains the geoservices plugin for OpenStreetMaps


%package -n qt5-plugin-geoservices-esri
Summary: Qt Geoservices plugin for Esri
Group: Qt/Qt
Requires: qt5-qtlocation = %{version}-%{release}
Obsoletes: qt5-qtlocation-plugin-geoservices-osm <= 5.1.0+git7
Provides: qt5-qtlocation-plugin-geoservices-osm > 5.1.0+git7

%description -n qt5-plugin-geoservices-Esri
This package contains the geoservices plugin for OpenStreetMaps


%package -n qt5-plugin-geoservices-itemsoverlay
Summary: Qt Geoservices items overlay plugin
Group: Qt/Qt
Requires: qt5-qtlocation = %{version}-%{release}
Obsoletes: qt5-qtlocation-plugin-geoservices-osm <= 5.1.0+git7
Provides: qt5-qtlocation-plugin-geoservices-osm > 5.1.0+git7

%description -n qt5-plugin-geoservices-itemsoverlay
This package contains the geoservices items overlay plugin.


%package -n qt5-plugin-geoservices-mapbox
Summary: Qt Geoservices plugin for Mapbox
Group: Qt/Qt
Requires: qt5-qtlocation = %{version}-%{release}
Obsoletes: qt5-qtlocation-plugin-geoservices-osm <= 5.1.0+git7
Provides: qt5-qtlocation-plugin-geoservices-osm > 5.1.0+git7

%description -n qt5-plugin-geoservices-mapbox
This package contains the geoservices plugin for Mapbox


%package -n qt5-plugin-position-geoclue
Summary: Qt Positioning plugin for Geoclue
Group: Qt/Qt
Obsoletes: qt5-qtlocation-plugin-position-geoclue <= 5.1.0+git7
Provides: qt5-qtlocation-plugin-position-geoclue > 5.1.0+git7

%description -n qt5-plugin-position-geoclue
This package contains the position plugin for Geoclue


%package -n qt5-qtdeclarative-import-location
Summary: QtDeclarative location import
Group: Qt/Qt
Requires: qt5-qtlocation = %{version}-%{release}
Requires: qt5-qtdeclarative


%description -n qt5-qtdeclarative-import-location
This package contains the Location import for QtDeclarative





%prep
%setup -q -n %{name}-%{version}

%build
export QTDIR=/usr/share/qt5
touch .git
%qmake5
make %{?_smp_mflags}


%install
rm -rf %{buildroot}
%qmake5_install
# Remove unneeded .la files
rm -f %{buildroot}/%{_libdir}/*.la
# We don't need qt5/Qt/
rm -rf %{buildroot}/%{_includedir}/qt5/Qt

# Fix wrong path in pkgconfig files
find %{buildroot}%{_libdir}/pkgconfig -type f -name '*.pc' \
-exec perl -pi -e "s, -L%{_builddir}/?\S+,,g" {} \;
# Fix wrong path in prl files
find %{buildroot}%{_libdir} -type f -name '*.prl' \
-exec sed -i -e "/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/" {} \;

%fdupes %{buildroot}/%{_includedir}

%post -n qt5-qtpositioning -p /sbin/ldconfig
%postun -n qt5-qtpositioning -p /sbin/ldconfig

%post -n qt5-qtlocation -p /sbin/ldconfig
%postun -n qt5-qtlocation -p /sbin/ldconfig

%files -n qt5-qtpositioning
%defattr(-,root,root,-)
%{_libdir}/libQt5Positioning.so.5
%{_libdir}/libQt5Positioning.so.5.*

%files -n qt5-qtpositioning-devel
%defattr(-,root,root,-)
%{_libdir}/libQt5Positioning.so
%{_libdir}/libQt5Positioning.prl
%{_libdir}/pkgconfig/Qt5Positioning.pc
%{_includedir}/qt5/QtPositioning
%{_datadir}/qt5/mkspecs/modules/qt_lib_positioning.pri
%{_datadir}/qt5/mkspecs/modules/qt_lib_positioning_private.pri
%{_libdir}/cmake/Qt5Positioning/

%files -n qt5-plugin-position-poll
%defattr(-,root,root,-)
%{_libdir}/qt5/plugins/position/*positionpoll*

%files -n qt5-qtdeclarative-import-positioning
%defattr(-,root,root,-)
%{_libdir}/qt5/qml/QtPositioning/



%files -n qt5-qtlocation
%defattr(-,root,root,-)
%{_libdir}/libQt5Location.so.5
%{_libdir}/libQt5Location.so.5.*

%files -n qt5-qtlocation-devel
%defattr(-,root,root,-)
%{_libdir}/libQt5Location.so
%{_libdir}/libQt5Location.prl
%{_libdir}/pkgconfig/Qt5Location.pc
%{_includedir}/qt5/QtLocation
%{_datadir}/qt5/mkspecs/modules/qt_lib_location.pri
%{_datadir}/qt5/mkspecs/modules/qt_lib_location_private.pri
%{_libdir}/cmake/Qt5Location/

%files -n qt5-plugin-geoservices-here
%defattr(-,root,root,-)
%{_libdir}/qt5/plugins/geoservices/*here*

%files -n qt5-plugin-geoservices-osm
%defattr(-,root,root,-)
%{_libdir}/qt5/plugins/geoservices/*osm*

%files -n qt5-plugin-geoservices-esri
%defattr(-,root,root,-)
%{_libdir}/qt5/plugins/geoservices/*esri*

%files -n qt5-plugin-geoservices-itemsoverlay
%defattr(-,root,root,-)
%{_libdir}/qt5/plugins/geoservices/*itemsoverlay*

%files -n qt5-plugin-geoservices-mapbox
%defattr(-,root,root,-)
%{_libdir}/qt5/plugins/geoservices/*mapbox*

%files -n qt5-plugin-position-geoclue
%defattr(-,root,root,-)
%{_libdir}/qt5/plugins/position/*geoclue*

%files -n qt5-qtdeclarative-import-location
%defattr(-,root,root,-)
%{_libdir}/qt5/qml/QtLocation/

Expand Up @@ -423,7 +423,7 @@ QString QGeoRoutingManagerEngineNokia::routeRequestString(const QGeoRouteRequest
}

requestString += "&departure=";
requestString += QDateTime::currentDateTime().toUTC().toString("yyyy-MM-ddThh:mm:ssZ");
requestString += QLocale::c().toString(QDateTime::currentDateTime().toUTC(), QStringLiteral("yyyy-MM-ddThh:mm:ssZ"));

requestString += "&instructionformat=text";

Expand Down
3 changes: 2 additions & 1 deletion tests/auto/geotestplugin/qplacemanagerengine_test.h
Expand Up @@ -34,6 +34,7 @@
#include <QtCore/QJsonDocument>
#include <QtCore/QJsonObject>
#include <QtCore/QJsonArray>
#include <QtCore/QLocale>
#include <QtCore/QUuid>
#include <QtPositioning/QGeoCoordinate>
#include <QtPositioning/QGeoLocation>
Expand Down Expand Up @@ -281,7 +282,7 @@ class QPlaceManagerEngineTest : public QPlaceManagerEngine
review.setRating(ro.value("rating").toDouble());

if (ro.contains(QStringLiteral("dateTime")))
review.setDateTime(QDateTime::fromString(
review.setDateTime(QLocale::c().toDateTime(
ro.value(QStringLiteral("dateTime")).toString(),
QStringLiteral("hh:mm dd-MM-yyyy")));
if (ro.contains(QStringLiteral("reviewId")))
Expand Down
5 changes: 3 additions & 2 deletions tests/auto/qplacereview/tst_qplacereview.cpp
Expand Up @@ -26,6 +26,7 @@
**
****************************************************************************/

#include <QtCore/QLocale>
#include <QtCore/QString>
#include <QtTest/QtTest>

Expand Down Expand Up @@ -83,8 +84,8 @@ QPlaceReview tst_QPlaceReview::initialSubObject()
review.setText("text");
review.setRating(4.5);
review.setLanguage("en");
review.setDateTime(QDateTime::fromString("01:02 03/04/2000",
"hh:mm dd/MM/yyyy"));
review.setDateTime(QLocale::c().toDateTime("01:02 03/04/2000",
"hh:mm dd/MM/yyyy"));
review.setUser(user);
review.setSupplier(supplier);
review.setAttribution("attribution");
Expand Down
12 changes: 8 additions & 4 deletions tests/auto/utils/qlocationtestutils.cpp
Expand Up @@ -28,6 +28,8 @@

#include "qlocationtestutils_p.h"

#include <QLocale>

bool QLocationTestUtils::hasDefaultSource()
{
return false;
Expand All @@ -53,8 +55,8 @@ QString QLocationTestUtils::addNmeaChecksumAndBreaks(const QString &sentence)

QString QLocationTestUtils::createRmcSentence(const QDateTime &dt)
{
QString time = dt.toString("hhmmss.zzz");
QString date = dt.toString("ddMMyy");
QString time = QLocale::c().toString(dt, QStringLiteral("hhmmss.zzz"));
QString date = QLocale::c().toString(dt, QStringLiteral("ddMMyy"));
QString nmea = QString("$GPRMC,%1,A,2730.83609,S,15301.87844,E,0.7,9.0,%2,11.2,W,A*")
.arg(time).arg(date);
return addNmeaChecksumAndBreaks(nmea);
Expand All @@ -75,9 +77,11 @@ QString QLocationTestUtils::createGgaSentence(int lat, int lng, const QTime &tim

QString QLocationTestUtils::createZdaSentence(const QDateTime &dt)
{
QString time = dt.toString("hhmmss.zzz");
QString nmea = QString("$GPZDA,%1,%2,%3,%4,,*")
.arg(time).arg(dt.toString("dd")).arg(dt.toString("MM")).arg(dt.toString("yyyy"));
.arg(QLocale::c().toString(dt, QStringLiteral("hhmmss.zzz")))
.arg(QLocale::c().toString(dt, QStringLiteral("dd")))
.arg(QLocale::c().toString(dt, QStringLiteral("MM")))
.arg(QLocale::c().toString(dt, QStringLiteral("yyyy")));
return addNmeaChecksumAndBreaks(nmea);
}

Expand Down

0 comments on commit 4c3bbb3

Please sign in to comment.