daveisfera pushed to qgis (epel7). "Add upstream patch to fix builds on ARM systems"

notifications at fedoraproject.org notifications at fedoraproject.org
Wed Jun 10 03:40:11 UTC 2015


From 9833ffb11432253cfc5b08a5cd24124562f4b86c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Volker=20Fr=C3=B6hlich?= <volker27 at gmx.at>
Date: Tue, 10 Mar 2015 00:31:47 +0100
Subject: Add upstream patch to fix builds on ARM systems


diff --git a/qgis-2.8.1-arm.patch b/qgis-2.8.1-arm.patch
new file mode 100644
index 0000000..79f1d2f
--- /dev/null
+++ b/qgis-2.8.1-arm.patch
@@ -0,0 +1,430 @@
+commit 1aff7335d004bc410eb61e1436ee7648716f9319
+Author: Juergen E. Fischer <jef at norbit.de>
+Date:   Mon Mar 9 09:27:27 2015 +0100
+
+    fix arm build
+
+diff --git a/src/app/qgsdecorationgrid.cpp b/src/app/qgsdecorationgrid.cpp
+index ba2f8c0..ba7735d 100644
+--- a/src/app/qgsdecorationgrid.cpp
++++ b/src/app/qgsdecorationgrid.cpp
+@@ -217,14 +217,14 @@ void QgsDecorationGrid::render( QPainter * p )
+ 
+   // p->setPen( mGridPen );
+ 
+-  QList< QPair< double, QLineF > > verticalLines;
++  QList< QPair< qreal, QLineF > > verticalLines;
+   yGridLines( verticalLines );
+-  QList< QPair< double, QLineF > > horizontalLines;
++  QList< QPair< qreal, QLineF > > horizontalLines;
+   xGridLines( horizontalLines );
+   //QgsDebugMsg( QString("grid has %1 vertical and %2 horizontal lines").arg( verticalLines.size() ).arg( horizontalLines.size() ) );
+ 
+-  QList< QPair< double, QLineF > >::const_iterator vIt = verticalLines.constBegin();
+-  QList< QPair< double, QLineF > >::const_iterator hIt = horizontalLines.constBegin();
++  QList< QPair< qreal, QLineF > >::const_iterator vIt = verticalLines.constBegin();
++  QList< QPair< qreal, QLineF > >::const_iterator hIt = horizontalLines.constBegin();
+ 
+   //simpler approach: draw vertical lines first, then horizontal ones
+   if ( mGridStyle == QgsDecorationGrid::Line )
+@@ -338,7 +338,7 @@ void QgsDecorationGrid::render( QPainter * p )
+   }
+ }
+ 
+-void QgsDecorationGrid::drawCoordinateAnnotations( QPainter* p, const QList< QPair< double, QLineF > >& hLines, const QList< QPair< double, QLineF > >& vLines )
++void QgsDecorationGrid::drawCoordinateAnnotations( QPainter* p, const QList< QPair< qreal, QLineF > >& hLines, const QList< QPair< qreal, QLineF > >& vLines )
+ {
+   if ( !p )
+   {
+@@ -346,7 +346,7 @@ void QgsDecorationGrid::drawCoordinateAnnotations( QPainter* p, const QList< QPa
+   }
+ 
+   QString currentAnnotationString;
+-  QList< QPair< double, QLineF > >::const_iterator it = hLines.constBegin();
++  QList< QPair< qreal, QLineF > >::const_iterator it = hLines.constBegin();
+   for ( ; it != hLines.constEnd(); ++it )
+   {
+     currentAnnotationString = QString::number( it->first, 'f', mGridAnnotationPrecision );
+@@ -566,7 +566,7 @@ QPolygonF canvasExtent()
+   return poly;
+ }
+ 
+-int QgsDecorationGrid::xGridLines( QList< QPair< double, QLineF > >& lines ) const
++int QgsDecorationGrid::xGridLines( QList< QPair< qreal, QLineF > >& lines ) const
+ {
+   // prepare horizontal lines
+   lines.clear();
+@@ -612,7 +612,7 @@ int QgsDecorationGrid::xGridLines( QList< QPair< double, QLineF > >& lines ) con
+   return 0;
+ }
+ 
+-int QgsDecorationGrid::yGridLines( QList< QPair< double, QLineF > >& lines ) const
++int QgsDecorationGrid::yGridLines( QList< QPair< qreal, QLineF > >& lines ) const
+ {
+   // prepare vertical lines
+ 
+diff --git a/src/app/qgsdecorationgrid.h b/src/app/qgsdecorationgrid.h
+index 22f4549..3ad7ebf 100644
+--- a/src/app/qgsdecorationgrid.h
++++ b/src/app/qgsdecorationgrid.h
+@@ -199,7 +199,7 @@ class APP_EXPORT QgsDecorationGrid: public QgsDecorationItem
+         @param p drawing painter
+     @param hLines horizontal coordinate lines in item coordinates
+         @param vLines vertical coordinate lines in item coordinates*/
+-    void drawCoordinateAnnotations( QPainter* p, const QList< QPair< double, QLineF > >& hLines, const QList< QPair< double, QLineF > >& vLines );
++    void drawCoordinateAnnotations( QPainter* p, const QList< QPair< qreal, QLineF > >& hLines, const QList< QPair< qreal, QLineF > >& vLines );
+     void drawCoordinateAnnotation( QPainter* p, const QPointF& pos, QString annotationString );
+     /**Draws a single annotation
+         @param p drawing painter
+@@ -209,10 +209,10 @@ class APP_EXPORT QgsDecorationGrid: public QgsDecorationItem
+     void drawAnnotation( QPainter* p, const QPointF& pos, int rotation, const QString& annotationText );
+     /**Returns the grid lines with associated coordinate value
+         @return 0 in case of success*/
+-    int xGridLines( QList< QPair< double, QLineF > >& lines ) const;
++    int xGridLines( QList< QPair< qreal, QLineF > >& lines ) const;
+     /**Returns the grid lines for the y-coordinates. Not vertical in case of rotation
+         @return 0 in case of success*/
+-    int yGridLines( QList< QPair< double, QLineF > >& lines ) const;
++    int yGridLines( QList< QPair< qreal, QLineF > >& lines ) const;
+     /**Returns the item border of a point (in item coordinates)*/
+     Border borderForLineCoord( const QPointF& point, QPainter* p ) const;
+ 
+diff --git a/src/app/qgsmapmouseevent.cpp b/src/app/qgsmapmouseevent.cpp
+index 997aaa0..631c750 100644
+--- a/src/app/qgsmapmouseevent.cpp
++++ b/src/app/qgsmapmouseevent.cpp
+@@ -86,8 +86,7 @@ void QgsMapMouseEvent::snapPoint()
+ 
+ QPoint QgsMapMouseEvent::mapToPixelCoordinates( QgsMapCanvas* canvas, const QgsPoint& point )
+ {
+-  double x = point.x();
+-  double y = point.y();
++  qreal x = point.x(), y = point.y();
+ 
+   canvas->mapSettings().mapToPixel().transformInPlace( x, y );
+ 
+diff --git a/src/core/composer/qgscomposermapgrid.cpp b/src/core/composer/qgscomposermapgrid.cpp
+index 7d790e6..7656be2 100644
+--- a/src/core/composer/qgscomposermapgrid.cpp
++++ b/src/core/composer/qgscomposermapgrid.cpp
+@@ -1838,7 +1838,7 @@ bool QgsComposerMapGrid::shouldShowDivisionForDisplayMode( const QgsComposerMapG
+          || ( mode == QgsComposerMapGrid::LongitudeOnly && coordinate == QgsComposerMapGrid::Longitude );
+ }
+ 
+-bool sortByDistance( const QPair<double, QgsComposerMapGrid::BorderSide>& a, const QPair<double, QgsComposerMapGrid::BorderSide>& b )
++bool sortByDistance( const QPair<qreal , QgsComposerMapGrid::BorderSide>& a, const QPair<qreal , QgsComposerMapGrid::BorderSide>& b )
+ {
+   return a.first < b.first;
+ }
+@@ -1885,7 +1885,7 @@ QgsComposerMapGrid::BorderSide QgsComposerMapGrid::borderForLineCoord( const QPo
+   }
+ 
+   //otherwise, guess side based on closest map side to point
+-  QList< QPair<double, QgsComposerMapGrid::BorderSide > > distanceToSide;
++  QList< QPair<qreal, QgsComposerMapGrid::BorderSide > > distanceToSide;
+   distanceToSide << qMakePair( p.x(), QgsComposerMapGrid::Left );
+   distanceToSide << qMakePair( mComposerMap->rect().width() - p.x(), QgsComposerMapGrid::Right );
+   distanceToSide << qMakePair( p.y(), QgsComposerMapGrid::Top );
+diff --git a/src/core/qgsgeometry.cpp b/src/core/qgsgeometry.cpp
+index 81753c4..ab7281a 100644
+--- a/src/core/qgsgeometry.cpp
++++ b/src/core/qgsgeometry.cpp
+@@ -4679,7 +4679,7 @@ bool QgsGeometry::convertToMultiType()
+ 
+ void QgsGeometry::transformVertex( QgsWkbPtr &wkbPtr, const QTransform& trans, bool hasZValue )
+ {
+-  double x, y, rotated_x, rotated_y;
++  qreal x, y, rotated_x, rotated_y;
+ 
+   QgsWkbPtr tmp = wkbPtr;
+   tmp >> x >> y;
+diff --git a/src/core/qgsgeometry.h b/src/core/qgsgeometry.h
+index 46f4a7f..36d23ac 100644
+--- a/src/core/qgsgeometry.h
++++ b/src/core/qgsgeometry.h
+@@ -686,12 +686,18 @@ class CORE_EXPORT QgsWkbPtr
+     inline const QgsWkbPtr &operator>>( unsigned int &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
+     inline const QgsWkbPtr &operator>>( char &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
+     inline const QgsWkbPtr &operator>>( QGis::WkbType &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
++#ifdef QT_ARCH_ARM
++    inline const QgsWkbPtr &operator>>( qreal &v ) const { double d; memcpy( &d, mP, sizeof( d ) ); mP += sizeof( d ); v=d; return *this; }
++#endif
+ 
+     inline QgsWkbPtr &operator<<( const double &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; }
+     inline QgsWkbPtr &operator<<( const int &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; }
+     inline QgsWkbPtr &operator<<( const unsigned int &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; }
+     inline QgsWkbPtr &operator<<( const char &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; }
+     inline QgsWkbPtr &operator<<( const QGis::WkbType &v ) { memcpy( mP, &v, sizeof( v ) ); mP += sizeof( v ); return *this; }
++#ifdef QT_ARCH_ARM
++    inline QgsWkbPtr &operator<<( const qreal &v ) { double d = v; memcpy( mP, &d, sizeof( d ) ); mP += sizeof( d ); return *this; }
++#endif
+ 
+     inline void operator+=( int n ) { mP += n; }
+ 
+@@ -710,6 +716,9 @@ class CORE_EXPORT QgsConstWkbPtr
+     inline const QgsConstWkbPtr &operator>>( unsigned int &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
+     inline const QgsConstWkbPtr &operator>>( char &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
+     inline const QgsConstWkbPtr &operator>>( QGis::WkbType &v ) const { memcpy( &v, mP, sizeof( v ) ); mP += sizeof( v ); return *this; }
++#ifdef QT_ARCH_ARM
++    inline const QgsConstWkbPtr &operator>>( qreal &v ) const { double d; memcpy( &d, mP, sizeof( d ) ); mP += sizeof( d ); v=d; return *this; }
++#endif
+ 
+     inline void operator+=( int n ) { mP += n; }
+ 
+diff --git a/src/core/qgsmaptopixel.cpp b/src/core/qgsmaptopixel.cpp
+index 16ade54..08e06e4 100644
+--- a/src/core/qgsmaptopixel.cpp
++++ b/src/core/qgsmaptopixel.cpp
+@@ -114,22 +114,18 @@ void QgsMapToPixel::updateMatrix()
+   mMatrix = QTransform::fromTranslate( cx, cy )
+             .rotate( rotation )
+             .scale( 1 / mMapUnitsPerPixel, -1 / mMapUnitsPerPixel )
+-            .translate( -xCenter, -yCenter )
+-            ;
++            .translate( -xCenter, -yCenter );
+ }
+ 
+-QgsPoint QgsMapToPixel::toMapPoint( double x, double y ) const
++QgsPoint QgsMapToPixel::toMapPoint( qreal x, qreal y ) const
+ {
+   bool invertible;
+   QTransform matrix = mMatrix.inverted( &invertible );
+   assert( invertible );
+-  double mx, my;
++  qreal mx, my;
+   matrix.map( x, y, &mx, &my );
+-  QgsPoint ret( mx, my );
+-
+   //QgsDebugMsg(QString("XXX toMapPoint x:%1 y:%2 -> x:%3 y:%4").arg(x).arg(y).arg(mx).arg(my));
+-
+-  return ret;
++  return QgsPoint( mx, my );
+ }
+ 
+ QgsPoint QgsMapToPixel::toMapCoordinates( QPoint p ) const
+@@ -232,42 +228,34 @@ QString QgsMapToPixel::showParameters() const
+   << " rotation: " << mRotation
+   << " size: " << mWidth << "x" << mHeight;
+   return rep;
+-
+ }
+ 
+-
+-QgsPoint QgsMapToPixel::transform( double x, double y ) const
++QgsPoint QgsMapToPixel::transform( qreal x, qreal y ) const
+ {
+   transformInPlace( x, y );
+   return QgsPoint( x, y );
+ }
+ 
+-QgsPoint QgsMapToPixel::transform( const QgsPoint& p ) const
++QgsPoint QgsMapToPixel::transform( const QgsPoint &p ) const
+ {
+-  double dx = p.x();
+-  double dy = p.y();
+-  transformInPlace( dx, dy );
+-
++  qreal x = p.x(), y = p.y();
++  transformInPlace( x, y );
+ // QgsDebugMsg(QString("Point to pixel...X : %1-->%2, Y: %3 -->%4").arg(p.x()).arg(dx).arg(p.y()).arg(dy));
+-  return QgsPoint( dx, dy );
++  return QgsPoint( x, y );
+ }
+ 
+-void QgsMapToPixel::transform( QgsPoint* p ) const
++void QgsMapToPixel::transform( QgsPoint *p ) const
+ {
+-  double x = p->x();
+-  double y = p->y();
++  qreal x = p->x(), y = p->y();
+   transformInPlace( x, y );
+-
+-#ifdef QGISDEBUG
+ // QgsDebugMsg(QString("Point to pixel...X : %1-->%2, Y: %3 -->%4").arg(p->x()).arg(x).arg(p->y()).arg(y));
+-#endif
+   p->set( x, y );
+ }
+ 
+-void QgsMapToPixel::transformInPlace( qreal& x, qreal& y ) const
++void QgsMapToPixel::transformInPlace( qreal &x, qreal &y ) const
+ {
+   // Map 2 Pixel
+-  double mx, my;
++  qreal mx, my;
+   mMatrix.map( x, y, &mx, &my );
+   //QgsDebugMsg(QString("XXX transformInPlace X : %1-->%2, Y: %3 -->%4").arg(x).arg(mx).arg(y).arg(my));
+   x = mx; y = my;
+diff --git a/src/core/qgsmaptopixel.h b/src/core/qgsmaptopixel.h
+index c11fb90..081e5d1 100644
+--- a/src/core/qgsmaptopixel.h
++++ b/src/core/qgsmaptopixel.h
+@@ -74,7 +74,7 @@ class CORE_EXPORT QgsMapToPixel
+      * @param y y coordinate of point to transform
+      * @return QgsPoint in device coordinates
+     */
+-    QgsPoint transform( double x, double y ) const;
++    QgsPoint transform( qreal x, qreal y ) const;
+     /*! Transform device coordinates to map (world) coordinates
+     * @param x x coordinate of point to be converted to map cooordinates
+     * @param y y coordinate of point to be converted to map cooordinates
+@@ -110,7 +110,7 @@ class CORE_EXPORT QgsMapToPixel
+      */
+     QgsPoint toMapCoordinates( QPoint p ) const;
+ 
+-    QgsPoint toMapPoint( double x, double y ) const;
++    QgsPoint toMapPoint( qreal x, qreal y ) const;
+ 
+     /*! Set map units per pixel
+     * @param mapUnitsPerPixel Map units per pixel
+diff --git a/src/core/qgspallabeling.cpp b/src/core/qgspallabeling.cpp
+index 768a511..b5ecc8c 100644
+--- a/src/core/qgspallabeling.cpp
++++ b/src/core/qgspallabeling.cpp
+@@ -2105,7 +2105,7 @@ void QgsPalLayerSettings::registerFeature( QgsFeature& f, const QgsRenderContext
+           QTransform t = QTransform::fromTranslate( center.x(), center.y() );
+           t.rotate( -m2p.mapRotation() );
+           t.translate( -center.x(), -center.y() );
+-          double xPosR, yPosR;
++          qreal xPosR, yPosR;
+           t.map( xPos, yPos, &xPosR, &yPosR );
+           xPos = xPosR; yPos = yPosR;
+         }
+diff --git a/src/core/qgspointlocator.cpp b/src/core/qgspointlocator.cpp
+index 534e7da..4bea360 100644
+--- a/src/core/qgspointlocator.cpp
++++ b/src/core/qgspointlocator.cpp
+@@ -268,6 +268,8 @@ struct _CohenSutherland
+           y = y0 + ( y1 - y0 ) * ( mRect.xMinimum() - x0 ) / ( x1 - x0 );
+           x = mRect.xMinimum();
+         }
++        else
++          break;
+ 
+         // Now we move outside point to intersection point to clip
+         // and get ready for next pass.
+@@ -536,13 +538,13 @@ class QgsPointLocator_DumpTree : public SpatialIndex::IQueryStrategy
+       if ( !n )
+         return;
+ 
+-      qDebug( "NODE: %ld", n->getIdentifier() );
++      QgsDebugMsg( QString( "NODE: %1" ).arg( n->getIdentifier() ) );
+       if ( n->getLevel() > 0 )
+       {
+         // inner nodes
+         for ( uint32_t cChild = 0; cChild < n->getChildrenCount(); cChild++ )
+         {
+-          qDebug( "- CH: %ld", n->getChildIdentifier( cChild ) );
++          QgsDebugMsg( QString( "- CH: %1" ).arg( n->getChildIdentifier( cChild ) ) );
+           ids.push( n->getChildIdentifier( cChild ) );
+         }
+       }
+@@ -551,7 +553,7 @@ class QgsPointLocator_DumpTree : public SpatialIndex::IQueryStrategy
+         // leaves
+         for ( uint32_t cChild = 0; cChild < n->getChildrenCount(); cChild++ )
+         {
+-          qDebug( "- L: %ld", n->getChildIdentifier( cChild ) );
++          QgsDebugMsg( QString( "- L: %1" ).arg( n->getChildIdentifier( cChild ) ) );
+         }
+       }
+ 
+diff --git a/src/core/symbology-ng/qgsrendererv2.cpp b/src/core/symbology-ng/qgsrendererv2.cpp
+index 73b4f22..6e114ca 100644
+--- a/src/core/symbology-ng/qgsrendererv2.cpp
++++ b/src/core/symbology-ng/qgsrendererv2.cpp
+@@ -39,10 +39,7 @@ const unsigned char* QgsFeatureRendererV2::_getPoint( QPointF& pt, QgsRenderCont
+ {
+   QgsConstWkbPtr wkbPtr( wkb + 1 );
+   unsigned int wkbType;
+-  wkbPtr >> wkbType;
+-
+-  double x, y;
+-  wkbPtr >> x >> y;
++  wkbPtr >> wkbType >> pt.rx() >> pt.ry();
+ 
+   if ( wkbType == QGis::WKBPoint25D )
+     wkbPtr += sizeof( double );
+@@ -50,12 +47,11 @@ const unsigned char* QgsFeatureRendererV2::_getPoint( QPointF& pt, QgsRenderCont
+   if ( context.coordinateTransform() )
+   {
+     double z = 0; // dummy variable for coordiante transform
+-    context.coordinateTransform()->transformInPlace( x, y, z );
++    context.coordinateTransform()->transformInPlace( pt.rx(), pt.ry(), z );
+   }
+ 
+-  context.mapToPixel().transformInPlace( x, y );
++  context.mapToPixel().transformInPlace( pt.rx(), pt.ry() );
+ 
+-  pt = QPointF( x, y );
+   return wkbPtr;
+ }
+ 
+@@ -65,7 +61,7 @@ const unsigned char* QgsFeatureRendererV2::_getLineString( QPolygonF& pts, QgsRe
+   unsigned int wkbType, nPoints;
+   wkbPtr >> wkbType >> nPoints;
+ 
+-  bool hasZValue = ( wkbType == QGis::WKBLineString25D );
++  bool hasZValue = wkbType == QGis::WKBLineString25D;
+ 
+   double x, y;
+   const QgsCoordinateTransform* ct = context.coordinateTransform();
+diff --git a/src/gui/qgsmapcanvasitem.cpp b/src/gui/qgsmapcanvasitem.cpp
+index c0dd3ec..763f340 100644
+--- a/src/gui/qgsmapcanvasitem.cpp
++++ b/src/gui/qgsmapcanvasitem.cpp
+@@ -63,7 +63,7 @@ QgsPoint QgsMapCanvasItem::toMapCoordinates( const QPoint& point ) const
+ 
+ QPointF QgsMapCanvasItem::toCanvasCoordinates( const QgsPoint& point ) const
+ {
+-  double x = point.x(), y = point.y();
++  qreal x = point.x(), y = point.y();
+   mMapCanvas->getCoordinateTransform()->transformInPlace( x, y );
+   return QPointF( x, y ) + mPanningOffset;
+ }
+diff --git a/src/gui/qgsmaptool.cpp b/src/gui/qgsmaptool.cpp
+index 463a07a..4fd0f4c 100644
+--- a/src/gui/qgsmaptool.cpp
++++ b/src/gui/qgsmaptool.cpp
+@@ -68,7 +68,7 @@ QgsRectangle QgsMapTool::toLayerCoordinates( QgsMapLayer* layer, const QgsRectan
+ 
+ QPoint QgsMapTool::toCanvasCoordinates( const QgsPoint& point )
+ {
+-  double x = point.x(), y = point.y();
++  qreal x = point.x(), y = point.y();
+   mCanvas->getCoordinateTransform()->transformInPlace( x, y );
+   return QPoint( qRound( x ), qRound( y ) );
+ }
+diff --git a/src/providers/wcs/qgswcsprovider.cpp b/src/providers/wcs/qgswcsprovider.cpp
+index 77022ac..88618ef 100644
+--- a/src/providers/wcs/qgswcsprovider.cpp
++++ b/src/providers/wcs/qgswcsprovider.cpp
+@@ -516,7 +516,7 @@ void QgsWcsProvider::readBlock( int bandNo, QgsRectangle  const & viewExtent, in
+   // TODO: set block to null values, move that to function and call only if fails
+   memset( block, 0, pixelWidth * pixelHeight * QgsRasterBlock::typeSize( dataType( bandNo ) ) );
+ 
+-  // Requested extent must at least partialy overlap coverage extent, otherwise
++  // Requested extent must at least partially overlap coverage extent, otherwise
+   // server gives error. QGIS usually does not request blocks outside raster extent
+   // (higher level checks) but it is better to do check here as well
+   if ( !viewExtent.intersects( mCoverageExtent ) )
+diff --git a/tests/src/core/testqgsatlascomposition.cpp b/tests/src/core/testqgsatlascomposition.cpp
+index 1a26cc2..4b94bfb 100644
+--- a/tests/src/core/testqgsatlascomposition.cpp
++++ b/tests/src/core/testqgsatlascomposition.cpp
+@@ -308,13 +308,13 @@ void TestQgsAtlasComposition::predefinedscales_render()
+   mAtlasMap->setAtlasDriven( true );
+   mAtlasMap->setAtlasScalingMode( QgsComposerMap::Predefined );
+ 
+-  QVector<double> scales;
+-  scales << 1800000;
+-  scales << 5000000;
++  QVector<qreal> scales;
++  scales << 1800000.0;
++  scales << 5000000.0;
+   mAtlas->setPredefinedScales( scales );
+ 
+   {
+-    const QVector<double>& setScales = mAtlas->predefinedScales();
++    const QVector<qreal> &setScales = mAtlas->predefinedScales();
+     for ( int i = 0; i < setScales.size(); i++ )
+     {
+       QVERIFY( setScales[i] == scales[i] );
diff --git a/qgis.spec b/qgis.spec
index aeb863f..a48f2a2 100644
--- a/qgis.spec
+++ b/qgis.spec
@@ -13,7 +13,7 @@
 
 Name:           qgis
 Version:        2.8.1
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        A user friendly Open Source Geographic Information System
 Group:          Applications/Engineering
 
@@ -36,6 +36,9 @@ Source5:        %{name}-mime.xml
 # Fix detection problem for GRASS libraries
 Patch0:         %{name}-2.4.0-grass.patch
 
+# https://github.com/qgis/QGIS/commit/1aff7335d004bc410eb61e1436ee7648716f9319
+Patch1:         %{name}-2.8.1-arm.patch
+
 # Some plug-ins need Pyspatialite (bundled)
 # The license is not totally clear, see:
 # http://code.google.com/p/pyspatialite/issues/detail?id=3
@@ -172,6 +175,7 @@ Please refer to %{name}-server-README.fedora for details!
 %prep
 %setup -q
 %patch0 -p1 -b .grass~
+%patch1 -p1 -b .arm~
 
 # Remove executable permissions from source code files
 find . \( -name "*.cpp" -o -name "*.h" \) -type f -perm /111 -execdir chmod -x {} \+
@@ -394,6 +398,9 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
 
 
 %changelog
+* Mon Mar  9 2015 Volker Fröhlich <volker27 at gmx.at> - 2.8.1-2
+- Add upstream patch to fix the build on ARM
+
 * Sun Mar  8 2015 Volker Fröhlich <volker27 at gmx.at> - 2.8.1-1
 - New upstream release, remove included patch change
 - Rename mapserver sub-package to server
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/qgis.git/commit/?h=epel7&id=9833ffb11432253cfc5b08a5cd24124562f4b86c


More information about the scm-commits mailing list