From 1534d50aaf24272ec425fa439389ef7e1f7bf174 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 20 Feb 2025 00:15:26 +0000 Subject: gentoo auto-resync : 20:02:2025 - 00:15:26 --- sci-geosciences/qgis/Manifest | 4 +- sci-geosciences/qgis/qgis-3.38.3-r1.ebuild | 464 +++++++++++++++++++++++++++++ sci-geosciences/qgis/qgis-3.38.3.ebuild | 464 ----------------------------- sci-geosciences/qgis/qgis-9999.ebuild | 14 +- 4 files changed, 472 insertions(+), 474 deletions(-) create mode 100644 sci-geosciences/qgis/qgis-3.38.3-r1.ebuild delete mode 100644 sci-geosciences/qgis/qgis-3.38.3.ebuild (limited to 'sci-geosciences/qgis') diff --git a/sci-geosciences/qgis/Manifest b/sci-geosciences/qgis/Manifest index e48c4edca347..b25c4850dc58 100644 --- a/sci-geosciences/qgis/Manifest +++ b/sci-geosciences/qgis/Manifest @@ -3,6 +3,6 @@ AUX qgis-3.36.3-qt6.patch 1523 BLAKE2B 2a79e10ea3cbccb75e2af8b59c717668c37915989 AUX qgis-3.36.3-testReportDir.patch 651 BLAKE2B 04dcbad99cfd7156f284284cd165b39231de5ee29d45cd132d5afef7ceaa6197920385ffaf2f339c0ab943e2af2ceb5d5a232d3c5f9f753df7621d4d9ef9e18b SHA512 faf701cd2f83c966826933fbb9f8abbfdd3cce4278a6c9ace55641ce31fc7e8d282872aff7e7ea5a8e31f7590d94b53b608b0344daff3107f095914ebbcb0fe8 DIST qgis-3.38.3.tar.bz2 175959255 BLAKE2B 7fdc310cb8464bcc1b2168b14b661a41941c2ec22b5075f5c40796b15feeb8becec44e38905c6c970c94584b71e6d6798d0c072870f0f10555441db9399fa597 SHA512 ebf3899c9d80499f48cde713f31372fd46066c40aaeb1dacdf0778a86d6321cf73d5b68a9f03aa2423df8508142776e26878f3d845e773d4e44a86793ab92484 DIST qgis_sample_data-2.8.14.tar.gz 22119181 BLAKE2B 2d0565e91ec8119382bc9ab8e262dc04227fe8289146794891759ff5a32012245270614ba1119a6329fc45cf56852830c2079589309aa3467873f71f5c608eac SHA512 6b2653d5b57ffc2c2317639dac212429840984ac917ca3e452b39aabb99ea106d1a77c1c1dd967244ef16ede9deae751b170affdf08b72239eafed5b8977da3d -EBUILD qgis-3.38.3.ebuild 12317 BLAKE2B aa2c2e6d1ebd39e14bd1415ed09b24a6b151cce3bedf5719cd1701802d09026a313d781cf22b44256375252025064d79cc5da6416723dc6fe30581a3279b55f6 SHA512 f588b6326df4021a94d617d925def0efb44f7346de0cf600acbc0b2fd63a37296bee492a26f7e6c0265faa2e95f1418efb58493c252d19997d4a968d66950bff -EBUILD qgis-9999.ebuild 12318 BLAKE2B f78c62bf8ed100087a1e09eef915f732d0ad02f3210ce8f4ea4e2b9040820913bab64eec3319474e0e7b118beeeb6f22aabb017b606e1f865a170ee4f950760f SHA512 f342616d80ce20a179ebe6f53027df78a063d0895e5534ae84c3d95e647e0246f6f84877a4836e8862cd65d4c589fdb6f71d89e3d09f703014420eef1fa0ca0b +EBUILD qgis-3.38.3-r1.ebuild 12360 BLAKE2B 12f17949630ace7a3de2363f03c6fa73890e4451414f3013641319b36fc6a2fcb9992efa5130511ed72d5be6264b68d5935c5fd21d1c364884b86a3efd5d6187 SHA512 ab66a54f934815b0de165192fcbf6a9e3e195af2acd49ee5f523c6972a3b0cc34408156b72aa59f7eccca93d08995a1608b141c53f43f10e8f5af67fafed3fc1 +EBUILD qgis-9999.ebuild 12267 BLAKE2B 90d2270c6eb4efcb18dfc68690b3d0dbd0d1d60ffdf546f39566706bee35106622b73e8be848acd63919195cdab2330f670cd4ebf0cfcb7cde67ff36c21eb8e8 SHA512 534fd8b8e2ff47abfed44362ba59ed6331ee590d17e7a6169dd4011dc02bdaa6af05b324c85d4446f304163dab93972c7da2c226c9dd5025bfece6a17c234f46 MISC metadata.xml 1492 BLAKE2B 7e9411a1d657f64f47f477386b8c78fde0404aea2d5387e1d7e5982a532b9daddf6b8881c35c6238e568c45dc071d2bcb852577ab6a00677a2370b8eac79eeea SHA512 ddf595ddc3ca7f33bbaa57936bc7a3162d11e85e7c07f6fe5b3ef9e57132cfe0686d1c8b3b22d5dba7ea0545cba653b6ecce49dc056049c931120174e27db1dd diff --git a/sci-geosciences/qgis/qgis-3.38.3-r1.ebuild b/sci-geosciences/qgis/qgis-3.38.3-r1.ebuild new file mode 100644 index 000000000000..7a18bae8c6b9 --- /dev/null +++ b/sci-geosciences/qgis/qgis-3.38.3-r1.ebuild @@ -0,0 +1,464 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="sqlite" + +# We only package the LTS releases right now +# We could package more but would ideally only stabilise the LTS ones +# at least. + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/${PN}/${PN^^}.git" + inherit git-r3 +else + 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" +fi +inherit cmake flag-o-matic python-single-r1 virtualx xdg + +DESCRIPTION="User friendly Geographic Information System" +HOMEPAGE="https://www.qgis.org/" + +LICENSE="GPL-2+ GPL-3+" +SLOT="0" +IUSE="3d doc examples +georeferencer grass hdf5 mapserver netcdf opencl oracle pdal postgres python qml test webengine" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + mapserver? ( python ) +" +# test? ( postgres ) + +# Disabling test suite because upstream disallow running from install path +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + >=app-crypt/qca-2.3.7:2[qt6(+),ssl] + >=dev-db/spatialite-4.2.0 + dev-db/sqlite:3 + dev-libs/expat + dev-libs/libzip:= + dev-libs/protobuf:= + >=dev-libs/qtkeychain-0.14.1-r1:=[qt6(+)] + dev-qt/qttools:6[designer] + dev-qt/qtbase:6[concurrent,gui,network,sql,ssl,widgets,xml] + dev-qt/qtmultimedia:6 + dev-qt/qtpositioning:6 + dev-qt/qtserialport:6 + dev-qt/qtsvg:6 + dev-vcs/git + media-gfx/exiv2:= + >=sci-libs/gdal-3.0.4:=[geos,spatialite,sqlite] + sci-libs/geos + sci-libs/libspatialindex:= + >=sci-libs/proj-4.9.3:= + sys-libs/zlib + >=dev-python/qscintilla-2.14.1-r1[qt6(+)] + >=x11-libs/qwt-6.2.0-r3:=[polar(+),qt6(+),svg(+)] + 3d? ( dev-qt/qt3d:6 ) + georeferencer? ( sci-libs/gsl:= ) + grass? ( sci-geosciences/grass:= ) + hdf5? ( sci-libs/hdf5:= ) + mapserver? ( dev-libs/fcgi ) + netcdf? ( sci-libs/netcdf:= ) + opencl? ( virtual/opencl ) + oracle? ( + dev-db/oracle-instantclient:= + sci-libs/gdal:=[oracle] + ) + pdal? ( sci-libs/pdal:= ) + postgres? ( dev-db/postgresql:= ) + python? ( + ${PYTHON_DEPS} + >=sci-libs/gdal-2.2.3[python,${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-python/httplib2[${PYTHON_USEDEP}] + dev-python/jinja2[${PYTHON_USEDEP}] + dev-python/markupsafe[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/owslib[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/qscintilla-2.10.1[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/sip:=[${PYTHON_USEDEP}] + postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] ) + dev-python/pyqt6[designer,gui,multimedia,network,positioning,printsupport,serialport,sql,svg,widgets,${PYTHON_USEDEP}] + >=dev-python/qscintilla-2.14.1-r1[qt6(+)] + ') + ) + qml? ( dev-qt/qtdeclarative:6 ) + webengine? ( dev-qt/qtwebengine:6 ) +" +DEPEND="${COMMON_DEPEND} + test? ( + python? ( + app-text/qpdf + app-text/poppler[cairo,utils] + ) + ) +" +RDEPEND="${COMMON_DEPEND} + sci-geosciences/gpsbabel +" +BDEPEND="${PYTHON_DEPS} + dev-qt/qttools:6[linguist] + app-alternatives/yacc + app-alternatives/lex + doc? ( app-text/doxygen ) + test? ( + python? ( + $(python_gen_cond_dep ' + dev-python/pyqt6[${PYTHON_USEDEP},testlib] + dev-python/nose2[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + ') + ) + ) +" + +PATCHES=( + # "${FILESDIR}/${PN}-3.36.3-qt6-Fix-broken-test.patch" + "${FILESDIR}/${PN}-3.36.3-qt6.patch" + "${FILESDIR}/${PN}-3.36.3-testReportDir.patch" +) + +src_prepare() { + cmake_src_prepare + # Tests want to be run inside a git repo + if [[ ${PV} != *9999* ]]; then + if use test; then + git config --global --add safe.directory "${S}" || die + git init -q || die + git config --local gc.auto 0 || die + git config --local user.email "larry@gentoo.org" || die + git config --local user.name "Larry the Cow" || die + git add . || die + + git commit -m "init" || die + fi + fi +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/862660 + # https://github.com/qgis/QGIS/issues/56859 + # + # Do not trust with LTO either + append-flags -fno-strict-aliasing + filter-lto + + local mycmakeargs=( + -DQGIS_MANUAL_SUBDIR=share/man/ + -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 + # -DQGIS_QML_SUBDIR=/usr/$(get_libdir)/qt5/qml + + -DPEDANTIC=OFF + -DUSE_CCACHE=OFF + -DBUILD_WITH_QT6=ON + -DWITH_ANALYSIS=ON + -DWITH_APIDOC=$(usex doc) + -DWITH_GUI=ON + -DWITH_INTERNAL_MDAL=ON # not packaged, bug 684538 + -DWITH_QSPATIALITE=ON + -DENABLE_TESTS=$(usex test) + -DWITH_3D=$(usex 3d) + -DWITH_GSL=$(usex georeferencer) + $(cmake_use_find_package hdf5 HDF5) + -DWITH_SERVER=$(usex mapserver) + $(cmake_use_find_package netcdf NetCDF) + -DUSE_OPENCL=$(usex opencl) + -DWITH_ORACLE=$(usex oracle) + -DWITH_QWTPOLAR=ON + -DWITH_QTWEBENGINE=$(usex webengine) + -DWITH_PDAL=$(usex pdal) + -DWITH_POSTGRESQL=$(usex postgres) + -DWITH_BINDINGS=$(usex python) + -DWITH_CUSTOM_WIDGETS=$(usex python) + -DWITH_QUICK=$(usex qml) + -DWITH_QTWEBKIT=OFF + -DWITH_DRACO=OFF + ) + + # We list all supported versions *by upstream for this version* + # here, even if we're not allowing it (e.g. bugs for now), so + # we enable/disable all the right versions. This is so qgis doesn't + # try to automatically use a version the build system knows about. + local supported_grass_versions=( 7 8 ) + if use grass; then + # We can do this because we have a := dep on grass & + # it changes subslot (ABI) when major versions change, so + # the logic here doesn't end up becoming stale. + readarray -d'-' -t f <<<"$(best_version sci-geosciences/grass)" + readarray -d'.' -t v <<<"${f[2]}" + grassdir="grass${v[0]}${v[1]}" + + GRASSDIR=/usr/$(get_libdir)/${grassdir} + + einfo "Supported versions: ${supported_grass_versions[*]}" + einfo "Found GRASS version: ${v[0]}*" + + local known_grass_version + # GRASS isn't slotted (in Gentoo, anyway) so we pick + # the best version we can to build against, and disable the others. + for known_grass_version in "${supported_grass_versions[@]}" ; do + case "${known_grass_version}" in + "${v[0]}") + einfo "GRASS version ${known_grass_version} is supported. Enabling." + mycmakeargs+=( + "-DGRASS_PREFIX${known_grass_version}=${GRASSDIR}" + "-DWITH_GRASS${known_grass_version}=ON" + ) + ;; + *) + einfo "GRASS version ${known_grass_version} is not supported or not latest found. Disabling." + mycmakeargs+=( + "-DWITH_GRASS${known_grass_version}=OFF" + ) + ;; + esac + done + else + local known_grass_version + for known_grass_version in "${supported_grass_versions[@]}" ; do + mycmakeargs+=( + "-DWITH_GRASS${known_grass_version}=OFF" + ) + done + fi + + use python && mycmakeargs+=( -DBINDINGS_GLOBAL_INSTALL=ON ) + + CMAKE_BUILD_TYPE=Release # RelWithDebInfo enables debug logging + + cmake_src_configure +} + +src_test() { + addwrite "/proc/self/mem" + addwrite "/proc/self/task/" + addwrite "/dev/fuse" + + local -x CMAKE_SKIP_TESTS=( + PyQgsAFSProvider$ + PyQgsAnnotation$ + PyQgsAuthenticationSystem$ + PyQgsAuxiliaryStorage$ + PyQgsBlockingNetworkRequest$ + PyQgsBlockingProcess$ + PyQgsCodeEditor$ + PyQgsDataItemProviderRegistry$ + PyQgsDelimitedTextProvider$ + PyQgsEditWidgets$ + PyQgsElevationProfileCanvas$ + PyQgsEmbeddedSymbolRenderer$ + PyQgsExternalStorageAwsS3$ + PyQgsExternalStorageWebDav$ + PyQgsFileDownloader$ + PyQgsFloatingWidget$ + PyQgsGeometryTest$ + PyQgsGoogleMapsGeocoder$ + PyQgsGroupLayer$ + PyQgsLayerDefinition$ + PyQgsLayoutHtml$ + PyQgsLayoutLegend$ + PyQgsLayoutMap$ + PyQgsLineSymbolLayers$ + PyQgsMapBoxGlStyleConverter$ + PyQgsMapLayerComboBox$ + PyQgsMapLayerProxyModel$ + PyQgsMemoryProvider$ + PyQgsNetworkAccessManager$ + PyQgsOGRProvider$ + PyQgsOGRProviderGpkg$ + PyQgsPainting$ + PyQgsPalLabelingCanvas$ + PyQgsPalLabelingLayout$ + PyQgsPalLabelingPlacement$ + PyQgsPlot$ + PyQgsPointCloudAttributeByRampRenderer$ + PyQgsPointCloudClassifiedRenderer$ + PyQgsPointCloudRgbRenderer$ + PyQgsProcessExecutablePt1$ + PyQgsProcessExecutablePt2$ + PyQgsProcessingAlgRunner$ + PyQgsProcessingInPlace$ + PyQgsProcessingPackageLayersAlgorithm$ + PyQgsProcessingParameters$ + PyQgsProject$ + PyQgsPythonProvider$ + PyQgsRasterFileWriter$ + PyQgsRasterLayer$ + PyQgsRasterLayerRenderer$ + PyQgsSelectiveMasking$ + PyQgsSettings$ + PyQgsSettingsEntry$ + PyQgsShapefileProvider$ + PyQgsSpatialiteProvider$ + PyQgsStyleModel$ + PyQgsSvgCache$ + PyQgsSymbolLayerReadSld$ + PyQgsTextRenderer$ + PyQgsVectorFileWriter$ + PyQgsVectorLayerCache$ + PyQgsVectorLayerEditBuffer$ + PyQgsVectorLayerEditUtils$ + PyQgsVectorLayerProfileGenerator$ + PyQgsWFSProvider$ + TestQgsRandomMarkerSymbolLayer$ + qgis_sip_uptodate$ + test_3d_3drendering$ + test_3d_layout3dmap$ + test_3d_mesh3drendering$ + test_3d_pointcloud3drendering$ + test_3d_tessellator$ + test_analysis_gcptransformer$ + test_app_advanceddigitizing$ + test_authmethod_authoauth2method$ + test_core_mapdevicepixelratio$ + test_core_ogcutils$ + test_core_openclutils$ + test_core_vectortilelayer$ + test_gui_dockwidget$ + test_gui_ogrprovidergui$ + + PyQgsDocCoverage$ + PyQgsSipCoverage$ + ) + + CMAKE_SKIP_TESTS+=( + test_core_blendmodes$ + test_core_callout$ + test_core_compositionconverter$ + test_core_dataitem$ + test_core_expression$ + test_core_gdalutils$ + test_core_labelingengine$ + test_core_layoutmap$ + test_core_layoutmapoverview$ + test_core_layoutpicture$ + test_core_linefillsymbol$ + test_core_maprendererjob$ + test_core_maprotation$ + test_core_meshlayer$ + test_core_meshlayerrenderer$ + test_core_networkaccessmanager$ + test_core_pointcloudlayerexporter$ + test_core_project$ + test_core_rastercontourrenderer$ + test_core_rasterlayer$ + test_core_simplemarker$ + test_core_tiledownloadmanager$ + test_gui_processinggui$ + test_gui_filedownloader$ + test_gui_newdatabasetablewidget$ + test_gui_queryresultwidget$ + test_analysis_processingalgspt2$ + test_analysis_meshcontours$ + test_analysis_triangulation$ + test_analysis_processing$ + test_provider_wcsprovider$ + test_app_maptoolcircularstring$ + test_app_vertextool$ + ) + + if ! use netcdf; then + CMAKE_SKIP_TESTS+=( + test_core_gdalprovider$ + ) + fi + + if ! use hdf5; then + CMAKE_SKIP_TESTS+=( + test_gui_meshlayerpropertiesdialog$ + test_app_maptooleditmesh$ + ) + fi + + if ! use python || ! use postgres; then + CMAKE_SKIP_TESTS+=( + ProcessingGrassAlgorithmsRasterTestPt2$ + ProcessingCheckValidityAlgorithmTest$ + ProcessingGdalAlgorithmsGeneralTest$ + ProcessingGdalAlgorithmsRasterTest$ + ProcessingGdalAlgorithmsVectorTest$ + ProcessingGeneralTest$ + ProcessingGenericAlgorithmsTest$ + ProcessingGrassAlgorithmsImageryTest$ + ProcessingGrassAlgorithmsRasterTestPt1$ + ProcessingGrassAlgorithmsVectorTest$ + ProcessingGuiTest$ + ProcessingModelerTest$ + ProcessingParametersTest$ + ProcessingProjectProviderTest$ + ProcessingQgisAlgorithmsTestPt1$ + ProcessingQgisAlgorithmsTestPt2$ + ProcessingQgisAlgorithmsTestPt3$ + ProcessingQgisAlgorithmsTestPt4$ + ProcessingQgisAlgorithmsTestPt5$ + ProcessingQgisAlgorithmsTestPt5$ + ProcessingScriptUtilsTest$ + ProcessingToolsTest$ + ) + fi + + local myctestargs=( + --output-on-failure + -j1 + ) + + xdg_environment_reset + + local -x QGIS_CONTINUOUS_INTEGRATION_RUN="true" + virtx cmake_src_test +} + +src_install() { + if use test; then + git config --global --add safe.directory "${S}" || die + fi + cmake_src_install + + 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 + + if use python; then + python_optimize + python_optimize "${ED}"/usr/share/qgis/python + fi + + 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 + + xdg_pkg_postinst +} diff --git a/sci-geosciences/qgis/qgis-3.38.3.ebuild b/sci-geosciences/qgis/qgis-3.38.3.ebuild deleted file mode 100644 index f882c81156e0..000000000000 --- a/sci-geosciences/qgis/qgis-3.38.3.ebuild +++ /dev/null @@ -1,464 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="sqlite" - -# We only package the LTS releases right now -# We could package more but would ideally only stabilise the LTS ones -# at least. - -if [[ ${PV} == *9999* ]]; then - EGIT_REPO_URI="https://github.com/${PN}/${PN^^}.git" - inherit git-r3 -else - 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" -fi -inherit cmake flag-o-matic python-single-r1 virtualx xdg - -DESCRIPTION="User friendly Geographic Information System" -HOMEPAGE="https://www.qgis.org/" - -LICENSE="GPL-2+ GPL-3+" -SLOT="0" -IUSE="3d doc examples +georeferencer grass hdf5 mapserver netcdf opencl oracle pdal postgres python qml test webengine" - -REQUIRED_USE="${PYTHON_REQUIRED_USE} - mapserver? ( python ) -" -# test? ( postgres ) - -# Disabling test suite because upstream disallow running from install path -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - app-crypt/qca:2[qt6,ssl] - >=dev-db/spatialite-4.2.0 - dev-db/sqlite:3 - dev-libs/expat - dev-libs/libzip:= - dev-libs/protobuf:= - dev-libs/qtkeychain[qt6] - dev-qt/qttools:6[designer] - dev-qt/qtbase:6[concurrent,gui,network,sql,ssl,widgets,xml] - dev-qt/qtmultimedia:6 - dev-qt/qtpositioning:6 - dev-qt/qtserialport:6 - dev-qt/qtsvg:6 - dev-vcs/git - media-gfx/exiv2:= - >=sci-libs/gdal-3.0.4:=[geos,spatialite,sqlite] - sci-libs/geos - sci-libs/libspatialindex:= - >=sci-libs/proj-4.9.3:= - sys-libs/zlib - >=x11-libs/qscintilla-2.10.1:=[qt6] - >=x11-libs/qwt-6.2.0-r3:=[polar(+),qt6,svg(+)] - 3d? ( dev-qt/qt3d:6 ) - georeferencer? ( sci-libs/gsl:= ) - grass? ( sci-geosciences/grass:= ) - hdf5? ( sci-libs/hdf5:= ) - mapserver? ( dev-libs/fcgi ) - netcdf? ( sci-libs/netcdf:= ) - opencl? ( virtual/opencl ) - oracle? ( - dev-db/oracle-instantclient:= - sci-libs/gdal:=[oracle] - ) - pdal? ( sci-libs/pdal:= ) - postgres? ( dev-db/postgresql:= ) - python? ( - ${PYTHON_DEPS} - >=sci-libs/gdal-2.2.3[python,${PYTHON_SINGLE_USEDEP}] - $(python_gen_cond_dep ' - dev-python/httplib2[${PYTHON_USEDEP}] - dev-python/jinja2[${PYTHON_USEDEP}] - dev-python/markupsafe[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/owslib[${PYTHON_USEDEP}] - dev-python/pygments[${PYTHON_USEDEP}] - dev-python/python-dateutil[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - >=dev-python/qscintilla-2.10.1[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/sip:=[${PYTHON_USEDEP}] - postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] ) - dev-python/pyqt6[designer,gui,multimedia,network,positioning,printsupport,serialport,sql,svg,widgets,${PYTHON_USEDEP}] - >=dev-python/qscintilla-2.10.1[qt6] - ') - ) - qml? ( dev-qt/qtdeclarative:6 ) - webengine? ( dev-qt/qtwebengine:6 ) -" -DEPEND="${COMMON_DEPEND} - test? ( - python? ( - app-text/qpdf - app-text/poppler[cairo,utils] - ) - ) -" -RDEPEND="${COMMON_DEPEND} - sci-geosciences/gpsbabel -" -BDEPEND="${PYTHON_DEPS} - dev-qt/qttools:6[linguist] - app-alternatives/yacc - app-alternatives/lex - doc? ( app-text/doxygen ) - test? ( - python? ( - $(python_gen_cond_dep ' - dev-python/pyqt6[${PYTHON_USEDEP},testlib] - dev-python/nose2[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - ') - ) - ) -" - -PATCHES=( - # "${FILESDIR}/${PN}-3.36.3-qt6-Fix-broken-test.patch" - "${FILESDIR}/${PN}-3.36.3-qt6.patch" - "${FILESDIR}/${PN}-3.36.3-testReportDir.patch" -) - -src_prepare() { - cmake_src_prepare - # Tests want to be run inside a git repo - if [[ ${PV} != *9999* ]]; then - if use test; then - git config --global --add safe.directory "${S}" || die - git init -q || die - git config --local gc.auto 0 || die - git config --local user.email "larry@gentoo.org" || die - git config --local user.name "Larry the Cow" || die - git add . || die - - git commit -m "init" || die - fi - fi -} - -src_configure() { - # -Werror=strict-aliasing - # https://bugs.gentoo.org/862660 - # https://github.com/qgis/QGIS/issues/56859 - # - # Do not trust with LTO either - append-flags -fno-strict-aliasing - filter-lto - - local mycmakeargs=( - -DQGIS_MANUAL_SUBDIR=share/man/ - -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 - # -DQGIS_QML_SUBDIR=/usr/$(get_libdir)/qt5/qml - - -DPEDANTIC=OFF - -DUSE_CCACHE=OFF - -DBUILD_WITH_QT6=ON - -DWITH_ANALYSIS=ON - -DWITH_APIDOC=$(usex doc) - -DWITH_GUI=ON - -DWITH_INTERNAL_MDAL=ON # not packaged, bug 684538 - -DWITH_QSPATIALITE=ON - -DENABLE_TESTS=$(usex test) - -DWITH_3D=$(usex 3d) - -DWITH_GSL=$(usex georeferencer) - $(cmake_use_find_package hdf5 HDF5) - -DWITH_SERVER=$(usex mapserver) - $(cmake_use_find_package netcdf NetCDF) - -DUSE_OPENCL=$(usex opencl) - -DWITH_ORACLE=$(usex oracle) - -DWITH_QWTPOLAR=ON - -DWITH_QTWEBENGINE=$(usex webengine) - -DWITH_PDAL=$(usex pdal) - -DWITH_POSTGRESQL=$(usex postgres) - -DWITH_BINDINGS=$(usex python) - -DWITH_CUSTOM_WIDGETS=$(usex python) - -DWITH_QUICK=$(usex qml) - -DWITH_QTWEBKIT=OFF - -DWITH_DRACO=OFF - ) - - # We list all supported versions *by upstream for this version* - # here, even if we're not allowing it (e.g. bugs for now), so - # we enable/disable all the right versions. This is so qgis doesn't - # try to automatically use a version the build system knows about. - local supported_grass_versions=( 7 8 ) - if use grass; then - # We can do this because we have a := dep on grass & - # it changes subslot (ABI) when major versions change, so - # the logic here doesn't end up becoming stale. - readarray -d'-' -t f <<<"$(best_version sci-geosciences/grass)" - readarray -d'.' -t v <<<"${f[2]}" - grassdir="grass${v[0]}${v[1]}" - - GRASSDIR=/usr/$(get_libdir)/${grassdir} - - einfo "Supported versions: ${supported_grass_versions[*]}" - einfo "Found GRASS version: ${v[0]}*" - - local known_grass_version - # GRASS isn't slotted (in Gentoo, anyway) so we pick - # the best version we can to build against, and disable the others. - for known_grass_version in "${supported_grass_versions[@]}" ; do - case "${known_grass_version}" in - "${v[0]}") - einfo "GRASS version ${known_grass_version} is supported. Enabling." - mycmakeargs+=( - "-DGRASS_PREFIX${known_grass_version}=${GRASSDIR}" - "-DWITH_GRASS${known_grass_version}=ON" - ) - ;; - *) - einfo "GRASS version ${known_grass_version} is not supported or not latest found. Disabling." - mycmakeargs+=( - "-DWITH_GRASS${known_grass_version}=OFF" - ) - ;; - esac - done - else - local known_grass_version - for known_grass_version in "${supported_grass_versions[@]}" ; do - mycmakeargs+=( - "-DWITH_GRASS${known_grass_version}=OFF" - ) - done - fi - - use python && mycmakeargs+=( -DBINDINGS_GLOBAL_INSTALL=ON ) - - CMAKE_BUILD_TYPE=Release # RelWithDebInfo enables debug logging - - cmake_src_configure -} - -src_test() { - addwrite "/proc/self/mem" - addwrite "/proc/self/task/" - addwrite "/dev/fuse" - - local -x CMAKE_SKIP_TESTS=( - PyQgsAFSProvider$ - PyQgsAnnotation$ - PyQgsAuthenticationSystem$ - PyQgsAuxiliaryStorage$ - PyQgsBlockingNetworkRequest$ - PyQgsBlockingProcess$ - PyQgsCodeEditor$ - PyQgsDataItemProviderRegistry$ - PyQgsDelimitedTextProvider$ - PyQgsEditWidgets$ - PyQgsElevationProfileCanvas$ - PyQgsEmbeddedSymbolRenderer$ - PyQgsExternalStorageAwsS3$ - PyQgsExternalStorageWebDav$ - PyQgsFileDownloader$ - PyQgsFloatingWidget$ - PyQgsGeometryTest$ - PyQgsGoogleMapsGeocoder$ - PyQgsGroupLayer$ - PyQgsLayerDefinition$ - PyQgsLayoutHtml$ - PyQgsLayoutLegend$ - PyQgsLayoutMap$ - PyQgsLineSymbolLayers$ - PyQgsMapBoxGlStyleConverter$ - PyQgsMapLayerComboBox$ - PyQgsMapLayerProxyModel$ - PyQgsMemoryProvider$ - PyQgsNetworkAccessManager$ - PyQgsOGRProvider$ - PyQgsOGRProviderGpkg$ - PyQgsPainting$ - PyQgsPalLabelingCanvas$ - PyQgsPalLabelingLayout$ - PyQgsPalLabelingPlacement$ - PyQgsPlot$ - PyQgsPointCloudAttributeByRampRenderer$ - PyQgsPointCloudClassifiedRenderer$ - PyQgsPointCloudRgbRenderer$ - PyQgsProcessExecutablePt1$ - PyQgsProcessExecutablePt2$ - PyQgsProcessingAlgRunner$ - PyQgsProcessingInPlace$ - PyQgsProcessingPackageLayersAlgorithm$ - PyQgsProcessingParameters$ - PyQgsProject$ - PyQgsPythonProvider$ - PyQgsRasterFileWriter$ - PyQgsRasterLayer$ - PyQgsRasterLayerRenderer$ - PyQgsSelectiveMasking$ - PyQgsSettings$ - PyQgsSettingsEntry$ - PyQgsShapefileProvider$ - PyQgsSpatialiteProvider$ - PyQgsStyleModel$ - PyQgsSvgCache$ - PyQgsSymbolLayerReadSld$ - PyQgsTextRenderer$ - PyQgsVectorFileWriter$ - PyQgsVectorLayerCache$ - PyQgsVectorLayerEditBuffer$ - PyQgsVectorLayerEditUtils$ - PyQgsVectorLayerProfileGenerator$ - PyQgsWFSProvider$ - TestQgsRandomMarkerSymbolLayer$ - qgis_sip_uptodate$ - test_3d_3drendering$ - test_3d_layout3dmap$ - test_3d_mesh3drendering$ - test_3d_pointcloud3drendering$ - test_3d_tessellator$ - test_analysis_gcptransformer$ - test_app_advanceddigitizing$ - test_authmethod_authoauth2method$ - test_core_mapdevicepixelratio$ - test_core_ogcutils$ - test_core_openclutils$ - test_core_vectortilelayer$ - test_gui_dockwidget$ - test_gui_ogrprovidergui$ - - PyQgsDocCoverage$ - PyQgsSipCoverage$ - ) - - CMAKE_SKIP_TESTS+=( - test_core_blendmodes$ - test_core_callout$ - test_core_compositionconverter$ - test_core_dataitem$ - test_core_expression$ - test_core_gdalutils$ - test_core_labelingengine$ - test_core_layoutmap$ - test_core_layoutmapoverview$ - test_core_layoutpicture$ - test_core_linefillsymbol$ - test_core_maprendererjob$ - test_core_maprotation$ - test_core_meshlayer$ - test_core_meshlayerrenderer$ - test_core_networkaccessmanager$ - test_core_pointcloudlayerexporter$ - test_core_project$ - test_core_rastercontourrenderer$ - test_core_rasterlayer$ - test_core_simplemarker$ - test_core_tiledownloadmanager$ - test_gui_processinggui$ - test_gui_filedownloader$ - test_gui_newdatabasetablewidget$ - test_gui_queryresultwidget$ - test_analysis_processingalgspt2$ - test_analysis_meshcontours$ - test_analysis_triangulation$ - test_analysis_processing$ - test_provider_wcsprovider$ - test_app_maptoolcircularstring$ - test_app_vertextool$ - ) - - if ! use netcdf; then - CMAKE_SKIP_TESTS+=( - test_core_gdalprovider$ - ) - fi - - if ! use hdf5; then - CMAKE_SKIP_TESTS+=( - test_gui_meshlayerpropertiesdialog$ - test_app_maptooleditmesh$ - ) - fi - - if ! use python || ! use postgres; then - CMAKE_SKIP_TESTS+=( - ProcessingGrassAlgorithmsRasterTestPt2$ - ProcessingCheckValidityAlgorithmTest$ - ProcessingGdalAlgorithmsGeneralTest$ - ProcessingGdalAlgorithmsRasterTest$ - ProcessingGdalAlgorithmsVectorTest$ - ProcessingGeneralTest$ - ProcessingGenericAlgorithmsTest$ - ProcessingGrassAlgorithmsImageryTest$ - ProcessingGrassAlgorithmsRasterTestPt1$ - ProcessingGrassAlgorithmsVectorTest$ - ProcessingGuiTest$ - ProcessingModelerTest$ - ProcessingParametersTest$ - ProcessingProjectProviderTest$ - ProcessingQgisAlgorithmsTestPt1$ - ProcessingQgisAlgorithmsTestPt2$ - ProcessingQgisAlgorithmsTestPt3$ - ProcessingQgisAlgorithmsTestPt4$ - ProcessingQgisAlgorithmsTestPt5$ - ProcessingQgisAlgorithmsTestPt5$ - ProcessingScriptUtilsTest$ - ProcessingToolsTest$ - ) - fi - - local myctestargs=( - --output-on-failure - -j1 - ) - - xdg_environment_reset - - local -x QGIS_CONTINUOUS_INTEGRATION_RUN="true" - virtx cmake_src_test -} - -src_install() { - if use test; then - git config --global --add safe.directory "${S}" || die - fi - cmake_src_install - - 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 - - if use python; then - python_optimize - python_optimize "${ED}"/usr/share/qgis/python - fi - - 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 - - xdg_pkg_postinst -} diff --git a/sci-geosciences/qgis/qgis-9999.ebuild b/sci-geosciences/qgis/qgis-9999.ebuild index e3db08636738..24c33583da29 100644 --- a/sci-geosciences/qgis/qgis-9999.ebuild +++ b/sci-geosciences/qgis/qgis-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -36,13 +36,13 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} RESTRICT="!test? ( test )" COMMON_DEPEND=" - app-crypt/qca:2[qt6,ssl] + >=app-crypt/qca-2.3.7:2[qt6(+),ssl] >=dev-db/spatialite-4.2.0 dev-db/sqlite:3 dev-libs/expat dev-libs/libzip:= dev-libs/protobuf:= - dev-libs/qtkeychain[qt6] + >=dev-libs/qtkeychain-0.14.1-r1:=[qt6(+)] dev-qt/qttools:6[designer] dev-qt/qtbase:6[concurrent,gui,network,sql,ssl,widgets,xml] dev-qt/qtmultimedia:6 @@ -56,8 +56,8 @@ COMMON_DEPEND=" sci-libs/libspatialindex:= >=sci-libs/proj-4.9.3:= sys-libs/zlib - >=x11-libs/qscintilla-2.10.1:=[qt6] - >=x11-libs/qwt-6.2.0-r3:=[polar(+),qt6,svg(+)] + >=dev-python/qscintilla-2.14.1-r1[qt6(+)] + >=x11-libs/qwt-6.2.0-r3:=[polar(+),qt6(+),svg(+)] 3d? ( dev-qt/qt3d:6 ) georeferencer? ( sci-libs/gsl:= ) grass? ( sci-geosciences/grass:= ) @@ -89,7 +89,7 @@ COMMON_DEPEND=" dev-python/sip:=[${PYTHON_USEDEP}] postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] ) dev-python/pyqt6[designer,gui,multimedia,network,positioning,printsupport,serialport,sql,svg,widgets,${PYTHON_USEDEP}] - >=dev-python/qscintilla-2.10.1[qt6] + >=dev-python/qscintilla-2.14.1-r1[qt6(+)] ') ) qml? ( dev-qt/qtdeclarative:6 ) @@ -123,8 +123,6 @@ BDEPEND="${PYTHON_DEPS} " PATCHES=( - # "${FILESDIR}/${PN}-3.36.3-qt6-Fix-broken-test.patch" - "${FILESDIR}/${PN}-3.36.3-qt6.patch" "${FILESDIR}/${PN}-3.36.3-testReportDir.patch" ) -- cgit v1.2.3