commit:     489310a6d906eb10bb0a7c0f5fa2c69eecd55551
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 28 20:40:39 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Mar 28 21:45:21 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=489310a6

sci-geosciences/qgis: 3.0.1 version bump

Bug: https://bugs.gentoo.org/635798
Package-Manager: Portage-2.3.25, Repoman-2.3.7

 sci-geosciences/qgis/Manifest                      |   1 +
 .../qgis/files/qgis-3.0.1-check-constraints.patch  | 237 +++++++++++++++++++++
 .../qgis/files/qgis-3.0.1-qt-5.11.patch            | 199 +++++++++++++++++
 sci-geosciences/qgis/qgis-3.0.1.ebuild             | 222 +++++++++++++++++++
 4 files changed, 659 insertions(+)

diff --git a/sci-geosciences/qgis/Manifest b/sci-geosciences/qgis/Manifest
index 3c03fb62317..9b2a249d1e5 100644
--- a/sci-geosciences/qgis/Manifest
+++ b/sci-geosciences/qgis/Manifest
@@ -2,5 +2,6 @@ DIST qgis-2.18.12.tar.bz2 84936155 BLAKE2B 
0d47094ae8dac3101888140b5773a8e7b52d2
 DIST qgis-2.18.14.tar.bz2 84935301 BLAKE2B 
37468062894235608f6efd0b58311e019f57ec0b3e6db63d8fef92ae93ac95ed13fe51290ebd063d31f1ea2318a23d7bdabb0774b451a2305064162addb4da29
 SHA512 
da738ae25f1207441a52091af9a3e70fd17f95704a23e27f72ee4c7ba213fd9ccf2d6685d91c34f94c555ca2dce420d6a07840b1fa682d6b960abdf3ba177036
 DIST qgis-2.18.16.tar.bz2 84976777 BLAKE2B 
ad68ce63698266bc081db7be0529ef50f66ee9c048b2e2a743cfc24d1ddb161c86c71283c09740a22c45476f863516f8855c69a5ccf074e9676d1ed5a09563a1
 SHA512 
1fe060c1d392f304eea10a211815e14081299a865e34114625f3a5f2a1b365f571bb30878a21cbf25bc32285ffc689d37cb7dbcab129ce5f03ccd6fa0781876d
 DIST qgis-3.0.0.tar.bz2 94186303 BLAKE2B 
2b2623c218a86af22ee13e1271e66244fc6191732db6bc694860015824525188308609c8758062910ba7065ca6790d4091beb15ff324d1a8410e65525cf785b0
 SHA512 
91201c5d48f9450734a6268f70cba830e363db15a979266af1a7f2ef73857ca11e89145d027f394d052d0536e54b4f62523b1ad49bbe698743fec882ceecfabe
+DIST qgis-3.0.1.tar.bz2 94217493 BLAKE2B 
9f3b9e9d76dfac574cbe7c9b95f0dc59fb9ad74ddd5c5a420931107200b1ba6641e2b74cff681ecec8cdab777cda69c0e698fa952bc28cd79c761f4636f62f00
 SHA512 
c07fc9b033fa043e38098d226dac69ea35890109c45ccc4c47017e0af2d3fbed4b1a71b3fd7dc76fea3eb43fbcdbfb660df50d779da8c43f68a4402b239f8f75
 DIST qgis_sample_data-2.8.14.tar.gz 22119181 BLAKE2B 
2d0565e91ec8119382bc9ab8e262dc04227fe8289146794891759ff5a32012245270614ba1119a6329fc45cf56852830c2079589309aa3467873f71f5c608eac
 SHA512 
6b2653d5b57ffc2c2317639dac212429840984ac917ca3e452b39aabb99ea106d1a77c1c1dd967244ef16ede9deae751b170affdf08b72239eafed5b8977da3d
 DIST qgis_sample_data.tar.gz 13601736 BLAKE2B 
92acadbd009b181e74516120b3a700c96c7c1a732240434439bbe51afa441dee6521dac7bf6629fb5d7489b63fd0e0a45b1871df099820e8cd594920fa1499b7
 SHA512 
5847d7b32e5f75e771adf6b959847024f55b2360c307bd80e5628595fc53f5aaca18adf6cb00fa027a7e7b326c7f72bab58df16674daf20b77c676e163d93f78

diff --git a/sci-geosciences/qgis/files/qgis-3.0.1-check-constraints.patch 
b/sci-geosciences/qgis/files/qgis-3.0.1-check-constraints.patch
new file mode 100644
index 00000000000..c07cd554dbf
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-3.0.1-check-constraints.patch
@@ -0,0 +1,237 @@
+From f07389b421065d40abe9b5355c8e329229f792d9 Mon Sep 17 00:00:00 2001
+From: Denis Rouzaud <[email protected]>
+Date: Sat, 24 Mar 2018 18:30:45 +0100
+Subject: [PATCH] fix constraints not checked when they should be (#6550)
+ (#6599)
+
+---
+ python/gui/qgsattributeform.sip.in     | 15 ++++++++++++++-
+ src/gui/attributetable/qgsdualview.cpp |  9 ++++++---
+ src/gui/attributetable/qgsdualview.h   |  2 +-
+ src/gui/qgsattributeform.cpp           | 21 +++++++++++++++------
+ src/gui/qgsattributeform.h             | 14 +++++++++++++-
+ tests/src/gui/testqgsattributeform.cpp | 14 +++++++-------
+ 6 files changed, 56 insertions(+), 19 deletions(-)
+
+diff --git a/python/gui/qgsattributeform.sip.in 
b/python/gui/qgsattributeform.sip.in
+index 8b489dd3089..45deba11a31 100644
+--- a/python/gui/qgsattributeform.sip.in
++++ b/python/gui/qgsattributeform.sip.in
+@@ -139,12 +139,25 @@ on all attribute widgets.
+ 
+   signals:
+ 
+-    void attributeChanged( const QString &attribute, const QVariant &value );
++ void attributeChanged( const QString &attribute, const QVariant &value );
+ %Docstring
+ Notifies about changes of attributes
+ 
+ :param attribute: The name of the attribute that changed.
+ :param value:     The new value of the attribute.
++
++.. deprecated:: since 3.0
++%End
++
++    void widgetValueChanged( const QString &attribute, const QVariant &value, 
bool attributeChanged );
++%Docstring
++Notifies about changes of attributes
++
++:param attribute: The name of the attribute that changed.
++:param value:     The new value of the attribute.
++:param attributeChanged: If true, it corresponds to an actual change of the 
feature attribute
++
++.. versionadded:: 3.0.1
+ %End
+ 
+ 
+diff --git a/src/gui/attributetable/qgsdualview.cpp 
b/src/gui/attributetable/qgsdualview.cpp
+index d7ccfa1a8a1..2c640036a02 100644
+--- a/src/gui/attributetable/qgsdualview.cpp
++++ b/src/gui/attributetable/qgsdualview.cpp
+@@ -98,7 +98,7 @@ void QgsDualView::init( QgsVectorLayer *layer, QgsMapCanvas 
*mapCanvas, const Qg
+     mAttributeEditor->layout()->addWidget( mAttributeForm );
+   }
+ 
+-  connect( mAttributeForm, &QgsAttributeForm::attributeChanged, this, 
&QgsDualView::featureFormAttributeChanged );
++  connect( mAttributeForm, &QgsAttributeForm::widgetValueChanged, this, 
&QgsDualView::featureFormAttributeChanged );
+   connect( mAttributeForm, &QgsAttributeForm::modeChanged, this, 
&QgsDualView::formModeChanged );
+   connect( mMasterModel, &QgsAttributeTableModel::modelChanged, 
mAttributeForm, &QgsAttributeForm::refreshFeature );
+   connect( mAttributeForm, &QgsAttributeForm::filterExpressionSet, this, 
&QgsDualView::filterExpressionSet );
+@@ -880,9 +880,12 @@ void QgsDualView::extentChanged()
+   emit filterChanged();
+ }
+ 
+-void QgsDualView::featureFormAttributeChanged()
++void QgsDualView::featureFormAttributeChanged( const QString &attribute, 
const QVariant &value, bool attributeChanged )
+ {
+-  mFeatureList->setCurrentFeatureEdited( true );
++  Q_UNUSED( attribute );
++  Q_UNUSED( value );
++  if ( attributeChanged )
++    mFeatureList->setCurrentFeatureEdited( true );
+ }
+ 
+ void QgsDualView::setFilteredFeatures( const QgsFeatureIds &filteredFeatures )
+diff --git a/src/gui/attributetable/qgsdualview.h 
b/src/gui/attributetable/qgsdualview.h
+index 73cb420f44b..264adbacb29 100644
+--- a/src/gui/attributetable/qgsdualview.h
++++ b/src/gui/attributetable/qgsdualview.h
+@@ -327,7 +327,7 @@ class GUI_EXPORT QgsDualView : public QStackedWidget, 
private Ui::QgsDualViewBas
+      * Will forward this signal to the feature list to visually represent
+      * that there has been an edit event.
+      */
+-    void featureFormAttributeChanged();
++    void featureFormAttributeChanged( const QString &attribute, const 
QVariant &value, bool attributeChanged );
+ 
+     /**
+      * Will be called periodically, when loading layers from slow data 
providers.
+diff --git a/src/gui/qgsattributeform.cpp b/src/gui/qgsattributeform.cpp
+index df1e98282f6..7a707c6fd7d 100644
+--- a/src/gui/qgsattributeform.cpp
++++ b/src/gui/qgsattributeform.cpp
+@@ -240,6 +240,7 @@ void QgsAttributeForm::changeAttribute( const QString 
&field, const QVariant &va
+ 
+ void QgsAttributeForm::setFeature( const QgsFeature &feature )
+ {
++  mIsSettingFeature = true;
+   mFeature = feature;
+ 
+   switch ( mMode )
+@@ -266,6 +267,7 @@ void QgsAttributeForm::setFeature( const QgsFeature 
&feature )
+       break;
+     }
+   }
++  mIsSettingFeature = false;
+ }
+ 
+ bool QgsAttributeForm::saveEdits()
+@@ -692,11 +694,7 @@ void QgsAttributeForm::onAttributeChanged( const QVariant 
&value )
+   QgsEditorWidgetWrapper *eww = qobject_cast<QgsEditorWidgetWrapper *>( 
sender() );
+   Q_ASSERT( eww );
+ 
+-  const QVariant oldValue = mFeature.attribute( eww->fieldIdx() );
+-
+-  // Safety check, if we receive the same value again, no reason to do 
anything
+-  if ( oldValue == value && oldValue.isNull() == value.isNull() )
+-    return;
++  bool signalEmitted = false;
+ 
+   if ( mValuesInitialized )
+     mDirty = true;
+@@ -707,7 +705,12 @@ void QgsAttributeForm::onAttributeChanged( const QVariant 
&value )
+     case IdentifyMode:
+     case AddFeatureMode:
+     {
++      Q_NOWARN_DEPRECATED_PUSH
+       emit attributeChanged( eww->field().name(), value );
++      Q_NOWARN_DEPRECATED_PUSH
++      emit widgetValueChanged( eww->field().name(), value, !mIsSettingFeature 
);
++
++      signalEmitted = true;
+ 
+       updateJoinedFields( *eww );
+ 
+@@ -739,7 +742,13 @@ void QgsAttributeForm::onAttributeChanged( const QVariant 
&value )
+ 
+   updateConstraints( eww );
+ 
+-  emit attributeChanged( eww->field().name(), value );
++  if ( !signalEmitted )
++  {
++    Q_NOWARN_DEPRECATED_PUSH
++    emit attributeChanged( eww->field().name(), value );
++    Q_NOWARN_DEPRECATED_PUSH
++    emit widgetValueChanged( eww->field().name(), value, !mIsSettingFeature );
++  }
+ }
+ 
+ void QgsAttributeForm::updateAllConstraints()
+diff --git a/src/gui/qgsattributeform.h b/src/gui/qgsattributeform.h
+index 6102825b286..41f16cd8614 100644
+--- a/src/gui/qgsattributeform.h
++++ b/src/gui/qgsattributeform.h
+@@ -178,8 +178,19 @@ class GUI_EXPORT QgsAttributeForm : public QWidget
+      *
+      * \param attribute The name of the attribute that changed.
+      * \param value     The new value of the attribute.
++     * \deprecated since 3.0
+      */
+-    void attributeChanged( const QString &attribute, const QVariant &value );
++    Q_DECL_DEPRECATED void attributeChanged( const QString &attribute, const 
QVariant &value );
++
++    /**
++     * Notifies about changes of attributes
++     *
++     * \param attribute The name of the attribute that changed.
++     * \param value     The new value of the attribute.
++     * \param attributeChanged If true, it corresponds to an actual change of 
the feature attribute
++     * \since QGIS 3.0.1
++     */
++    void widgetValueChanged( const QString &attribute, const QVariant &value, 
bool attributeChanged );
+ 
+     /**
+      * Will be emitted before the feature is saved. Use this signal to 
perform sanity checks.
+@@ -367,6 +378,7 @@ class GUI_EXPORT QgsAttributeForm : public QWidget
+     QMap<const QgsVectorLayerJoinInfo *, QgsFeature> mJoinedFeatures;
+     bool mValuesInitialized = false;
+     bool mDirty = false;
++    bool mIsSettingFeature = false;
+ 
+     struct ContainerInformation
+     {
+diff --git a/tests/src/gui/testqgsattributeform.cpp 
b/tests/src/gui/testqgsattributeform.cpp
+index d4629cb0762..9b6d5c46444 100644
+--- a/tests/src/gui/testqgsattributeform.cpp
++++ b/tests/src/gui/testqgsattributeform.cpp
+@@ -111,24 +111,24 @@ void TestQgsAttributeForm::testFieldConstraint()
+   // build a form for this feature
+   QgsAttributeForm form2( layer );
+   form2.setFeature( ft );
+-  QSignalSpy spy( &form2, SIGNAL( attributeChanged( QString, QVariant ) ) );
++  QSignalSpy spy( &form2, SIGNAL( widgetValueChanged( QString, QVariant, bool 
) ) );
+   ww = qobject_cast<QgsEditorWidgetWrapper *>( form2.mWidgets[0] );
+ 
+   // set value to 1
+   ww->setValue( 1 );
+-  QCOMPARE( spy.count(), 2 );
++  QCOMPARE( spy.count(), 1 );
+   QCOMPARE( constraintsLabel( &form2, ww )->text(), validLabel );
+ 
+   // set value to null
+   spy.clear();
+   ww->setValue( QVariant() );
+-  QCOMPARE( spy.count(), 2 );
++  QCOMPARE( spy.count(), 1 );
+   QCOMPARE( constraintsLabel( &form2, ww )->text(), invalidLabel );
+ 
+   // set value to 1
+   spy.clear();
+   ww->setValue( 1 );
+-  QCOMPARE( spy.count(), 2 );
++  QCOMPARE( spy.count(), 1 );
+   QCOMPARE( constraintsLabel( &form2, ww )->text(), validLabel );
+ 
+   // set a soft constraint
+@@ -205,11 +205,11 @@ void TestQgsAttributeForm::testFieldMultiConstraints()
+   ww1 = qobject_cast<QgsEditorWidgetWrapper *>( form2.mWidgets[1] );
+   ww2 = qobject_cast<QgsEditorWidgetWrapper *>( form2.mWidgets[2] );
+   ww3 = qobject_cast<QgsEditorWidgetWrapper *>( form2.mWidgets[3] );
+-  QSignalSpy spy2( &form2, SIGNAL( attributeChanged( QString, QVariant ) ) );
++  QSignalSpy spy2( &form2, SIGNAL( widgetValueChanged( QString, QVariant, 
bool ) ) );
+ 
+   // change value
+   ww0->setValue( 2 ); // update col0
+-  QCOMPARE( spy2.count(), 2 );
++  QCOMPARE( spy2.count(), 1 );
+ 
+   QCOMPARE( constraintsLabel( &form2, ww0 )->text(), inv ); // 2 < ( 1 + 2 )
+   QCOMPARE( constraintsLabel( &form2, ww1 )->text(), QString() );
+@@ -219,7 +219,7 @@ void TestQgsAttributeForm::testFieldMultiConstraints()
+   // change value
+   spy2.clear();
+   ww0->setValue( 1 ); // update col0
+-  QCOMPARE( spy2.count(), 2 );
++  QCOMPARE( spy2.count(), 1 );
+ 
+   QCOMPARE( constraintsLabel( &form2, ww0 )->text(), val ); // 1 < ( 1 + 2 )
+   QCOMPARE( constraintsLabel( &form2, ww1 )->text(), QString() );

diff --git a/sci-geosciences/qgis/files/qgis-3.0.1-qt-5.11.patch 
b/sci-geosciences/qgis/files/qgis-3.0.1-qt-5.11.patch
new file mode 100644
index 00000000000..c78c0dec3bb
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-3.0.1-qt-5.11.patch
@@ -0,0 +1,199 @@
+From 0a903118389029fd25fbf4eddd20f60c8856ab4e Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <[email protected]>
+Date: Wed, 28 Mar 2018 20:48:58 +0200
+Subject: [PATCH] Fix build with Qt-5.11 (missing headers)
+
+---
+ src/app/layout/qgslayoutpolylinewidget.cpp                | 2 ++
+ src/app/layout/qgslayoutscalebarwidget.cpp                | 1 +
+ src/app/layout/qgslayoutscalebarwidget.h                  | 2 ++
+ src/app/qgslabelinggui.cpp                                | 2 ++
+ src/app/qgsrulebasedlabelingwidget.cpp                    | 1 +
+ src/gui/layout/qgslayoutitemwidget.cpp                    | 2 ++
+ src/gui/layout/qgslayoutnewitempropertiesdialog.cpp       | 2 ++
+ src/gui/qgscompoundcolorwidget.cpp                        | 1 +
+ src/gui/qgsextentgroupbox.cpp                             | 1 +
+ src/gui/qgsgradientcolorrampdialog.cpp                    | 1 +
+ src/gui/qgsgroupwmsdatadialog.cpp                         | 1 +
+ src/gui/qgstextformatwidget.cpp                           | 2 ++
+ src/gui/symbology/qgssymbollayerwidget.cpp                | 1 +
+ src/providers/arcgisrest/qgsarcgisservicesourceselect.cpp | 1 +
+ 14 files changed, 20 insertions(+)
+
+diff --git a/src/app/layout/qgslayoutpolylinewidget.cpp 
b/src/app/layout/qgslayoutpolylinewidget.cpp
+index 178968917a..28d5d25a4d 100644
+--- a/src/app/layout/qgslayoutpolylinewidget.cpp
++++ b/src/app/layout/qgslayoutpolylinewidget.cpp
+@@ -21,6 +21,8 @@
+ #include "qgslayoutitemregistry.h"
+ #include "qgslayout.h"
+ #include "qgslayoutundostack.h"
++
++#include <QButtonGroup>
+ #include <QFileDialog>
+ 
+ QgsLayoutPolylineWidget::QgsLayoutPolylineWidget( QgsLayoutItemPolyline 
*polyline )
+diff --git a/src/app/layout/qgslayoutscalebarwidget.cpp 
b/src/app/layout/qgslayoutscalebarwidget.cpp
+index c1b8ad1509..569a4e0573 100644
+--- a/src/app/layout/qgslayoutscalebarwidget.cpp
++++ b/src/app/layout/qgslayoutscalebarwidget.cpp
+@@ -19,6 +19,7 @@
+ #include "qgslayoutitemscalebar.h"
+ #include "qgslayout.h"
+ #include "qgsguiutils.h"
++
+ #include <QColorDialog>
+ #include <QFontDialog>
+ #include <QWidget>
+diff --git a/src/app/layout/qgslayoutscalebarwidget.h 
b/src/app/layout/qgslayoutscalebarwidget.h
+index a60b777bfa..ec7cc46cca 100644
+--- a/src/app/layout/qgslayoutscalebarwidget.h
++++ b/src/app/layout/qgslayoutscalebarwidget.h
+@@ -20,6 +20,8 @@
+ #include "ui_qgslayoutscalebarwidgetbase.h"
+ #include "qgslayoutitemwidget.h"
+ 
++#include <QButtonGroup>
++
+ class QgsLayoutItemScaleBar;
+ 
+ /**
+diff --git a/src/app/qgslabelinggui.cpp b/src/app/qgslabelinggui.cpp
+index e5cf8ff626..4d6a83700d 100644
+--- a/src/app/qgslabelinggui.cpp
++++ b/src/app/qgslabelinggui.cpp
+@@ -24,6 +24,8 @@
+ #include "qgsauxiliarystorage.h"
+ #include "qgsnewauxiliarylayerdialog.h"
+ 
++#include <QButtonGroup>
++
+ QgsExpressionContext QgsLabelingGui::createExpressionContext() const
+ {
+   QgsExpressionContext expContext;
+diff --git a/src/app/qgsrulebasedlabelingwidget.cpp 
b/src/app/qgsrulebasedlabelingwidget.cpp
+index 6f1f77ef9a..57b7d34799 100644
+--- a/src/app/qgsrulebasedlabelingwidget.cpp
++++ b/src/app/qgsrulebasedlabelingwidget.cpp
+@@ -26,6 +26,7 @@
+ #include "qgsvectorlayerlabeling.h"
+ #include "qgslogger.h"
+ 
++#include <QAction>
+ #include <QClipboard>
+ #include <QMessageBox>
+ 
+diff --git a/src/gui/layout/qgslayoutitemwidget.cpp 
b/src/gui/layout/qgslayoutitemwidget.cpp
+index 1d3d4f8171..d68799234b 100644
+--- a/src/gui/layout/qgslayoutitemwidget.cpp
++++ b/src/gui/layout/qgslayoutitemwidget.cpp
+@@ -21,6 +21,8 @@
+ #include "qgsprintlayout.h"
+ #include "qgslayoutatlas.h"
+ 
++#include <QButtonGroup>
++
+ //
+ // QgsLayoutConfigObject
+ //
+diff --git a/src/gui/layout/qgslayoutnewitempropertiesdialog.cpp 
b/src/gui/layout/qgslayoutnewitempropertiesdialog.cpp
+index 9fa5f98358..c53d002acb 100644
+--- a/src/gui/layout/qgslayoutnewitempropertiesdialog.cpp
++++ b/src/gui/layout/qgslayoutnewitempropertiesdialog.cpp
+@@ -19,6 +19,8 @@
+ #include "qgslayoutpagecollection.h"
+ #include "qgsgui.h"
+ 
++#include <QButtonGroup>
++
+ QgsLayoutItemPropertiesDialog::QgsLayoutItemPropertiesDialog( QWidget 
*parent, Qt::WindowFlags flags )
+   : QDialog( parent, flags )
+ {
+diff --git a/src/gui/qgscompoundcolorwidget.cpp 
b/src/gui/qgscompoundcolorwidget.cpp
+index a7dbb77501..48032a2456 100644
+--- a/src/gui/qgscompoundcolorwidget.cpp
++++ b/src/gui/qgscompoundcolorwidget.cpp
+@@ -20,6 +20,7 @@
+ #include "qgsapplication.h"
+ #include "qgssettings.h"
+ 
++#include <QHeaderView>
+ #include <QPushButton>
+ #include <QMenu>
+ #include <QToolButton>
+diff --git a/src/gui/qgsextentgroupbox.cpp b/src/gui/qgsextentgroupbox.cpp
+index ffc8ab7195..d5d77db6a0 100644
+--- a/src/gui/qgsextentgroupbox.cpp
++++ b/src/gui/qgsextentgroupbox.cpp
+@@ -24,6 +24,7 @@
+ 
+ #include <QMenu>
+ #include <QAction>
++#include <QDoubleValidator>
+ 
+ QgsExtentGroupBox::QgsExtentGroupBox( QWidget *parent )
+   : QgsCollapsibleGroupBox( parent )
+diff --git a/src/gui/qgsgradientcolorrampdialog.cpp 
b/src/gui/qgsgradientcolorrampdialog.cpp
+index fcc93d74fb..317f373423 100644
+--- a/src/gui/qgsgradientcolorrampdialog.cpp
++++ b/src/gui/qgsgradientcolorrampdialog.cpp
+@@ -22,6 +22,7 @@
+ #include "qgssettings.h"
+ 
+ #include <QColorDialog>
++#include <QHeaderView>
+ #include <QInputDialog>
+ #include <QPainter>
+ #include <QTableWidget>
+diff --git a/src/gui/qgsgroupwmsdatadialog.cpp 
b/src/gui/qgsgroupwmsdatadialog.cpp
+index 456c813f5f..f9bb15ab6d 100644
+--- a/src/gui/qgsgroupwmsdatadialog.cpp
++++ b/src/gui/qgsgroupwmsdatadialog.cpp
+@@ -16,6 +16,7 @@
+ #include "qgsapplication.h"
+ #include "qgsgroupwmsdatadialog.h"
+ 
++#include <QRegExpValidator>
+ 
+ QgsGroupWmsDataDialog::QgsGroupWmsDataDialog( QWidget *parent, 
Qt::WindowFlags fl )
+   : QDialog( parent, fl )
+diff --git a/src/gui/qgstextformatwidget.cpp b/src/gui/qgstextformatwidget.cpp
+index 8c3c67d8e9..9005a40081 100644
+--- a/src/gui/qgstextformatwidget.cpp
++++ b/src/gui/qgstextformatwidget.cpp
+@@ -29,6 +29,8 @@
+ #include "qgseffectstack.h"
+ #include "qgspainteffectregistry.h"
+ 
++#include <QButtonGroup>
++
+ QgsTextFormatWidget::QgsTextFormatWidget( const QgsTextFormat &format, 
QgsMapCanvas *mapCanvas, QWidget *parent )
+   : QWidget( parent )
+   , mMapCanvas( mapCanvas )
+diff --git a/src/gui/symbology/qgssymbollayerwidget.cpp 
b/src/gui/symbology/qgssymbollayerwidget.cpp
+index 3a5f3c5314..da599a27ae 100644
+--- a/src/gui/symbology/qgssymbollayerwidget.cpp
++++ b/src/gui/symbology/qgssymbollayerwidget.cpp
+@@ -43,6 +43,7 @@
+ #include "qgsauxiliarystorage.h"
+ 
+ #include <QAbstractButton>
++#include <QButtonGroup>
+ #include <QColorDialog>
+ #include <QCursor>
+ #include <QDir>
+diff --git a/src/providers/arcgisrest/qgsarcgisservicesourceselect.cpp 
b/src/providers/arcgisrest/qgsarcgisservicesourceselect.cpp
+index 4cc3e8b301..d377d718b7 100644
+--- a/src/providers/arcgisrest/qgsarcgisservicesourceselect.cpp
++++ b/src/providers/arcgisrest/qgsarcgisservicesourceselect.cpp
+@@ -29,6 +29,7 @@
+ #include "qgssettings.h"
+ #include "qgsmapcanvas.h"
+ 
++#include <QButtonGroup>
+ #include <QListWidgetItem>
+ #include <QMessageBox>
+ #include <QFileDialog>
+-- 
+2.16.3
+

diff --git a/sci-geosciences/qgis/qgis-3.0.1.ebuild 
b/sci-geosciences/qgis/qgis-3.0.1.ebuild
new file mode 100644
index 00000000000..fcf4f8846c7
--- /dev/null
+++ b/sci-geosciences/qgis/qgis-3.0.1.ebuild
@@ -0,0 +1,222 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_5 )
+PYTHON_REQ_USE="sqlite"
+QT_MIN_VER="5.9.1"
+
+if [[ ${PV} != *9999 ]]; then
+       SRC_URI="https://qgis.org/downloads/${P}.tar.bz2
+               examples? ( 
https://qgis.org/downloads/data/qgis_sample_data.tar.gz -> 
qgis_sample_data-2.8.14.tar.gz )"
+       KEYWORDS="~amd64 ~x86"
+else
+       GIT_ECLASS="git-r3"
+       EGIT_REPO_URI="https://github.com/${PN}/${PN^^}.git";
+fi
+inherit cmake-utils eutils ${GIT_ECLASS} gnome2-utils python-single-r1 
qmake-utils xdg-utils
+unset GIT_ECLASS
+
+DESCRIPTION="User friendly Geographic Information System"
+HOMEPAGE="https://www.qgis.org/";
+
+LICENSE="GPL-2+ GPL-3+"
+SLOT="0"
+IUSE="3d examples georeferencer grass mapserver oracle polar postgres python 
webkit"
+
+REQUIRED_USE="
+       mapserver? ( python )
+       python? ( ${PYTHON_REQUIRED_USE} )"
+
+COMMON_DEPEND="
+       app-crypt/qca:2[qt5(+),ssl]
+       >=dev-db/spatialite-4.2.0
+       dev-db/sqlite:3
+       dev-libs/expat
+       dev-libs/libzip:=
+       dev-libs/qtkeychain[qt5(+)]
+       >=dev-qt/designer-${QT_MIN_VER}:5
+       >=dev-qt/qtconcurrent-${QT_MIN_VER}:5
+       >=dev-qt/qtcore-${QT_MIN_VER}:5
+       >=dev-qt/qtgui-${QT_MIN_VER}:5
+       >=dev-qt/qtnetwork-${QT_MIN_VER}:5[ssl]
+       >=dev-qt/qtpositioning-${QT_MIN_VER}:5
+       >=dev-qt/qtprintsupport-${QT_MIN_VER}:5
+       >=dev-qt/qtsvg-${QT_MIN_VER}:5
+       >=dev-qt/qtsql-${QT_MIN_VER}:5
+       >=dev-qt/qtwidgets-${QT_MIN_VER}:5
+       >=dev-qt/qtxml-${QT_MIN_VER}:5
+       >=sci-libs/gdal-2.2.3:=[geos,python?,${PYTHON_USEDEP}]
+       sci-libs/geos
+       sci-libs/libspatialindex:=
+       sci-libs/proj
+       >=x11-libs/qscintilla-2.10.1:=[qt5(+)]
+       >=x11-libs/qwt-6.1.2:6=[qt5(+),svg]
+       3d? ( >=dev-qt/qt3d-${QT_MIN_VER}:5 )
+       georeferencer? ( sci-libs/gsl:= )
+       grass? ( >=sci-geosciences/grass-7.0.0:= )
+       mapserver? ( dev-libs/fcgi )
+       oracle? (
+               dev-db/oracle-instantclient:=
+               sci-libs/gdal:=[oracle]
+       )
+       polar? ( >=x11-libs/qwtpolar-1.1.1-r1[qt5(+)] )
+       postgres? ( dev-db/postgresql:= )
+       python? ( ${PYTHON_DEPS}
+               dev-python/future[${PYTHON_USEDEP}]
+               dev-python/httplib2[${PYTHON_USEDEP}]
+               dev-python/jinja[${PYTHON_USEDEP}]
+               dev-python/markupsafe[${PYTHON_USEDEP}]
+               dev-python/owslib[${PYTHON_USEDEP}]
+               dev-python/pygments[${PYTHON_USEDEP}]
+               
dev-python/PyQt5[designer,network,sql,svg,webkit?,${PYTHON_USEDEP}]
+               dev-python/python-dateutil[${PYTHON_USEDEP}]
+               dev-python/pytz[${PYTHON_USEDEP}]
+               dev-python/pyyaml[${PYTHON_USEDEP}]
+               >=dev-python/qscintilla-python-2.10.1[qt5(+),${PYTHON_USEDEP}]
+               dev-python/requests[${PYTHON_USEDEP}]
+               dev-python/sip:=[${PYTHON_USEDEP}]
+               dev-python/six[${PYTHON_USEDEP}]
+               postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] )
+       )
+       webkit? ( >=dev-qt/qtwebkit-${QT_MIN_VER}:5 )
+"
+DEPEND="${COMMON_DEPEND}
+       >=dev-qt/linguist-tools-${QT_MIN_VER}:5
+       >=dev-qt/qttest-${QT_MIN_VER}:5
+       >=dev-qt/qtxmlpatterns-${QT_MIN_VER}:5
+       sys-devel/bison
+       sys-devel/flex
+"
+RDEPEND="${COMMON_DEPEND}
+       sci-geosciences/gpsbabel
+"
+
+# Disabling test suite because upstream disallow running from install path
+RESTRICT="test"
+
+PATCHES=(
+       # git master
+       "${FILESDIR}/${PN}-2.18.12-cmake-lib-suffix.patch"
+       # release-3_0 branch
+       "${FILESDIR}/${P}-check-constraints.patch"
+       # TODO upstream
+       "${FILESDIR}/${P}-qt-5.11.patch"
+       "${FILESDIR}/${PN}-3.0.0-featuresummary.patch"
+)
+
+pkg_setup() {
+       python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       sed -e "s:\${QT_BINARY_DIR}:$(qt5_get_bindir):" \
+               -i CMakeLists.txt || die "Failed to fix lrelease path"
+
+       sed -e "/QT_LRELEASE_EXECUTABLE/d" \
+               -e "/QT_LUPDATE_EXECUTABLE/s/set/find_program/" \
+               -e "s:lupdate-qt5:NAMES lupdate PATHS $(qt5_get_bindir) 
NO_DEFAULT_PATH:" \
+               -i cmake/modules/ECMQt4To5Porting.cmake || die "Failed to fix 
ECMQt4To5Porting.cmake"
+
+       cd src/plugins || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DQGIS_MANUAL_SUBDIR=/share/man/
+               -DBUILD_SHARED_LIBS=ON
+               -DQGIS_LIB_SUBDIR=$(get_libdir)
+               -DQGIS_PLUGIN_SUBDIR=$(get_libdir)/qgis
+               -DQWT_INCLUDE_DIR=/usr/include/qwt6
+               -DQWT_LIBRARY=/usr/$(get_libdir)/libqwt6-qt5.so
+               -DPEDANTIC=OFF
+               -DWITH_APIDOC=OFF
+               -DWITH_QSPATIALITE=ON
+               -DENABLE_TESTS=OFF
+               -DWITH_3D=$(usex 3d)
+               -DWITH_GEOREFERENCER=$(usex georeferencer)
+               -DWITH_GRASS=$(usex grass)
+               -DWITH_SERVER=$(usex mapserver)
+               -DWITH_ORACLE=$(usex oracle)
+               -DWITH_QWTPOLAR=$(usex polar)
+               -DWITH_POSTGRESQL=$(usex postgres)
+               -DWITH_BINDINGS=$(usex python)
+               -DWITH_CUSTOM_WIDGETS=$(usex python)
+               -DWITH_QTWEBKIT=$(usex webkit)
+       )
+
+       if use grass; then
+               mycmakeargs+=(
+                       -DWITH_GRASS7=ON
+                       -DGRASS_PREFIX7=/usr/$(get_libdir)/grass70
+               )
+       fi
+
+       use python && mycmakeargs+=( -DBINDINGS_GLOBAL_INSTALL=ON )
+
+       # bugs 612956, 648726
+       addpredict /dev/dri/renderD128
+       addpredict /dev/dri/renderD129
+
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       domenu debian/qgis.desktop
+
+       local size type
+       for size in 16 22 24 32 48 64 96 128 256; do
+               newicon -s ${size} debian/icons/${PN}-icon${size}x${size}.png 
${PN}.png
+               newicon -c mimetypes -s ${size} 
debian/icons/${PN}-mime-icon${size}x${size}.png ${PN}-mime.png
+               for type in qgs qml qlr qpt; do
+                       newicon -c mimetypes -s ${size} 
debian/icons/${PN}-${type}${size}x${size}.png ${PN}-${type}.png
+               done
+       done
+       newicon -s scalable images/icons/qgis_icon.svg qgis.svg
+
+       insinto /usr/share/mime/packages
+       doins debian/qgis.xml
+
+       if use examples; then
+               docinto examples
+               dodoc -r "${WORKDIR}"/qgis_sample_data/.
+               docompress -x /usr/share/doc/${PF}/examples
+       fi
+
+       python_optimize "${ED%/}"/usr/share/qgis/python
+
+       if use grass; then
+               python_fix_shebang "${ED%/}"/usr/share/qgis/grass/scripts
+       fi
+}
+
+pkg_postinst() {
+       if use postgres; then
+               elog "If you don't intend to use an external PostGIS server"
+               elog "you should install:"
+               elog "   dev-db/postgis"
+       elif use python; then
+               elog "Support of PostgreSQL is disabled."
+               elog "But some installed python-plugins import the psycopg2 
module."
+               elog "If you do not need these plugins just disable them"
+               elog "in the Plugins menu, else you need to set 
USE=\"postgres\""
+       fi
+       if has_version "<sci-geosciences/qgis-3"; then
+               elog "QGIS is now based on PyQt5. Old scripts may not work 
anymore."
+       fi
+
+       gnome2_icon_cache_update
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+}

Reply via email to