Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/qgis/
Date: Mon, 12 Sep 2022 18:33:29
Message-Id: 1663007237.86bd7873a238ba34faff349332737b03fc66e9f1.sam@gentoo
1 commit: 86bd7873a238ba34faff349332737b03fc66e9f1
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 12 18:27:01 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 12 18:27:17 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86bd7873
7
8 sci-geosciences/qgis: add 3.22.11
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 sci-geosciences/qgis/Manifest | 1 +
13 sci-geosciences/qgis/qgis-3.22.11.ebuild | 258 +++++++++++++++++++++++++++++++
14 2 files changed, 259 insertions(+)
15
16 diff --git a/sci-geosciences/qgis/Manifest b/sci-geosciences/qgis/Manifest
17 index 896fb51b57b0..0d5861607665 100644
18 --- a/sci-geosciences/qgis/Manifest
19 +++ b/sci-geosciences/qgis/Manifest
20 @@ -1,4 +1,5 @@
21 DIST qgis-3.22.0.tar.bz2 135469417 BLAKE2B 54fdd8517e37931dcdc81ef1006859d58d9e60a994a60588109a8337ade68e48710f0f50fe41e6e73c0e095187f00f15209258eb940ea3c80bba4f249d081cd5 SHA512 dc214d90c465cc7b8a82196d666b94971d60e64a28e38742aba5cdd86058e27fdf7cc3564bca3b330cf1820c7594d9226576145461db399c458a26ee569e299b
22 +DIST qgis-3.22.11.tar.bz2 142155708 BLAKE2B 71b3e0a772fbea1e26d01dff6f65c35981a5ff091b5ea6bee76608f9812c569226f99789333fe39fdd772ee72af02746458c93117d21fb0352851871217a82f6 SHA512 0c41fa8e74b3cf54926aedc7a221ac440eabf9d27071bb79a17c5d7826624a8e6010521000f6b55afbc71f079ff18235d8fa5d407fe6b31b1bb705b6eb431424
23 DIST qgis-3.22.5.tar.bz2 137731586 BLAKE2B d5cad96ca7fadab58e2f680493469496d8c5e06141ac646a09cc1f5fa607b860a0e15e5b6257debb9e787d294d2183bd0b007e96e839aca7e9fb87d81001edd7 SHA512 d47bcd743a0c621b3a5a90923d98844056260f396e683b0874625e341cdf84d075505e909130cfc473fc550de37bc078fc5ebb54b437e582572d930e12411dcb
24 DIST qgis-3.22.6.tar.bz2 138056354 BLAKE2B a1f7681ae71b4f06c8e4542fe1351fbd0fd0c5a07934b1eb5e535d17a5c0432a9df1489db34dfdcbb776c55c233f3f53c8c1aaf957ba0b8445c4738c9a504cf2 SHA512 5ef36d6d93e5f7562f4ef2dc2a738057376153e7b34fdef7dd4cf278334d61af0b3380712b22961c3693088036d18167f9b2c2f623f405c668e8b48ef2f93d20
25 DIST qgis-3.22.7.tar.bz2 138076419 BLAKE2B 25e164e9da681dc78546b2492ec85dc97976f8f6e33e41244b8d72ef109edf9c482f00807183338da1e23a0dc9fbf0526953f053f67aff5723dc30ed280daae2 SHA512 d85b88a7a9aee17e7f8179c7d715bc60e64de5bdb41498177886ecdf5da2d707e3880715b6eaba4af86398666da4e322b0fac6b03f6aa907c9e39bfe4d93db91
26
27 diff --git a/sci-geosciences/qgis/qgis-3.22.11.ebuild b/sci-geosciences/qgis/qgis-3.22.11.ebuild
28 new file mode 100644
29 index 000000000000..8fc4aabac569
30 --- /dev/null
31 +++ b/sci-geosciences/qgis/qgis-3.22.11.ebuild
32 @@ -0,0 +1,258 @@
33 +# Copyright 1999-2022 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=8
37 +
38 +PYTHON_COMPAT=( python3_{8..10} )
39 +PYTHON_REQ_USE="sqlite"
40 +
41 +# We only package the LTS releases right now
42 +# We could package more but would ideally only stabilise the LTS ones
43 +# at least.
44 +
45 +if [[ ${PV} == *9999* ]]; then
46 + EGIT_REPO_URI="https://github.com/${PN}/${PN^^}.git"
47 + inherit git-r3
48 +else
49 + SRC_URI="https://qgis.org/downloads/${P}.tar.bz2
50 + examples? ( https://qgis.org/downloads/data/qgis_sample_data.tar.gz -> qgis_sample_data-2.8.14.tar.gz )"
51 + KEYWORDS="~amd64 ~x86"
52 +fi
53 +inherit cmake python-single-r1 virtualx xdg
54 +
55 +DESCRIPTION="User friendly Geographic Information System"
56 +HOMEPAGE="https://www.qgis.org/"
57 +
58 +LICENSE="GPL-2+ GPL-3+"
59 +SLOT="0"
60 +IUSE="3d examples georeferencer grass hdf5 mapserver netcdf opencl oracle pdal polar postgres python qml serial test"
61 +
62 +REQUIRED_USE="${PYTHON_REQUIRED_USE} mapserver? ( python )"
63 +
64 +RESTRICT="!test? ( test )"
65 +
66 +# See bug #850787 re sip-6.6.
67 +COMMON_DEPEND="
68 + app-crypt/qca:2[qt5(+),ssl]
69 + >=dev-db/spatialite-4.2.0
70 + dev-db/sqlite:3
71 + dev-libs/expat
72 + dev-libs/libzip:=
73 + dev-libs/protobuf:=
74 + dev-libs/qtkeychain[qt5(+)]
75 + dev-qt/designer:5
76 + dev-qt/qtconcurrent:5
77 + dev-qt/qtcore:5
78 + dev-qt/qtgui:5
79 + dev-qt/qtnetwork:5[ssl]
80 + dev-qt/qtpositioning:5
81 + dev-qt/qtprintsupport:5
82 + dev-qt/qtsvg:5
83 + dev-qt/qtsql:5
84 + dev-qt/qtwidgets:5
85 + dev-qt/qtxml:5
86 + media-gfx/exiv2:=
87 + >=sci-libs/gdal-3.0.4:=[geos]
88 + sci-libs/geos
89 + sci-libs/libspatialindex:=
90 + sys-libs/zlib
91 + >=sci-libs/proj-4.9.3:=
92 + >=x11-libs/qscintilla-2.10.1:=[qt5(+)]
93 + >=x11-libs/qwt-6.1.2:6=[qt5(+),svg]
94 + 3d? ( dev-qt/qt3d:5 )
95 + georeferencer? ( sci-libs/gsl:= )
96 + grass? ( sci-geosciences/grass:= )
97 + hdf5? ( sci-libs/hdf5:= )
98 + mapserver? ( dev-libs/fcgi )
99 + netcdf? ( sci-libs/netcdf:= )
100 + opencl? ( virtual/opencl )
101 + oracle? (
102 + dev-db/oracle-instantclient:=
103 + sci-libs/gdal:=[oracle]
104 + )
105 + pdal? ( sci-libs/pdal:= )
106 + polar? ( >=x11-libs/qwtpolar-1.1.1-r1[qt5(+)] )
107 + postgres? ( dev-db/postgresql:= )
108 + python? (
109 + ${PYTHON_DEPS}
110 + >=sci-libs/gdal-2.2.3[python,${PYTHON_SINGLE_USEDEP}]
111 + $(python_gen_cond_dep '
112 + dev-python/future[${PYTHON_USEDEP}]
113 + dev-python/httplib2[${PYTHON_USEDEP}]
114 + dev-python/jinja[${PYTHON_USEDEP}]
115 + dev-python/markupsafe[${PYTHON_USEDEP}]
116 + dev-python/numpy[${PYTHON_USEDEP}]
117 + dev-python/owslib[${PYTHON_USEDEP}]
118 + dev-python/pygments[${PYTHON_USEDEP}]
119 + dev-python/PyQt5[designer,gui,network,positioning,printsupport,sql,svg,widgets,${PYTHON_USEDEP}]
120 + dev-python/python-dateutil[${PYTHON_USEDEP}]
121 + dev-python/pytz[${PYTHON_USEDEP}]
122 + dev-python/pyyaml[${PYTHON_USEDEP}]
123 + >=dev-python/qscintilla-python-2.10.1[qt5(+),${PYTHON_USEDEP}]
124 + dev-python/requests[${PYTHON_USEDEP}]
125 + <dev-python/sip-6.6:=[${PYTHON_USEDEP}]
126 + dev-python/six[${PYTHON_USEDEP}]
127 + postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] )
128 + ')
129 + )
130 + qml? ( dev-qt/qtdeclarative:5 )
131 + serial? ( dev-qt/qtserialport:5 )
132 +"
133 +DEPEND="${COMMON_DEPEND}
134 + dev-qt/qttest:5
135 + python? ( ${PYTHON_DEPS} )
136 +"
137 +RDEPEND="${COMMON_DEPEND}
138 + sci-geosciences/gpsbabel
139 +"
140 +BDEPEND="
141 + ${PYTHON_DEPS}
142 + dev-qt/linguist-tools:5
143 + sys-devel/bison
144 + sys-devel/flex
145 + test? (
146 + $(python_gen_cond_dep '
147 + dev-python/PyQt5[${PYTHON_USEDEP},testlib]
148 + dev-python/nose2[${PYTHON_USEDEP}]
149 + dev-python/mock[${PYTHON_USEDEP}]
150 + ')
151 + )
152 +"
153 +
154 +src_configure() {
155 + local mycmakeargs=(
156 + -DQGIS_MANUAL_SUBDIR=share/man/
157 + -DQGIS_LIB_SUBDIR=$(get_libdir)
158 + -DQGIS_PLUGIN_SUBDIR=$(get_libdir)/qgis
159 + -DQWT_INCLUDE_DIR=/usr/include/qwt6
160 + -DQWT_LIBRARY=/usr/$(get_libdir)/libqwt6-qt5.so
161 + -DQGIS_QML_SUBDIR=/usr/$(get_libdir)/qt5/qml
162 + -DPEDANTIC=OFF
163 + -DUSE_CCACHE=OFF
164 + -DWITH_ANALYSIS=ON
165 + -DWITH_APIDOC=OFF
166 + -DWITH_GUI=ON
167 + -DWITH_INTERNAL_MDAL=ON # not packaged, bug 684538
168 + -DWITH_QSPATIALITE=ON
169 + -DENABLE_TESTS=$(usex test)
170 + -DWITH_3D=$(usex 3d)
171 + -DWITH_GSL=$(usex georeferencer)
172 + $(cmake_use_find_package hdf5 HDF5)
173 + -DWITH_SERVER=$(usex mapserver)
174 + $(cmake_use_find_package netcdf NetCDF)
175 + -DUSE_OPENCL=$(usex opencl)
176 + -DWITH_ORACLE=$(usex oracle)
177 + -DWITH_QWTPOLAR=$(usex polar)
178 + -DWITH_PDAL=$(usex pdal)
179 + -DWITH_POSTGRESQL=$(usex postgres)
180 + -DWITH_BINDINGS=$(usex python)
181 + -DWITH_CUSTOM_WIDGETS=$(usex python)
182 + -DWITH_QUICK=$(usex qml)
183 + -DWITH_QT5SERIALPORT=$(usex serial)
184 + -DWITH_QTWEBKIT=OFF
185 + )
186 +
187 + # We list all supported versions *by upstream for this version*
188 + # here, even if we're not allowing it (e.g. bugs for now), so
189 + # we enable/disable all the right versions. This is so qgis doesn't
190 + # try to automatically use a version the build system knows about.
191 + local supported_grass_versions=( 7 8 )
192 + if use grass; then
193 + # We can do this because we have a := dep on grass &
194 + # it changes subslot (ABI) when major versions change, so
195 + # the logic here doesn't end up becoming stale.
196 + readarray -d'-' -t f <<<"$(best_version sci-geosciences/grass)"
197 + readarray -d'.' -t v <<<"${f[2]}"
198 + grassdir="grass${v[0]}${v[1]}"
199 +
200 + GRASSDIR=/usr/$(get_libdir)/${grassdir}
201 +
202 + einfo "Supported versions: ${supported_grass_versions[@]}"
203 + einfo "Found GRASS version: ${v[0]}*"
204 +
205 + local known_grass_version
206 + # GRASS isn't slotted (in Gentoo, anyway) so we pick
207 + # the best version we can to build against, and disable the others.
208 + for known_grass_version in "${supported_grass_versions[@]}" ; do
209 + case "${known_grass_version}" in
210 + "${v[0]}")
211 + einfo "GRASS version ${known_grass_version} is supported. Enabling."
212 + mycmakeargs+=(
213 + "-DGRASS_PREFIX${known_grass_version}=${GRASSDIR}"
214 + "-DWITH_GRASS${known_grass_version}=ON"
215 + )
216 + ;;
217 + *)
218 + einfo "GRASS version ${known_grass_version} is not supported or not latest found. Disabling."
219 + mycmakeargs+=(
220 + "-DWITH_GRASS${known_grass_version}=OFF"
221 + )
222 + ;;
223 + esac
224 + done
225 + else
226 + local known_grass_version
227 + for known_grass_version in "${supported_grass_versions[@]}" ; do
228 + mycmakeargs+=(
229 + "-DWITH_GRASS${known_grass_version}=OFF"
230 + )
231 + done
232 + fi
233 +
234 + use python && mycmakeargs+=( -DBINDINGS_GLOBAL_INSTALL=ON )
235 +
236 + # bugs 612956, 648726
237 + addpredict /dev/dri/renderD128
238 + addpredict /dev/dri/renderD129
239 +
240 + cmake_src_configure
241 +}
242 +
243 +src_test() {
244 + local myctestargs=(
245 + # test_core_gdalprovider - see https://github.com/qgis/QGIS/pull/47887
246 + # test_core_offlineediting - see https://github.com/qgis/QGIS/pull/48059
247 + -E '(ProcessingGuiTest|ProcessingQgisAlgorithmsTestPt1|ProcessingQgisAlgorithmsTestPt2|ProcessingQgisAlgorithmsTestPt3|ProcessingQgisAlgorithmsTestPt4|ProcessingGdalAlgorithmsRasterTest|ProcessingGdalAlgorithmsVectorTest|ProcessingGrass7AlgorithmsImageryTest|ProcessingGrass7AlgorithmsRasterTestPt1|ProcessingGrass7AlgorithmsRasterTestPt2|ProcessingGrass7AlgorithmsVectorTest|ProcessingOtbAlgorithmsTest|test_core_callout|test_core_compositionconverter|test_core_expression|test_core_gdalprovider|test_core_gdalutils|test_core_geonodeconnection|test_core_imagecache|test_core_labelingengine|test_core_layout|test_core_layoutcontext|test_core_layouthtml|test_core_layoutlabel|test_core_layoutmanualtable|test_core_layoutmap|test_core_layoutmapgrid|test_core_layoutmapoverview|test_core_layoutmultiframe|test_core_layoutpicture|test_core_linefillsymbol|test_core_mapdevicepixelratio|test_core_maprendererjob|test_core_meshlayer|test_core_meshlayerrenderer|test_core_networkaccessmanager|test_core_
248 offlineediting|test_core_pointpatternfillsymbol|test_core_rastercontourrenderer|test_core_rasterlayer|test_core_simplemarker|test_core_style|test_core_svgmarker|test_core_tiledownloadmanager|test_core_ziplayer|test_core_coordinatereferencesystem|test_core_geometry|test_gui_dualview|test_gui_htmlwidgetwrapper|test_gui_processinggui|test_gui_filedownloader|test_gui_ogrprovidergui|test_gui_meshlayerpropertiesdialog|test_gui_queryresultwidget|test_gui_listwidget|test_3d_3drendering|test_3d_tessellator|test_analysis_processingalgspt1|test_analysis_processingalgspt2|test_analysis_meshcontours|test_analysis_triangulation|test_analysis_processing|test_provider_wcsprovider|test_provider_postgresconn|test_provider_virtualrasterprovider|qgis_grassprovidertest8|test_app_qgisappclipboard|test_app_fieldcalculator|test_app_maptoolcircularstring|test_app_vertextool|PyQgsLocalServer|PyQgsAFSProvider|PyQgsPythonProvider|PyQgsAnnotation|PyQgsAuthenticationSystem|PyQgsAuthBasicMethod|PyQgsDataItem|PyQg
249 sDelimitedTextProvider|PyQgsEmbeddedSymbolRenderer|PyQgsExpressionBuilderWidget|PyQgsExternalStorageWebDAV|PyQgsGeometryTest|PyQgsGoogleMapsGeocoder|PyQgsImageCache|PyQgsLayout|PyQgsLayoutHtml|PyQgsLayoutLegend|PyQgsLayoutMap|PyQgsLayoutMapGrid|PyQgsLayoutMapOverview|PyQgsMapClippingUtils|PyQgsMapLayerComboBox|PyQgsMapLayerProxyModel|PyQgsMemoryProvider|PyQgsOGRProviderGpkg|PyQgsPalLabelingCanvas|PyQgsPalLabelingLayout|PyQgsPalLabelingPlacement|PyQgsPointCloudAttributeByRampRenderer|PyQgsPointCloudClassifiedRenderer|PyQgsPointCloudExtentRenderer|PyQgsPointCloudRgbRenderer|PyQgsProcessExecutable|PyQgsProcessingInPlace|TestQgsRandomMarkerSymbolLayer|PyQgsRasterLayer|PyQgsRasterLayerRenderer|PyQgsRasterResampler|PyQgsRulebasedRenderer|PyQgsShapefileProvider|PyQgsSvgCache|PyQgsOGRProvider|PyQgsSpatialiteProvider|PyQgsTaskManager|PyQgsVectorFileWriter|PyQgsVectorLayer|PyQgsVectorLayerCache|PyQgsVectorLayerEditBuffer|PyQgsVectorLayerSelectedFeatureSource|PyQgsVectorLayerShapefile|PyQgsVir
250 tualLayerProvider|PyQgsWFSProvider|PyQgsOapifProvider|PyQgsDBManagerGpkg|PyQgsAuxiliaryStorage|PyQgsFieldValidator|PyQgsSelectiveMasking|PyQgsPalLabelingServer|PyQgsServerWMSGetMap|PyQgsServerWMSGetLegendGraphic|PyQgsServerWMSGetPrint|PyQgsServerWMSGetPrintExtra|PyQgsServerWMSGetPrintOutputs|PyQgsServerWMSGetPrintAtlas|PyQgsServerWMSDimension|PyQgsServerAccessControlWMS|PyQgsServerAccessControlWFSTransactional|PyQgsServerCacheManager|PyQgsServerWMTS|PyQgsServerWFS|qgis_sipify|qgis_sip_include|qgis_sip_uptodate)'
251 +
252 + --output-on-failure
253 + )
254 +
255 + virtx cmake_src_test -j1
256 +}
257 +
258 +src_install() {
259 + cmake_src_install
260 +
261 + insinto /usr/share/mime/packages
262 + doins debian/qgis.xml
263 +
264 + if use examples; then
265 + docinto examples
266 + dodoc -r "${WORKDIR}"/qgis_sample_data/.
267 + docompress -x /usr/share/doc/${PF}/examples
268 + fi
269 +
270 + if use python; then
271 + python_optimize
272 + python_optimize "${ED}"/usr/share/qgis/python
273 + fi
274 +
275 + if use grass; then
276 + python_fix_shebang "${ED}"/usr/share/qgis/grass/scripts
277 + fi
278 +}
279 +
280 +pkg_postinst() {
281 + if use postgres; then
282 + elog "If you don't intend to use an external PostGIS server"
283 + elog "you should install:"
284 + elog " dev-db/postgis"
285 + elif use python; then
286 + elog "Support of PostgreSQL is disabled."
287 + elog "But some installed python-plugins import the psycopg2 module."
288 + elog "If you do not need these plugins just disable them"
289 + elog "in the Plugins menu, else you need to set USE=\"postgres\""
290 + fi
291 +
292 + xdg_pkg_postinst
293 +}