commit: 651ac75c43b12b2602958a3360d94b9b062f87df Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Mon Nov 17 04:25:48 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Dec 24 16:33:31 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=651ac75c
sci-geosciences/merkaartor: fix gdal-3.12 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/45144 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/merkaartor-0.20.0-gdal-3.12-fix.patch | 52 ++++++++++++++++++++++ .../merkaartor/merkaartor-0.20.0.ebuild | 1 + 2 files changed, 53 insertions(+) diff --git a/sci-geosciences/merkaartor/files/merkaartor-0.20.0-gdal-3.12-fix.patch b/sci-geosciences/merkaartor/files/merkaartor-0.20.0-gdal-3.12-fix.patch new file mode 100644 index 000000000000..69fb6e2cbfde --- /dev/null +++ b/sci-geosciences/merkaartor/files/merkaartor-0.20.0-gdal-3.12-fix.patch @@ -0,0 +1,52 @@ +https://github.com/openstreetmap/merkaartor/issues/314 +https://github.com/openstreetmap/merkaartor/commit/9949b586afb914ffac7b17d1f2b90f6300b8e2ca +https://github.com/openstreetmap/merkaartor/commit/41ea3a2215a64f3cfc465e8aaf481fc29a6a3abc + +From 9949b586afb914ffac7b17d1f2b90f6300b8e2ca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ladislav=20L=C3=A1ska?= <[email protected]> +Date: Tue, 21 Oct 2025 10:04:10 +0200 +Subject: [PATCH] Fixed compilation errors introduced by gdal 3.12. + +Some API calls now return const pointers. We've annotated our types as +such, since we use them in const manny anyway. + +Thanks to @gdt at Github for submitting a patch in issue #314. +--- a/src/ImportExport/ImportExportGdal.cpp ++++ b/src/ImportExport/ImportExportGdal.cpp +@@ -337,7 +337,7 @@ bool ImportExportGdal::importGDALDataset(GDALDataset* poDS, Layer* aLayer, bool + qDebug(lc_importExportGdal) << "Layers #" << poDS->GetLayerCount(); + OGRLayer *poLayer = poDS->GetLayer(0); + +- OGRSpatialReference * theSrs = poLayer->GetSpatialRef(); // Note: Contrary to other OGR objects, the spatial ref must NOT be released by our code! ++ const OGRSpatialReference * theSrs = poLayer->GetSpatialRef(); // Note: Contrary to other OGR objects, the spatial ref must NOT be released by our code! + toWGS84 = NULL; + + if (theSrs) { +@@ -390,7 +390,7 @@ bool ImportExportGdal::importGDALDataset(GDALDataset* poDS, Layer* aLayer, bool + Feature* F = parseGeometry(aLayer, poGeometry); + if (F) { + for (int i=0; i<poFeature->GetFieldCount(); ++i) { +- OGRFieldDefn *fd = poFeature->GetFieldDefnRef(i); ++ const OGRFieldDefn *fd = poFeature->GetFieldDefnRef(i); + QString k = QString::fromUtf8(fd->GetNameRef()); + if (k == "osm_id") { + F->setId(IFeature::FId(F->getType(), (qint64)poFeature->GetFieldAsDouble(i))); +From 41ea3a2215a64f3cfc465e8aaf481fc29a6a3abc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ladislav=20L=C3=A1ska?= <[email protected]> +Date: Tue, 21 Oct 2025 10:05:37 +0200 +Subject: [PATCH] Fixed memory management in ImportExportGDAL + +The affected OGRSpatialReference is fetched from OGRLayer and by +documentation should not be released manually. + +Thanks to @gdt at Github for submitting a patch in issue #314. +--- a/src/ImportExport/ImportExportGdal.cpp ++++ b/src/ImportExport/ImportExportGdal.cpp +@@ -351,7 +351,6 @@ bool ImportExportGdal::importGDALDataset(GDALDataset* poDS, Layer* aLayer, bool + qDebug("GDAL: couldn't initialise EPSG:27700: %d: %s", ogrError, CPLGetLastErrorMsg()); + the27700Srs->Release(); + } else { +- theSrs->Release(); + theSrs = the27700Srs; + } + } diff --git a/sci-geosciences/merkaartor/merkaartor-0.20.0.ebuild b/sci-geosciences/merkaartor/merkaartor-0.20.0.ebuild index 4df12fc5db6d..a72356df1ddc 100644 --- a/sci-geosciences/merkaartor/merkaartor-0.20.0.ebuild +++ b/sci-geosciences/merkaartor/merkaartor-0.20.0.ebuild @@ -48,6 +48,7 @@ PATCHES=( "${FILESDIR}"/${PN}-0.20.0-disable-git.patch # downstream patch # pending upstream PR: https://github.com/openstreetmap/merkaartor/pull/291 "${FILESDIR}"/${PN}-0.20.0-GNUInstallDirs.patch + "${FILESDIR}"/${PN}-0.20.0-gdal-3.12-fix.patch # backport from master ) src_prepare() {
