[Git][debian-gis-team/fiona][experimental] Add upstream patch to fix FTBFS with GCC 14. (closes: #1074959)
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Wed Jul 3 17:31:09 BST 2024
Bas Couwenberg pushed to branch experimental at Debian GIS Project / fiona
Commits:
1f6ab848 by Bas Couwenberg at 2024-07-03T18:30:33+02:00
Add upstream patch to fix FTBFS with GCC 14. (closes: #1074959)
- - - - -
3 changed files:
- debian/changelog
- + debian/patches/pr1404-gcc13.patch
- debian/patches/series
Changes:
=====================================
debian/changelog
=====================================
@@ -1,6 +1,9 @@
fiona (1.10~b1-1~exp2) UNRELEASED; urgency=medium
+ * Team upload.
* Ignore test failures on mips64el.
+ * Add upstream patch to fix FTBFS with GCC 14.
+ (closes: #1074959)
-- Bas Couwenberg <sebastic at debian.org> Wed, 17 Apr 2024 12:22:05 +0200
=====================================
debian/patches/pr1404-gcc13.patch
=====================================
@@ -0,0 +1,80 @@
+Description: Use CSLConstList ctypedef where appropriate
+Author: Sean Gillies <sean.gillies at gmail.com>
+Origin: https://github.com/Toblerity/Fiona/pull/1404
+Bug: https://github.com/Toblerity/Fiona/issues/1365
+
+--- a/fiona/ogrext.pyx
++++ b/fiona/ogrext.pyx
+@@ -376,7 +376,7 @@ cdef class StringListField(AbstractField
+ for item in value:
+ item_b = item.encode(encoding)
+ string_list = CSLAddString(string_list, <const char *>item_b)
+- OGR_F_SetFieldStringList(feature, i, <const char **>string_list)
++ OGR_F_SetFieldStringList(feature, i, <CSLConstList>string_list)
+
+
+ cdef class JSONField(AbstractField):
+@@ -1264,7 +1264,7 @@ cdef class Session:
+
+ cdef char **metadata = NULL
+ metadata = GDALGetMetadata(obj, domain)
+- num_items = CSLCount(metadata)
++ num_items = CSLCount(<CSLConstList>metadata)
+
+ return dict(metadata[i].decode('utf-8').split('=', 1) for i in range(num_items))
+
+@@ -2175,7 +2175,7 @@ def _listdir(path):
+ raise FionaValueError(f"Path '{path}' is not a directory.")
+
+ papszFiles = VSIReadDir(path_c)
+- n = CSLCount(papszFiles)
++ n = CSLCount(<CSLConstList>papszFiles)
+ files = []
+ for i in range(n):
+ files.append(papszFiles[i].decode("utf-8"))
+--- a/fiona/gdal.pxi
++++ b/fiona/gdal.pxi
+@@ -16,18 +16,22 @@ cdef extern from "cpl_conv.h":
+ const char *CPLFindFile(const char *pszClass, const char *pszBasename)
+
+
++cdef extern from "cpl_port.h":
++ ctypedef char **CSLConstList
++
++
+ cdef extern from "cpl_string.h":
+- char ** CSLAddNameValue (char **list, const char *name, const char *value)
+- char ** CSLSetNameValue (char **list, const char *name, const char *value)
+- void CSLDestroy (char **list)
++ char ** CSLAddNameValue(char **list, const char *name, const char *value)
++ char ** CSLSetNameValue(char **list, const char *name, const char *value)
++ void CSLDestroy(char **list)
+ char ** CSLAddString(char **list, const char *string)
+- int CSLCount(char **papszStrList)
+- char **CSLDuplicate(char **papszStrList)
+- int CSLFindName(char **papszStrList, const char *pszName)
+- int CSLFindString(char **papszStrList, const char *pszString)
+- int CSLFetchBoolean(char **papszStrList, const char *pszName, int default)
+- const char *CSLFetchNameValue(char **papszStrList, const char *pszName)
+- char **CSLMerge(char **first, char **second)
++ int CSLCount(CSLConstList papszStrList)
++ char **CSLDuplicate(CSLConstList papszStrList)
++ int CSLFindName(CSLConstList papszStrList, const char *pszName)
++ int CSLFindString(CSLConstList papszStrList, const char *pszString)
++ int CSLFetchBoolean(CSLConstList papszStrList, const char *pszName, int default)
++ const char *CSLFetchNameValue(CSLConstList papszStrList, const char *pszName)
++ char **CSLMerge(char **first, CSLConstList second)
+
+
+ cdef extern from "cpl_error.h" nogil:
+--- a/fiona/_vsiopener.pyx
++++ b/fiona/_vsiopener.pyx
+@@ -36,7 +36,7 @@ _OPEN_FILE_EXIT_STACKS.set({})
+ cdef int install_pyopener_plugin(VSIFilesystemPluginCallbacksStruct *callbacks_struct):
+ """Install handlers for python file openers if it isn't already installed."""
+ cdef char **registered_prefixes = VSIGetFileSystemsPrefixes()
+- cdef int prefix_index = CSLFindString(registered_prefixes, PREFIX_BYTES)
++ cdef int prefix_index = CSLFindString(<CSLConstList>registered_prefixes, PREFIX_BYTES)
+ CSLDestroy(registered_prefixes)
+
+ if prefix_index < 0:
=====================================
debian/patches/series
=====================================
@@ -1,2 +1,3 @@
0001-Rename-fio-command-to-fiona-to-avoid-name-clash.patch
test_drvsupport.patch
+pr1404-gcc13.patch
View it on GitLab: https://salsa.debian.org/debian-gis-team/fiona/-/commit/1f6ab8484ef57fa437db4d07ef7683109de27a10
--
This project does not include diff previews in email notifications.
View it on GitLab: https://salsa.debian.org/debian-gis-team/fiona/-/commit/1f6ab8484ef57fa437db4d07ef7683109de27a10
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20240703/96e5d36b/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list