sci-geosciences/qgis: Drop 3.0.1

Package-Manager: Portage-2.3.40, Repoman-2.3.9
This commit is contained in:
Andreas Sturmlechner
2018-05-29 16:26:21 +02:00
parent 7d5da4ff66
commit cc051bc785
4 changed files with 0 additions and 659 deletions

View File

@@ -1,4 +1,3 @@
DIST qgis-3.0.1.tar.bz2 94217493 BLAKE2B 9f3b9e9d76dfac574cbe7c9b95f0dc59fb9ad74ddd5c5a420931107200b1ba6641e2b74cff681ecec8cdab777cda69c0e698fa952bc28cd79c761f4636f62f00 SHA512 c07fc9b033fa043e38098d226dac69ea35890109c45ccc4c47017e0af2d3fbed4b1a71b3fd7dc76fea3eb43fbcdbfb660df50d779da8c43f68a4402b239f8f75
DIST qgis-3.0.2.tar.bz2 94483208 BLAKE2B 198587a8440bf6d1dff6d08e706f1c0972088f8f90df4def27a0066f659e4273be35687ad0f35b4f3dcd7fb60e30ead74093541c69ddbd456bcbbcbae4c99c76 SHA512 4eec027f81ee693293e87d3c16b7b210ebd66f35a2884dc4662b5a3359b18cfd8a11919132ab88489456121eab36f8e5a9c20afcb34fa9dbe54673d838fc2be1
DIST qgis-3.0.3.tar.bz2 94462631 BLAKE2B 047f4d8852b7572dc94b9c04ec9c81e53bab2ed63a7a490682b7c557ae1b21fcc3257e751cc794d368dc4124c20c008ffdc7f1f4b79af2faea78774dc6ef430c SHA512 67f46f1acacd6688984b0c13aa5880e2f31d85b5a28ebf12830d33f198c2e5983887a8c85036b8be59edf3836ba7d38985f58433f53d3164c2ffb4a6db94d046
DIST qgis_sample_data-2.8.14.tar.gz 22119181 BLAKE2B 2d0565e91ec8119382bc9ab8e262dc04227fe8289146794891759ff5a32012245270614ba1119a6329fc45cf56852830c2079589309aa3467873f71f5c608eac SHA512 6b2653d5b57ffc2c2317639dac212429840984ac917ca3e452b39aabb99ea106d1a77c1c1dd967244ef16ede9deae751b170affdf08b72239eafed5b8977da3d

View File

@@ -1,237 +0,0 @@
From f07389b421065d40abe9b5355c8e329229f792d9 Mon Sep 17 00:00:00 2001
From: Denis Rouzaud <denis.rouzaud@gmail.com>
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() );

View File

@@ -1,199 +0,0 @@
From 0a903118389029fd25fbf4eddd20f60c8856ab4e Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
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

View File

@@ -1,222 +0,0 @@
# 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
}